improve behaviour of resurrection. pull in 4254 and 4259 which replace random with index
--- a/hedgewars/GSHandlers.inc Fri Nov 12 17:53:35 2010 -0500
+++ b/hedgewars/GSHandlers.inc Fri Nov 12 17:54:49 2010 -0500
@@ -4240,12 +4240,13 @@
if ((Gear^.Message and gmAttack) <> 0) and (hh^.Gear^.Health > 0) and (TurnTimeLeft > 0) then
begin
- i := getRandom(Length(graves));
+ if Length(graves) >= Gear^.Tag then Gear^.Tag:= 0;
dec(hh^.Gear^.Health);
if (hh^.Gear^.Health = 0) and (hh^.Gear^.Damage = 0) then
hh^.Gear^.Damage:= 1;
RenderHealth(hh^);
- inc(graves[i]^.Health);
+ inc(graves[Gear^.Tag]^.Health);
+ inc(Gear^.Tag)
{-for i:= 0 to High(graves) do begin
if hh^.Gear^.Health > 0 then begin
dec(hh^.Gear^.Health);
--- a/hedgewars/uGears.pas Fri Nov 12 17:53:35 2010 -0500
+++ b/hedgewars/uGears.pas Fri Nov 12 17:54:49 2010 -0500
@@ -540,6 +540,7 @@
end;
gtResurrector: begin
gear^.Radius := 100;
+ gear^.Tag := 0
end;
gtWaterUp: begin
gear^.Tag := 47;