This might be all it takes to prevent the desync. needs local/remote testing. Also toggle 2nd barrel state on 0 movement
--- a/hedgewars/CCHandlers.inc Sat Mar 06 18:44:42 2010 +0000
+++ b/hedgewars/CCHandlers.inc Sat Mar 06 21:32:04 2010 +0000
@@ -519,7 +519,7 @@
procedure doPut(putX, putY: LongInt; fromAI: boolean);
begin
if CheckNoTeamOrHH then exit;
-if bShowAmmoMenu then
+if not CurrentTeam^.ExtDriven and bShowAmmoMenu then
begin
bSelected:= true;
exit
--- a/hedgewars/GSHandlers.inc Sat Mar 06 18:44:42 2010 +0000
+++ b/hedgewars/GSHandlers.inc Sat Mar 06 21:32:04 2010 +0000
@@ -1275,7 +1275,11 @@
CalcRotationDirAngle(Gear);
CheckGearDrowning(Gear)
end
-else AddGearCI(Gear);
+else
+ begin
+ Gear^.State:= Gear^.State or gsttmpFlag;
+ AddGearCI(Gear)
+ end;
(*
Attempt to make a barrel knock itself over an edge. Would need more checks to avoid issues like burn damage
begin