# HG changeset patch # User Wuzzy # Date 1506705120 -7200 # Node ID fa837afff629277db2fc8aea9ebe2fcdb5cbbab9 # Parent 2b9f658cba90050c5fba5a6cbed97356d9656fb4 ASA, desert01: Fix smugglers sometimes getting multiple turns diff -r 2b9f658cba90 -r fa837afff629 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua Fri Sep 29 18:27:44 2017 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua Fri Sep 29 19:12:00 2017 +0200 @@ -202,21 +202,31 @@ end function onNewTurn() + local function getReady(hog) + -- This clears the "Get ready, Hog!" caption from the engine, because it will name the + -- false hog because we immediately switch the hog after the turn start. + -- TODO: Find a better method for this and show the real hog name (preferably using an engine string) + AddCaption("") + end + if CurrentHedgehog ~= hero.gear and not heroIsInBattle then - EndTurn(true) + AnimSwitchHog(hero.gear) + getReady(hero.gear) + TurnTimeLeft = -1 elseif CurrentHedgehog == hero.gear and not heroIsInBattle then TurnTimeLeft = -1 elseif (CurrentHedgehog == smuggler2.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 1 then - AnimSwitchHog(hero.gear) - EndTurn(true) + AnimSwitchHog(smuggler1.gear) + getReady(smuggler1.gear) elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler3.gear) and ongoingBattle == 2 then + AnimSwitchHog(smuggler2.gear) + getReady(smuggler2.gear) + elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler2.gear) and ongoingBattle == 3 then + AnimSwitchHog(smuggler3.gear) + getReady(smuggler3.gear) + elseif CurrentHedgehog == ally.gear then AnimSwitchHog(hero.gear) - EndTurn(true) - elseif (CurrentHedgehog == smuggler1.gear or CurrentHedgehog == smuggler2.gear) and ongoingBattle == 3 then - AnimSwitchHog(hero.gear) - EndTurn(true) - elseif CurrentHedgehog == ally.gear then - EndTurn(true) + getReady(hero.gear) end end