# HG changeset patch # User nemo # Date 1269701759 0 # Node ID 06c089cb739cefd8697df52c9be5345828826883 # Parent 2d666993854a374b453fa19f7fd5c5e946a0cbf7 Reduce turns to -1 to allow processing health machine on first turn. Needs testing with Sudden Death set to 0 diff -r 2d666993854a -r 06c089cb739c hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sat Mar 27 14:49:04 2010 +0000 +++ b/hedgewars/uGears.pas Sat Mar 27 14:55:59 2010 +0000 @@ -585,22 +585,20 @@ begin if Gear^.Kind = gtHedgehog then begin - if PHedgehog(Gear^.Hedgehog)^.Poisoned then - inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))); - inc(Gear^.Damage, min(cHealthDecrease, max(0,Gear^.Health - 1 - Gear^.Damage))); - if PHedgehog(Gear^.Hedgehog)^.King then - begin - flag:= false; - team:= PHedgehog(Gear^.Hedgehog)^.Team; - for i:= 0 to Pred(team^.HedgehogsNumber) do - if (team^.Hedgehogs[i].Gear <> nil) and - (not team^.Hedgehogs[i].King) and - (team^.Hedgehogs[i].Gear^.Health > team^.Hedgehogs[i].Gear^.Damage) - then begin - flag:= true; - end; - if not flag then inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))) - end; + if PHedgehog(Gear^.Hedgehog)^.Poisoned then + inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))); + inc(Gear^.Damage, min(cHealthDecrease, max(0,Gear^.Health - 1 - Gear^.Damage))); + if PHedgehog(Gear^.Hedgehog)^.King then + begin + flag:= false; + team:= PHedgehog(Gear^.Hedgehog)^.Team; + for i:= 0 to Pred(team^.HedgehogsNumber) do + if (team^.Hedgehogs[i].Gear <> nil) and + (not team^.Hedgehogs[i].King) and + (team^.Hedgehogs[i].Gear^.Health > team^.Hedgehogs[i].Gear^.Damage) + then flag:= true; + if not flag then inc(Gear^.Damage, min(5, max(0,Gear^.Health - 1 - Gear^.Damage))) + end; end; Gear:= Gear^.NextGear @@ -705,7 +703,7 @@ if bBetweenTurns or isInMultiShoot - or (TotalRounds = 0) then inc(step) + or (TotalRounds = -1) then inc(step) else begin bBetweenTurns:= true; HealthMachine;