|
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 |