Skip to content

Commit 1a05b9c

Browse files
committed
Update damageable logic to be set through SetVehicleDamageProof
1 parent eacbadd commit 1a05b9c

File tree

7 files changed

+12
-17
lines changed

7 files changed

+12
-17
lines changed

Client/mods/deathmatch/logic/CClientVehicle.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ std::set<const CClientEntity*> ms_AttachedVehiclesToIgnore;
3535
#define VEHICLE_INTERPOLATION_WARP_THRESHOLD 15
3636
#define VEHICLE_INTERPOLATION_WARP_THRESHOLD_FOR_SPEED 10
3737

38-
CClientVehicle::CClientVehicle(CClientManager* pManager, ElementID ID, unsigned short usModel, unsigned char ucVariation, unsigned char ucVariation2, bool damageable)
38+
CClientVehicle::CClientVehicle(CClientManager* pManager, ElementID ID, unsigned short usModel, unsigned char ucVariation, unsigned char ucVariation2)
3939
: ClassInit(this), CClientStreamElement(pManager->GetVehicleStreamer(), ID)
4040
{
4141
CClientEntityRefManager::AddEntityRefs(ENTITY_REF_DEBUG(this, "CClientVehicle"), &m_pDriver, &m_pOccupyingDriver, &m_pPreviousLink, &m_pNextLink,
@@ -135,9 +135,8 @@ CClientVehicle::CClientVehicle(CClientManager* pManager, ElementID ID, unsigned
135135
memset(&m_ucLightStates[0], 0, sizeof(m_ucLightStates));
136136
m_bCanBeDamaged = true;
137137
m_bSyncUnoccupiedDamage = false;
138-
m_bScriptCanBeDamaged = true;
138+
m_bScriptCanBeDamaged = !IsLocalEntity();
139139
m_bTyresCanBurst = true;
140-
m_localCanBeDamaged = damageable;
141140
m_ucOverrideLights = 0;
142141
m_pTowedVehicle = NULL;
143142
m_pTowedByVehicle = NULL;
@@ -1178,7 +1177,7 @@ void CClientVehicle::CalcAndUpdateCanBeDamagedFlag()
11781177
bCanBeDamaged = true;
11791178

11801179
if (IsLocalEntity())
1181-
bCanBeDamaged = m_localCanBeDamaged;
1180+
bCanBeDamaged = m_bScriptCanBeDamaged;
11821181

11831182
// Script override
11841183
if (!m_bScriptCanBeDamaged)
@@ -1223,7 +1222,7 @@ void CClientVehicle::CalcAndUpdateTyresCanBurstFlag()
12231222
bTyresCanBurst = true;
12241223

12251224
if (IsLocalEntity())
1226-
bTyresCanBurst = m_localCanBeDamaged;
1225+
bTyresCanBurst = m_bScriptCanBeDamaged;
12271226

12281227
// Script override
12291228
if (!m_bScriptCanBeDamaged)

Client/mods/deathmatch/logic/CClientVehicle.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ class CClientVehicle : public CClientStreamElement
160160

161161
protected: // Use CDeathmatchVehicle constructor for now. Will get removed later when this class is
162162
// cleaned up.
163-
CClientVehicle(CClientManager* pManager, ElementID ID, unsigned short usModel, unsigned char ucVariation, unsigned char ucVariation2, bool damageable = false);
163+
CClientVehicle(CClientManager* pManager, ElementID ID, unsigned short usModel, unsigned char ucVariation, unsigned char ucVariation2);
164164

165165
public:
166166
~CClientVehicle();
@@ -627,7 +627,6 @@ class CClientVehicle : public CClientStreamElement
627627
bool m_bCanBeDamaged;
628628
bool m_bScriptCanBeDamaged;
629629
bool m_bSyncUnoccupiedDamage;
630-
bool m_localCanBeDamaged{false};
631630
bool m_bTyresCanBurst;
632631
SFixedArray<unsigned char, MAX_DOORS> m_ucDoorStates;
633632
SFixedArray<unsigned char, MAX_WHEELS> m_ucWheelStates;

Client/mods/deathmatch/logic/CDeathmatchVehicle.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
#include "net/SyncStructures.h"
1414

1515
CDeathmatchVehicle::CDeathmatchVehicle(CClientManager* pManager, CUnoccupiedVehicleSync* pUnoccupiedVehicleSync, ElementID ID, unsigned short usVehicleModel,
16-
unsigned char ucVariant, unsigned char ucVariant2, bool damageable)
17-
: ClassInit(this), CClientVehicle(pManager, ID, usVehicleModel, ucVariant, ucVariant2, damageable)
16+
unsigned char ucVariant, unsigned char ucVariant2)
17+
: ClassInit(this), CClientVehicle(pManager, ID, usVehicleModel, ucVariant, ucVariant2)
1818
{
1919
m_pUnoccupiedVehicleSync = pUnoccupiedVehicleSync;
2020
GetInitialDoorStates(m_ucLastDoorStates);

Client/mods/deathmatch/logic/CDeathmatchVehicle.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class CDeathmatchVehicle final : public CClientVehicle
1818
DECLARE_CLASS(CDeathmatchVehicle, CClientVehicle)
1919
public:
2020
CDeathmatchVehicle(CClientManager* pManager, class CUnoccupiedVehicleSync* pUnoccupiedVehicleSync, ElementID ID, unsigned short usVehicleModel,
21-
unsigned char ucVariant, unsigned char ucVariant2, bool damageable = false);
21+
unsigned char ucVariant, unsigned char ucVariant2);
2222
~CDeathmatchVehicle();
2323

2424
bool IsSyncing() { return m_bIsSyncing; };

Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2858,7 +2858,7 @@ bool CStaticFunctionDefinitions::IsTrainChainEngine(CClientVehicle& Vehicle, boo
28582858
}
28592859

28602860
CClientVehicle* CStaticFunctionDefinitions::CreateVehicle(CResource& Resource, unsigned short usModel, const CVector& vecPosition, const CVector& vecRotation,
2861-
const char* szRegPlate, unsigned char ucVariant, unsigned char ucVariant2, bool damageable)
2861+
const char* szRegPlate, unsigned char ucVariant, unsigned char ucVariant2)
28622862
{
28632863
if (CClientVehicleManager::IsValidModel(usModel) && (ucVariant <= 5 || ucVariant == 255) && (ucVariant2 <= 5 || ucVariant2 == 255))
28642864
{
@@ -2867,7 +2867,7 @@ CClientVehicle* CStaticFunctionDefinitions::CreateVehicle(CResource& Resource, u
28672867
if (ucVariant2 == 255 && ucVariant == 255)
28682868
CClientVehicleManager::GetRandomVariation(usModel, ucVariation, ucVariation2);
28692869

2870-
CClientVehicle* pVehicle = new CDeathmatchVehicle(m_pManager, NULL, INVALID_ELEMENT_ID, usModel, ucVariation, ucVariation2, damageable);
2870+
CClientVehicle* pVehicle = new CDeathmatchVehicle(m_pManager, NULL, INVALID_ELEMENT_ID, usModel, ucVariation, ucVariation2);
28712871

28722872
pVehicle->SetParent(Resource.GetResourceDynamicEntity());
28732873
pVehicle->SetPosition(vecPosition);

Client/mods/deathmatch/logic/CStaticFunctionDefinitions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ class CStaticFunctionDefinitions
202202

203203
// Vehicle get funcs
204204
static CClientVehicle* CreateVehicle(CResource& Resource, unsigned short usModel, const CVector& vecPosition, const CVector& vecRotation,
205-
const char* szRegPlate = NULL, unsigned char ucVariant = 5, unsigned char ucVariant2 = 5, bool damageable = false);
205+
const char* szRegPlate = NULL, unsigned char ucVariant = 5, unsigned char ucVariant2 = 5);
206206
static bool GetVehicleModelFromName(const char* szName, unsigned short& usModel);
207207
static bool GetVehicleUpgradeSlotName(unsigned char ucSlot, SString& strOutName);
208208
static bool GetVehicleUpgradeSlotName(unsigned short usUpgrade, SString& strOutName);

Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1532,15 +1532,13 @@ int CLuaVehicleDefs::CreateVehicle(lua_State* luaVM)
15321532
unsigned char ucVariant = 255;
15331533
unsigned char ucVariant2 = 255;
15341534
SString strRegPlate = "";
1535-
bool damageable = false;
15361535
CScriptArgReader argStream(luaVM);
15371536
argStream.ReadNumber(usModel);
15381537
argStream.ReadVector3D(vecPosition);
15391538
argStream.ReadVector3D(vecRotation, vecRotation);
15401539
argStream.ReadString(strRegPlate, "");
15411540
argStream.ReadNumber(ucVariant, 255);
15421541
argStream.ReadNumber(ucVariant2, 255);
1543-
argStream.ReadBool(damageable, false);
15441542

15451543
if (!argStream.HasErrors())
15461544
{
@@ -1552,8 +1550,7 @@ int CLuaVehicleDefs::CreateVehicle(lua_State* luaVM)
15521550
{
15531551
// Create the vehicle and return its handle
15541552
CClientVehicle* pVehicle = CStaticFunctionDefinitions::CreateVehicle(*pResource, usModel, vecPosition, vecRotation,
1555-
strRegPlate == "" ? NULL : strRegPlate.c_str(), ucVariant, ucVariant2,
1556-
damageable);
1553+
strRegPlate == "" ? NULL : strRegPlate.c_str(), ucVariant, ucVariant2);
15571554
if (pVehicle)
15581555
{
15591556
CElementGroup* pGroup = pResource->GetElementGroup();

0 commit comments

Comments
 (0)