else
WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3"), w_shotorg, v);
- // flash and burn the wall
- if (trace_ent.solid == SOLID_BSP && !(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
- Damage_DamageInfo(trace_endpos, 10000, 0, 0, 800 * w_shotdir, WEP_MINSTANEX, self);
-
if (g_minstagib)
W_DecreaseAmmo(ammo_cells, 1, autocvar_g_balance_minstanex_reload_ammo);
else
.float minstagib_nextthink;
.float minstagib_needammo;
-void minstagib_stop_countdown(void)
+void minstagib_stop_countdown(entity e)
{
- if (self.minstagib_needammo)
- {
- self.health = 100;
- Send_CSQC_Centerprint_Generic_Expire(self, CPID_MINSTA_FINDAMMO);
- }
- self.minstagib_needammo = FALSE;
+ if (!e.minstagib_needammo)
+ return;
+ Send_CSQC_Centerprint_Generic_Expire(e, CPID_MINSTA_FINDAMMO);
+ e.minstagib_needammo = FALSE;
}
void minstagib_ammocheck(void)
{
if (time < self.minstagib_nextthink)
return;
- if (self.deadflag || gameover || self.ammo_cells > 0 || (self.items & IT_UNLIMITED_WEAPON_AMMO))
- minstagib_stop_countdown();
+ if (self.deadflag || gameover)
+ minstagib_stop_countdown(self);
+ else if (self.ammo_cells > 0 || (self.items & IT_UNLIMITED_WEAPON_AMMO))
+ {
+ minstagib_stop_countdown(self);
+ self.health = 100;
+ }
else
{
self.minstagib_needammo = TRUE;