@@ -39,23 +39,6 @@ bool CClientExplosionManager::Hook_StaticExplosionCreation(CEntity* pGameExplodi
3939 return g_pExplosionManager->Hook_ExplosionCreation (pGameExplodingEntity, pGameCreator, vecPosition, explosionType);
4040}
4141
42- eWeaponType CClientExplosionManager::GetWeaponTypeFromExplosionType (const eExplosionType explosionType)
43- {
44- switch (explosionType) {
45- case EXP_TYPE_GRENADE:
46- return WEAPONTYPE_GRENADE;
47- case EXP_TYPE_MOLOTOV:
48- return WEAPONTYPE_MOLOTOV;
49- case EXP_TYPE_ROCKET:
50- case EXP_TYPE_ROCKET_WEAK:
51- return WEAPONTYPE_ROCKET;
52- case EXP_TYPE_TANK_GRENADE:
53- return WEAPONTYPE_TANK_GRENADE;
54- default :
55- return WEAPONTYPE_EXPLOSION;
56- }
57- }
58-
5942bool CClientExplosionManager::Hook_ExplosionCreation (CEntity* pGameExplodingEntity, CEntity* pGameCreator, const CVector& vecPosition,
6043 eExplosionType explosionType)
6144{
@@ -70,23 +53,7 @@ bool CClientExplosionManager::Hook_ExplosionCreation(CEntity* pGameExplodingEnti
7053 CClientEntity* const pResponsible = pPools->GetClientEntity (reinterpret_cast <DWORD*>(pResponsibleGameEntity->GetInterface ()));
7154
7255 if (!pResponsible)
73- {
74- if (!pGameCreator)
75- return false ;
76-
77- CClientPlayer* localPlayer = m_pManager->GetPlayerManager ()->GetLocalPlayer ();
78- if (!localPlayer || localPlayer->GetGameEntity () != pGameCreator)
79- return false ;
80-
81- eWeaponType explosionWeaponType = GetWeaponTypeFromExplosionType (explosionType);
82-
83- CLuaArguments arguments;
84- arguments.PushNumber (vecPosition.fX );
85- arguments.PushNumber (vecPosition.fY );
86- arguments.PushNumber (vecPosition.fZ );
87- arguments.PushNumber (explosionWeaponType);
88- return localPlayer->CallEvent (" onClientExplosion" , arguments, true );
89- }
56+ return false ;
9057
9158 // Determine the used weapon
9259 eWeaponType explosionWeaponType = WEAPONTYPE_EXPLOSION;
@@ -200,22 +167,25 @@ CExplosion* CClientExplosionManager::Create(eExplosionType explosionType, CVecto
200167 if (responsibleWeapon != WEAPONTYPE_UNARMED)
201168 m_LastWeaponType = responsibleWeapon;
202169 else
203- m_LastWeaponType = GetWeaponTypeFromExplosionType (explosionType);
204-
205- if (pCreator && pCreator->IsLocalEntity ())
206170 {
207- bool allowExplosion = Hook_ExplosionCreation (nullptr , pGameCreator, vecPosition, explosionType);
208- if (!allowExplosion)
209- return nullptr ;
210- }
211- else if (!pCreator)
212- {
213- CClientPlayer* localPlayer = m_pManager->GetPlayerManager ()->GetLocalPlayer ();
214- if (localPlayer)
171+ switch (explosionType)
215172 {
216- bool allowExplosion = Hook_ExplosionCreation (nullptr , localPlayer->GetGameEntity (), vecPosition, explosionType);
217- if (!allowExplosion)
218- return nullptr ;
173+ case EXP_TYPE_GRENADE:
174+ m_LastWeaponType = WEAPONTYPE_GRENADE;
175+ break ;
176+ case EXP_TYPE_MOLOTOV:
177+ m_LastWeaponType = WEAPONTYPE_MOLOTOV;
178+ break ;
179+ case EXP_TYPE_ROCKET:
180+ case EXP_TYPE_ROCKET_WEAK:
181+ m_LastWeaponType = WEAPONTYPE_ROCKET;
182+ break ;
183+ case EXP_TYPE_TANK_GRENADE:
184+ m_LastWeaponType = WEAPONTYPE_TANK_GRENADE;
185+ break ;
186+ default :
187+ m_LastWeaponType = WEAPONTYPE_EXPLOSION;
188+ break ;
219189 }
220190 }
221191
0 commit comments