share/hedgewars/Data/Scripts/Multiplayer/Random_Weapon.lua
changeset 4590 d9fed5a816e9
parent 4551 05c32ee166b6
child 4893 353781305c07
equal deleted inserted replaced
4586:4ba4f021070f 4590:d9fed5a816e9
       
     1 loadfile(GetDataPath() .. "Scripts/Locale.lua")()
       
     2 
     1 local weapons = { amGrenade, amClusterBomb, amBazooka, amBee, amShotgun,
     3 local weapons = { amGrenade, amClusterBomb, amBazooka, amBee, amShotgun,
     2             amMine, amDEagle, amDynamite, amFirePunch, amWhip, amPickHammer,
     4             amMine, amDEagle, amDynamite, amFirePunch, amWhip, amPickHammer,
     3             amBaseballBat, amAirAttack, amMineStrike, amTeleport, amMortar, amCake,
     5             amBaseballBat, amTeleport, amMortar, amCake, amSeduction,
     4             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun,
     6             amWatermelon, amHellishBomb, amDrill, amBallgun, amRCPlane,
     5             amRCPlane, amSniperRifle, amMolotov, amBirdy, amBlowTorch,
     7             amSniperRifle, amMolotov, amBirdy, amBlowTorch, amGasBomb,
     6             amGasBomb, amFlamethrower, amSMine, amHammer, amDrillStrike }
     8             amFlamethrower, amSMine, amHammer, amSnowball }
     7 
     9 
     8 local lastRound = -1
    10 local airweapons = { amAirAttack, amMineStrike, amNapalm, amDrillStrike }
     9 local weapon = 0
    11 
    10 
    12 
    11 function onGameInit()
    13 function onGameInit()
    12     GameFlags = band(bor(GameFlags, gfResetWeps), bnot(gfInfAttack + gfPerHogAmmo))
    14     GameFlags = band(bor(GameFlags, gfResetWeps), bnot(gfInfAttack + gfPerHogAmmo))
       
    15 end
       
    16 
       
    17 function onGameStart()
       
    18     if MapHasBorder() == false then
       
    19         for i, w in pairs(airweapons) do
       
    20             table.insert(weapons, w)
       
    21         end
       
    22     end
       
    23 
       
    24     ShowMission(loc("Random Weapons"), loc("A game of luck"), loc("There has been a mix-up with your gear and now you|have to utilize whatever is coming your way!"), -amSkip, 0)
    13 end
    25 end
    14 
    26 
    15 function onAmmoStoreInit()
    27 function onAmmoStoreInit()
    16     SetAmmo(amSkip, 9, 0, 0, 0)
    28     SetAmmo(amSkip, 9, 0, 0, 0)
    17 
    29 
    29     SetAmmo(amResurrector, 0, 1, 0, 1)
    41     SetAmmo(amResurrector, 0, 1, 0, 1)
    30 
    42 
    31     for i, w in pairs(weapons) do
    43     for i, w in pairs(weapons) do
    32         SetAmmo(w, 0, 0, 0, 1)
    44         SetAmmo(w, 0, 0, 0, 1)
    33     end
    45     end
       
    46 
       
    47     for i, w in pairs(airweapons) do
       
    48         SetAmmo(w, 0, 0, 0, 1)
       
    49     end
    34 end
    50 end
    35 
    51 
    36 function onNewTurn()
    52 function onNewTurn()
    37     if lastRound ~= TotalRounds then
    53     AddAmmo(CurrentHedgehog, weapons[GetRandom(table.maxn(weapons)) + 1])
    38         weapon = GetRandom(table.maxn(weapons)) + 1
       
    39         lastRound = TotalRounds
       
    40     end
       
    41     AddAmmo(CurrentHedgehog, weapons[weapon])
       
    42 end
    54 end