share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua
branchspacecampaign
changeset 9392 0dd0adee6831
parent 9390 9956b1fbac8b
child 9394 ccc2a2099370
equal deleted inserted replaced
9390:9956b1fbac8b 9392:0dd0adee6831
   217 end
   217 end
   218 
   218 
   219 function onNewTurn()		
   219 function onNewTurn()		
   220 	-- round has to start if hero goes near the column
   220 	-- round has to start if hero goes near the column
   221 	if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then
   221 	if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then
   222 		WriteLnToConsole("NEW TURN 1")
       
   223 		TurnTimeLeft = 0
   222 		TurnTimeLeft = 0
   224 	elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then
   223 	elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then
   225 		WriteLnToConsole("NEW TURN 2")
       
   226 		TurnTimeLeft = -1
   224 		TurnTimeLeft = -1
   227 	elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then		
   225 	elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then		
   228 		WriteLnToConsole("NEW TURN 3")
       
   229 		AnimSwitchHog(hero.gear)
   226 		AnimSwitchHog(hero.gear)
   230 		TurnTimeLeft = 0
   227 		TurnTimeLeft = 0
   231 	elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then
   228 	elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then
   232 		WriteLnToConsole("NEW TURN 4")
       
   233 		-- have to check if all next hogs are frozen, then switch to hero
       
   234 		if (GetHealth(bandit1.gear) and GetEffect(bandit1.gear,heFrozen) > 256) and
   229 		if (GetHealth(bandit1.gear) and GetEffect(bandit1.gear,heFrozen) > 256) and
   235 			((GetHealth(bandit4.gear) and GetEffect(bandit4.gear,heFrozen) > 256) or not GetHealth(bandit4.gear)) and
   230 			((GetHealth(bandit4.gear) and GetEffect(bandit4.gear,heFrozen) > 256) or not GetHealth(bandit4.gear)) and
   236 			((GetHealth(bandit5.gear) and GetEffect(bandit5.gear,heFrozen) > 256) or not GetHealth(bandit5.gear)) then
   231 			((GetHealth(bandit5.gear) and GetEffect(bandit5.gear,heFrozen) > 256) or not GetHealth(bandit5.gear)) then
   237 			AnimSwitchHog(hero.gear)
   232 			AnimSwitchHog(hero.gear)
   238 		else
   233 		else
   239 			AnimSwitchHog(hero.gear)
   234 			AnimSwitchHog(hero.gear)
   240 			TurnTimeLeft = 0
   235 			TurnTimeLeft = 0
   241 		end
   236 		end
   242 	elseif CurrentHedgehog == ally.gear then
   237 	elseif CurrentHedgehog == ally.gear then
   243 		WriteLnToConsole("NEW TURN 6")
       
   244 		TurnTimeLeft = 0
   238 		TurnTimeLeft = 0
   245 	end
   239 	end
   246 	WriteLnToConsole("THIS IS THE TURN OF THE "..CurrentHedgehog)
       
   247 	if heroAtFinalStep then
       
   248 		WriteLnToConsole("hero at final step TRUE")
       
   249 	else
       
   250 		WriteLnToConsole("hero at final step FALSE")
       
   251 	end
       
   252 	WriteLnToConsole("Turn time left is "..TurnTimeLeft)
       
   253 	WriteLnToConsole("BANDIT 1 TO UNFREEZE "..bandit1.roundsToUnfreeze)
       
   254 	-- frozen hogs accounting
   240 	-- frozen hogs accounting
   255 	if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then
   241 	if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then
   256 		WriteLnToConsole("HEEEEEEEEEEEEEEEREEEEEEEEEEEEEEEEE")
       
   257 		if bandit1.frozen then
   242 		if bandit1.frozen then
   258 			if bandit1.roundsToUnfreeze == 0 then
   243 			if bandit1.roundsToUnfreeze == 0 then
   259 				SetEffect(bandit1.gear, heFrozen, 255)
   244 				SetEffect(bandit1.gear, heFrozen, 255)
   260 				bandit1.frozen = false
   245 				bandit1.frozen = false
   261 			else
   246 			else
   276 				bandit5.frozen = false
   261 				bandit5.frozen = false
   277 			else
   262 			else
   278 				bandit5.roundsToUnfreeze = bandit5.roundsToUnfreeze - 1
   263 				bandit5.roundsToUnfreeze = bandit5.roundsToUnfreeze - 1
   279 			end
   264 			end
   280 		end
   265 		end
   281 	else	
   266 	else
   282 		WriteLnToConsole("EEEEEEEEELSSSSSSSEEEEEEEEEEEEEEE")
       
   283 		if bandit1.frozen then
   267 		if bandit1.frozen then
   284 			SetEffect(bandit1.gear, heFrozen, 9999999999)
   268 			SetEffect(bandit1.gear, heFrozen, 9999999999)
   285 		end
   269 		end
   286 		if bandit4.frozen then
   270 		if bandit4.frozen then
   287 			SetEffect(bandit4.gear, heFrozen, 9999999999)
   271 			SetEffect(bandit4.gear, heFrozen, 9999999999)
   299 	end
   283 	end
   300 	ExecuteAfterAnimations()
   284 	ExecuteAfterAnimations()
   301 	CheckEvents()
   285 	CheckEvents()
   302 	
   286 	
   303 	if GetEffect(bandit1.gear, heFrozen) > 256 and not bandit1.frozen then
   287 	if GetEffect(bandit1.gear, heFrozen) > 256 and not bandit1.frozen then
   304 		WriteLnToConsole("IN TICK FROZEN!!!")
       
   305 		bandit1.frozen = true
   288 		bandit1.frozen = true
   306 		SetEffect(bandit1.gear, heFrozen, 9999999999)
   289 		SetEffect(bandit1.gear, heFrozen, 9999999999)
   307 		bandit1.roundsToUnfreeze = 1
   290 		bandit1.roundsToUnfreeze = 1
   308 	end
   291 	end
   309 	if GetEffect(bandit4.gear, heFrozen) > 256 and not bandit4.frozen then
   292 	if GetEffect(bandit4.gear, heFrozen) > 256 and not bandit4.frozen then