97 mapDims : boolean; |
97 mapDims : boolean; |
98 |
98 |
99 procedure ScriptPrepareAmmoStore; forward; |
99 procedure ScriptPrepareAmmoStore; forward; |
100 procedure ScriptApplyAmmoStore; forward; |
100 procedure ScriptApplyAmmoStore; forward; |
101 procedure ScriptSetAmmo(ammo : TAmmoType; count, probability, delay, reinforcement: Byte); forward; |
101 procedure ScriptSetAmmo(ammo : TAmmoType; count, probability, delay, reinforcement: Byte); forward; |
|
102 procedure ScriptSetAmmoDelay(ammo : TAmmoType; delay: Byte); forward; |
102 |
103 |
103 procedure LuaError(s: shortstring); |
104 procedure LuaError(s: shortstring); |
104 begin |
105 begin |
105 WriteLnToConsole(s); |
106 WriteLnToConsole(s); |
106 AddChatString(#5 + s); |
107 AddChatString(#5 + s); |
1604 else |
1605 else |
1605 ScriptSetAmmo(TAmmoType(lua_tointeger(L, 1)), lua_tointeger(L, 2), lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tointeger(L, 5)); |
1606 ScriptSetAmmo(TAmmoType(lua_tointeger(L, 1)), lua_tointeger(L, 2), lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tointeger(L, 5)); |
1606 lc_setammo:= 0 |
1607 lc_setammo:= 0 |
1607 end; |
1608 end; |
1608 |
1609 |
|
1610 function lc_setammodelay(L : Plua_State) : LongInt; Cdecl; |
|
1611 var np: LongInt; |
|
1612 begin |
|
1613 np:= lua_gettop(L); |
|
1614 if (np <> 2) then |
|
1615 LuaError('Lua: Wrong number of parameters passed to SetAmmoDelay!') |
|
1616 else |
|
1617 ScriptSetAmmoDelay(TAmmoType(lua_tointeger(L, 1)), lua_tointeger(L, 2)); |
|
1618 lc_setammodelay:= 0 |
|
1619 end; |
|
1620 |
1609 function lc_setammostore(L : Plua_State) : LongInt; Cdecl; |
1621 function lc_setammostore(L : Plua_State) : LongInt; Cdecl; |
1610 var np: LongInt; |
1622 var np: LongInt; |
1611 begin |
1623 begin |
1612 np:= lua_gettop(L); |
1624 np:= lua_gettop(L); |
1613 if (np <> 4) then |
1625 if (np <> 4) then |
2236 //if (ord(ammo) < 1) or (count > 9) or (count < 0) or (probability < 0) or (probability > 8) or (delay < 0) or (delay > 9) or (reinforcement < 0) or (reinforcement > 8) then |
2248 //if (ord(ammo) < 1) or (count > 9) or (count < 0) or (probability < 0) or (probability > 8) or (delay < 0) or (delay > 9) or (reinforcement < 0) or (reinforcement > 8) then |
2237 if (ord(ammo) < 1) or (count > 9) or (probability > 8) or (delay > 9) or (reinforcement > 8) then |
2249 if (ord(ammo) < 1) or (count > 9) or (probability > 8) or (delay > 9) or (reinforcement > 8) then |
2238 exit; |
2250 exit; |
2239 ScriptAmmoLoadout[ord(ammo)]:= inttostr(count)[1]; |
2251 ScriptAmmoLoadout[ord(ammo)]:= inttostr(count)[1]; |
2240 ScriptAmmoProbability[ord(ammo)]:= inttostr(probability)[1]; |
2252 ScriptAmmoProbability[ord(ammo)]:= inttostr(probability)[1]; |
2241 ScriptAmmoDelay[ord(ammo)]:= inttostr(delay)[1]; |
2253 ScriptSetAmmoDelay(ammo, delay); |
2242 ScriptAmmoReinforcement[ord(ammo)]:= inttostr(reinforcement)[1]; |
2254 ScriptAmmoReinforcement[ord(ammo)]:= inttostr(reinforcement)[1]; |
|
2255 end; |
|
2256 |
|
2257 procedure ScriptSetAmmoDelay(ammo : TAmmoType; delay: Byte); |
|
2258 begin |
|
2259 // change loadout string if ammo store hasn't been initialized yet |
|
2260 if (StoreCnt = 0) then |
|
2261 begin |
|
2262 if (delay <= 9) then |
|
2263 ScriptAmmoDelay[ord(ammo)]:= inttostr(delay)[1]; |
|
2264 end |
|
2265 // change "live" delay values |
|
2266 else if (CurrentTeam <> nil) then |
|
2267 ammoz[ammo].SkipTurns:= CurrentTeam^.Clan^.TurnNumber + delay; |
2243 end; |
2268 end; |
2244 |
2269 |
2245 procedure ScriptApplyAmmoStore; |
2270 procedure ScriptApplyAmmoStore; |
2246 var i, j, k : LongInt; |
2271 var i, j, k : LongInt; |
2247 begin |
2272 begin |
2459 lua_register(luaState, _P'ParseCommand', @lc_parsecommand); |
2484 lua_register(luaState, _P'ParseCommand', @lc_parsecommand); |
2460 lua_register(luaState, _P'ShowMission', @lc_showmission); |
2485 lua_register(luaState, _P'ShowMission', @lc_showmission); |
2461 lua_register(luaState, _P'HideMission', @lc_hidemission); |
2486 lua_register(luaState, _P'HideMission', @lc_hidemission); |
2462 lua_register(luaState, _P'AddCaption', @lc_addcaption); |
2487 lua_register(luaState, _P'AddCaption', @lc_addcaption); |
2463 lua_register(luaState, _P'SetAmmo', @lc_setammo); |
2488 lua_register(luaState, _P'SetAmmo', @lc_setammo); |
|
2489 lua_register(luaState, _P'SetAmmoDelay', @lc_setammodelay); |
2464 lua_register(luaState, _P'SetAmmoStore', @lc_setammostore); |
2490 lua_register(luaState, _P'SetAmmoStore', @lc_setammostore); |
2465 lua_register(luaState, _P'PlaySound', @lc_playsound); |
2491 lua_register(luaState, _P'PlaySound', @lc_playsound); |
2466 lua_register(luaState, _P'AddTeam', @lc_addteam); |
2492 lua_register(luaState, _P'AddTeam', @lc_addteam); |
2467 lua_register(luaState, _P'AddHog', @lc_addhog); |
2493 lua_register(luaState, _P'AddHog', @lc_addhog); |
2468 lua_register(luaState, _P'AddAmmo', @lc_addammo); |
2494 lua_register(luaState, _P'AddAmmo', @lc_addammo); |