W_Electro_TriggerCombo(this.origin, WEP_CVAR(electro, combo_comboradius), this.realowner);
this.event_damage = func_null;
+ this.velocity = this.movedir; // particle fx and decals need .velocity
RadiusDamage(
this,
this.event_damage = func_null;
this.takedamage = DAMAGE_NO;
+ this.velocity = this.movedir; // particle fx and decals need .velocity
if(this.move_movetype == MOVETYPE_BOUNCE || this.classname == "electro_orb") // TODO: classname is more reliable anyway?
{
setsize(newproj, this.mins, this.maxs);
newproj.angles = vectoangles(-trace_plane_normal); // face against the surface
+ newproj.movedir = -trace_plane_normal;
+
newproj.takedamage = this.takedamage;
newproj.damageforcescale = this.damageforcescale;
SetResourceExplicit(newproj, RES_HEALTH, GetResource(this, RES_HEALTH));
setsize(newmine, '-4 -4 -4', '4 4 4');
newmine.angles = vectoangles(-trace_plane_normal); // face against the surface
- newmine.mine_orientation = -trace_plane_normal;
+ newmine.movedir = -trace_plane_normal;
newmine.takedamage = this.takedamage;
newmine.damageforcescale = this.damageforcescale;
this.takedamage = DAMAGE_NO;
if(this.move_movetype == MOVETYPE_NONE || this.move_movetype == MOVETYPE_FOLLOW)
- this.velocity = this.mine_orientation; // particle fx and decals need .velocity
+ this.velocity = this.movedir; // particle fx and decals need .velocity
RadiusDamage(this, this.realowner, WEP_CVAR(minelayer, remote_damage), WEP_CVAR(minelayer, remote_edgedamage), WEP_CVAR(minelayer, remote_radius),
NULL, NULL, WEP_CVAR(minelayer, remote_force), this.projectiledeathtype | HITTYPE_BOUNCE, this.weaponentity_fld, NULL);
void W_MineLayer_Think(entity this);
.float minelayer_detonate, mine_explodeanyway;
.float mine_time;
-.vector mine_orientation;
IntrusiveList g_mines;
STATIC_INIT(g_mines) { g_mines = IL_NEW(); }