if(sf & 1)
{
WriteByte(MSG_ENTITY, num_for_edict(self.owner));
+ WriteCoord(MSG_ENTITY, cvar("g_balance_electro_primary_range"));
}
if(sf & 2)
{
makevectors(self.owner.v_angle);
- float dt;
+ float dt, f;
dt = frametime;
if not(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)
{
{
vector force;
force = w_shotdir * cvar("g_balance_electro_primary_force") + '0 0 1' * cvar("g_balance_electro_primary_force_up");
- Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage") * dt, WEP_ELECTRO, trace_endpos, force * dt);
- W_Plasma_TriggerCombo(trace_endpos, cvar("g_balance_electro_primary_comboradius"), self.owner);
+
+ f = ExponentialFalloff(cvar("g_balance_electro_primary_falloff_mindist"), cvar("g_balance_electro_primary_falloff_maxdist"), cvar("g_balance_electro_primary_falloff_halflifedist"), vlen(WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos) - w_shotorg));
+
+ Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage") * dt * f, WEP_ELECTRO, trace_endpos, force * dt);
+ Damage_RecordDamage(self.owner, WEP_ELECTRO, cvar("g_balance_electro_primary_damage") * dt * f);
}
+ W_Plasma_TriggerCombo(trace_endpos, cvar("g_balance_electro_primary_comboradius"), self.owner);
// draw effect
if(w_shotorg != self.hook_start)
else if (req == WR_SUICIDEMESSAGE)
{
if(w_deathtype & HITTYPE_SECONDARY)
- w_deathtypestring = "could not remember where they put plasma";
+ w_deathtypestring = "%s could not remember where they put plasma";
else
- w_deathtypestring = "played with plasma";
+ w_deathtypestring = "%s played with plasma";
}
else if (req == WR_KILLMESSAGE)
{
if(w_deathtype & HITTYPE_SECONDARY)
{
if(w_deathtype & HITTYPE_SPLASH) // unchecked: BOUNCE
- w_deathtypestring = "just noticed #'s blue ball";
+ w_deathtypestring = "%s just noticed %s's blue ball";
else // unchecked: BOUNCE
- w_deathtypestring = "got in touch with #'s blue ball";
+ w_deathtypestring = "%s got in touch with %s's blue ball";
}
else
{
if(w_deathtype & HITTYPE_BOUNCE) // combo
- w_deathtypestring = "felt the electrifying air of #'s combo";
+ w_deathtypestring = "%s felt the electrifying air of %s's combo";
else if(w_deathtype & HITTYPE_SPLASH)
- w_deathtypestring = "got too close to #'s blue beam";
+ w_deathtypestring = "%s got too close to %s's blue beam";
else
- w_deathtypestring = "was blasted by #'s blue beam";
+ w_deathtypestring = "%s was blasted by %s's blue beam";
}
}
return TRUE;