# HG changeset patch # User Periklis Ntanasis # Date 1377555946 -10800 # Node ID bf314b2258b3fca85c779d84b9dadb4730b92383 # Parent 49db7a78c2bd3b1452b1b9befe4b6704c5a0d9e1 less variables used to save the checkpoints - potential breakage xD diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua Tue Aug 27 01:25:46 2013 +0300 @@ -125,6 +125,8 @@ HogTurnLeft(thugs[i].gear, not thugs[i].turnLeft) end + initCheckpoint("death01") + AnimInit() AnimationSetup() end diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua Tue Aug 27 01:25:46 2013 +0300 @@ -95,9 +95,7 @@ Theme = "Desert" -- get the check point - if tonumber(GetCampaignVar("Desert01CheckPoint")) then - checkPointReached = tonumber(GetCampaignVar("Desert01CheckPoint")) - end + checkPointReached = initCheckpoint("desert01") -- get hero health local heroHealth = 100 if checkPointReached > 1 and tonumber(GetCampaignVar("HeroHealth")) then @@ -378,17 +376,17 @@ end function heroAtCheckpoint2(gear) - saveCheckPoint("2") + saveCheckPointLocal("2") secondBattle() end function heroAtCheckpoint3(gear) - saveCheckPoint("3") + saveCheckPointLocal("3") secondBattle() end function heroAtCheckpoint4(gear) - saveCheckPoint("4") + saveCheckPointLocal("4") end function heroAtThirdBattle(gear) @@ -407,7 +405,7 @@ function checkForWin2(gear) -- ok lets place one more checkpoint as next part seems challenging without rope if cratesFound == 0 then - saveCheckPoint("5") + saveCheckPointLocal("5") end checkForWin() @@ -463,9 +461,9 @@ TurnTimeLeft = 0 end -function saveCheckPoint(cpoint) +function saveCheckPointLocal(cpoint) -- save checkpoint - SaveCampaignVar("Desert01CheckPoint", cpoint) + saveCheckpoint(cpoint) SaveCampaignVar("HeroHealth", GetHealth(hero.gear)) -- bazooka - grenade - rope - parachute - deagle - btorch - construct - portal SaveCampaignVar("HeroAmmo", GetAmmoCount(hero.gear, amBazooka)..GetAmmoCount(hero.gear, amGrenade).. diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua Tue Aug 27 01:25:46 2013 +0300 @@ -5,6 +5,7 @@ HedgewarsScriptLoad("/Scripts/Locale.lua") HedgewarsScriptLoad("/Scripts/Animate.lua") +HedgewarsScriptLoad("/Missions/Campaign/A_Space_Adventure/global_functions.lua") ----------------- VARIABLES -------------------- -- globals @@ -76,6 +77,8 @@ AnimSetGearPosition(hero.gear, hero.x, hero.y) HogTurnLeft(hero.gear, true) + initCheckpoint("desert02") + AnimInit() AnimationSetup() end diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit01.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit01.lua Tue Aug 27 01:25:46 2013 +0300 @@ -146,6 +146,8 @@ yellowArmy[i].gear = AddHog(yellowArmy[i].name, 1, yellowArmy[i].health, "war_desertgrenadier1") AnimSetGearPosition(yellowArmy[i].gear, yellowArmy[i].x, yellowArmy[i].y) end + + initCheckpoint("fruit01") AnimInit() AnimationSetup() diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit02.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit02.lua Tue Aug 27 01:25:46 2013 +0300 @@ -83,12 +83,10 @@ -- load checkpoints, problem getting the campaign variable local health = 100 - if tonumber(GetCampaignVar("Fruit02CheckPoint")) then - checkPointReached = tonumber(GetCampaignVar("Fruit02CheckPoint")) - if checkPointReached ~= 1 then - loadHogsPositions() - health = tonumber(GetCampaignVar("HeroHealth")) - end + checkPointReached = initCheckpoint("fruit02") + if checkPointReached ~= 1 then + loadHogsPositions() + health = tonumber(GetCampaignVar("HeroHealth")) end -- Hog Solo and Green Bananas @@ -442,19 +440,19 @@ end function checkPoint1(gear) - saveCheckPoint(2) + saveCheckPointLocal(2) end function checkPoint2(gear) - saveCheckPoint(3) + saveCheckPointLocal(3) end function checkPoint3(gear) - saveCheckPoint(4) + saveCheckPointLocal(4) end function checkPoint4(gear) - saveCheckPoint(5) + saveCheckPointLocal(5) end -------------- ANIMATIONS ------------------ @@ -599,9 +597,9 @@ return res end -function saveCheckPoint(cpoint) +function saveCheckPointLocal(cpoint) AnimCaption(hero.gear, loc("Checkpoint reached!"), 3000) - SaveCampaignVar("Fruit02CheckPoint", cpoint) + saveCheckpoint(cpoint) SaveCampaignVar("HeroHealth", GetHealth(hero.gear)) saveHogsPositions() saveWeapons() diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/global_functions.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/global_functions.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/global_functions.lua Tue Aug 27 01:25:46 2013 +0300 @@ -50,3 +50,18 @@ end return status end + +function initCheckpoint(mission) + local checkPoint = 1 + if GetCampaignVar("CurrentMission") ~= mission then + SaveCampaignVar("CurrentMission", mission) + SaveCampaignVar("CurrentMissionCheckpoint", 1) + else + checkPoint = tonumber(GetCampaignVar("currentMissionCheckpoint")) + end + return checkPoint +end + +function saveCheckpoint(cp) + SaveCampaignVar("CurrentMissionCheckpoint", cp) +end diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua Tue Aug 27 01:25:46 2013 +0300 @@ -94,9 +94,7 @@ Theme = "Snow" -- get the check point - if tonumber(GetCampaignVar("Ice01CheckPoint")) then - checkPointReached = tonumber(GetCampaignVar("Ice01CheckPoint")) - end + checkPointReached = initCheckpoint("ice01") -- get hero health local heroHealth = 100 if tonumber(GetCampaignVar("HeroHealth")) then @@ -422,12 +420,12 @@ function heroFinalStep(gear) heroAtFinalStep = true - SaveCampaignVar("Ice01CheckPoint", "3") + saveCheckpoint("3") SaveCampaignVar("HeroHealth", GetHealth(hero.gear)) end function columnCheckPoint(gear) - SaveCampaignVar("Ice01CheckPoint", "2") + saveCheckpoint("2") SaveCampaignVar("HeroHealth", GetHealth(hero.gear)) AnimCaption(hero.gear, loc("Checkpoint reached!"), 5000) end diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua Tue Aug 27 01:25:46 2013 +0300 @@ -5,6 +5,7 @@ HedgewarsScriptLoad("/Scripts/Locale.lua") HedgewarsScriptLoad("/Scripts/Animate.lua") +HedgewarsScriptLoad("/Missions/Campaign/A_Space_Adventure/global_functions.lua") ----------------- VARIABLES -------------------- -- globals @@ -88,6 +89,8 @@ AnimSetGearPosition(ally.gear, ally.x, ally.y) HogTurnLeft(ally.gear, true) + initCheckpoint("ice02") + AnimInit() AnimationSetup() end diff -r 49db7a78c2bd -r bf314b2258b3 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua Mon Aug 26 06:23:19 2013 +0300 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua Tue Aug 27 01:25:46 2013 +0300 @@ -153,10 +153,7 @@ HogTurnLeft(minion3.gear, true) -- get the check point - if tonumber(GetCampaignVar("Moon01CheckPoint")) then - checkPointReached = tonumber(GetCampaignVar("Moon01CheckPoint")) - end - + checkPointReached = initCheckpoint("moon01") if checkPointReached == 1 then -- Start of the game elseif checkPointReached == 2 then @@ -319,8 +316,8 @@ -------------- OUTCOMES ------------------ -function weaponsPlatform(gear) - SaveCampaignVar("Moon01CheckPoint", "2") +function weaponsPlatform(gear) + saveCheckpoint("2") SaveCampaignVar("HeroHealth",GetHealth(hero.gear)) TurnTimeLeft = 0 weaponsAqcuired = true