share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua
changeset 9783 1e6b91080bfc
parent 9782 6c3cad32d4f4
child 9802 00216d609140
equal deleted inserted replaced
9782:6c3cad32d4f4 9783:1e6b91080bfc
   154 	AnimWait(hero.gear, 3000)
   154 	AnimWait(hero.gear, 3000)
   155 	FollowGear(hero.gear)
   155 	FollowGear(hero.gear)
   156 
   156 
   157 	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
   157 	AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0)
   158 	AddEvent(onHeroAtFirstBattle, {hero.gear}, heroAtFirstBattle, {hero.gear}, 1)
   158 	AddEvent(onHeroAtFirstBattle, {hero.gear}, heroAtFirstBattle, {hero.gear}, 1)
   159 	AddEvent(onHeroFleeFirstBattle, {hero.gear}, heroFleeFirstBattle, {hero.gear}, 1)
       
   160 	AddEvent(onHeroAtCheckpoint4, {hero.gear}, heroAtCheckpoint4, {hero.gear}, 0)
   159 	AddEvent(onHeroAtCheckpoint4, {hero.gear}, heroAtCheckpoint4, {hero.gear}, 0)
   161 	AddEvent(onHeroAtThirdBattle, {hero.gear}, heroAtThirdBattle, {hero.gear}, 0)
   160 	AddEvent(onHeroAtThirdBattle, {hero.gear}, heroAtThirdBattle, {hero.gear}, 0)
   162 	AddEvent(onCheckForWin1, {hero.gear}, checkForWin1, {hero.gear}, 0)
   161 	AddEvent(onCheckForWin1, {hero.gear}, checkForWin1, {hero.gear}, 0)
   163 	AddEvent(onCheckForWin2, {hero.gear}, checkForWin2, {hero.gear}, 0)
   162 	AddEvent(onCheckForWin2, {hero.gear}, checkForWin2, {hero.gear}, 0)
   164 	AddEvent(onCrateDestroyed, {hero.gear}, crateDestroyed, {hero.gear}, 0)
   163 	AddEvent(onCrateDestroyed, {hero.gear}, crateDestroyed, {hero.gear}, 0)
   208 		AddGear(x, 470, gtMine, 0, 0, 0, 0)
   207 		AddGear(x, 470, gtMine, 0, 0, 0, 0)
   209 		x = x + math.random(8,20)
   208 		x = x + math.random(8,20)
   210 	end
   209 	end
   211 
   210 
   212 	if checkPointReached == 1 then
   211 	if checkPointReached == 1 then
       
   212 		AddEvent(onHeroFleeFirstBattle, {hero.gear}, heroFleeFirstBattle, {hero.gear}, 1)
   213 		AddEvent(onHeroAtCheckpoint2, {hero.gear}, heroAtCheckpoint2, {hero.gear}, 0)
   213 		AddEvent(onHeroAtCheckpoint2, {hero.gear}, heroAtCheckpoint2, {hero.gear}, 0)
   214 		AddEvent(onHeroAtCheckpoint3, {hero.gear}, heroAtCheckpoint3, {hero.gear}, 0)
   214 		AddEvent(onHeroAtCheckpoint3, {hero.gear}, heroAtCheckpoint3, {hero.gear}, 0)
   215 		-- crates
   215 		-- crates
   216 		SpawnAmmoCrate(btorch1X, btorch1Y, amBlowTorch)
   216 		SpawnAmmoCrate(btorch1X, btorch1Y, amBlowTorch)
   217 		SpawnHealthCrate(680, 460)
   217 		SpawnHealthCrate(680, 460)
   322 	end
   322 	end
   323 	return false
   323 	return false
   324 end
   324 end
   325 
   325 
   326 function onHeroAtFirstBattle(gear)
   326 function onHeroAtFirstBattle(gear)
   327 	if not hero.dead and not heroIsInBattle and GetHealth(smuggler1.gear) and GetX(hero.gear) <= 1450
   327 	if not hero.dead and not heroIsInBattle and GetHealth(smuggler1.gear) and GetX(hero.gear) <= 1450 and GetX(hero.gear) > 80
   328 			and GetY(hero.gear) <= GetY(smuggler1.gear)+5 and GetY(hero.gear) >= GetY(smuggler1.gear)-5 then
   328 			and GetY(hero.gear) <= GetY(smuggler1.gear)+5 and GetY(hero.gear) >= GetY(smuggler1.gear)-40 and StoppedGear(hero.gear) then
   329 		return true
   329 		return true
   330 	end
   330 	end
   331 	return false
   331 	return false
   332 end
   332 end
   333 
   333 
   334 function onHeroFleeFirstBattle(gear)
   334 function onHeroFleeFirstBattle(gear)
   335 	if not hero.dead and GetHealth(smuggler1.gear) and heroIsInBattle and ongoingBattle == 1 and (GetX(hero.gear) > 1450
   335 	if GetHealth(hero.gear) and GetHealth(smuggler1.gear) and heroIsInBattle
   336 			or (GetY(hero.gear) < GetY(smuggler1.gear)-80 or GetY(hero.gear) > smuggler1.y+300)) then
   336 			and distance(hero.gear, smuggler1.gear) > 1400 and StoppedGear(hero.gear) then
   337 		return true
   337 		return true
   338 	end
   338 	end
   339 	return false
   339 	return false
   340 end
   340 end
   341 
   341 
   342 -- saves the location of the hero and prompts him for the second battle
   342 -- saves the location of the hero and prompts him for the second battle
   343 function onHeroAtCheckpoint2(gear)
   343 function onHeroAtCheckpoint2(gear)
   344 	if not hero.dead and GetX(hero.gear) > 1000 and GetX(hero.gear) < 1100
   344 	if not hero.dead and GetX(hero.gear) > 1000 and GetX(hero.gear) < 1100
   345 			and GetY(hero.gear) > 590 and GetY(hero.gear) < 700 then
   345 			and GetY(hero.gear) > 590 and GetY(hero.gear) < 700 and StoppedGear(hero.gear) then
   346 		return true
   346 		return true
   347 	end
   347 	end
   348 	return false
   348 	return false
   349 end
   349 end
   350 
   350 
   351 function onHeroAtCheckpoint3(gear)
   351 function onHeroAtCheckpoint3(gear)
   352 	if not hero.dead and GetX(hero.gear) > 1610 and GetX(hero.gear) < 1680
   352 	if not hero.dead and GetX(hero.gear) > 1610 and GetX(hero.gear) < 1680
   353 			and GetY(hero.gear) > 850 and GetY(hero.gear) < 1000 then
   353 			and GetY(hero.gear) > 850 and GetY(hero.gear) < 1000 and StoppedGear(hero.gear) then
   354 		return true
   354 		return true
   355 	end
   355 	end
   356 	return false
   356 	return false
   357 end
   357 end
   358 
   358 
   504 	TurnTimeLeft = 0
   504 	TurnTimeLeft = 0
   505 end
   505 end
   506 
   506 
   507 function secondBattle()
   507 function secondBattle()
   508 	-- second battle
   508 	-- second battle
       
   509 	if heroIsInBattle and ongoingBattle == 1 then
       
   510 		AnimSay(smuggler1.gear, loc("Get him Spike!"), SAY_SHOUT, 4000)
       
   511 	end
   509 	heroIsInBattle = true
   512 	heroIsInBattle = true
   510 	ongoingBattle = 2
   513 	ongoingBattle = 2
   511 	AnimSay(smuggler2.gear, loc("This is seems like a wealthy hedgehog, nice..."), SAY_THINK, 5000)
   514 	AnimSay(smuggler2.gear, loc("This is seems like a wealthy hedgehog, nice..."), SAY_THINK, 5000)
   512 	AnimSwitchHog(smuggler2.gear)
   515 	AnimSwitchHog(smuggler2.gear)
   513 	TurnTimeLeft = 0
   516 	TurnTimeLeft = 0