share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua
branchspacecampaign
changeset 9330 b6483dc78feb
parent 9326 689f591aa226
child 9334 4bf3edc24444
equal deleted inserted replaced
9328:811574013fed 9330:b6483dc78feb
    33 -- mission objectives
    33 -- mission objectives
    34 local goals = {
    34 local goals = {
    35 	[dialog01] = {missionName, loc("Getting ready"), loc("Go to the upper platform and get the weapons in the crates!"), 1, 4500},
    35 	[dialog01] = {missionName, loc("Getting ready"), loc("Go to the upper platform and get the weapons in the crates!"), 1, 4500},
    36 	[dialog02] = {missionName, loc("Prepare to fight"), loc("Go down and save these PAoTH hogs!"), 1, 5000},
    36 	[dialog02] = {missionName, loc("Prepare to fight"), loc("Go down and save these PAoTH hogs!"), 1, 5000},
    37 	[dialog03] = {missionName, loc("The fight begins!"), loc("Neutralize your enemies and be careful!"), 1, 5000},
    37 	[dialog03] = {missionName, loc("The fight begins!"), loc("Neutralize your enemies and be careful!"), 1, 5000},
    38 	[dialog04] = dialog03
    38 	[dialog04] = {missionName, loc("The fight begins!"), loc("Neutralize your enemies and be careful!"), 1, 5000}
    39 }
    39 }
    40 -- crates
    40 -- crates
    41 local weaponsY = 100
    41 local weaponsY = 100
    42 local bazookaX = 70
    42 local bazookaX = 70
    43 local parachuteX = 110
    43 local parachuteX = 110
   102 -------------- LuaAPI EVENT HANDLERS ------------------
   102 -------------- LuaAPI EVENT HANDLERS ------------------
   103 
   103 
   104 function onGameInit()
   104 function onGameInit()
   105 	Seed = 1
   105 	Seed = 1
   106 	GameFlags = gfSolidLand + gfDisableWind
   106 	GameFlags = gfSolidLand + gfDisableWind
   107 	TurnTime = 45000
   107 	TurnTime = 25000
   108 	CaseFreq = 0
   108 	CaseFreq = 0
   109 	MinesNum = 0
   109 	MinesNum = 0
   110 	MinesTime = 3000
   110 	MinesTime = 3000
   111 	Explosives = 0
   111 	Explosives = 0
   112 	Delay = 5 
   112 	Delay = 5 
   134 	paoth4.gear = AddHog(paoth4.name, 0, 100, "scif_2001Y")
   134 	paoth4.gear = AddHog(paoth4.name, 0, 100, "scif_2001Y")
   135 	AnimSetGearPosition(paoth4.gear, paoth4.x, paoth4.y)
   135 	AnimSetGearPosition(paoth4.gear, paoth4.x, paoth4.y)
   136 	HogTurnLeft(paoth4.gear, true)
   136 	HogTurnLeft(paoth4.gear, true)
   137 	-- Professor
   137 	-- Professor
   138 	AddTeam(teamC.name, teamC.color, "Bone", "Island", "HillBilly", "cm_birdy")
   138 	AddTeam(teamC.name, teamC.color, "Bone", "Island", "HillBilly", "cm_birdy")
   139 	professor.gear = AddHog(professor.name, 0, 100, "tophats")
   139 	professor.gear = AddHog(professor.name, 0, 120, "tophats")
   140 	AnimSetGearPosition(professor.gear, professor.x, professor.y)
   140 	AnimSetGearPosition(professor.gear, professor.x, professor.y)
   141 	HogTurnLeft(professor.gear, true)
   141 	HogTurnLeft(professor.gear, true)
   142 	-- Minions
   142 	-- Minions
   143 	AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy")
   143 	AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy")
   144 	minion1.gear = AddHog(minion1.name, 1, 100, "Gasmask")
   144 	minion1.gear = AddHog(minion1.name, 1, 50, "Gasmask")
   145 	AnimSetGearPosition(minion1.gear, minion1.x, minion1.y)
   145 	AnimSetGearPosition(minion1.gear, minion1.x, minion1.y)
   146 	HogTurnLeft(minion1.gear, true)
   146 	HogTurnLeft(minion1.gear, true)
   147 	minion2.gear = AddHog(minion2.name, 1, 100, "Gasmask")
   147 	minion2.gear = AddHog(minion2.name, 1, 50, "Gasmask")
   148 	AnimSetGearPosition(minion2.gear, minion2.x, minion2.y)
   148 	AnimSetGearPosition(minion2.gear, minion2.x, minion2.y)
   149 	HogTurnLeft(minion2.gear, true)
   149 	HogTurnLeft(minion2.gear, true)
   150 	minion3.gear = AddHog(minion3.name, 1, 100, "Gasmask")
   150 	minion3.gear = AddHog(minion3.name, 1, 50, "Gasmask")
   151 	AnimSetGearPosition(minion3.gear, minion3.x, minion3.y)
   151 	AnimSetGearPosition(minion3.gear, minion3.x, minion3.y)
   152 	HogTurnLeft(minion3.gear, true)
   152 	HogTurnLeft(minion3.gear, true)
   153 	
   153 	
   154 	-- get the check point
   154 	-- get the check point
   155 	if tonumber(GetCampaignVar("Moon01CheckPoint")) then
   155 	if tonumber(GetCampaignVar("Moon01CheckPoint")) then
   199 		SpawnAmmoCrate(deserteagleX, weaponsY, amDEagle)
   199 		SpawnAmmoCrate(deserteagleX, weaponsY, amDEagle)
   200 		AddEvent(onWeaponsPlatform, {hero.gear}, weaponsPlatform, {hero.gear}, 0)
   200 		AddEvent(onWeaponsPlatform, {hero.gear}, weaponsPlatform, {hero.gear}, 0)
   201 		TurnTimeLeft = 0
   201 		TurnTimeLeft = 0
   202 		AddAnim(dialog01)
   202 		AddAnim(dialog01)
   203 	elseif checkPointReached == 2 then	
   203 	elseif checkPointReached == 2 then	
   204 		AddAmmo(hero.gear, amBazooka, 2)
   204 		AddAmmo(hero.gear, amBazooka, 3)
   205 		AddAmmo(hero.gear, amParachute, 2)
   205 		AddAmmo(hero.gear, amParachute, 1)
   206 		AddAmmo(hero.gear, amGrenade, 2)
   206 		AddAmmo(hero.gear, amGrenade, 6)
   207 		AddAmmo(hero.gear, amDEagle, 2)
   207 		AddAmmo(hero.gear, amDEagle, 4)
   208 		SetWind(60)		
   208 		SetWind(60)		
   209 		GameFlags = bor(GameFlags,gfDisableWind)
   209 		GameFlags = bor(GameFlags,gfDisableWind)
   210 		weaponsAcquired = true
   210 		weaponsAcquired = true
   211 		TurnTimeLeft = 0
   211 		TurnTimeLeft = 0
   212 		AddAnim(dialog02)
   212 		AddAnim(dialog02)
   213 	end
   213 	end
   214 end
   214 end
   215 
   215 
   216 function onAmmoStoreInit()
   216 function onAmmoStoreInit()
   217 	SetAmmo(amBazooka, 0, 0, 0, 2)
   217 	SetAmmo(amBazooka, 0, 0, 0, 3)
   218 	SetAmmo(amParachute, 0, 0, 0, 2)
   218 	SetAmmo(amParachute, 0, 0, 0, 1)
   219 	SetAmmo(amGrenade, 0, 0, 0, 2)
   219 	SetAmmo(amGrenade, 0, 0, 0, 6)
   220 	SetAmmo(amDEagle, 0, 0, 0, 2)
   220 	SetAmmo(amDEagle, 0, 0, 0, 4)
   221 end
   221 end
   222 
   222 
   223 function onGameTick()
   223 function onGameTick()
   224 	AnimUnWait()
   224 	AnimUnWait()
   225 	if ShowAnimation() == false then
   225 	if ShowAnimation() == false then
   234 
   234 
   235 function onNewTurn()		
   235 function onNewTurn()		
   236 	-- rounds start if hero got his weapons or got near the enemies
   236 	-- rounds start if hero got his weapons or got near the enemies
   237 	if not weaponsAcquired and not battleZoneReached and CurrentHedgehog ~= hero.gear then
   237 	if not weaponsAcquired and not battleZoneReached and CurrentHedgehog ~= hero.gear then
   238 		TurnTimeLeft = 0
   238 		TurnTimeLeft = 0
       
   239 	elseif weaponsAcquired and not battleZoneReached and CurrentHedgehog ~= hero.gear then
       
   240 		battleZoneReached = true
       
   241 		AddAnim(dialog04)
   239 	elseif not weaponsAcquired and not battleZoneReached and CurrentHedgehog == hero.gear then
   242 	elseif not weaponsAcquired and not battleZoneReached and CurrentHedgehog == hero.gear then
   240 		TurnTimeLeft = -1
   243 		TurnTimeLeft = -1
   241 	elseif CurrentHedgehog == paoth1.gear or CurrentHedgehog == paoth2.gear
   244 	elseif CurrentHedgehog == paoth1.gear or CurrentHedgehog == paoth2.gear
   242 		or CurrentHedgehog == paoth3.gear or CurrentHedgehog == paoth4.gear then
   245 		or CurrentHedgehog == paoth3.gear or CurrentHedgehog == paoth4.gear then
   243 		TurnTimeLeft = 0
   246 		TurnTimeLeft = 0
   277 	end
   280 	end
   278 	return false
   281 	return false
   279 end
   282 end
   280 
   283 
   281 function onBattleZone(gear)
   284 function onBattleZone(gear)
   282 	if not hero.dead and GetX(gear) > 1900 and StoppedGear(gear) then
   285 	if not battleZoneReached and not hero.dead and GetX(gear) > 1900 and StoppedGear(gear) then
   283 		return true
   286 		return true
   284 	end
   287 	end
   285 	return false
   288 	return false
   286 end
   289 end
   287 
   290