dispenser: refine touch logic to check for changes, play appropriate sound

This commit is contained in:
Marco Cawthorne 2022-07-10 08:33:56 -07:00
parent 5a0f20f86f
commit ece04dda38
Signed by: eukara
GPG Key ID: CE2032F0A2882A22
1 changed files with 21 additions and 5 deletions

View File

@ -164,11 +164,27 @@ TFCDispenser::Touch(entity eToucher)
player pl = (player)eToucher; player pl = (player)eToucher;
pl.m_iAmmoRockets += GrabRockets(); int r, n, c, s, a;
pl.m_iAmmoNails += GrabNails(); int sum = 0;
pl.m_iAmmoCells += GrabCells();
pl.m_iAmmoShells += GrabShells(); r = GrabRockets();
pl.armor += GrabArmor(); n = GrabNails();
c = GrabCells();
s = GrabShells();
a = GrabArmor();
sum = r + n + c + s + a;
/* check */
if (sum <= 0)
return;
sound(this, CHAN_ITEM, "weapons/scock1.wav", 1.0, ATTN_NORM);
pl.m_iAmmoRockets += r;
pl.m_iAmmoNails += n;
pl.m_iAmmoCells += c;
pl.m_iAmmoShells += s;
pl.armor += a;
/* clamp */ /* clamp */
if (pl.m_iAmmoRockets > pl.m_iMaxRockets) if (pl.m_iAmmoRockets > pl.m_iMaxRockets)