103 AddTeam(teamD.name, teamD.color, "Bone", "Island", "HillBilly", "cm_birdy") |
108 AddTeam(teamD.name, teamD.color, "Bone", "Island", "HillBilly", "cm_birdy") |
104 hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1") |
109 hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1") |
105 AnimSetGearPosition(hero.gear, hero.x, hero.y) |
110 AnimSetGearPosition(hero.gear, hero.x, hero.y) |
106 -- PAoTH |
111 -- PAoTH |
107 AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy") |
112 AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy") |
108 paoth1.gear = AddHog(paoth1.name, 0, 100, "war_desertgrenadier1") |
113 paoth1.gear = AddHog(paoth1.name, 0, 100, "scif_2001O") |
109 AnimSetGearPosition(paoth1.gear, paoth1.x, paoth1.y) |
114 AnimSetGearPosition(paoth1.gear, paoth1.x, paoth1.y) |
110 HogTurnLeft(paoth1.gear, true) |
115 HogTurnLeft(paoth1.gear, true) |
111 paoth2.gear = AddHog(paoth2.name, 0, 100, "war_desertgrenadier1") |
116 paoth2.gear = AddHog(paoth2.name, 0, 100, "scif_2001Y") |
112 AnimSetGearPosition(paoth2.gear, paoth2.x, paoth2.y) |
117 AnimSetGearPosition(paoth2.gear, paoth2.x, paoth2.y) |
113 HogTurnLeft(paoth2.gear, true) |
118 HogTurnLeft(paoth2.gear, true) |
114 paoth3.gear = AddHog(paoth3.name, 0, 100, "war_desertgrenadier1") |
119 paoth3.gear = AddHog(paoth3.name, 0, 100, "hair_purple") |
115 AnimSetGearPosition(paoth3.gear, paoth3.x, paoth3.y) |
120 AnimSetGearPosition(paoth3.gear, paoth3.x, paoth3.y) |
116 HogTurnLeft(paoth3.gear, true) |
121 HogTurnLeft(paoth3.gear, true) |
117 paoth4.gear = AddHog(paoth4.name, 0, 100, "war_desertgrenadier1") |
122 paoth4.gear = AddHog(paoth4.name, 0, 100, "scif_2001Y") |
118 AnimSetGearPosition(paoth4.gear, paoth4.x, paoth4.y) |
123 AnimSetGearPosition(paoth4.gear, paoth4.x, paoth4.y) |
119 HogTurnLeft(paoth4.gear, true) |
124 HogTurnLeft(paoth4.gear, true) |
120 -- Professor |
125 -- Professor |
121 AddTeam(teamC.name, teamC.color, "Bone", "Island", "HillBilly", "cm_birdy") |
126 AddTeam(teamC.name, teamC.color, "Bone", "Island", "HillBilly", "cm_birdy") |
122 professor.gear = AddHog(professor.name, 0, 100, "war_desertgrenadier1") |
127 professor.gear = AddHog(professor.name, 0, 100, "tophats") |
123 AnimSetGearPosition(professor.gear, professor.x, professor.y) |
128 AnimSetGearPosition(professor.gear, professor.x, professor.y) |
124 HogTurnLeft(professor.gear, true) |
129 HogTurnLeft(professor.gear, true) |
125 -- Minions |
130 -- Minions |
126 AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
131 AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
127 minion1.gear = AddHog(minion1.name, 0, 100, "war_desertgrenadier1") |
132 minion1.gear = AddHog(minion1.name, 1, 100, "Gasmask") |
128 AnimSetGearPosition(minion1.gear, minion1.x, minion1.y) |
133 AnimSetGearPosition(minion1.gear, minion1.x, minion1.y) |
129 HogTurnLeft(minion1.gear, true) |
134 HogTurnLeft(minion1.gear, true) |
130 minion2.gear = AddHog(minion2.name, 0, 100, "war_desertgrenadier1") |
135 minion2.gear = AddHog(minion2.name, 1, 100, "Gasmask") |
131 AnimSetGearPosition(minion2.gear, minion2.x, minion2.y) |
136 AnimSetGearPosition(minion2.gear, minion2.x, minion2.y) |
132 HogTurnLeft(minion2.gear, true) |
137 HogTurnLeft(minion2.gear, true) |
133 minion3.gear = AddHog(minion3.name, 0, 100, "war_desertgrenadier1") |
138 minion3.gear = AddHog(minion3.name, 1, 100, "Gasmask") |
134 AnimSetGearPosition(minion3.gear, minion3.x, minion3.y) |
139 AnimSetGearPosition(minion3.gear, minion3.x, minion3.y) |
135 HogTurnLeft(minion3.gear, true) |
140 HogTurnLeft(minion3.gear, true) |
|
141 |
|
142 -- get the check point |
|
143 if tonumber(GetCampaignVar("Moon01CheckPoint")) then |
|
144 checkPointReached = tonumber(GetCampaignVar("Moon01CheckPoint")) |
|
145 end |
|
146 |
|
147 if checkPointReached == 1 then |
|
148 -- Start of the game |
|
149 elseif checkPointReached == 2 then |
|
150 AnimSetGearPosition(hero.gear, parachuteX, weaponsY) |
|
151 end |
136 |
152 |
137 AnimInit() |
153 AnimInit() |
138 AnimationSetup() |
154 AnimationSetup() |
139 end |
155 end |
140 |
156 |
143 AnimWait(hero.gear, 3000) |
159 AnimWait(hero.gear, 3000) |
144 |
160 |
145 FollowGear(hero.gear) |
161 FollowGear(hero.gear) |
146 |
162 |
147 ShowMission(campaignName, missionName, loc("Hog Solo has to refuel his saucer.").. |
163 ShowMission(campaignName, missionName, loc("Hog Solo has to refuel his saucer.").. |
148 "|"..loc("Rescue the imprisoned PAoTH team and get your fuels!"), -amSkip, 0) |
164 "|"..loc("Rescue the imprisoned PAoTH team and get your fuels!"), -amSkip, 0) |
149 |
165 |
150 AddAmmo(hero.gear, amRope, 2) |
166 -- check for death has to go first |
151 SpawnAmmoCrate(bazookaX, weaponsY, amBazooka) |
167 AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0) |
152 SpawnAmmoCrate(parachuteX, weaponsY, amParachute) |
168 |
153 SpawnAmmoCrate(grenadeX, weaponsY, amGrenade) |
169 if checkPointReached == 1 then |
154 SpawnAmmoCrate(deserteagleX, weaponsY, amDEagle) |
170 AddAmmo(hero.gear, amRope, 2) |
155 |
171 SpawnAmmoCrate(bazookaX, weaponsY, amBazooka) |
156 AddEvent(onWeaponsPlatform, {hero.gear}, weaponsPlatform, {hero.gear}, 0) |
172 SpawnAmmoCrate(parachuteX, weaponsY, amParachute) |
157 |
173 SpawnAmmoCrate(grenadeX, weaponsY, amGrenade) |
158 AddAnim(dialog01) |
174 SpawnAmmoCrate(deserteagleX, weaponsY, amDEagle) |
|
175 AddEvent(onWeaponsPlatform, {hero.gear}, weaponsPlatform, {hero.gear}, 0) |
|
176 AddAnim(dialog01) |
|
177 elseif checkPointReached == 2 then |
|
178 AddAmmo(hero.gear, amBazooka, 2) |
|
179 AddAmmo(hero.gear, amParachute, 2) |
|
180 AddAmmo(hero.gear, amGrenade, 2) |
|
181 AddAmmo(hero.gear, amDEagle, 2) |
|
182 SetWind(80) |
|
183 GameFlags = bor(GameFlags,gfDisableWind) |
|
184 weaponsAcquired = true |
|
185 AddAnim(dialog02) |
|
186 end |
159 end |
187 end |
160 |
188 |
161 function onAmmoStoreInit() |
189 function onAmmoStoreInit() |
162 SetAmmo(amBazooka, 0, 0, 0, 2) |
190 SetAmmo(amBazooka, 0, 0, 0, 2) |
163 SetAmmo(amParachute, 0, 0, 0, 2) |
191 SetAmmo(amParachute, 0, 0, 0, 2) |
170 if ShowAnimation() == false then |
198 if ShowAnimation() == false then |
171 return |
199 return |
172 end |
200 end |
173 ExecuteAfterAnimations() |
201 ExecuteAfterAnimations() |
174 CheckEvents() |
202 CheckEvents() |
|
203 if CurrentHedgehog ~= hero.gear then |
|
204 TurnTimeLeft = 0 |
|
205 end |
|
206 end |
|
207 |
|
208 function onNewTurn() |
|
209 if not weaponsAcquired and CurrentHedgehog ~= hero.gear then |
|
210 TurnTimeLeft = 0 |
|
211 elseif not weaponsAcquired and CurrentHedgehog == hero.gear then |
|
212 TurnTimeLeft = -1 |
|
213 elseif CurrentHedgehog == paoth1.gear or CurrentHedgehog == paoth1.gear |
|
214 or CurrentHedgehog == paoth3.gear or CurrentHedgehog == paoth4.gear |
|
215 or CurrentHedgehog == professor.gear then |
|
216 TurnTimeLeft = 0 |
|
217 end |
175 end |
218 end |
176 |
219 |
177 function onPrecise() |
220 function onPrecise() |
178 if GameTime > 3000 then |
221 if GameTime > 3000 then |
179 SetAnimSkip(true) |
222 SetAnimSkip(true) |
180 end |
223 end |
181 end |
224 end |
182 |
225 |
|
226 function onGearDelete(gear) |
|
227 if gear == hero.gear then |
|
228 hero.dead = true |
|
229 end |
|
230 end |
|
231 |
183 -------------- EVENTS ------------------ |
232 -------------- EVENTS ------------------ |
184 |
233 |
185 function onWeaponsPlatform(gear) |
234 function onWeaponsPlatform(gear) |
186 if GetX(gear) > bazookaX-200 and GetX(gear) < deserteagleX+400 and GetY(gear) < weaponsY+150 and StoppedGear(gear) then |
235 if GetX(gear) > bazookaX-200 and GetX(gear) < deserteagleX+400 and GetY(gear) < weaponsY+150 and StoppedGear(gear) then |
187 return true |
236 return true |
188 end |
237 end |
189 return false |
238 return false |
190 end |
239 end |
191 |
240 |
|
241 function onHeroDeath(gear) |
|
242 if hero.dead then |
|
243 return true |
|
244 end |
|
245 return false |
|
246 end |
|
247 |
192 -------------- OUTCOMES ------------------ |
248 -------------- OUTCOMES ------------------ |
193 |
249 |
194 function weaponsPlatform(gear) |
250 function weaponsPlatform(gear) |
|
251 SaveCampaignVar("Moon01CheckPoint", "2") |
|
252 TurnTimeLeft = 0 |
|
253 weaponsAqcuired = true |
|
254 SetWind(80) |
|
255 GameFlags = bor(GameFlags,gfDisableWind) |
195 AddAnim(dialog02) |
256 AddAnim(dialog02) |
|
257 end |
|
258 |
|
259 function heroDeath(gear) |
|
260 |
|
261 EndGame() |
196 end |
262 end |
197 |
263 |
198 -------------- ANIMATIONS ------------------ |
264 -------------- ANIMATIONS ------------------ |
199 |
265 |
200 function Skipanim(anim) |
266 function Skipanim(anim) |
224 table.insert(dialog02, {func = AnimCaption, args = {hero.gear, loc("Checkpoint reached!"), 4000}}) |
290 table.insert(dialog02, {func = AnimCaption, args = {hero.gear, loc("Checkpoint reached!"), 4000}}) |
225 table.insert(dialog02, {func = AnimSay, args = {hero.gear, loc("I've made it! YEAAAAAH!"), SAY_SHOUT, 4000}}) |
291 table.insert(dialog02, {func = AnimSay, args = {hero.gear, loc("I've made it! YEAAAAAH!"), SAY_SHOUT, 4000}}) |
226 table.insert(dialog02, {func = AnimSay, args = {paoth1.gear, loc("Nice! Now hurry up and get down! You have to rescue my friends!"), SAY_SHOUT, 7000}}) |
292 table.insert(dialog02, {func = AnimSay, args = {paoth1.gear, loc("Nice! Now hurry up and get down! You have to rescue my friends!"), SAY_SHOUT, 7000}}) |
227 table.insert(dialog02, {func = AnimSwitchHog, args = {hero.gear}}) |
293 table.insert(dialog02, {func = AnimSwitchHog, args = {hero.gear}}) |
228 end |
294 end |
|
295 |
|
296 ------------------- custom "animation" functions -------------------------- |
|
297 |
|
298 function startCombat() |
|
299 -- use this so guard2 will gain control |
|
300 AnimSwitchHog(minion3.gear) |
|
301 TurnTimeLeft = 0 |
|
302 end |