Skip to content

Commit 40118f7

Browse files
CrosRoad95botder
authored andcommitted
Add client-side function extinguishFireInRadius (#207)
1 parent 4398a0e commit 40118f7

File tree

6 files changed

+36
-1
lines changed

6 files changed

+36
-1
lines changed

Client/game_sa/CFireManagerSA.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
#include "Common.h"
1717
#include "CFireSA.h"
1818

19-
#define FUNC_ExtinguishPoint 0x48E520
19+
#define FUNC_ExtinguishPoint 0x539450
20+
2021
#define FUNC_StartFire 0x48EC30
2122
#define FUNC_StartFire_Vec 0x539F00 // ##SA##
2223

Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4106,6 +4106,12 @@ bool CStaticFunctionDefinitions::CreateFire(CVector& vecPosition, float fSize)
41064106
return g_pGame->GetFireManager()->StartFire(vecPosition, fSize) != NULL;
41074107
}
41084108

4109+
bool CStaticFunctionDefinitions::ExtinguishFireInRadius(CVector& vecPosition, float fRadius)
4110+
{
4111+
g_pGame->GetFireManager()->ExtinguishPoint(vecPosition, fRadius);
4112+
return true;
4113+
}
4114+
41094115
bool CStaticFunctionDefinitions::PlaySoundFrontEnd(unsigned char ucSound)
41104116
{
41114117
g_pGame->GetAudioEngine()->PlayFrontEndSound(ucSound);

Client/mods/deathmatch/logic/CStaticFunctionDefinitions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ class CStaticFunctionDefinitions
307307

308308
// Fire funcs
309309
static bool CreateFire(CVector& vecPosition, float fSize);
310+
static bool ExtinguishFireInRadius(CVector& vecPosition, float fRadius);
310311

311312
// Light funcs
312313
static CClientPointLights* CreateLight(CResource& Resource, int iMode, const CVector& vecPosition, float fRadius, SColor color, CVector& vecDirection);

Client/mods/deathmatch/logic/lua/CLuaFunctionDefs.World.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,31 @@ int CLuaFunctionDefs::CreateFire(lua_State* luaVM)
7171
return 1;
7272
}
7373

74+
int CLuaFunctionDefs::ExtinguishFireInRadius(lua_State* luaVM)
75+
{
76+
// bool extinguishFireInRadius ( float x, float y, float z [, float radius = 1.0 ] )
77+
CVector vecPosition;
78+
float fRadius;
79+
80+
CScriptArgReader argStream(luaVM);
81+
argStream.ReadVector3D(vecPosition);
82+
argStream.ReadNumber(fRadius, 1.0f);
83+
84+
if (!argStream.HasErrors())
85+
{
86+
if (CStaticFunctionDefinitions::ExtinguishFireInRadius(vecPosition, fRadius))
87+
{
88+
lua_pushboolean(luaVM, true);
89+
return 1;
90+
}
91+
}
92+
else
93+
m_pScriptDebugging->LogCustom(luaVM, argStream.GetFullErrorMessage());
94+
95+
lua_pushboolean(luaVM, false);
96+
return 1;
97+
}
98+
7499
int CLuaFunctionDefs::GetTime_(lua_State* luaVM)
75100
{
76101
// Get the time

Client/mods/deathmatch/logic/lua/CLuaFunctionDefs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class CLuaFunctionDefs
6969

7070
// Fire functions
7171
LUA_DECLARE(CreateFire);
72+
LUA_DECLARE(ExtinguishFireInRadius);
7273

7374
// Cursor funcs
7475
LUA_DECLARE(GetCursorPosition);

Client/mods/deathmatch/logic/lua/CLuaManager.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ void CLuaManager::LoadCFunctions(void)
244244

245245
// Fire funcs
246246
CLuaCFunctions::AddFunction("createFire", CLuaFunctionDefs::CreateFire);
247+
CLuaCFunctions::AddFunction("extinguishFireInRadius", CLuaFunctionDefs::ExtinguishFireInRadius);
247248

248249
// Cursor funcs
249250
CLuaCFunctions::AddFunction("getCursorPosition", CLuaFunctionDefs::GetCursorPosition);

0 commit comments

Comments
 (0)