share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork_2.lua
changeset 12228 8b523acb3220
child 12352 7f09d01ecb45
equal deleted inserted replaced
12227:5afbffc6725d 12228:8b523acb3220
       
     1 -- Teamwork 2
       
     2 -- Original scenario by Arkhnen
       
     3 
       
     4 HedgewarsScriptLoad("Scripts/Locale.lua")
       
     5 
       
     6 local player = nil
       
     7 local hlayer = nil
       
     8 local enemy = nil
       
     9 local Pack = nil
       
    10 local help = false
       
    11 local GameOver = false
       
    12 local skipTime = 0
       
    13 
       
    14 function onGameInit()
       
    15 	Seed = 0
       
    16 	GameFlags = gfDisableWind
       
    17 	TurnTime = 600000000
       
    18 	CaseFreq = 0
       
    19 	MinesNum = 0
       
    20 	MinesTime = 0
       
    21 	-- Disable Sudden Death
       
    22 	HealthDecrease = 0
       
    23 	WaterRise = 0
       
    24 
       
    25 	Explosives = 0
       
    26 	Delay = 10
       
    27 	Map = "CrazyMission"
       
    28 	Theme = "CrazyMission"
       
    29 
       
    30 	AddTeam(loc("Feeble Resistance"), 14483456, "Simple", "Island", "Default", "cm_kiwi")
       
    31 	player = AddHog(loc("Greg"), 0, 30, "NoHat")
       
    32 	hlayer = AddHog(loc("Mark"), 0, 40, "NoHat")
       
    33 
       
    34 	AddTeam(loc("Cybernetic Empire"), 1175851, "Simple", "Island", "Robot", "cm_binary")
       
    35 	enemy = AddHog(loc("WatchBot 4000"), 5, 50, "cyborg1")
       
    36 
       
    37 	SetGearPosition(player, 180, 555)
       
    38 	SetGearPosition(enemy, 1500, 914)
       
    39 	SetGearPosition(hlayer, 333, 555)
       
    40 end
       
    41 
       
    42 function onGameStart()
       
    43 	Pack = SpawnAmmoCrate(40, 888, amPickHammer)
       
    44 	SpawnAmmoCrate(90, 888, amBaseballBat)
       
    45 	SpawnAmmoCrate(822, 750, amBlowTorch)
       
    46 	SpawnAmmoCrate(700, 580, amJetpack)
       
    47 	SpawnAmmoCrate(1400, 425, amParachute)
       
    48 	SpawnAmmoCrate(1900, 770, amDynamite)
       
    49 	SpawnAmmoCrate(1794, 970, amDynamite)
       
    50 
       
    51 	ShowMission(loc("Teamwork 2"), loc("Scenario"), loc("Eliminate WatchBot 4000.") .. "|" .. loc("Both your hedgehogs must survive.") .. "|" .. loc("Land mines explode instantly."), -amBaseballBat, 0)
       
    52 
       
    53 	AddGear(355, 822, gtSMine, 0, 0, 0, 0)
       
    54 	AddGear(515, 525, gtSMine, 0, 0, 0, 0)
       
    55 	AddGear(1080, 821, gtMine, 0, 0, 0, 0)
       
    56 	AddGear(1055, 821, gtMine, 0, 0, 0, 0)
       
    57 	AddGear(930, 587, gtMine, 0, 0, 0, 0)
       
    58 	AddGear(955, 556, gtMine, 0, 0, 0, 0)
       
    59 	AddGear(980, 556, gtMine, 0, 0, 0, 0)
       
    60 	AddGear(1005, 556, gtMine, 0, 0, 0, 0)
       
    61 	AddGear(710, 790, gtMine, 0, 0, 0, 0)
       
    62 	AddGear(685, 790, gtMine, 0, 0, 0, 0)
       
    63 	AddGear(660, 790, gtMine, 0, 0, 0, 0)
       
    64 	AddGear(1560, 540, gtMine, 0, 0, 0, 0)
       
    65 	AddGear(1610, 600, gtMine, 0, 0, 0, 0)
       
    66 	AddGear(1660, 655, gtMine, 0, 0, 0, 0)
       
    67 	AddGear(713, 707, gtMine, 0, 0, 0, 0)
       
    68 	AddGear(1668, 969, gtExplosives, 0, 0, 0, 0)
       
    69 	AddGear(1668, 906, gtExplosives, 0, 0, 0, 0)
       
    70 	AddGear(1668, 842, gtExplosives, 0, 0, 0, 0)
       
    71 	AddGear(1713, 969, gtExplosives, 0, 0, 0, 0)
       
    72 	SetWind(90)
       
    73 end
       
    74 
       
    75 function onGearAdd(gear)
       
    76 	if GetGearType(gear) == gtJetpack then
       
    77 		SetHealth(gear, 300)
       
    78 	end
       
    79 end
       
    80 
       
    81 function onAmmoStoreInit()
       
    82 	SetAmmo(amParachute, 1, 0, 0, 2)
       
    83 	SetAmmo(amSwitch, 9, 0, 0, 0)
       
    84 	SetAmmo(amSkip, 9, 0, 0, 0)
       
    85 	SetAmmo(amPickHammer, 0, 0, 0, 1)
       
    86 	SetAmmo(amBaseballBat, 0, 0, 0, 1)
       
    87 	SetAmmo(amBlowTorch, 0, 0, 0, 2)
       
    88 	SetAmmo(amJetpack, 0, 0, 0, 1)
       
    89 	SetAmmo(amDynamite, 0, 0, 0, 1)
       
    90 end
       
    91 
       
    92 --[[ This is some hackery to make the enemy hedgehog skip ]]
       
    93 function onNewTurn()
       
    94 	if CurrentHedgehog == enemy then
       
    95 		skipTime = GameTime + 1
       
    96 	end
       
    97 end
       
    98 
       
    99 function onGameTick20()
       
   100 	if CurrentHedgehog == enemy and skipTime ~= 0 and skipTime < GameTime then
       
   101         	ParseCommand("/skip")
       
   102 		skipTime = 0
       
   103 	end
       
   104 end
       
   105 
       
   106 function onGearDelete(gear)
       
   107 	if gear == Pack then
       
   108 		HogSay(CurrentHedgehog, loc("This will certianly come in handy."), SAY_THINK)
       
   109 	end
       
   110 	if (gear == enemy) and (GameOver == false) then
       
   111 		ShowMission(loc("Teamwork 2"), loc("MISSION SUCCESSFUL"), loc("Congratulations!"), 0, 0)
       
   112 		GameOver = true
       
   113 	elseif ( ((gear == player) or (gear == hlayer)) and (GameOver == false)) then
       
   114 		ShowMission(loc("Teamwork 2"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0)
       
   115 		GameOver = true
       
   116 		SetHealth(hlayer, 0)
       
   117 		SetHealth(player, 0)
       
   118 	end
       
   119 end