hedgewars/uScript.pas
changeset 13380 cd55c7f25e04
parent 13378 c53530142442
child 13394 7b4726ef2308
equal deleted inserted replaced
13379:4dd503978c0a 13380:cd55c7f25e04
  1676         end;
  1676         end;
  1677     lc_switchhog:= 0
  1677     lc_switchhog:= 0
  1678 end;
  1678 end;
  1679 
  1679 
  1680 function lc_enableswitchhog(L : Plua_State) : LongInt; Cdecl;
  1680 function lc_enableswitchhog(L : Plua_State) : LongInt; Cdecl;
  1681 var gear: PGear;
  1681 var gear, iterator: PGear;
       
  1682     alreadySwitching: boolean;
  1682 begin
  1683 begin
  1683     if CheckLuaParamCount(L, 0, 'EnableSwitchHog', '') then
  1684     if CheckLuaParamCount(L, 0, 'EnableSwitchHog', '') then
  1684         begin
  1685         if ((CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil)) then
  1685         gear:= AddGear(hwRound(CurrentHedgehog^.Gear^.X), hwRound(CurrentHedgehog^.Gear^.Y), gtSwitcher, 0, _0, _0, 0);
  1686             begin
  1686         CurAmmoGear:= gear;
  1687             alreadySwitching:= false;
  1687         lastGearByUID:= gear;
  1688             iterator:= GearsList;
  1688         bShowFinger:= false;
  1689             // Check if there's already a switcher gear
  1689         end;
  1690             while (iterator <> nil) do
  1690     lc_enableswitchhog:= 0;
  1691                 begin
       
  1692                 if (iterator^.Kind = gtSwitcher) then
       
  1693                     begin
       
  1694                     alreadySwitching:= true;
       
  1695                     lua_pushnumber(L, iterator^.Uid);
       
  1696                     break;
       
  1697                     end;
       
  1698                 iterator:= iterator^.NextGear;
       
  1699                 end;
       
  1700             if (not alreadySwitching) then
       
  1701                 begin
       
  1702                 // Enable switching and return gear UID
       
  1703                 gear:= AddGear(hwRound(CurrentHedgehog^.Gear^.X), hwRound(CurrentHedgehog^.Gear^.Y), gtSwitcher, 0, _0, _0, 0);
       
  1704                 CurAmmoGear:= gear;
       
  1705                 lastGearByUID:= gear;
       
  1706                 bShowFinger:= false;
       
  1707                 lua_pushnumber(L, gear^.Uid);
       
  1708                 end;
       
  1709             end
       
  1710     // Return nil on failure
       
  1711         else
       
  1712             lua_pushnil(L)
       
  1713     else
       
  1714         lua_pushnil(L);
       
  1715     lc_enableswitchhog:= 1;
  1691 end;
  1716 end;
  1692 
  1717 
  1693 function lc_addammo(L : Plua_State) : LongInt; Cdecl;
  1718 function lc_addammo(L : Plua_State) : LongInt; Cdecl;
  1694 var gear : PGear;
  1719 var gear : PGear;
  1695     at, n, c: LongInt;
  1720     at, n, c: LongInt;