hedgewars/uGearsHedgehog.pas
branchwebgl
changeset 8096 453917e94e55
parent 8026 4a4f21070479
parent 8051 f26422ef0333
child 8330 aaefa587e277
equal deleted inserted replaced
8053:2e836bebb518 8096:453917e94e55
   101         begin
   101         begin
   102         if CurAmmoType = amKnife then
   102         if CurAmmoType = amKnife then
   103             LoadHedgehogHat(HHGear^.Hedgehog^, 'Reserved/chef')
   103             LoadHedgehogHat(HHGear^.Hedgehog^, 'Reserved/chef')
   104         else if prevAmmo = amKnife then
   104         else if prevAmmo = amKnife then
   105             LoadHedgehogHat(HHGear^.Hedgehog^, Hat);
   105             LoadHedgehogHat(HHGear^.Hedgehog^, Hat);
       
   106         end;
       
   107     // Try again in the next slot
       
   108     if CurAmmoType = prevAmmo then 
       
   109         begin
       
   110         if slot >= cMaxSlotIndex then slot:= 0 else inc(slot);
       
   111         HHGear^.MsgParam:= slot;
       
   112         ChangeAmmo(HHGear)
   106         end
   113         end
   107     end
   114     end
   108 end;
   115 end;
   109 
   116 
   110 procedure HHSetWeapon(HHGear: PGear);
   117 procedure HHSetWeapon(HHGear: PGear);
   639                         AddRandomness(GameTicks);
   646                         AddRandomness(GameTicks);
   640                         
   647                         
   641                         gi := GearsList;
   648                         gi := GearsList;
   642                         while gi <> nil do
   649                         while gi <> nil do
   643                             begin
   650                             begin
   644                             if gi^.Kind = gtGenericFaller then
   651                             if (gi^.Kind = gtGenericFaller) and (gi^.State and gstInvisible <> 0) then
   645                                 begin
   652                                 begin
   646                                 gi^.Active:= true;
   653                                 gi^.Active:= true;
       
   654                                 gi^.State:= gi^.State or gstTmpFlag;
   647                                 gi^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX);
   655                                 gi^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX);
   648                                 gi^.Y:= int2hwFloat(GetRandom(LAND_HEIGHT-topY)+topY);
   656                                 gi^.Y:= int2hwFloat(GetRandom(LAND_HEIGHT-topY)+topY);
   649                                 gi^.dX:= _90-(GetRandomf*_360);
   657                                 gi^.dX:= _90-(GetRandomf*_360);
   650                                 gi^.dY:= _90-(GetRandomf*_360)
   658                                 gi^.dY:= _90-(GetRandomf*_360)
   651                                 end;
   659                                 end;