125 AnimSetGearPosition(hero.gear, 1050, 615) |
125 AnimSetGearPosition(hero.gear, 1050, 615) |
126 HogTurnLeft(hero.gear, true) |
126 HogTurnLeft(hero.gear, true) |
127 elseif checkPointReached == 3 then |
127 elseif checkPointReached == 3 then |
128 AnimSetGearPosition(hero.gear, 1680, 920) |
128 AnimSetGearPosition(hero.gear, 1680, 920) |
129 HogTurnLeft(hero.gear, true) |
129 HogTurnLeft(hero.gear, true) |
|
130 elseif checkPointReached == 4 then |
|
131 AnimSetGearPosition(hero.gear, 1160, 1180) |
130 end |
132 end |
131 |
133 |
132 AnimInit() |
134 AnimInit() |
133 AnimationSetup() |
135 AnimationSetup() |
134 end |
136 end |
138 FollowGear(hero.gear) |
140 FollowGear(hero.gear) |
139 |
141 |
140 AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0) |
142 AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0) |
141 AddEvent(onHeroAtFirstBattle, {hero.gear}, heroAtFirstBattle, {hero.gear}, 1) |
143 AddEvent(onHeroAtFirstBattle, {hero.gear}, heroAtFirstBattle, {hero.gear}, 1) |
142 AddEvent(onHeroFleeFirstBattle, {hero.gear}, heroFleeFirstBattle, {hero.gear}, 1) |
144 AddEvent(onHeroFleeFirstBattle, {hero.gear}, heroFleeFirstBattle, {hero.gear}, 1) |
143 AddEvent(onHeroAtCheckpoint2, {hero.gear}, heroAtCheckpoint2, {hero.gear}, 0) |
145 AddEvent(onHeroAtCheckpoint4, {hero.gear}, heroAtCheckpoint4, {hero.gear}, 0) |
144 AddEvent(onHeroAtCheckpoint3, {hero.gear}, heroAtCheckpoint3, {hero.gear}, 0) |
|
145 |
146 |
146 -- smugglers ammo |
147 -- smugglers ammo |
147 AddAmmo(smuggler1.gear, amBazooka, 2) |
148 AddAmmo(smuggler1.gear, amBazooka, 2) |
148 AddAmmo(smuggler1.gear, amGrenade, 2) |
149 AddAmmo(smuggler1.gear, amGrenade, 2) |
149 AddAmmo(smuggler1.gear, amDEagle, 2) |
150 AddAmmo(smuggler1.gear, amDEagle, 2) |
188 while x < 2900 do |
189 while x < 2900 do |
189 AddGear(x, 470, gtMine, 0, 0, 0, 0) |
190 AddGear(x, 470, gtMine, 0, 0, 0, 0) |
190 x = x + math.random(8,20) |
191 x = x + math.random(8,20) |
191 end |
192 end |
192 |
193 |
193 if checkPointReached == 1 then |
194 if checkPointReached == 1 then |
|
195 AddEvent(onHeroAtCheckpoint2, {hero.gear}, heroAtCheckpoint2, {hero.gear}, 0) |
|
196 AddEvent(onHeroAtCheckpoint3, {hero.gear}, heroAtCheckpoint3, {hero.gear}, 0) |
194 -- hero ammo |
197 -- hero ammo |
195 AddAmmo(hero.gear, amRope, 2) |
198 AddAmmo(hero.gear, amRope, 2) |
196 AddAmmo(hero.gear, amBazooka, 3) |
199 AddAmmo(hero.gear, amBazooka, 3) |
197 AddAmmo(hero.gear, amParachute, 1) |
200 AddAmmo(hero.gear, amParachute, 1) |
198 AddAmmo(hero.gear, amGrenade, 6) |
201 AddAmmo(hero.gear, amGrenade, 6) |
214 AddAmmo(hero.gear, amConstruction, tonumber(ammo:sub(7,7))) |
217 AddAmmo(hero.gear, amConstruction, tonumber(ammo:sub(7,7))) |
215 end |
218 end |
216 AddAmmo(hero.gear, amPortalGun, tonumber(ammo:sub(8,8))) |
219 AddAmmo(hero.gear, amPortalGun, tonumber(ammo:sub(8,8))) |
217 |
220 |
218 secondBattle() |
221 secondBattle() |
|
222 elseif checkPointReached == 4 then |
|
223 ShowMission(campaignName, missionName, loc("The part is hidden in one of the crates! Go and get it!"), -amSkip, 0) |
|
224 -- hero ammo |
|
225 local ammo = GetCampaignVar("HeroAmmo") |
|
226 AddAmmo(hero.gear, amRope, tonumber(ammo:sub(3,3))) |
|
227 AddAmmo(hero.gear, amBazooka, tonumber(ammo:sub(1,1))) |
|
228 AddAmmo(hero.gear, amParachute, tonumber(ammo:sub(4,4))) |
|
229 AddAmmo(hero.gear, amGrenade, tonumber(ammo:sub(2,2))) |
|
230 AddAmmo(hero.gear, amDEagle, tonumber(ammo:sub(5,5))) |
|
231 AddAmmo(hero.gear, amBlowTorch, tonumber(ammo:sub(6,6))) |
|
232 -- weird, if 0 bazooka isn't displayed in the weapons menu |
|
233 if tonumber(ammo:sub(7,7)) > 0 then |
|
234 AddAmmo(hero.gear, amConstruction, tonumber(ammo:sub(7,7))) |
|
235 end |
|
236 AddAmmo(hero.gear, amPortalGun, tonumber(ammo:sub(8,8))) |
219 end |
237 end |
220 |
238 |
221 SendHealthStatsOff() |
239 SendHealthStatsOff() |
222 end |
240 end |
223 |
241 |
309 return true |
327 return true |
310 end |
328 end |
311 return false |
329 return false |
312 end |
330 end |
313 |
331 |
|
332 function onHeroAtCheckpoint4(gear) |
|
333 if not hero.dead and GetX(hero.gear) > 1110 and GetX(hero.gear) < 1300 |
|
334 and GetY(hero.gear) > 1100 and GetY(hero.gear) < 1220 then |
|
335 return true |
|
336 end |
|
337 return false |
|
338 end |
|
339 |
314 -------------- OUTCOMES ------------------ |
340 -------------- OUTCOMES ------------------ |
315 |
341 |
316 function heroDeath(gear) |
342 function heroDeath(gear) |
317 SendStat('siGameResult', loc("Hog Solo lost, try again!")) --1 |
343 SendStat('siGameResult', loc("Hog Solo lost, try again!")) --1 |
318 SendStat('siCustomAchievement', loc("To win the game you have to find the right crate")) --11 |
344 SendStat('siCustomAchievement', loc("To win the game you have to find the right crate")) --11 |
363 GetAmmoCount(hero.gear, amRope)..GetAmmoCount(hero.gear, amParachute)..GetAmmoCount(hero.gear, amDEagle).. |
389 GetAmmoCount(hero.gear, amRope)..GetAmmoCount(hero.gear, amParachute)..GetAmmoCount(hero.gear, amDEagle).. |
364 GetAmmoCount(hero.gear, amBlowTorch)..GetAmmoCount(hero.gear, amConstruction)..GetAmmoCount(hero.gear, amPortalGun)) |
390 GetAmmoCount(hero.gear, amBlowTorch)..GetAmmoCount(hero.gear, amConstruction)..GetAmmoCount(hero.gear, amPortalGun)) |
365 AnimCaption(hero.gear, loc("Checkpoint reached!"), 5000) |
391 AnimCaption(hero.gear, loc("Checkpoint reached!"), 5000) |
366 |
392 |
367 secondBattle() |
393 secondBattle() |
|
394 end |
|
395 |
|
396 function heroAtCheckpoint4(gear) |
|
397 -- save checkpoint |
|
398 SaveCampaignVar("Desert01CheckPoint", "4") |
|
399 SaveCampaignVar("HeroHealth", GetHealth(hero.gear)) |
|
400 -- bazooka - grenade - rope - parachute - deagle - btorch - construct - portal |
|
401 SaveCampaignVar("HeroAmmo", GetAmmoCount(hero.gear, amBazooka)..GetAmmoCount(hero.gear, amGrenade).. |
|
402 GetAmmoCount(hero.gear, amRope)..GetAmmoCount(hero.gear, amParachute)..GetAmmoCount(hero.gear, amDEagle).. |
|
403 GetAmmoCount(hero.gear, amBlowTorch)..GetAmmoCount(hero.gear, amConstruction)..GetAmmoCount(hero.gear, amPortalGun)) |
|
404 AnimCaption(hero.gear, loc("Checkpoint reached!"), 5000) |
368 end |
405 end |
369 |
406 |
370 -------------- ANIMATIONS ------------------ |
407 -------------- ANIMATIONS ------------------ |
371 |
408 |
372 function Skipanim(anim) |
409 function Skipanim(anim) |