diff -r 71fc5893071c -r bce8cf41d666 hedgewars/uTeams.pas --- a/hedgewars/uTeams.pas Thu Jun 13 22:04:22 2013 +0200 +++ b/hedgewars/uTeams.pas Thu Jun 13 22:27:23 2013 +0200 @@ -20,8 +20,8 @@ unit uTeams; interface -uses uConsts, uInputHandler, uGears, uRandom, uFloat, uStats, uVisualGears, uCollisions, GLunit, - uSound, uStore, uTypes +uses uConsts, uInputHandler, uRandom, uFloat, uStats, uVisualGears, + uCollisions, GLunit, uSound, uStore, uTypes, uScript {$IFDEF USE_TOUCH_INTERFACE}, uWorld{$ENDIF}; @@ -34,6 +34,8 @@ procedure InitTeams; function TeamSize(p: PTeam): Longword; procedure RecountTeamHealth(team: PTeam); +procedure RestoreHog(HH: PHedgehog); + procedure RestoreTeamsFromSave; function CheckForWin: boolean; procedure TeamGoneEffect(var Team: TTeam); @@ -496,6 +498,17 @@ AddVisualGear(0, 0, vgtTeamHealthSorter) end; +procedure RestoreHog(HH: PHedgehog); +begin + HH^.Gear:=HH^.GearHidden; + HH^.GearHidden:= nil; + InsertGearToList(HH^.Gear); + HH^.Gear^.State:= (HH^.Gear^.State and (not (gstHHDriven or gstInvisible or gstAttacking))) or gstAttacked; + AddGearCI(HH^.Gear); + HH^.Gear^.Active:= true; + ScriptCall('onHogRestore', HH^.Gear^.Uid) +end; + procedure RestoreTeamsFromSave; var t: LongInt; begin