.float scale;
.vector colormod;
-void SUB_Stop(entity this)
+void SUB_Stop(entity this, entity toucher)
{
this.move_velocity = this.move_avelocity = '0 0 0';
this.move_movetype = MOVETYPE_NONE;
}
-void SUB_Stop_self() { SUB_Stop(self); }
-
void Projectile_ResetTrail(entity this, vector to)
{
this.trail_oldorigin = to;
void loopsound(entity e, int ch, string samp, float vol, float attn)
{
+ TC(int, ch);
if (e.silent)
return;
HANDLE(GRENADE_BOUNCING) this.traileffect = EFFECT_TR_GRENADE.m_id; break;
HANDLE(MINE) this.traileffect = EFFECT_TR_GRENADE.m_id; break;
HANDLE(BLASTER) this.traileffect = EFFECT_Null.m_id; break;
+ HANDLE(ARC_BOLT) this.traileffect = EFFECT_Null.m_id; break;
HANDLE(HLAC) this.traileffect = EFFECT_Null.m_id; break;
HANDLE(PORTO_RED) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; this.scale = 4; break;
HANDLE(PORTO_BLUE) this.traileffect = EFFECT_TR_WIZSPIKE.m_id; this.scale = 4; break;
this.mins = '0 0 0';
this.maxs = '0 0 0';
this.colormod = '0 0 0';
- this.move_touch = SUB_Stop_self;
+ settouch(this, SUB_Stop);
this.move_movetype = MOVETYPE_TOSS;
this.alphamod = 1;
this.mins = '0 0 -4';
this.maxs = '0 0 -4';
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
this.move_bounce_factor = WEP_CVAR_SEC(electro, bouncefactor);
this.move_bounce_stopspeed = WEP_CVAR_SEC(electro, bouncestop);
break;
this.mins = '-3 -3 -3';
this.maxs = '3 3 3';
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
this.move_bounce_factor = WEP_CVAR(mortar, bouncefactor);
this.move_bounce_stopspeed = WEP_CVAR(mortar, bouncestop);
break;
this.colormod = '2 1 1';
this.alphamod = 0.5;
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
break;
case PROJECTILE_PORTO_BLUE:
this.colormod = '1 1 2';
this.alphamod = 0.5;
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
break;
case PROJECTILE_HAGAR_BOUNCING:
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
break;
case PROJECTILE_CRYLINK_BOUNCING:
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
break;
case PROJECTILE_FIREBALL:
loopsound(this, CH_SHOTS_SINGLE, SND(FIREBALL_FLY2), VOL_BASE, ATTEN_NORM);
case PROJECTILE_FIREMINE:
loopsound(this, CH_SHOTS_SINGLE, SND(FIREBALL_FLY), VOL_BASE, ATTEN_NORM);
this.move_movetype = MOVETYPE_BOUNCE;
- this.move_touch = func_null;
+ settouch(this, func_null);
this.mins = '-4 -4 -4';
this.maxs = '4 4 4';
break;