share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua
changeset 13594 ddd90e92c4c3
parent 13583 141cdfe0f3ca
child 13630 fe7d2bbf5f3f
equal deleted inserted replaced
13593:083733ec7941 13594:ddd90e92c4c3
   265 	if TargetPos[TargetNumber].InfFuel then
   265 	if TargetPos[TargetNumber].InfFuel then
   266 		InfFuel = true
   266 		InfFuel = true
   267 	else
   267 	else
   268 		InfFuel = false
   268 		InfFuel = false
   269 	end
   269 	end
       
   270 	UpdateInfFuel()
   270 
   271 
   271 	-- Func (if present) will be run instead of the ordinary spawning handling
   272 	-- Func (if present) will be run instead of the ordinary spawning handling
   272 	if TargetPos[TargetNumber].Modifier then -- If there is a modifier, run the function
   273 	if TargetPos[TargetNumber].Modifier then -- If there is a modifier, run the function
   273 		TargetPos[TargetNumber].Func()
   274 		TargetPos[TargetNumber].Func()
   274 		return true
   275 		return true
   354 	if TargetPos[TargetNumber].InfFuel then
   355 	if TargetPos[TargetNumber].InfFuel then
   355 		InfFuel = true
   356 		InfFuel = true
   356 	else
   357 	else
   357 		InfFuel = false
   358 		InfFuel = false
   358 	end
   359 	end
       
   360 	UpdateInfFuel()
   359 
   361 
   360 	SetGearPosition(Player, X, Y)
   362 	SetGearPosition(Player, X, Y)
   361 end
   363 end
   362 
   364 
   363 function onGameInit()
   365 function onGameInit()
   428 			AddAmmo(Player, amGrenade, 1)
   430 			AddAmmo(Player, amGrenade, 1)
   429 		end
   431 		end
   430 		if (TargetNumber == LaunchTarget or TargetNumber == UnderwaterAttackTarget) and BazookasLeft > 0 then
   432 		if (TargetNumber == LaunchTarget or TargetNumber == UnderwaterAttackTarget) and BazookasLeft > 0 then
   431 			AddAmmo(Player, amBazooka, BazookasLeft)
   433 			AddAmmo(Player, amBazooka, BazookasLeft)
   432 		end
   434 		end
       
   435 		UpdateInfFuel()
   433 		-- If player starts using saucer, the player probably finished reading and the mission panel
   436 		-- If player starts using saucer, the player probably finished reading and the mission panel
   434 		-- would just get in the way. So we hide it!
   437 		-- would just get in the way. So we hide it!
   435 		HideMission()
   438 		HideMission()
   436 	end
   439 	end
   437 	if GetGearType(Gear) == gtGrenade then
   440 	if GetGearType(Gear) == gtGrenade then
   524 				AddCaption(loc("+1 Grenade"), 0xDDDD00FF, capgrpAmmoinfo)
   527 				AddCaption(loc("+1 Grenade"), 0xDDDD00FF, capgrpAmmoinfo)
   525 				AddAmmo(Player, amGrenade, 1)
   528 				AddAmmo(Player, amGrenade, 1)
   526 			end
   529 			end
   527 		end
   530 		end
   528 	end
   531 	end
   529 	ResetFuel()
   532 end
   530 end
   533 
   531 
   534 function UpdateInfFuel()
   532 -- Used to ensure infinite fuel
   535 	if SaucerGear then
   533 function ResetFuel()
   536 		if InfFuel then
   534 	if SaucerGear and InfFuel then
   537 			SetHealth(SaucerGear, JETPACK_FUEL_INFINITE)
   535 		SetHealth(SaucerGear, 2000)
   538 		elseif GetHealth(SaucerGear == JETPACK_FUEL_INFINITE) then
   536 	end
   539 			SetHealth(SaucerGear, 2000)
   537 end
   540 		end
   538 
   541 	end
   539 onUp = ResetFuel
   542 end
   540 onLeft = ResetFuel
       
   541 onRight = ResetFuel
       
   542 
   543 
   543 function onGearDamage(Gear)
   544 function onGearDamage(Gear)
   544 	if Gear == Player then
   545 	if Gear == Player then
   545 		CleanUpGears()
   546 		CleanUpGears()
   546 		GrenadeThrown = false
   547 		GrenadeThrown = false