friggin the riggin

This commit is contained in:
Nikolay Korolev 2021-07-25 11:58:03 +03:00
parent dc729009ac
commit b69222e017
4 changed files with 20 additions and 2 deletions

View file

@ -376,6 +376,7 @@ int8 CRunningScript::ProcessCommands1500To1599(int32 command)
}
case COMMAND_CLEAR_OBJECT_LAST_WEAPON_DAMAGE:
{
CollectParameters(&m_nIp, 1);
CObject* pObject = CPools::GetObjectPool()->GetAt(GET_INTEGER_PARAM(0));
if (!pObject)
printf("CLEAR_OBJECT_LAST_WEAPON_DAMAGE - pObject doesn\'t exist");

View file

@ -2294,3 +2294,17 @@ CWorld::IsWanderPathClear(CVector const& point1, CVector const& point2, float di
}
return true;
}
void
CWorld::CheckObjectsEffectedByFire(float x, float y, float z, float radius, CEntity* reason)
{
int32 i = CPools::GetObjectPool()->GetSize();
while (i--) {
CObject* pObject = CPools::GetObjectPool()->GetSlot(i);
if (pObject) {
if (Abs(pObject->GetPosition().z - z) < 5.0f && Abs(pObject->GetPosition().x - x) < radius &&
Abs(pObject->GetPosition().y - y) < radius)
pObject->m_nLastWeaponToDamage = WEAPONTYPE_FLAMETHROWER;
}
}
}

View file

@ -155,6 +155,7 @@ public:
static void TriggerExplosion(const CVector& position, float fRadius, float fPower, CEntity* pCreator, bool bProcessVehicleBombTimer);
static void TriggerExplosionSectorList(CPtrList& list, const CVector& position, float fRadius, float fPower, CEntity* pCreator, bool bProcessVehicleBombTimer);
static void UseDetonator(CEntity *pEntity);
static void CheckObjectsEffectedByFire(float, float, float, float, CEntity*);
// NB: following functions are unused (TODO?)
static void CastShadow(float, float, float, float);

View file

@ -143,7 +143,9 @@ CShotInfo::Update()
}
}
}
if (!((CTimer::GetFrameCounter() + slot) & 3))
CWorld::SetCarsOnFire(shot.m_startPos.x, shot.m_startPos.y, shot.m_startPos.z, 4.0f, shot.m_sourceEntity);
if (!((CTimer::GetFrameCounter() + slot) & 3)) {
CWorld::SetCarsOnFire(shot.m_startPos.x, shot.m_startPos.y, shot.m_startPos.z, 2.0f, shot.m_sourceEntity);
CWorld::CheckObjectsEffectedByFire(shot.m_startPos.x, shot.m_startPos.y, shot.m_startPos.z, 2.0f, shot.m_sourceEntity);
}
}
}