hedgewars/GSHandlers.inc
changeset 7400 09427dbec1d8
parent 7399 e7ce559d8c94
child 7406 1fe2c821f9bf
equal deleted inserted replaced
7399:e7ce559d8c94 7400:09427dbec1d8
   114     if FollowGear = HH^.Gear then
   114     if FollowGear = HH^.Gear then
   115         FollowGear:= nil;
   115         FollowGear:= nil;
   116         
   116         
   117     if lastGearByUID = HH^.Gear then
   117     if lastGearByUID = HH^.Gear then
   118         lastGearByUID := nil;
   118         lastGearByUID := nil;
   119         
   119     
   120     RemoveGearFromList(HH^.Gear);
   120     HH^.Gear^.Message:= HH^.Gear^.Message or gmRemoveFromList;
   121     with HH^.Gear^ do
   121     with HH^.Gear^ do
   122         begin
   122         begin
   123         Z := cHHZ;
   123         Z := cHHZ;
   124         Active := false;
   124         HH^.Gear^.Active:= false;
   125         State:= State and (not (gstHHDriven or gstAttacking or gstAttacked));
   125         State:= State and (not (gstHHDriven or gstAttacking or gstAttacked));
   126         Message := Message and (not gmAttack);
   126         Message := Message and (not gmAttack);
   127     end;
   127     end;
   128     HH^.GearHidden:= HH^.Gear;
   128     HH^.GearHidden:= HH^.Gear;
   129     HH^.Gear:= nil
   129     HH^.Gear:= nil
  2792         HHGear := CurrentHedgehog^.Gear;
  2792         HHGear := CurrentHedgehog^.Gear;
  2793         HHGear^.Message := HHGear^.Message and (not gmSwitch);
  2793         HHGear^.Message := HHGear^.Message and (not gmSwitch);
  2794         Gear^.Message := Gear^.Message and (not gmSwitch);
  2794         Gear^.Message := Gear^.Message and (not gmSwitch);
  2795         State := HHGear^.State;
  2795         State := HHGear^.State;
  2796         HHGear^.State := 0;
  2796         HHGear^.State := 0;
       
  2797         HHGear^.Z := cHHZ;
  2797         HHGear^.Active := false;
  2798         HHGear^.Active := false;
  2798         HHGear^.Z := cHHZ;
  2799         HHGear^.Message:= HHGear^.Message or gmRemoveFromList or gmAddToList;
  2799         RemoveGearFromList(HHGear);
       
  2800         InsertGearToList(HHGear);
       
  2801 
  2800 
  2802         PlaySound(sndSwitchHog);
  2801         PlaySound(sndSwitchHog);
  2803 
  2802 
  2804         repeat
  2803         repeat
  2805             CurrentTeam^.CurrHedgehog := Succ(CurrentTeam^.CurrHedgehog) mod (CurrentTeam^.HedgehogsNumber);
  2804             CurrentTeam^.CurrHedgehog := Succ(CurrentTeam^.CurrHedgehog) mod (CurrentTeam^.HedgehogsNumber);
  2811         HHGear := CurrentHedgehog^.Gear;
  2810         HHGear := CurrentHedgehog^.Gear;
  2812         HHGear^.State := State;
  2811         HHGear^.State := State;
  2813         HHGear^.Active := true;
  2812         HHGear^.Active := true;
  2814         FollowGear := HHGear;
  2813         FollowGear := HHGear;
  2815         HHGear^.Z := cCurrHHZ;
  2814         HHGear^.Z := cCurrHHZ;
  2816         RemoveGearFromList(HHGear);
  2815         HHGear^.Message:= HHGear^.Message or gmRemoveFromList or gmAddToList;
  2817         InsertGearToList(HHGear);
       
  2818         Gear^.X := HHGear^.X;
  2816         Gear^.X := HHGear^.X;
  2819         Gear^.Y := HHGear^.Y
  2817         Gear^.Y := HHGear^.Y
  2820         end;
  2818         end;
  2821 end;
  2819 end;
  2822 
  2820