* turned out the no-flight zone is also a no-climb-and-progress zone
authorsheepluva
Fri, 06 Dec 2013 22:48:30 +0100
changeset 9759 0efa9672c000
parent 9758 3b8058b251b8
child 9760 395ca7fe6362
* turned out the no-flight zone is also a no-climb-and-progress zone * also changed it to not completely nullify velocity (otherwise cliffjumpers can get stuck in midair), just make sure dy is not negative
share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua
--- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua	Fri Dec 06 20:38:48 2013 +0100
+++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua	Fri Dec 06 22:48:30 2013 +0100
@@ -206,6 +206,8 @@
 	AddAmmo(bandit4.gear, amBazooka, 5)
 	AddAmmo(bandit5.gear, amBazooka, 5)
 
+	goToThantaString = loc("Go to Thanta and get the device part!")
+
 	if checkPointReached == 1 then
 		AddAmmo(hero.gear, amBazooka, 1)
 		SpawnAmmoCrate(icegunX, icegunY, amIceGun)
@@ -214,10 +216,10 @@
 		AddAnim(dialog01)
 	elseif checkPointReached == 2 then
 		AddAmmo(hero.gear, amIceGun, 8)
-		AnimCaption(hero.gear, loc("Go to Thanta and get the device part!"), 5000)
+		AnimCaption(hero.gear, goToThantaString, 5000)
 	elseif checkPointReached == 3 then
 		AddAmmo(hero.gear, amIceGun, 6)
-		AnimCaption(hero.gear, loc("Go to Thanta and get the device part!"), 5000)
+		AnimCaption(hero.gear, goToThantaString, 5000)
 	end
 
 	SendHealthStatsOff()
@@ -343,7 +345,7 @@
 end
 
 function onAntiFlyAreaVelocity(gear)
-	if not hero.dead and GetY(gear) < 1300 then
+	if not hero.dead and GetY(gear) < 1300 and GetX(gear) < 1190 then
 		return true
 	end
 	return false
@@ -415,7 +417,8 @@
 end
 
 function antiFlyAreaVelocity(gear)
-	SetGearVelocity(hero.gear, 0, 0)
+	dx, dy = GetGearVelocity(hero.gear)
+	SetGearVelocity(hero.gear, dx, math.max(dy, 0))
 end
 
 function nonAntiFlyArea(gear)