hedgewars/uTeams.pas
changeset 7755 b8958e64e68d
parent 7669 a85e1c167b69
child 7835 a84936d1618a
equal deleted inserted replaced
7754:e81dc9bef8b8 7755:b8958e64e68d
    18 
    18 
    19 {$INCLUDE "options.inc"}
    19 {$INCLUDE "options.inc"}
    20 
    20 
    21 unit uTeams;
    21 unit uTeams;
    22 interface
    22 interface
    23 uses uConsts, uInputHandler, uGears, uRandom, uFloat, uStats, uVisualGears, uCollisions, GLunit, uSound,
    23 uses uConsts, uInputHandler, uGears, uRandom, uFloat, uStats, uVisualGears, uCollisions, GLunit, uSound, uStore,
    24      uTypes{$IFDEF USE_TOUCH_INTERFACE}, uWorld{$ENDIF};
    24      uTypes{$IFDEF USE_TOUCH_INTERFACE}, uWorld{$ENDIF};
    25 
    25 
    26 procedure initModule;
    26 procedure initModule;
    27 procedure freeModule;
    27 procedure freeModule;
    28 
    28 
   626 
   626 
   627 procedure SwitchCurrentHedgehog(newHog: PHedgehog);
   627 procedure SwitchCurrentHedgehog(newHog: PHedgehog);
   628 var oldCI, newCI: boolean;
   628 var oldCI, newCI: boolean;
   629     oldHH: PHedgehog;
   629     oldHH: PHedgehog;
   630 begin
   630 begin
       
   631    if (CurrentHedgehog <> nil) and (CurrentHedgehog^.CurAmmoType = amKnife) then
       
   632        LoadHedgehogHat(CurrentHedgehog^, CurrentHedgehog^.Hat);
   631     oldCI:= (CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil) and (CurrentHedgehog^.Gear^.CollisionIndex >= 0);
   633     oldCI:= (CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil) and (CurrentHedgehog^.Gear^.CollisionIndex >= 0);
   632     newCI:= (newHog^.Gear <> nil) and (newHog^.Gear^.CollisionIndex >= 0);
   634     newCI:= (newHog^.Gear <> nil) and (newHog^.Gear^.CollisionIndex >= 0);
   633     if oldCI then DeleteCI(CurrentHedgehog^.Gear);
   635     if oldCI then DeleteCI(CurrentHedgehog^.Gear);
   634     if newCI then DeleteCI(newHog^.Gear);
   636     if newCI then DeleteCI(newHog^.Gear);
   635     oldHH:= CurrentHedgehog;
   637     oldHH:= CurrentHedgehog;
   636     CurrentHedgehog:= newHog;
   638     CurrentHedgehog:= newHog;
       
   639    if (CurrentHedgehog <> nil) and (CurrentHedgehog^.CurAmmoType = amKnife) then
       
   640        LoadHedgehogHat(CurrentHedgehog^, 'Reserved/chef');
   637     if oldCI then AddGearCI(oldHH^.Gear);
   641     if oldCI then AddGearCI(oldHH^.Gear);
   638     if newCI then AddGearCI(newHog^.Gear)
   642     if newCI then AddGearCI(newHog^.Gear)
   639 end;
   643 end;
   640 
   644 
   641 
   645