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;
pl.m_iAmmoRockets += GrabRockets();
pl.m_iAmmoNails += GrabNails();
pl.m_iAmmoCells += GrabCells();
pl.m_iAmmoShells += GrabShells();
pl.armor += GrabArmor();
int r, n, c, s, a;
int sum = 0;
r = GrabRockets();
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 */
if (pl.m_iAmmoRockets > pl.m_iMaxRockets)