hedgewars/uScript.pas
changeset 14393 c2cd3f64b9f7
parent 14366 2ab312c47dc3
child 14394 d670e4efe1ed
equal deleted inserted replaced
14392:e335b3120f59 14393:c2cd3f64b9f7
   684     lc_addcaption:= 0;
   684     lc_addcaption:= 0;
   685 end;
   685 end;
   686 
   686 
   687 function lc_spawnfakehealthcrate(L: Plua_State) : LongInt; Cdecl;
   687 function lc_spawnfakehealthcrate(L: Plua_State) : LongInt; Cdecl;
   688 var gear: PGear;
   688 var gear: PGear;
   689 begin
   689     explode, poison: boolean;
   690     if CheckLuaParamCount(L, 4,'SpawnFakeHealthCrate', 'x, y, explode, poison') then
   690     n: LongInt;
   691         begin
   691 begin
       
   692     if CheckAndFetchParamCountRange(L, 2, 4, 'SpawnFakeHealthCrate', 'x, y [, explode [, poison]]', n) then
       
   693         begin
       
   694         explode:= false;
       
   695         poison:= false;
       
   696         if (n >= 3) and (not lua_isnil(L, 3)) then
       
   697             explode:= lua_toboolean(L, 3);
       
   698         if (n = 4) and (not lua_isnil(L, 4)) then
       
   699             poison:= lua_toboolean(L, 4);
       
   700 
   692         gear := SpawnFakeCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)),
   701         gear := SpawnFakeCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)),
   693         HealthCrate, lua_toboolean(L, 3), lua_toboolean(L, 4));
   702         HealthCrate, explode, poison);
   694         if gear <> nil then
   703         if gear <> nil then
   695              lua_pushnumber(L, gear^.uid)
   704              lua_pushnumber(L, gear^.uid)
   696         else lua_pushnil(L)
   705         else lua_pushnil(L)
   697         end
   706         end
   698     else
   707     else
   700     lc_spawnfakehealthcrate := 1;
   709     lc_spawnfakehealthcrate := 1;
   701 end;
   710 end;
   702 
   711 
   703 function lc_spawnfakeammocrate(L: PLua_State): LongInt; Cdecl;
   712 function lc_spawnfakeammocrate(L: PLua_State): LongInt; Cdecl;
   704 var gear: PGear;
   713 var gear: PGear;
   705 begin
   714     explode, poison: boolean;
   706     if CheckLuaParamCount(L, 4,'SpawnFakeAmmoCrate', 'x, y, explode, poison') then
   715     n: LongInt;
   707         begin
   716 begin
       
   717     if CheckAndFetchParamCountRange(L, 2, 4, 'SpawnFakeAmmoCrate', 'x, y [, explode [, poison]]', n) then
       
   718         begin
       
   719         explode:= false;
       
   720         poison:= false;
       
   721         if (n >= 3) and (not lua_isnil(L, 3)) then
       
   722             explode:= lua_toboolean(L, 3);
       
   723         if (n = 4) and (not lua_isnil(L, 4)) then
       
   724             poison:= lua_toboolean(L, 4);
       
   725 
   708         gear := SpawnFakeCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)),
   726         gear := SpawnFakeCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)),
   709         AmmoCrate, lua_toboolean(L, 3), lua_toboolean(L, 4));
   727         AmmoCrate, explode, poison);
   710         if gear <> nil then
   728         if gear <> nil then
   711              lua_pushnumber(L, gear^.uid)
   729              lua_pushnumber(L, gear^.uid)
   712         else lua_pushnil(L)
   730         else lua_pushnil(L)
   713         end
   731         end
   714     else
   732     else
   716     lc_spawnfakeammocrate := 1;
   734     lc_spawnfakeammocrate := 1;
   717 end;
   735 end;
   718 
   736 
   719 function lc_spawnfakeutilitycrate(L: PLua_State): LongInt; Cdecl;
   737 function lc_spawnfakeutilitycrate(L: PLua_State): LongInt; Cdecl;
   720 var gear: PGear;
   738 var gear: PGear;
   721 begin
   739     explode, poison: boolean;
   722     if CheckLuaParamCount(L, 4,'SpawnFakeUtilityCrate', 'x, y, explode, poison') then
   740     n: LongInt;
   723         begin
   741 begin
       
   742     if CheckAndFetchParamCountRange(L, 2, 4, 'SpawnFakeUtilityCrate', 'x, y [, explode [, poison]]', n) then
       
   743         begin
       
   744         explode:= false;
       
   745         poison:= false;
       
   746         if (n >= 3) and (not lua_isnil(L, 3)) then
       
   747             explode:= lua_toboolean(L, 3);
       
   748         if (n = 4) and (not lua_isnil(L, 4)) then
       
   749             poison:= lua_toboolean(L, 4);
       
   750 
   724         gear := SpawnFakeCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)),
   751         gear := SpawnFakeCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)),
   725         UtilityCrate, lua_toboolean(L, 3), lua_toboolean(L, 4));
   752         UtilityCrate, explode, poison);
   726         if gear <> nil then
   753         if gear <> nil then
   727              lua_pushnumber(L, gear^.uid)
   754              lua_pushnumber(L, gear^.uid)
   728         else lua_pushnil(L)
   755         else lua_pushnil(L)
   729         end
   756         end
   730     else
   757     else