|
1 HedgewarsScriptLoad("/Scripts/Locale.lua") |
|
2 HedgewarsScriptLoad("/Scripts/Utils.lua") |
|
3 |
|
4 local MineArray = {} |
|
5 local player |
|
6 local adviceGiven = false |
|
7 local adviceGiven2 = false |
|
8 |
|
9 function onGameInit() |
|
10 Seed = 0 -- The base number for the random number generator |
|
11 GameFlags = gfInfAttack +gfBorder +gfDisableWind +gfSolidLand |
|
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 |
|
19 -- Disable Sudden Death |
|
20 HealthDecrease = 0 |
|
21 WaterRise = 0 |
|
22 |
|
23 AddTeam(loc("Subjects"), 0xFFFF01, "Simple", "Island", "Default", "cm_test") |
|
24 player = AddHog(loc("Subject 1"), 0, 10, "Terminator_Glasses") |
|
25 |
|
26 AddTeam(loc("Hell Army"), 0xFF0402, "skull", "Island", "Default", "cm_hellish") |
|
27 enemy1 = AddHog(loc("Lucifer"), 1, 200, "InfernalHorns") |
|
28 enemy2 = AddHog(loc("Voldemort"), 1, 150, "WizardHat") |
|
29 enemy3 = AddHog(loc("Zombi"), 1, 100, "Zombi") |
|
30 enemy4 = AddHog(loc("Predator"), 1, 14, "anzac") |
|
31 enemy5 = AddHog(loc("Oneye"), 1, 50, "cyclops") |
|
32 enemy6 = AddHog(loc("Razac"), 1, 50, "Evil") |
|
33 enemy7 = AddHog(loc("C-2"), 1, 50, "cyborg1") |
|
34 enemy8 = AddHog(loc("Rider"), 1, 50, "scif_SparkssHelmet") |
|
35 |
|
36 AddTeam(loc("Badmad"), 0xFF0402, "skull", "Island", "Default", "cm_pentagram") |
|
37 enemy9 = AddHog(loc("C-1"), 1, 50, "cyborg2") |
|
38 enemy10 = AddHog(loc("Hidden"), 1, 40, "bushhider") |
|
39 enemy11 = AddHog(loc("Ronald"), 1, 70, "clown") |
|
40 enemy12 = AddHog(loc("Phosphat"), 1, 50, "chef") |
|
41 enemy13 = AddHog(loc("Lestat"), 1, 30, "vampirichog") |
|
42 |
|
43 SetGearPosition(player, 350, 1820) |
|
44 SetGearPosition(enemy1, 2037, 1313) |
|
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 |
|
81 SetWind(100) |
|
82 |
|
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 |
|
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 |
|
127 |
|
128 --UTILITY CRATE-- |
|
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) |
|
139 |
|
140 |
|
141 --AMMO CRATE-- |
|
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 |
|
154 --HEALTH CRATE-- |
|
155 SpawnHealthCrate(2000, 780) |
|
156 |
|
157 --GIRDER-- |
|
158 PlaceGirder(3363, 1323, 4) |
|
159 |
|
160 ShowMission (loc("Portal Mind Challenge"), loc("Mission"), |
|
161 loc("Defeat all enemies!") .. "|" .. loc("In this mission you have infinite time."), |
|
162 -amPortalGun, 5000) |
|
163 HogSay(player, loc("I should get myself a portal device, maybe this crate has one."), SAY_THINK) |
|
164 |
|
165 end |
|
166 |
|
167 function onGameTick() |
|
168 |
|
169 if (player ~= nil) then |
|
170 if (gearIsInBox(player, 1650, 1907, 200, 60) and (adviceGiven == false)) then |
|
171 adviceGiven = true |
|
172 HogSay(player, loc("Hmmm, I’ll have to find some way of moving him off this anti-portal surface."), SAY_THINK) |
|
173 elseif (gearIsInBox(player, 2960, 790, 200, 60) and (adviceGiven2 == false)) then |
|
174 adviceGiven2 = true |
|
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 |
|
177 end |
|
178 |
|
179 end |
|
180 |
|
181 function onGearDelete(gear) |
|
182 -- Check gear collection |
|
183 if CurrentHedgehog == player and (band(GetGearMessage(gear), gmDestroy) ~= 0) then |
|
184 if gear == portalgun then |
|
185 HogSay(player, loc("Great! Let’s kill all these enemies, using portals."), SAY_THINK) |
|
186 end |
|
187 |
|
188 if gear == girder then |
|
189 HogSay(player, loc("This will be useful when I need a new platform or if I want to rise."), SAY_THINK) |
|
190 end |
|
191 |
|
192 if gear == parachute then |
|
193 HogSay(player, loc("You can’t open a portal on the blue surface."), SAY_THINK) |
|
194 end |
|
195 |
|
196 if gear == extratime then |
|
197 HogSay(player, loc("What?! For all this struggle I just win some ... time? Oh dear!"), SAY_SHOUT) |
|
198 end |
|
199 end |
|
200 |
|
201 if gear == player then |
|
202 player = nil |
|
203 end |
|
204 end |
|
205 |