remove(self);
}
+void W_Hagar_Explode_use(entity this, entity actor, entity trigger)
+{
+ WITHSELF(this, W_Hagar_Explode());
+}
+
void W_Hagar_Explode2()
{SELFPARAM();
self.event_damage = func_null;
remove(self);
}
+void W_Hagar_Explode2_use(entity this, entity actor, entity trigger)
+{
+ WITHSELF(this, W_Hagar_Explode2());
+}
+
void W_Hagar_Damage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force)
{
if(this.health <= 0)
this.angles = vectoangles(this.velocity);
if(this.health <= 0)
- WITHSELF(this, W_PrepareExplosionByDamage(attacker, this.think));
+ W_PrepareExplosionByDamage(this, attacker, this.think);
}
void W_Hagar_Touch()
{SELFPARAM();
PROJECTILE_TOUCH;
- self.use();
+ this.use(this, NULL, NULL);
}
void W_Hagar_Touch2()
PROJECTILE_TOUCH;
if(self.cnt > 0 || other.takedamage == DAMAGE_AIM) {
- self.use();
+ this.use(this, NULL, NULL);
} else {
self.cnt++;
Send_Effect(EFFECT_HAGAR_BOUNCE, self.origin, self.velocity, 1);
missile.damagedbycontents = true;
missile.touch = W_Hagar_Touch;
- missile.use = W_Hagar_Explode;
+ missile.use = W_Hagar_Explode_use;
missile.think = adaptor_think2use_hittype_splash;
missile.nextthink = time + WEP_CVAR_PRI(hagar, lifetime);
PROJECTILE_MAKETRIGGER(missile);
missile.touch = W_Hagar_Touch2;
missile.cnt = 0;
- missile.use = W_Hagar_Explode2;
+ missile.use = W_Hagar_Explode2_use;
missile.think = adaptor_think2use_hittype_splash;
missile.nextthink = time + WEP_CVAR_SEC(hagar, lifetime_min) + random() * WEP_CVAR_SEC(hagar, lifetime_rand);
PROJECTILE_MAKETRIGGER(missile);
missile.damagedbycontents = true;
missile.touch = W_Hagar_Touch; // not bouncy
- missile.use = W_Hagar_Explode2;
+ missile.use = W_Hagar_Explode2_use;
missile.think = adaptor_think2use_hittype_splash;
missile.nextthink = time + WEP_CVAR_SEC(hagar, lifetime_min) + random() * WEP_CVAR_SEC(hagar, lifetime_rand);
PROJECTILE_MAKETRIGGER(missile);