hedgewars/uScript.pas
changeset 14619 03033213e800
parent 14618 7c5a9c1b9d4e
child 14640 e6363b84b3fe
equal deleted inserted replaced
14618:7c5a9c1b9d4e 14619:03033213e800
   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