# HG changeset patch # User Periklis Ntanasis # Date 1367370310 -10800 # Node ID ed2509832311bd2fa9ce2778e44e9949b1906156 # Parent 63ecf5320439099bfb423c4031e16098789b5e28 fix bug that locked unlocked campaign missions, see issue 452 diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/backstab.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/backstab.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/backstab.lua Wed May 01 04:05:10 2013 +0300 @@ -760,7 +760,9 @@ SaveCampaignVar("M5ChiefDead", "0") end SaveCampaignVar("M5Choice", "" .. choice) - SaveCampaignVar("Progress", "5") + if progress and progress<5 then + SaveCampaignVar("Progress", "5") + end for i = 1, 7 do if natives[i] == deployedHog then @@ -814,6 +816,7 @@ end function GetVariables() + progress = tonumber(GetCampaignVar("Progress")) m2DenseDead = tonumber(GetCampaignVar("M2DenseDead")) m2Choice = tonumber(GetCampaignVar("M2Choice")) m4DenseDead = tonumber(GetCampaignVar("M4DenseDead")) diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/dragon.lua Wed May 01 04:05:10 2013 +0300 @@ -399,7 +399,9 @@ function DoMissionFinished() AddCaption(loc("Salvation was one step closer now...")) - SaveCampaignVar("Progress", "6") + if progress and progress<6 then + SaveCampaignVar("Progress", "6") + end ParseCommand("teamgone " .. loc("011101001")) TurnTimeLeft = 0 end @@ -451,6 +453,7 @@ end function GetVariables() + progress = tonumber(GetCampaignVar("Progress")) m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) end diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/enemy.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/enemy.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/enemy.lua Wed May 01 04:05:10 2013 +0300 @@ -400,7 +400,9 @@ end function WinMission() - SaveCampaignVar("Progress", "9") + if progress and progress<9 then + SaveCampaignVar("Progress", "9") + end ParseCommand("teamgone " .. loc("011101001")) TurnTimeLeft = 0 end @@ -420,6 +422,7 @@ end function GetVariables() + progress = tonumber(GetCampaignVar("Progress")) m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) m2Choice = tonumber(GetCampaignVar("M2Choice")) m5Choice = tonumber(GetCampaignVar("M5Choice")) diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/family.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/family.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/family.lua Wed May 01 04:05:10 2013 +0300 @@ -284,7 +284,9 @@ function DoPrincessFreed() AnimSay(princess, loc("Thank you, my hero!"), SAY_SAY, 0) - SaveCampaignVar("Progress", "7") + if progress and progress<7 then + SaveCampaignVar("Progress", "7") + end ParseCommand("teamgone " .. loc("011101001")) TurnTimeLeft = 0 end @@ -390,6 +392,7 @@ end function GetVariables() + progress = tonumber(GetCampaignVar("Progress")) m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) m2Choice = tonumber(GetCampaignVar("M2Choice")) m5Choice = tonumber(GetCampaignVar("M5Choice")) diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/first_blood.lua Wed May 01 04:05:10 2013 +0300 @@ -541,7 +541,9 @@ function DoCannibalKilled() AddAnim(cannKilledAnim) - SaveCampaignVar("Progress", "1") + if not progress then + SaveCampaignVar("Progress", "1") + end end function DoCannibalKilledEarly() @@ -633,6 +635,7 @@ end function onGameStart() + progress = tonumber(GetCampaignVar("Progress")) TurnTimeLeft = -1 FollowGear(youngh) ShowMission(loc("A Classic Fairytale"), loc("First Blood"), loc("Finish your training|Hint: Animations can be skipped with the [Precise] key."), -amSkip, 0) diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/journey.lua Wed May 01 04:05:10 2013 +0300 @@ -903,7 +903,9 @@ end function DoWon() - SaveCampaignVar("Progress", "3") + if progress and progress<3 then + SaveCampaignVar("Progress", "3") + end AddAnim(winAnim) AddFunction({func = FinishWon, args = {}}) end @@ -974,6 +976,7 @@ end function onGameStart() + progress = tonumber(GetCampaignVar("Progress")) m2Choice = tonumber(GetCampaignVar("M2Choice")) m2DenseDead = tonumber(GetCampaignVar("M2DenseDead")) m2RamonDead = tonumber(GetCampaignVar("M2RamonDead")) diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/queen.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/queen.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/queen.lua Wed May 01 04:05:10 2013 +0300 @@ -575,6 +575,7 @@ end function GetVariables() + progress = tonumber(GetCampaignVar("Progress")) m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) m2Choice = tonumber(GetCampaignVar("M2Choice")) m5Choice = tonumber(GetCampaignVar("M5Choice")) @@ -606,7 +607,9 @@ SaveCampaignVar("M8PrincessLeader", princessLeader) SaveCampaignVar("M8EnemyFled", enemyFled) SaveCampaignVar("M8Scene", "" .. scene) - SaveCampaignVar("Progress", "8") + if progress and progress<8 then + SaveCampaignVar("Progress", "8") + end end function SetupPlace() diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/shadow.lua Wed May 01 04:05:10 2013 +0300 @@ -761,7 +761,9 @@ SaveCampaignVar("M2RamonDead", "0") SaveCampaignVar("M2SpikyDead", "0") AddFunction({func = KillCyborg, args = {}}) - SaveCampaignVar("Progress", "2") + if progress and progress<2 then + SaveCampaignVar("Progress", "2") + end SaveCampaignVar("M2Choice", "" .. choice) end @@ -783,7 +785,9 @@ end AddAnim(refusedFinalAnim) AddFunction({func = KillCyborg, args = {}}) - SaveCampaignVar("Progress", "2") + if progress and progress<2 then + SaveCampaignVar("Progress", "2") + end SaveCampaignVar("M2Choice", "" .. choice) end @@ -791,7 +795,9 @@ SaveCampaignVar("M2DenseDead", "1") SaveCampaignVar("M2RamonDead", "0") SaveCampaignVar("M2SpikyDead", "0") - SaveCampaignVar("Progress", "2") + if progress and progress<2 then + SaveCampaignVar("Progress", "2") + end SaveCampaignVar("M2Choice", "" .. choice) AddAnim(attackedFinalAnim) AddFunction({func = KillCyborg, args = {}}) @@ -854,6 +860,7 @@ end function onGameStart() + progress = tonumber(GetCampaignVar("Progress")) HideHogs() AddAmmo(leaks, amSwitch, 100) AddAmmo(dense, amSwitch, 100) diff -r 63ecf5320439 -r ed2509832311 share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua --- a/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua Wed May 01 01:27:35 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A Classic Fairytale/united.lua Wed May 01 04:05:10 2013 +0300 @@ -109,7 +109,9 @@ else SaveCampaignVar("M4DenseDead", "0") end - SaveCampaignVar("Progress", "4") + if progress and progress<4 then + SaveCampaignVar("Progress", "4") + end ParseCommand("teamgone " .. loc("011101001")) TurnTimeLeft = 0 end @@ -416,6 +418,7 @@ end function onGameStart() + progress = tonumber(GetCampaignVar("Progress")) GetVariables() SetupAmmo() SetupPlace()