Skip to content

Commit 454547d

Browse files
dystopmyohimik
authored andcommitted
Group defuser give code in one function (rehlds#871)
1 parent 19945c1 commit 454547d

4 files changed

Lines changed: 23 additions & 31 deletions

File tree

regamedll/dlls/client.cpp

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,28 +1440,13 @@ void EXT_FUNC __API_HOOK(BuyItem)(CBasePlayer *pPlayer, int iSlot)
14401440
if (pPlayer->m_iAccount >= DEFUSEKIT_PRICE)
14411441
{
14421442
bEnoughMoney = true;
1443-
pPlayer->m_bHasDefuser = true;
1444-
1445-
MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, nullptr, pPlayer->pev);
1446-
WRITE_BYTE(STATUSICON_SHOW);
1447-
WRITE_STRING("defuser");
1448-
WRITE_BYTE(0);
1449-
WRITE_BYTE(160);
1450-
WRITE_BYTE(0);
1451-
MESSAGE_END();
1452-
1453-
pPlayer->pev->body = 1;
1443+
pPlayer->GiveDefuser();
14541444
pPlayer->AddAccount(-DEFUSEKIT_PRICE, RT_PLAYER_BOUGHT_SOMETHING);
14551445

14561446
#ifdef REGAMEDLL_FIXES
14571447
EMIT_SOUND(ENT(pPlayer->pev), CHAN_VOICE, "items/kevlar.wav", VOL_NORM, ATTN_NORM);
14581448
#else
14591449
EMIT_SOUND(ENT(pPlayer->pev), CHAN_ITEM, "items/kevlar.wav", VOL_NORM, ATTN_NORM);
1460-
#endif
1461-
pPlayer->SendItemStatus();
1462-
1463-
#ifdef BUILD_LATEST
1464-
pPlayer->SetScoreboardAttributes();
14651450
#endif
14661451
}
14671452
break;
@@ -1479,7 +1464,6 @@ void EXT_FUNC __API_HOOK(BuyItem)(CBasePlayer *pPlayer, int iSlot)
14791464
if (pPlayer->m_iAccount >= SHIELDGUN_PRICE)
14801465
{
14811466
bEnoughMoney = true;
1482-
14831467
pPlayer->DropPrimary();
14841468
pPlayer->GiveShield();
14851469
pPlayer->AddAccount(-SHIELDGUN_PRICE, RT_PLAYER_BOUGHT_SOMETHING);

regamedll/dlls/items.cpp

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -481,22 +481,9 @@ BOOL CItemThighPack::MyTouch(CBasePlayer *pPlayer)
481481
return FALSE;
482482
#endif
483483

484-
pPlayer->m_bHasDefuser = true;
485-
pPlayer->pev->body = 1;
486-
484+
pPlayer->GiveDefuser();
487485
ClientPrint(pPlayer->pev, HUD_PRINTCENTER, "#Got_defuser");
488486

489-
MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, nullptr, pPlayer->pev);
490-
WRITE_BYTE(STATUSICON_SHOW);
491-
WRITE_STRING("defuser");
492-
WRITE_BYTE(0);
493-
WRITE_BYTE(160);
494-
WRITE_BYTE(0);
495-
MESSAGE_END();
496-
497-
pPlayer->SendItemStatus();
498-
pPlayer->SetScoreboardAttributes();
499-
500487
EMIT_SOUND(pPlayer->edict(), CHAN_VOICE, "items/kevlar.wav", VOL_NORM, ATTN_NORM);
501488

502489
if (TheTutor)

regamedll/dlls/player.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10137,6 +10137,26 @@ void CBasePlayer::RemoveBomb()
1013710137
}
1013810138
}
1013910139

10140+
void CBasePlayer::GiveDefuser()
10141+
{
10142+
m_bHasDefuser = true;
10143+
pev->body = 1;
10144+
10145+
MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, nullptr, pev);
10146+
WRITE_BYTE(STATUSICON_SHOW);
10147+
WRITE_STRING("defuser");
10148+
WRITE_BYTE(0);
10149+
WRITE_BYTE(160);
10150+
WRITE_BYTE(0);
10151+
MESSAGE_END();
10152+
10153+
SendItemStatus();
10154+
10155+
#if defined(REGAMEDLL_FIXES) || defined(BUILD_LATEST)
10156+
SetScoreboardAttributes();
10157+
#endif
10158+
}
10159+
1014010160
void CBasePlayer::RemoveDefuser()
1014110161
{
1014210162
m_bHasDefuser = false;

regamedll/dlls/player.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ class CBasePlayer: public CBaseMonster {
631631
void DropPrimary();
632632
void OnSpawnEquip(bool addDefault = true, bool equipGame = true);
633633
void RemoveBomb();
634+
void GiveDefuser();
634635
void RemoveDefuser();
635636
void HideTimer();
636637
bool MakeBomber();

0 commit comments

Comments
 (0)