107 |
107 |
108 {$IFDEF USE_LUA_SCRIPT} |
108 {$IFDEF USE_LUA_SCRIPT} |
109 procedure ScriptPrepareAmmoStore; forward; |
109 procedure ScriptPrepareAmmoStore; forward; |
110 procedure ScriptApplyAmmoStore; forward; |
110 procedure ScriptApplyAmmoStore; forward; |
111 procedure ScriptSetAmmo(ammo : TAmmoType; count, probability, delay, reinforcement: Byte); forward; |
111 procedure ScriptSetAmmo(ammo : TAmmoType; count, probability, delay, reinforcement: Byte); forward; |
112 procedure ScriptSetAmmoDelay(ammo : TAmmoType; delay: Byte); forward; |
112 procedure ScriptSetAmmoDelay(ammo : TAmmoType; delay: LongWord); forward; |
113 |
113 |
114 var LuaDebugInfo: lua_Debug; |
114 var LuaDebugInfo: lua_Debug; |
115 |
115 |
116 procedure SetGlobals; forward; |
116 procedure SetGlobals; forward; |
117 procedure GetGlobals; forward; |
117 procedure GetGlobals; forward; |
4095 ScriptAmmoProbability[ord(ammo)]:= inttostr(probability)[1]; |
4095 ScriptAmmoProbability[ord(ammo)]:= inttostr(probability)[1]; |
4096 ScriptSetAmmoDelay(ammo, delay); |
4096 ScriptSetAmmoDelay(ammo, delay); |
4097 ScriptAmmoReinforcement[ord(ammo)]:= inttostr(reinforcement)[1]; |
4097 ScriptAmmoReinforcement[ord(ammo)]:= inttostr(reinforcement)[1]; |
4098 end; |
4098 end; |
4099 |
4099 |
4100 procedure ScriptSetAmmoDelay(ammo : TAmmoType; delay: Byte); |
4100 procedure ScriptSetAmmoDelay(ammo : TAmmoType; delay: LongWord); |
4101 begin |
4101 begin |
4102 // change loadout string if ammo store has not been initialized yet |
4102 // change loadout string if ammo store has not been initialized yet |
4103 if (StoreCnt = 0) then |
4103 if (StoreCnt = 0) then |
4104 begin |
4104 begin |
4105 if (delay <= 9) then |
4105 if (delay <= 9) then |
4106 ScriptAmmoDelay[ord(ammo)]:= inttostr(delay)[1]; |
4106 ScriptAmmoDelay[ord(ammo)]:= inttostr(delay)[1]; |
4107 end |
4107 end |
4108 // change 'live' delay values |
4108 // change 'live' delay values |
4109 else if (CurrentTeam <> nil) then |
4109 else if (CurrentTeam <> nil) then |
4110 ammoz[ammo].SkipTurns:= CurrentTeam^.Clan^.TurnNumber + delay; |
4110 begin |
|
4111 ammoz[ammo].SkipTurns:= CurrentTeam^.Clan^.TurnNumber + delay; |
|
4112 if ammoz[ammo].SkipTurns > 0 then |
|
4113 dec(ammoz[ammo].SkipTurns); |
|
4114 AmmoMenuInvalidated:= true; |
|
4115 end; |
4111 end; |
4116 end; |
4112 |
4117 |
4113 procedure ScriptApplyAmmoStore; |
4118 procedure ScriptApplyAmmoStore; |
4114 var i, j, k : LongInt; |
4119 var i, j, k : LongInt; |
4115 begin |
4120 begin |