# HG changeset patch # User Wuzzy # Date 1479611301 -3600 # Node ID 72be38f6d0c0fe0667f65cc490043aec284ff620 # Parent f3c1679694d31ce219d3a0626c8b2df0570721f2 Complete space campaign's spacetrip mission if all main+side missions are completed diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/cosmos.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/cosmos.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/cosmos.lua Sun Nov 20 04:08:21 2016 +0100 @@ -606,6 +606,9 @@ SendStat(siCustomAchievement, loc("You can choose another planet by replaying this mission.")) SendStat(siCustomAchievement, loc("Planets with completed main missions will be marked with a flower.")) SendStat(siCustomAchievement, loc("Planets with all missions completed will be marked with two flowers.")) + if GetCampaignVar("Won") == "true" and GetCampaignVar("Mission1Won") ~= "true" then + SendStat(siCustomAchievement, loc("Complete all main and side missions to complete the spacetrip mission.")) + end SendStat(siPlayerKills,'1',teamC.name) EndGame() end diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death02.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death02.lua Sun Nov 20 04:08:21 2016 +0100 @@ -201,6 +201,7 @@ SendStat(siCustomAchievement, loc("The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight.")) SendStat(siPlayerKills,'1',teamA.name) SaveCampaignVar("Mission11Won", "true") + checkAllMissionsCompleted() EndGame() end diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert02.lua Sun Nov 20 04:08:21 2016 +0100 @@ -167,6 +167,7 @@ end SendStat(siPlayerKills,'0',teamA.name) SaveCampaignVar("Mission7Won", "true") + checkAllMissionsCompleted() EndGame() end diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua Sun Nov 20 04:08:21 2016 +0100 @@ -214,6 +214,7 @@ SendStat(siCustomAchievement, loc("Next time you play \"Searching in the dust\" you'll have an RC plane available.")) SendStat(siPlayerKills,'1',teamA.name) SaveCampaignVar("Mission12Won", "true") + checkAllMissionsCompleted() EndGame() end diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/final.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/final.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/final.lua Sun Nov 20 04:08:21 2016 +0100 @@ -151,8 +151,8 @@ function heroWin(gear) saveCompletedStatus(7) - SaveCampaignVar("Mission1Won", "true") SaveCampaignVar("Won", "true") + checkAllMissionsCompleted() SendStat(siGameResult, loc("Congratulations, you have saved Hogera!")) SendStat(siCustomAchievement, loc("Hogera is safe!")) SendStat(siPlayerKills,'1',teamA.name) diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua Sun Nov 20 04:08:21 2016 +0100 @@ -227,6 +227,7 @@ SendStat(siCustomAchievement, loc("You will gain some extra ammo from the crates the next time you play the \"Getting to the device\" mission.")) SendStat(siPlayerKills,'1',teamA.name) SaveCampaignVar("Mission10Won", "true") + checkAllMissionsCompleted() EndGame() end diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/global_functions.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/global_functions.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/global_functions.lua Sun Nov 20 04:08:21 2016 +0100 @@ -1,3 +1,5 @@ +local missionsNum = 14 + function saveCompletedStatus(planetNum) -- 1 2 3 4 5 6 7 -- order: moon01, fruit01, fruit02, ice01, desert01, death01, final @@ -29,6 +31,21 @@ status = status:sub(1,planetNum-1).."1"..status:sub(planetNum+1) end SaveCampaignVar("MainMissionsStatus",status) + + checkAllMissionsCompleted() +end + +function checkAllMissionsCompleted() + local allMissions = true + for i=2, missionsNum do + if GetCampaignVar("Mission"..i.."Won") ~= "true" then + allMissions = false + break + end + end + if allMissions then + SaveCampaignVar("Mission1Won", "true") + end end function getCompletedStatus() diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua Sun Nov 20 04:08:21 2016 +0100 @@ -160,6 +160,7 @@ SendStat(siPlayerKills,'0',teamA.name) SaveCampaignVar("Mission6Won", "true") + checkAllMissionsCompleted() EndGame() end end diff -r f3c1679694d3 -r 72be38f6d0c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua Sun Nov 20 03:43:27 2016 +0100 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon02.lua Sun Nov 20 04:08:21 2016 +0100 @@ -255,5 +255,6 @@ -- siCustomAchievements were added earlier SendStat(siPlayerKills,'0',teamA.name) SaveCampaignVar("Mission13Won", "true") + checkAllMissionsCompleted() EndGame() end