# HG changeset patch # User Wuzzy # Date 1536076668 -7200 # Node ID 6fd56a26e8b8fc420fce4ab2797f81ea236f5cab # Parent 72a8c0d63d80d713341dd220ce06cdf5295c2814 Fix turn reaction not working properly after turn diff -r 72a8c0d63d80 -r 6fd56a26e8b8 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Tue Sep 04 16:52:51 2018 +0200 +++ b/hedgewars/uGears.pas Tue Sep 04 17:57:48 2018 +0200 @@ -63,8 +63,8 @@ var delay: LongWord; delay2: LongWord; step: (stInit, stDelay, stChDmg, stSweep, stTurnStats, stChWin1, - stTurnReact, stAfterDelay, stChWin2, stWater, stChWin3, stHealth, - stSpawn, stNTurn); + stTurnReact, stAfterDelay, stChWin2, stWater, stChWin3, + stHealth, stSpawn, stNTurn); NewTurnTick: LongWord; //SDMusic: shortstring; @@ -307,6 +307,7 @@ if (not bBetweenTurns) and (not isInMultiShoot) then begin uStats.TurnReaction; + uStats.TurnStatsReset; inc(step) end else diff -r 72a8c0d63d80 -r 6fd56a26e8b8 hedgewars/uStats.pas --- a/hedgewars/uStats.pas Tue Sep 04 16:52:51 2018 +0200 +++ b/hedgewars/uStats.pas Tue Sep 04 17:57:48 2018 +0200 @@ -42,6 +42,7 @@ procedure Skipped; procedure TurnStats; procedure TurnReaction; +procedure TurnStatsReset; procedure SendStats; procedure hedgehogFlight(Gear: PGear; time: Longword); procedure declareAchievement(id, teamname, location: shortstring; value: LongInt); @@ -157,11 +158,6 @@ MaxStepDamageGiven:= StepDamageGiven; if StepKills > MaxStepKills then MaxStepKills:= StepKills; - StepKills:= 0; - StepDamageRecv:= 0; - StepDamageGiven:= 0; - StepPoisoned:= false; - StepDied:= false; end; // Write into the death log which clans died in this turn, @@ -198,16 +194,6 @@ ClanDeathLog:= newEntry; end; -Kills:= 0; -KillsClan:= 0; -DamageClan:= 0; -DamageTurn:= 0; -HitTargets:= 0; -PoisonClan:= 0; -PoisonTurn:= 0; -AmmoUsedCount:= 0; -AmmoDamagingUsed:= false; -isTurnSkipped:= false; end; procedure TurnReaction; @@ -284,6 +270,33 @@ end; end; +procedure TurnStatsReset; +var t, i: LongInt; +begin +for t:= 0 to Pred(TeamsCount) do // send even on zero turn + with TeamsArray[t]^ do + for i:= 0 to cMaxHHIndex do + with Hedgehogs[i].stats do + begin + StepKills:= 0; + StepDamageRecv:= 0; + StepDamageGiven:= 0; + StepPoisoned:= false; + StepDied:= false; + end; + +Kills:= 0; +KillsClan:= 0; +DamageClan:= 0; +DamageTurn:= 0; +HitTargets:= 0; +PoisonClan:= 0; +PoisonTurn:= 0; +AmmoUsedCount:= 0; +AmmoDamagingUsed:= false; +isTurnSkipped:= false; +end; + procedure AmmoUsed(am: TAmmoType); begin inc(AmmoUsedCount); diff -r 72a8c0d63d80 -r 6fd56a26e8b8 hedgewars/uTeams.pas --- a/hedgewars/uTeams.pas Tue Sep 04 16:52:51 2018 +0200 +++ b/hedgewars/uTeams.pas Tue Sep 04 17:57:48 2018 +0200 @@ -80,6 +80,7 @@ begin TurnStats(); TurnReaction(); + TurnStatsReset(); end; if not TeamsGameOver then