diff --git a/base/src/shared/weapon_common.qc b/base/src/shared/weapon_common.qc index 4b2b5fbc..f3e6819e 100644 --- a/base/src/shared/weapon_common.qc +++ b/base/src/shared/weapon_common.qc @@ -204,9 +204,6 @@ Weapons_Primary(player pl) { int i = pl.activeweapon; - if (pl.flags & FL_NOATTACK) - return; - if (pl.gflags & GF_SEMI_TOGGLED) return; @@ -233,9 +230,6 @@ Weapons_Secondary(player pl) { int i = pl.activeweapon; - if (pl.flags & FL_NOATTACK) - return; - if (g_weapons[i].secondary != __NULL__) g_weapons[i].secondary(pl); @@ -248,9 +242,6 @@ Weapons_Reload(player pl) { int i = pl.activeweapon; - if (pl.flags & FL_NOATTACK) - return; - if (g_weapons[i].reload != __NULL__) g_weapons[i].reload(pl); diff --git a/src/gs-entbase/shared/NSVehicle.qc b/src/gs-entbase/shared/NSVehicle.qc index dbdf1fa6..05d57ee9 100644 --- a/src/gs-entbase/shared/NSVehicle.qc +++ b/src/gs-entbase/shared/NSVehicle.qc @@ -333,8 +333,8 @@ NSVehicle::PlayerUpdateFlags(void) if (m_iVehicleFlags & VHF_FROZEN) m_eDriver.flags |= FL_FROZEN; - if (m_iVehicleFlags & VHF_NOATTACK) - m_eDriver.flags |= FL_NOATTACK; + /*if (m_iVehicleFlags & VHF_NOATTACK) + m_eDriver.flags |= FL_NOATTACK;*/ } void @@ -390,8 +390,8 @@ NSVehicle::PlayerLeave(base_player pl) if (m_iVehicleFlags & VHF_FROZEN) pl.flags &= ~FL_FROZEN; - if (m_iVehicleFlags & VHF_NOATTACK) - pl.flags &= ~FL_NOATTACK; + /*if (m_iVehicleFlags & VHF_NOATTACK) + pl.flags &= ~FL_NOATTACK;*/ pl.vehicle = __NULL__; m_eDriver = __NULL__; diff --git a/src/shared/flags.h b/src/shared/flags.h index ecd9228a..6d96ecea 100644 --- a/src/shared/flags.h +++ b/src/shared/flags.h @@ -37,7 +37,7 @@ #define FL_INVEHICLE (1<<18) #define FL_FROZEN (1<<19) #define FL_USE_RELEASED (1<<20) -#define FL_NOATTACK (1<<21) +#define FL_FAKESPEC (1<<21) #define FL_ONUSABLE (1<<22) #define FL_ONFIRE (1<<23) #define FL_GOALITEM (1<<15) diff --git a/src/shared/player.qc b/src/shared/player.qc index f91f4336..ddd2bad8 100644 --- a/src/shared/player.qc +++ b/src/shared/player.qc @@ -38,7 +38,7 @@ base_player::IsPlayer(void) bool base_player::IsFakeSpectator(void) { - if (GetSolid() == SOLID_NOT) + if (GetFlags() & FL_FAKESPEC) return (true); return (false); @@ -534,6 +534,7 @@ base_player::MakeTempSpectator(void) SetMovetype(MOVETYPE_NOCLIP); SetTakedamage(DAMAGE_NO); maxspeed = 250; + flags |= FL_FAKESPEC; max_health = health = 0; armor = 0; g_items = 0;