- Unset hhdriven flag for gone hedgehog
- Fix incorrect work with states in gstWait state handler
- These two changes fix the bug with hogs of gone team not disappearing
--- a/hedgewars/HHHandlers.inc Sat Sep 17 10:22:35 2011 -0400
+++ b/hedgewars/HHHandlers.inc Mon Sep 19 23:55:52 2011 +0400
@@ -1064,13 +1064,13 @@
if ((Gear^.State and gstWait) = 0) and
(prevState <> Gear^.State) then
begin
- Gear^.State:= gstWait;
+ Gear^.State:= Gear^.State or gstWait;
Gear^.Timer:= 150
end else
begin
if Gear^.Timer = 0 then
begin
- Gear^.State:= 0;
+ Gear^.State:= Gear^.State and not gstWait;
Gear^.Active:= false;
AddGearCI(Gear);
exit
@@ -1094,7 +1094,7 @@
else
begin
with Gear^.Hedgehog^ do
- if Team^.hasGone then
+ if Team^.hasGone then
TeamGoneEffect(Team^)
else
doStepHedgehogDriven(Gear)
--- a/hedgewars/uTeams.pas Sat Sep 17 10:22:35 2011 -0400
+++ b/hedgewars/uTeams.pas Mon Sep 19 23:55:52 2011 +0400
@@ -435,7 +435,7 @@
begin
Gear^.Invulnerable:= false;
Gear^.Damage:= Gear^.Health;
- Gear^.State:= Gear^.State or gstHHGone
+ Gear^.State:= (Gear^.State or gstHHGone) and not gstHHDriven
end
end
end;