author | Wuzzy <almikes@aol.com> |
Wed, 13 Apr 2016 14:39:17 +0200 | |
changeset 11973 | 1de4d6b35748 |
parent 11681 | share/hedgewars/Data/Missions/Training/portal.lua@7180ddb4bf5b |
child 12082 | ce3860c82c8b |
permissions | -rw-r--r-- |
8043 | 1 |
HedgewarsScriptLoad("/Scripts/Locale.lua") |
2 |
HedgewarsScriptLoad("/Scripts/Utils.lua") |
|
7904 | 3 |
|
4 |
local MineArray = {} |
|
11681 | 5 |
local player |
7904 | 6 |
local adviceGiven = false |
7 |
local adviceGiven2 = false |
|
8 |
||
9 |
function onGameInit() |
|
10 |
Seed = 0 -- The base number for the random number generator |
|
11681 | 11 |
GameFlags = gfInfAttack +gfBorder +gfDisableWind +gfSolidLand |
7904 | 12 |
TurnTime = 1500000 -- The time the player has to move each round (in ms) |
13 |
CaseFreq = 0 -- The frequency of crate drops |
|
14 |
MinesNum = 0 -- The number of mines being placed |
|
15 |
Explosives = 0 -- The number of explosives being placed |
|
16 |
Delay = 10 -- The delay between each round |
|
17 |
Map = "portal" -- The map to be played |
|
18 |
Theme = "Hell" -- The theme to be used |
|
11674
66ddc8c5ecd7
Disable Sudden Death in portal mission
Wuzzy <almikes@aol.com>
parents:
11673
diff
changeset
|
19 |
-- Disable Sudden Death |
66ddc8c5ecd7
Disable Sudden Death in portal mission
Wuzzy <almikes@aol.com>
parents:
11673
diff
changeset
|
20 |
HealthDecrease = 0 |
66ddc8c5ecd7
Disable Sudden Death in portal mission
Wuzzy <almikes@aol.com>
parents:
11673
diff
changeset
|
21 |
WaterRise = 0 |
11681 | 22 |
|
11672
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
23 |
AddTeam(loc("Subjects"), 0xFFFF01, "Simple", "Island", "Default", "cm_test") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
24 |
player = AddHog(loc("Subject 1"), 0, 10, "Terminator_Glasses") |
7904 | 25 |
|
11672
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
26 |
AddTeam(loc("Hell Army"), 0xFF0402, "skull", "Island", "Default", "cm_hellish") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
27 |
enemy1 = AddHog(loc("Lucifer"), 1, 200, "InfernalHorns") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
28 |
enemy2 = AddHog(loc("Voldemort"), 1, 150, "WizardHat") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
29 |
enemy3 = AddHog(loc("Zombi"), 1, 100, "Zombi") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
30 |
enemy4 = AddHog(loc("Predator"), 1, 14, "anzac") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
31 |
enemy5 = AddHog(loc("Oneye"), 1, 50, "cyclops") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
32 |
enemy6 = AddHog(loc("Razac"), 1, 50, "Evil") |
11249
41799450378a
- Rus localization for portal mission
antonc27 <antonc27@mail.ru>
parents:
8043
diff
changeset
|
33 |
enemy7 = AddHog(loc("C-2"), 1, 50, "cyborg1") |
41799450378a
- Rus localization for portal mission
antonc27 <antonc27@mail.ru>
parents:
8043
diff
changeset
|
34 |
enemy8 = AddHog(loc("Rider"), 1, 50, "scif_SparkssHelmet") |
7904 | 35 |
|
11672
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
36 |
AddTeam(loc("Badmad"), 0xFF0402, "skull", "Island", "Default", "cm_pentagram") |
11249
41799450378a
- Rus localization for portal mission
antonc27 <antonc27@mail.ru>
parents:
8043
diff
changeset
|
37 |
enemy9 = AddHog(loc("C-1"), 1, 50, "cyborg2") |
11672
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
38 |
enemy10 = AddHog(loc("Hidden"), 1, 40, "bushhider") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
39 |
enemy11 = AddHog(loc("Ronald"), 1, 70, "clown") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
40 |
enemy12 = AddHog(loc("Phosphat"), 1, 50, "chef") |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
41 |
enemy13 = AddHog(loc("Lestat"), 1, 30, "vampirichog") |
7904 | 42 |
|
43 |
SetGearPosition(player, 350, 1820) |
|
11673 | 44 |
SetGearPosition(enemy1, 2037, 1313) |
7904 | 45 |
SetGearPosition(enemy2, 1369, 1605) |
46 |
SetGearPosition(enemy3, 1750, 1937) |
|
47 |
SetGearPosition(enemy4, 3125, 89) |
|
48 |
SetGearPosition(enemy5, 743, 900) |
|
49 |
SetGearPosition(enemy6, 130, 360) |
|
50 |
SetGearPosition(enemy7, 1333, 640) |
|
51 |
SetGearPosition(enemy8, 1355, 200) |
|
52 |
SetGearPosition(enemy9, 2680, 225) |
|
53 |
SetGearPosition(enemy10, 2970, 800) |
|
54 |
SetGearPosition(enemy11, 4050, 1964) |
|
55 |
SetGearPosition(enemy12, 2666, 950) |
|
56 |
SetGearPosition(enemy13, 3306, 1205) |
|
57 |
||
58 |
end |
|
59 |
||
60 |
function onAmmoStoreInit() |
|
61 |
||
62 |
SetAmmo(amFirePunch, 0,0,0,1) |
|
63 |
SetAmmo(amParachute, 0, 0, 0, 2) |
|
64 |
SetAmmo(amGirder, 0, 0, 0, 3) |
|
65 |
SetAmmo(amTeleport, 0, 0, 0, 1) |
|
66 |
SetAmmo(amLaserSight,0,0,0,1) |
|
67 |
SetAmmo(amHellishBomb,0,0,0,1) |
|
68 |
SetAmmo(amGrenade,0,0,0,1) |
|
69 |
SetAmmo(amRope,0,0,0,1) |
|
70 |
SetAmmo(amDEagle,0,0,0,1) |
|
71 |
SetAmmo(amExtraTime,0,0,0,2) |
|
72 |
SetAmmo(amSkip,9,0,0,0) |
|
73 |
SetAmmo(amBlowTorch, 0, 0, 0, 1) |
|
74 |
SetAmmo(amPickHammer, 0, 0, 0, 1) |
|
75 |
SetAmmo(amSnowball, 0, 0, 0, 1) |
|
76 |
||
77 |
end |
|
78 |
||
79 |
function onGameStart() |
|
80 |
||
11676
51c4ea6d7f91
merge portal mission fixes by Wuzzy and restore accidently removed SetWind call
sheepluva
parents:
11675
diff
changeset
|
81 |
SetWind(100) |
51c4ea6d7f91
merge portal mission fixes by Wuzzy and restore accidently removed SetWind call
sheepluva
parents:
11675
diff
changeset
|
82 |
|
7904 | 83 |
MineArray[0] = AddGear(840, 1847, gtMine, 0, 0, 0, 0) |
84 |
MineArray[1] = AddGear(900, 1847, gtMine, 0, 0, 0, 0) |
|
85 |
MineArray[2] = AddGear(1000, 1847, gtMine, 0, 0, 0, 0) |
|
86 |
MineArray[3] = AddGear(1100, 1847, gtMine, 0, 0, 0, 0) |
|
87 |
MineArray[4] = AddGear(1140, 1847, gtMine, 0, 0, 0, 0) |
|
88 |
MineArray[5] = AddGear(1170, 1847, gtMine, 0, 0, 0, 0) |
|
89 |
MineArray[6] = AddGear(1200, 1847, gtMine, 0, 0, 0, 0) |
|
90 |
MineArray[7] = AddGear(1200, 1847, gtMine, 0, 0, 0, 0) |
|
91 |
MineArray[8] = AddGear(1230, 1847, gtMine, 0, 0, 0, 0) |
|
92 |
MineArray[9] = AddGear(1280, 1847, gtMine, 0, 0, 0, 0) |
|
93 |
MineArray[10] = AddGear(1302, 1847, gtMine, 0, 0, 0, 0) |
|
94 |
MineArray[11] = AddGear(1350, 1847, gtMine, 0, 0, 0, 0) |
|
95 |
MineArray[12] = AddGear(1383, 1847, gtMine, 0, 0, 0, 0) |
|
96 |
MineArray[13] = AddGear(1400, 1847, gtMine, 0, 0, 0, 0) |
|
97 |
MineArray[14] = AddGear(1423, 1847, gtMine, 0, 0, 0, 0) |
|
98 |
MineArray[15] = AddGear(1470, 1847, gtMine, 0, 0, 0, 0) |
|
99 |
MineArray[16] = AddGear(1480, 1847, gtMine, 0, 0, 0, 0) |
|
100 |
MineArray[17] = AddGear(1311, 1847, gtMine, 0, 0, 0, 0) |
|
101 |
||
102 |
MineArray[18] = AddGear(840, 1785, gtMine, 0, 0, 0, 0) |
|
103 |
MineArray[19] = AddGear(900, 1785, gtMine, 0, 0, 0, 0) |
|
104 |
MineArray[20] = AddGear(1000, 1785, gtMine, 0, 0, 0, 0) |
|
105 |
MineArray[21] = AddGear(1100, 1785, gtMine, 0, 0, 0, 0) |
|
106 |
MineArray[22] = AddGear(1140, 1785, gtMine, 0, 0, 0, 0) |
|
107 |
MineArray[23] = AddGear(1170, 1785, gtMine, 0, 0, 0, 0) |
|
108 |
MineArray[24] = AddGear(1200, 1785, gtMine, 0, 0, 0, 0) |
|
109 |
MineArray[25] = AddGear(1230, 1785, gtMine, 0, 0, 0, 0) |
|
110 |
MineArray[26] = AddGear(1280, 1785, gtMine, 0, 0, 0, 0) |
|
111 |
MineArray[27] = AddGear(1302, 1785, gtMine, 0, 0, 0, 0) |
|
112 |
MineArray[28] = AddGear(1350, 1785, gtMine, 0, 0, 0, 0) |
|
113 |
MineArray[29] = AddGear(1383, 1785, gtMine, 0, 0, 0, 0) |
|
114 |
MineArray[30] = AddGear(1400, 1785, gtMine, 0, 0, 0, 0) |
|
115 |
MineArray[31] = AddGear(1423, 1785, gtMine, 0, 0, 0, 0) |
|
116 |
MineArray[32] = AddGear(1470, 1785, gtMine, 0, 0, 0, 0) |
|
117 |
MineArray[33] = AddGear(1480, 1785, gtMine, 0, 0, 0, 0) |
|
118 |
MineArray[34] = AddGear(1311, 1785, gtMine, 0, 0, 0, 0) |
|
119 |
||
120 |
MineArray[35] = AddGear(4029, 89, gtMine, 0, 0, 0, 120) |
|
121 |
||
11673 | 122 |
for i = 0,#MineArray do |
123 |
SetTimer(MineArray[i],050) |
|
124 |
SetState(MineArray[i],544) |
|
125 |
end |
|
126 |
--needed this MineArray cause timer didn't work, its was always 3sec, i wanna instant mines |
|
7904 | 127 |
|
11673 | 128 |
--UTILITY CRATE-- |
7904 | 129 |
parachute = SpawnUtilityCrate(1670, 1165, amParachute) |
130 |
girder = SpawnUtilityCrate(2101, 1297, amGirder) |
|
131 |
SpawnUtilityCrate(3965, 625, amBlowTorch) |
|
132 |
SpawnUtilityCrate(2249, 93, amBlowTorch) |
|
133 |
SpawnUtilityCrate(2181, 829, amBlowTorch) |
|
134 |
SpawnUtilityCrate(1820, 567, amBlowTorch) |
|
135 |
SpawnUtilityCrate(1375, 900, amTeleport) |
|
136 |
SpawnUtilityCrate(130, 600, amPickHammer) |
|
137 |
SpawnUtilityCrate(1660,1820, amLaserSight) |
|
138 |
SpawnUtilityCrate(4070,1840, amLaserSight) |
|
11681 | 139 |
|
140 |
||
11673 | 141 |
--AMMO CRATE-- |
7904 | 142 |
portalgun = SpawnAmmoCrate(505, 1943, amPortalGun, 1000) |
143 |
extratime = SpawnAmmoCrate(4020, 785, amExtraTime, 2) |
|
144 |
SpawnAmmoCrate(425, 613, amSnowball) |
|
145 |
SpawnAmmoCrate(861, 633, amHellishBomb) |
|
146 |
SpawnAmmoCrate(2510, 623, amSnowball) |
|
147 |
SpawnAmmoCrate(2900, 1600, amGrenade) |
|
148 |
SpawnAmmoCrate(2680, 320, amGrenade) |
|
149 |
SpawnAmmoCrate(2650, 80, amDEagle) |
|
150 |
SpawnAmmoCrate(3000, 100, amDEagle) |
|
151 |
SpawnAmmoCrate(2900, 1400, amRope) |
|
152 |
SpawnAmmoCrate(4025, 1117, amFirePunch) |
|
153 |
||
11673 | 154 |
--HEALTH CRATE-- |
7904 | 155 |
SpawnHealthCrate(2000, 780) |
11681 | 156 |
|
11673 | 157 |
--GIRDER-- |
7904 | 158 |
PlaceGirder(3363, 1323, 4) |
159 |
||
11681 | 160 |
ShowMission (loc("Portal Mind Challenge"), loc("Mission"), |
11672
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
161 |
loc("Defeat all enemies!") .. "|" .. loc("In this mission you have infinite time."), |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
162 |
-amPortalGun, 5000) |
7652eeb0fc7f
Clean up strings, hats, flags and graves in Portal mission
Wuzzy <almikes@aol.com>
parents:
11249
diff
changeset
|
163 |
HogSay(player, loc("I should get myself a portal device, maybe this crate has one."), SAY_THINK) |
11681 | 164 |
|
7904 | 165 |
end |
166 |
||
167 |
function onGameTick() |
|
168 |
||
11673 | 169 |
if (player ~= nil) then |
7904 | 170 |
if (gearIsInBox(player, 1650, 1907, 200, 60) and (adviceGiven == false)) then |
171 |
adviceGiven = true |
|
11673 | 172 |
HogSay(player, loc("Hmmm, I’ll have to find some way of moving him off this anti-portal surface."), SAY_THINK) |
7904 | 173 |
elseif (gearIsInBox(player, 2960, 790, 200, 60) and (adviceGiven2 == false)) then |
174 |
adviceGiven2 = true |
|
11673 | 175 |
HogSay(player, loc("The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."), SAY_THINK) |
176 |
end |
|
7904 | 177 |
end |
11681 | 178 |
|
7904 | 179 |
end |
11681 | 180 |
|
7904 | 181 |
function onGearDelete(gear) |
11675
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
182 |
-- Check gear collection |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
183 |
if CurrentHedgehog == player and (band(GetGearMessage(gear), gmDestroy) ~= 0) then |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
184 |
if gear == portalgun then |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
185 |
HogSay(player, loc("Great! Let’s kill all these enemies, using portals."), SAY_THINK) |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
186 |
end |
7904 | 187 |
|
11681 | 188 |
if gear == girder then |
11675
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
189 |
HogSay(player, loc("This will be useful when I need a new platform or if I want to rise."), SAY_THINK) |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
190 |
end |
11681 | 191 |
|
11675
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
192 |
if gear == parachute then |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
193 |
HogSay(player, loc("You can’t open a portal on the blue surface."), SAY_THINK) |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
194 |
end |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
195 |
|
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
196 |
if gear == extratime then |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
197 |
HogSay(player, loc("What?! For all this struggle I just win some ... time? Oh dear!"), SAY_SHOUT) |
be57b0e3e289
Portal mission: Fix speech bubbles appearing when crate got destroyed
Wuzzy <almikes@aol.com>
parents:
11674
diff
changeset
|
198 |
end |
7904 | 199 |
end |
200 |
||
201 |
if gear == player then |
|
11673 | 202 |
player = nil |
203 |
end |
|
7904 | 204 |
end |
205 |