1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00

Brutus and Panzersoldat: decrease footstep screen shake

This commit is contained in:
Jbleezy
2024-01-26 02:28:44 -08:00
parent 47c4377615
commit 24e21b1f76
6 changed files with 100 additions and 3 deletions

View File

@ -0,0 +1,39 @@
#include clientscripts\mp\zombies\_zm_ai_brutus;
#include clientscripts\mp\_utility;
#include clientscripts\mp\zombies\_zm_utility;
brutusfootstepcbfunc(localclientnum, pos, surface, notetrack, bone)
{
players = getlocalplayers();
for (i = 0; i < players.size; i++)
{
if (!players[i] isplayer())
continue;
n_distance = distance2d(self.origin, players[i].origin);
if (abs(self.origin[2] - players[i].origin[2]) < 100 && n_distance < 1500)
{
if (!is_true(players[i].brutus_camshake))
{
players[i] earthquake(0.375, 0.1, self.origin, 1500);
players[i] thread prevent_camshake_stacking();
}
playerlocalclientnum = players[i] getlocalclientnumber();
if (isdefined(playerlocalclientnum))
playrumbleonposition(playerlocalclientnum, "brutus_footsteps", self.origin);
}
}
footstepdoeverything();
}
prevent_camshake_stacking()
{
self.brutus_camshake = 1;
wait 0.1;
self.brutus_camshake = 0;
}

View File

@ -0,0 +1,44 @@
#include clientscripts\mp\zombies\_zm_ai_mechz;
#include clientscripts\mp\_utility;
#include clientscripts\mp\zombies\_zm_utility;
mechzfootstepcbfunc(localclientnum, pos, surface, notetrack, bone)
{
players = getlocalplayers();
for (i = 0; i < players.size; i++)
{
if (!players[i] isplayer())
continue;
n_distance = distance2d(self.origin, players[i].origin);
if (abs(self.origin[2] - players[i].origin[2]) < 100 && n_distance < 1500)
{
rumble = "shotgun_fire";
if (n_distance <= 750)
{
rumble = "mechz_footsteps";
}
if (!is_true(players[i].mechz_camshake))
{
players[i] earthquake(0.25, 0.1, self.origin, 1500);
players[i] thread prevent_camshake_stacking();
}
playerlocalclientnum = players[i] getlocalclientnumber();
if (isdefined(playerlocalclientnum))
playrumbleonposition(playerlocalclientnum, rumble, self.origin);
}
}
if (bone == "j_ball_ri")
playfxontag(localclientnum, level._effect["mech_footstep_steam"], self, "tag_foot_steam_RI");
else if (bone == "j_ball_le")
playfxontag(localclientnum, level._effect["mech_footstep_steam"], self, "tag_foot_steam_LE");
footstepdoeverything();
}