}
yoda = 0;
- damage_goodhits = 0;
+ impressive_hits = 0;
FireRailgunBullet(actor, weaponentity, w_shotorg, w_shotorg + w_shotdir * max_shot_distance, mydmg, true, myforce, mymindist, mymaxdist, myhalflife, myforcehalflife, thiswep.m_id);
if(yoda && flying)
Send_Notification(NOTIF_ONE, actor, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA);
- if(damage_goodhits && actor.oknex_lasthit)
+ if(impressive_hits && actor.oknex_lasthit)
{
Send_Notification(NOTIF_ONE, actor, MSG_ANNCE, ANNCE_ACHIEVEMENT_IMPRESSIVE);
- damage_goodhits = 0; // only every second time
+ impressive_hits = 0; // only every second time
}
- actor.oknex_lasthit = damage_goodhits;
+ actor.oknex_lasthit = impressive_hits;
//beam and muzzle flash done on client
SendCSQCVortexBeamParticle(charge);
sound (actor, CH_WEAPON_A, SND_MINSTANEXFIRE, VOL_BASE * 0.8, ATTEN_NORM);
yoda = 0;
- damage_goodhits = 0;
+ impressive_hits = 0;
FireRailgunBullet(actor, weaponentity, w_shotorg, w_shotorg + w_shotdir * max_shot_distance, vaporizer_damage, true, WEP_CVAR_PRI(vaporizer, force), 0, 0, 0, 0, thiswep.m_id);
// do this now, as goodhits is disabled below
vector v = WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos);
W_MuzzleFlash(thiswep, actor, weaponentity, w_shotorg, normalize(v - w_shotorg));
- SendCSQCVaporizerBeamParticle(actor, damage_goodhits);
+ SendCSQCVaporizerBeamParticle(actor, impressive_hits);
if(yoda && flying)
Send_Notification(NOTIF_ONE, actor, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA);
- if(damage_goodhits && actor.vaporizer_lasthit)
+ if(impressive_hits && actor.vaporizer_lasthit)
{
Send_Notification(NOTIF_ONE, actor, MSG_ANNCE, ANNCE_ACHIEVEMENT_IMPRESSIVE);
- damage_goodhits = 0; // only every second time
+ impressive_hits = 0; // only every second time
}
- actor.vaporizer_lasthit = damage_goodhits;
+ actor.vaporizer_lasthit = impressive_hits;
if(autocvar_g_rm)
if(!(trace_dphitq3surfaceflags & (Q3SURFACEFLAG_SKY | Q3SURFACEFLAG_NOIMPACT)))
actor.(weaponentity).held_down = true;
actor.(weaponentity).jump_interval = time + autocvar_g_rm_laser_refire;
actor.(weaponentity).jump_interval2 = time + autocvar_g_rm_laser_rapid_delay;
- damage_goodhits = 0;
+ impressive_hits = 0;
W_RocketMinsta_Attack2(actor, weaponentity);
}
else if(rapid && actor.(weaponentity).jump_interval2 <= time && actor.(weaponentity).held_down)
{
actor.(weaponentity).jump_interval2 = time + autocvar_g_rm_laser_rapid_refire;
- damage_goodhits = 0;
+ impressive_hits = 0;
W_RocketMinsta_Attack3(actor, weaponentity);
//weapon_thinkf(actor, WFRAME_FIRE2, autocvar_g_rm_laser_rapid_animtime, w_ready);
}
}
yoda = 0;
- damage_goodhits = 0;
+ impressive_hits = 0;
FireRailgunBullet(actor, weaponentity, w_shotorg, w_shotorg + w_shotdir * max_shot_distance, mydmg, false, myforce, mymindist, mymaxdist, myhalflife, myforcehalflife, dtype);
if(yoda && flying)
Send_Notification(NOTIF_ONE, actor, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA);
- if(damage_goodhits && actor.vortex_lasthit)
+ if(impressive_hits && actor.vortex_lasthit)
{
Send_Notification(NOTIF_ONE, actor, MSG_ANNCE, ANNCE_ACHIEVEMENT_IMPRESSIVE);
- damage_goodhits = 0; // only every second time
+ impressive_hits = 0; // only every second time
}
- actor.vortex_lasthit = damage_goodhits;
+ actor.vortex_lasthit = impressive_hits;
//beam done on client
vector v = WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos);
attacker.damage_dealt += damage;
}
- damage_goodhits += 1;
- damage_gooddamage += damage;
+ impressive_hits += 1;
if (!DEATH_ISSPECIAL(deathtype))
{
}
}
+// Returns total damage applies to creatures
float RadiusDamageForSource (entity inflictor, vector inflictororigin, vector inflictorvelocity, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe,
float inflictorselfdamage, float forceintensity, float forcezscale, int deathtype, .entity weaponentity, entity directhitentity)
- // Returns total damage applies to creatures
{
entity targ;
vector force;
.float damagedbytriggers;
float yoda;
-float damage_goodhits;
-float damage_gooddamage;
+int impressive_hits;
.float pain_finished; // Added by Supajoe
//.float hit_time;
.float fired_time;
-void accuracy_add(entity this, Weapon w, int fired, int hit)
+void accuracy_add(entity this, Weapon w, float fired, float hit)
{
if (IS_INDEPENDENT_PLAYER(this)) return;
entity a = CS(this).accuracy;
{
int mutator_check = MUTATOR_CALLHOOK(AccuracyTargetValid, attacker, targ);
- if (warmup_stage) return false;
- if (game_stopped) return false;
+ if (warmup_stage || game_stopped) return false;
// damage to dead/frozen players is good only if it happens in the frame they get killed / frozen
// so that stats for weapons that shoot multiple projectiles per shot are properly counted