diff --git a/regamedll/dlls/API/CSPlayer.cpp b/regamedll/dlls/API/CSPlayer.cpp index 6b11725fe..21c4e75be 100644 --- a/regamedll/dlls/API/CSPlayer.cpp +++ b/regamedll/dlls/API/CSPlayer.cpp @@ -541,6 +541,7 @@ void CCSPlayer::Reset() m_bGameForcingRespawn = false; m_bAutoBunnyHopping = false; m_bMegaBunnyJumping = false; + m_bSpawnProtectionEffects = false; } void CCSPlayer::OnSpawn() diff --git a/regamedll/dlls/player.cpp b/regamedll/dlls/player.cpp index 7c0b62e19..a04aac90e 100644 --- a/regamedll/dlls/player.cpp +++ b/regamedll/dlls/player.cpp @@ -10247,6 +10247,7 @@ void EXT_FUNC CBasePlayer::__API_HOOK(SetSpawnProtection)(float flProtectionTime #ifdef REGAMEDLL_ADD if (respawn_immunity_effects.value > 0) { + CSPlayer()->m_bSpawnProtectionEffects = true; pev->rendermode = kRenderTransAdd; pev->renderamt = 100.0f; @@ -10268,12 +10269,11 @@ LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, RemoveSpawnProtection) void CBasePlayer::__API_HOOK(RemoveSpawnProtection)() { #ifdef REGAMEDLL_ADD - if (respawn_immunity_effects.value > 0) + if (CSPlayer()->m_bSpawnProtectionEffects) { - if (pev->rendermode == kRenderTransAdd && - pev->renderamt == 100.0f) + if (pev->rendermode == kRenderTransAdd && pev->renderamt == 100.0f) { - pev->renderamt = 255.0f; + pev->renderamt = 255.0f; pev->rendermode = kRenderNormal; } @@ -10281,6 +10281,8 @@ void CBasePlayer::__API_HOOK(RemoveSpawnProtection)() WRITE_BYTE(STATUSICON_HIDE); WRITE_STRING("suithelmet_full"); MESSAGE_END(); + + CSPlayer()->m_bSpawnProtectionEffects = false; } CSPlayer()->m_flSpawnProtectionEndTime = 0.0f; diff --git a/regamedll/public/regamedll/API/CSPlayer.h b/regamedll/public/regamedll/API/CSPlayer.h index 8410d95f7..1c592d1af 100644 --- a/regamedll/public/regamedll/API/CSPlayer.h +++ b/regamedll/public/regamedll/API/CSPlayer.h @@ -49,7 +49,8 @@ class CCSPlayer: public CCSMonster { m_bGameForcingRespawn(false), m_bAutoBunnyHopping(false), m_bMegaBunnyJumping(false), - m_bPlantC4Anywhere(false) + m_bPlantC4Anywhere(false), + m_bSpawnProtectionEffects(false) { m_szModel[0] = '\0'; } @@ -131,6 +132,7 @@ class CCSPlayer: public CCSMonster { bool m_bAutoBunnyHopping; bool m_bMegaBunnyJumping; bool m_bPlantC4Anywhere; + bool m_bSpawnProtectionEffects; }; // Inlines