share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua
changeset 14612 bd15c8551318
parent 14609 e7bc81b303f3
child 14613 3d4044b4aa3e
equal deleted inserted replaced
14611:3cf7799e04b5 14612:bd15c8551318
   109 	hero.name = GetHogName(hero.gear)
   109 	hero.name = GetHogName(hero.gear)
   110 	AnimSetGearPosition(hero.gear, hero.x, hero.y)
   110 	AnimSetGearPosition(hero.gear, hero.x, hero.y)
   111 	HogTurnLeft(hero.gear, true)
   111 	HogTurnLeft(hero.gear, true)
   112 	-- PAotH undercover scientist and chief Sandologist
   112 	-- PAotH undercover scientist and chief Sandologist
   113 	teamA.name = AddTeam(teamA.name, teamA.color, "Earth", "Island", "Default", "cm_galaxy")
   113 	teamA.name = AddTeam(teamA.name, teamA.color, "Earth", "Island", "Default", "cm_galaxy")
       
   114 	SetTeamPassive(teamA.name, true)
   114 	ally.gear = AddHog(ally.name, 0, 100, "Cowboy")
   115 	ally.gear = AddHog(ally.name, 0, 100, "Cowboy")
   115 	AnimSetGearPosition(ally.gear, ally.x, ally.y)
   116 	AnimSetGearPosition(ally.gear, ally.x, ally.y)
   116 	-- Smugglers
   117 	-- Smugglers
   117 	teamB.name = AddTeam(teamB.name, teamB.color, "chest", "Island", "Default", "cm_bloodyblade")
   118 	teamB.name = AddTeam(teamB.name, teamB.color, "chest", "Island", "Default", "cm_bloodyblade")
       
   119 	SetTeamPassive(teamB.name, true)
   118 	smuggler1.gear = AddHog(smuggler1.name, 1, 100, "hair_orange")
   120 	smuggler1.gear = AddHog(smuggler1.name, 1, 100, "hair_orange")
   119 	AnimSetGearPosition(smuggler1.gear, smuggler1.x, smuggler1.y)
   121 	AnimSetGearPosition(smuggler1.gear, smuggler1.x, smuggler1.y)
   120 	smuggler2.gear = AddHog(smuggler2.name, 1, 100, "lambda")
   122 	smuggler2.gear = AddHog(smuggler2.name, 1, 100, "lambda")
   121 	AnimSetGearPosition(smuggler2.gear, smuggler2.x, smuggler2.y)
   123 	AnimSetGearPosition(smuggler2.gear, smuggler2.x, smuggler2.y)
   122 	smuggler3.gear = AddHog(smuggler3.name, 1, 100, "beefeater")
   124 	smuggler3.gear = AddHog(smuggler3.name, 1, 100, "beefeater")
   203 
   205 
   204 	SendHealthStatsOff()
   206 	SendHealthStatsOff()
   205 end
   207 end
   206 
   208 
   207 function onNewTurn()
   209 function onNewTurn()
   208 	local function getReady(hog)
   210 	if CurrentHedgehog == hero.gear and not heroIsInBattle then
   209 		-- This clears the "Get ready, Hog!" caption from the engine, because it will name the
       
   210 		-- false hog because we immediately switch the hog after the turn start.
       
   211 		-- TODO: Find a better method for this and show the real hog name (preferably using an engine string)
       
   212 		AddCaption("")
       
   213 	end
       
   214 
       
   215 	if CurrentHedgehog ~= hero.gear and not heroIsInBattle then
       
   216 		AnimSwitchHog(hero.gear)
       
   217 		getReady(hero.gear)
       
   218 		SetTurnTimeLeft(MAX_TURN_TIME)
       
   219 	elseif CurrentHedgehog == hero.gear and not heroIsInBattle then
       
   220 		SetTurnTimeLeft(MAX_TURN_TIME)
   211 		SetTurnTimeLeft(MAX_TURN_TIME)
   221 	elseif (CurrentHedgehog == smuggler2.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 1 then
   212 	elseif (CurrentHedgehog == smuggler2.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 1 then
   222 		AnimSwitchHog(smuggler1.gear)
   213 		AnimSwitchHog(smuggler1.gear)
   223 		getReady(smuggler1.gear)
       
   224 	elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 2 then
   214 	elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 2 then
   225 		AnimSwitchHog(smuggler2.gear)
   215 		AnimSwitchHog(smuggler2.gear)
   226 		getReady(smuggler2.gear)
       
   227 	elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler2.gear) and ongoingBattle == 3 then
   216 	elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler2.gear) and ongoingBattle == 3 then
   228 		AnimSwitchHog(smuggler3.gear)
   217 		AnimSwitchHog(smuggler3.gear)
   229 		getReady(smuggler3.gear)
       
   230 	elseif CurrentHedgehog == ally.gear then
       
   231 		AnimSwitchHog(hero.gear)
       
   232 		getReady(hero.gear)
       
   233 	end
   218 	end
   234 end
   219 end
   235 
   220 
   236 function onGameTick()
   221 function onGameTick()
   237 	AnimUnWait()
   222 	AnimUnWait()
   289 	end
   274 	end
   290 	if gear == hero.gear then
   275 	if gear == hero.gear then
   291 		hero.dead = true
   276 		hero.dead = true
   292 	elseif (gear == smuggler1.gear or gear == smuggler2.gear or gear == smuggler3.gear) and heroIsInBattle then
   277 	elseif (gear == smuggler1.gear or gear == smuggler2.gear or gear == smuggler3.gear) and heroIsInBattle then
   293 		heroIsInBattle = false
   278 		heroIsInBattle = false
       
   279 		SetTeamPassive(teamB.name, true)
   294 		AddAmmo(hero.gear, amSkip, 0)
   280 		AddAmmo(hero.gear, amSkip, 0)
   295 		ongoingBattle = 0
   281 		ongoingBattle = 0
   296 	end
   282 	end
   297 end
   283 end
   298 
   284 
   395 		HogSay(hero.gear, loc("Gasp! A smuggler!"), SAY_SHOUT)
   381 		HogSay(hero.gear, loc("Gasp! A smuggler!"), SAY_SHOUT)
   396 		dx = div(dx, 3)
   382 		dx = div(dx, 3)
   397 		dy = div(dy, 3)
   383 		dy = div(dy, 3)
   398 	end
   384 	end
   399 	SetGearMessage(hero.gear, 0)
   385 	SetGearMessage(hero.gear, 0)
       
   386 	SetTeamPassive(teamB.name, false)
       
   387 	heroIsInBattle = true
   400 	EndTurn(true)
   388 	EndTurn(true)
   401 	heroIsInBattle = true
       
   402 	AddAmmo(hero.gear, amSkip, 100)
   389 	AddAmmo(hero.gear, amSkip, 100)
   403 	ongoingBattle = 1
   390 	ongoingBattle = 1
   404 	AnimSwitchHog(smuggler1.gear)
   391 	AnimSwitchHog(smuggler1.gear)
   405 	EndTurn(true)
   392 	EndTurn(true)
   406 	SetGearVelocity(hero.gear, dx, dy)
   393 	SetGearVelocity(hero.gear, dx, dy)
   407 end
   394 end
   408 
   395 
   409 function heroFleeFirstBattle(gear)
   396 function heroFleeFirstBattle(gear)
   410 	AnimSay(smuggler1.gear, loc("Run away, you coward!"), SAY_SHOUT, 4000)
   397 	AnimSay(smuggler1.gear, loc("Run away, you coward!"), SAY_SHOUT, 4000)
       
   398 	SetTeamPassive(teamB.name, true)
       
   399 	heroIsInBattle = false
   411 	EndTurn(true)
   400 	EndTurn(true)
   412 	heroIsInBattle = false
       
   413 	AddAmmo(hero.gear, amSkip, 0)
   401 	AddAmmo(hero.gear, amSkip, 0)
   414 	ongoingBattle = 0
   402 	ongoingBattle = 0
   415 end
   403 end
   416 
   404 
   417 function heroAtBattlePoint1(gear)
   405 function heroAtBattlePoint1(gear)
   422 	secondBattle()
   410 	secondBattle()
   423 end
   411 end
   424 
   412 
   425 function heroAtThirdBattle(gear)
   413 function heroAtThirdBattle(gear)
   426 	heroIsInBattle = true
   414 	heroIsInBattle = true
       
   415 	SetTeamPassive(teamB.name, false)
   427 	AddAmmo(hero.gear, amSkip, 100)
   416 	AddAmmo(hero.gear, amSkip, 100)
   428 	ongoingBattle = 3
   417 	ongoingBattle = 3
   429 	AnimSay(smuggler3.gear, loc("Who's there?! I'll get you!"), SAY_SHOUT, 5000)
   418 	AnimSay(smuggler3.gear, loc("Who's there?! I'll get you!"), SAY_SHOUT, 5000)
   430 	local dx, dy = GetGearVelocity(hero.gear)
   419 	local dx, dy = GetGearVelocity(hero.gear)
   431 	-- Hog gets scared and falls from rope
   420 	-- Hog gets scared and falls from rope
   519 		dx = div(dx, 3)
   508 		dx = div(dx, 3)
   520 		dy = div(dy, 3)
   509 		dy = div(dy, 3)
   521 	end
   510 	end
   522 	SetGearMessage(hero.gear, 0)
   511 	SetGearMessage(hero.gear, 0)
   523 	heroIsInBattle = true
   512 	heroIsInBattle = true
       
   513 	SetTeamPassive(teamB.name, false)
   524 	AddAmmo(hero.gear, amSkip, 100)
   514 	AddAmmo(hero.gear, amSkip, 100)
   525 	ongoingBattle = 2
   515 	ongoingBattle = 2
   526 	AnimSay(smuggler2.gear, loc("This seems like a wealthy hedgehog, nice ..."), SAY_THINK, 5000)
   516 	AnimSay(smuggler2.gear, loc("This seems like a wealthy hedgehog, nice ..."), SAY_THINK, 5000)
   527 	AnimSwitchHog(smuggler2.gear)
   517 	AnimSwitchHog(smuggler2.gear)
   528 	EndTurn(true)
   518 	EndTurn(true)