--- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua Thu Apr 27 23:47:44 2017 +0200
+++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua Fri Apr 28 00:21:16 2017 +0200
@@ -71,6 +71,7 @@
startAnim = {}
gearDead = {}
+hogDead = {}
--------------------------Anim skip functions--------------------------
function SkipStartAnim()
SetGearMessage(CurrentHedgehog, 0)
@@ -380,8 +381,17 @@
CheckEvents()
end
+function onGearAdd(gear)
+ if GetGearType(gear) == gtHedgehog then
+ hogDead[gear] = false
+ end
+end
+
function onGearDelete(gear)
gearDead[gear] = true
+ if GetGearType(gear) == gtHedgehog then
+ hogDead[gear] = true
+ end
end
function onAmmoStoreInit()
@@ -421,12 +431,22 @@
SetAmmo(amWhip, 9, 0, 0, 0)
end
+function IsEveryoneExceptTraitorDead()
+ for id, isDead in pairs(hogDead) do
+ if id ~= traitor and not isDead then
+ return false
+ end
+ end
+ return true
+end
+
function onNewTurn()
if AnimInProgress() then
TurnTimeLeft = -1
return
end
- if CurrentHedgehog == traitor then
+ -- Don't allow player to play with traitor, except when it is the final hog left
+ if CurrentHedgehog == traitor and not IsEveryoneExceptTraitorDead() then
EndTurn(true)
else
TurnTimeLeft = -1