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; |