share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua
branchspacecampaign
changeset 9434 b472a2f7b65b
parent 9432 6b1c42e10957
child 9436 07fe70ba7dcd
equal deleted inserted replaced
9432:6b1c42e10957 9434:b472a2f7b65b
   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)
   409 	ongoingBattle = 2
   446 	ongoingBattle = 2
   410 	AnimSay(smuggler2.gear, loc("This is seems like a wealthy hedgehog, nice..."), SAY_THINK, 5000)	
   447 	AnimSay(smuggler2.gear, loc("This is seems like a wealthy hedgehog, nice..."), SAY_THINK, 5000)	
   411 	AnimSwitchHog(smuggler2.gear)
   448 	AnimSwitchHog(smuggler2.gear)
   412 	TurnTimeLeft = 0
   449 	TurnTimeLeft = 0
   413 end
   450 end
       
   451 
       
   452 function saveCheckPoint(cpoint)
       
   453 
       
   454 end