# HG changeset patch # User Wuzzy # Date 1520602057 -3600 # Node ID 39aa98d01e80923e09615f77775792002a061c0d # Parent 8f2260eeb7266cc8a1035477373b1edb991245bd ACF3: Fix cannibals sometimes doing nothing for a full turn This was because hogs got confused because walking was forbidden by SetInputMask. Now we use a proper hedgehog effect heArtillery. diff -r 8f2260eeb726 -r 39aa98d01e80 ChangeLog.txt --- a/ChangeLog.txt Fri Mar 09 12:55:54 2018 +0100 +++ b/ChangeLog.txt Fri Mar 09 14:27:37 2018 +0100 @@ -73,6 +73,7 @@ + Mission 2, Mission 5: Reduce computer hog levels * Fix incorrect storytelling in mission descriptions * Mission 1: Fix error message spam when Leaks a Lot drowns + * Mission 3: Fix cannibals sometimes doing nothing for a full turn * Mission 6: Fix cyborgs sometimes doing nothing for a full turn Missions: diff -r 8f2260eeb726 -r 39aa98d01e80 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua Fri Mar 09 12:55:54 2018 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua Fri Mar 09 14:27:37 2018 +0100 @@ -250,7 +250,6 @@ function SkipMidAnimAlone() AnimSetGearPosition(leaks, 2656, 1842) AnimSwitchHog(leaks) - SetInputMask(0xFFFFFFFF) AnimWait(dense, 1) AddFunction({func = HideHedge, args = {princess}}) AddFunction({func = HideHedge, args = {cyborg}}) @@ -1092,11 +1091,13 @@ for i = 1, 4 do cannibals[i] = AddHog(cannibalNames[i], 3, 40, "Zombi") AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i])) + SetEffect(cannibals[i], heArtillery, 1) end for i = 5, 8 do cannibals[i] = AddHog(cannibalNames[i], 3, 40, "Zombi") AnimSetGearPosition(cannibals[i], 0, 0) + SetEffect(cannibals[i], heArtillery, 1) end AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary") @@ -1187,19 +1188,8 @@ SetGearMessage(leaks, 0) TurnTimeLeft = -1 elseif GetHogTeamName(CurrentHedgehog) ~= loc("Natives") then - for i = 1, 4 do - if cannibalDead[i] ~= true and leaksDead ~= true then - if GetX(cannibals[i]) < GetX(leaks) then - HogTurnLeft(cannibals[i], false) - else - HogTurnLeft(cannibals[i], true) - end - end - end - SetInputMask(band(0xFFFFFFFF, bnot(gmLeft + gmRight + gmLJump + gmHJump))) TurnTimeLeft = 20000 else - SetInputMask(0xFFFFFFFF) TurnsLeft = TurnsLeft - 1 if TurnsLeft >= 1 then AddCaption(string.format(loc("Turns left: %d"), TurnsLeft), 0xFFFFFFFF, capgrpGameState) diff -r 8f2260eeb726 -r 39aa98d01e80 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/shadow.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/shadow.lua Fri Mar 09 12:55:54 2018 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/shadow.lua Fri Mar 09 14:27:37 2018 +0100 @@ -200,7 +200,6 @@ SetState(cannibals[1], 0) AnimTurn(leaks, "Right") AnimSwitchHog(leaks) - SetInputMask(0xFFFFFFFF) end function AfterWeaklingsAnim() @@ -240,7 +239,6 @@ AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i])) SetState(cannibals[i], 0) end - SetInputMask(0xFFFFFFFF) end function AfterStronglingsAnim() @@ -285,7 +283,6 @@ HogTurnLeft(dense, true) AnimSetGearPosition(cyborg, 1250, 1315) SwitchHog(dense) - SetInputMask(0xFFFFFFFF) end function AfterAcceptedAnim() @@ -312,7 +309,6 @@ AnimSetGearPosition(cyborg, unpack(cyborgPos)) SetState(cyborg, gstInvisible) AnimSwitchHog(dense) - SetInputMask(0xFFFFFFFF) end function AfterAttackedAnim() @@ -355,7 +351,6 @@ AnimSetGearPosition(cyborg, unpack(cyborgPos)) SetState(cyborg, gstInvisible) AnimSwitchHog(leaks) - SetInputMask(0xFFFFFFFF) end