# HG changeset patch # User Wuzzy # Date 1557775405 -7200 # Node ID 4c5fb1ee75b703ef92f874828c05676a1435dd3d # Parent 9d6a25239d008a19953238c3655f92094ac30b5b Add winner animation for missions that didn't have it diff -r 9d6a25239d00 -r 4c5fb1ee75b7 ChangeLog.txt --- a/ChangeLog.txt Mon May 13 20:26:07 2019 +0200 +++ b/ChangeLog.txt Mon May 13 21:23:25 2019 +0200 @@ -19,6 +19,7 @@ * Deny placement of piano beyond bounce world edge * Fix cut scenes not being skipped when pressing precise in enemy turn * Fix laser sight not working properly when it starts out of map bounds + * Add missing winner animation in single missions Styles and schemes: + The Specialists: Unlock game scheme @@ -139,6 +140,7 @@ * Fix SetAmmoDelay not working properly when called after onGameStart * Fix DismissTeam not clearing team properly * SimpleMission: Fix Lua error spam when a custom goal fails + * gstWinner state is preserved after the game ended ====================== 0.9.25 ====================== HIGHLIGHTS: diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Maps/ClimbHome/map.lua --- a/share/hedgewars/Data/Maps/ClimbHome/map.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Maps/ClimbHome/map.lua Mon May 13 21:23:25 2019 +0200 @@ -441,7 +441,6 @@ string.format(loc("Ahhh, home, sweet home. Made it in %d seconds."), roundedFinishTime), -amRope, 0) PlaySound(sndVictory,CurrentHedgehog) - SetState(CurrentHedgehog, gstWinner) SendStat(siGameResult, loc("You have beaten the challenge!")) SendStat(siGraphTitle, loc("Your height over time")) SendStat(siCustomAchievement, string.format(loc("%s reached home in %.3f seconds. Congratulations!"), GetHogName(CurrentHedgehog), finishTime)) @@ -452,6 +451,7 @@ SendStat(siPlayerKills, tostring(rawFinishTime), GetHogTeamName(CurrentHedgehog)) EndGame() + SetState(CurrentHedgehog, gstWinner) onAchievementsDeclaration() YouWon = true end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Challenge/Basic_Training_-_Sniper_Rifle.lua --- a/share/hedgewars/Data/Missions/Challenge/Basic_Training_-_Sniper_Rifle.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/Basic_Training_-_Sniper_Rifle.lua Mon May 13 21:23:25 2019 +0200 @@ -190,6 +190,9 @@ -- ... end the game ... generateStats() EndGame() + if score == score_goal then + SetState(CurrentHedgehog, gstWinner) + end end end_timer = end_timer - 20 end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Challenge/User_Mission_-_RCPlane_Challenge.lua --- a/share/hedgewars/Data/Missions/Challenge/User_Mission_-_RCPlane_Challenge.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/User_Mission_-_RCPlane_Challenge.lua Mon May 13 21:23:25 2019 +0200 @@ -444,12 +444,10 @@ string.format(loc("Planes used: %d"), planesUsed) .. "|" .. "", 0, 0 ) - SetState(player, gstWinner) PlaySound(sound, player) - - DismissTeam(playerTeamName) EndGame() + SetState(player, gstWinner) end if RCGear ~= nil then diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Challenge/User_Mission_-_That_Sinking_Feeling.lua --- a/share/hedgewars/Data/Missions/Challenge/User_Mission_-_That_Sinking_Feeling.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/User_Mission_-_That_Sinking_Feeling.lua Mon May 13 21:23:25 2019 +0200 @@ -264,6 +264,9 @@ awardAchievement(loc("Lively Lifeguard")) end EndGame() + for _, hog in pairs(hh) do + SetState(hog, gstWinner) + end end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua Mon May 13 21:23:25 2019 +0200 @@ -230,6 +230,7 @@ SendStat(siGameResult, loc("You have completed the Basic Bazooka Training!")) SendStat(siPlayerKills, "0", GetHogTeamName(hog)) EndGame() + SetState(hog, gstWinner) gameOver = true end gamePhase = gamePhase + 1 diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua Mon May 13 21:23:25 2019 +0200 @@ -218,6 +218,7 @@ EndTurn(true) EndGame() + SetState(Player, gstWinner) end, } diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Training/Basic_Training_-_Grenade.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Grenade.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Grenade.lua Mon May 13 21:23:25 2019 +0200 @@ -200,6 +200,7 @@ SendStat(siPlayerKills, "0", GetHogTeamName(hog)) EndGame() gameOver = true + SetState(hog, gstWinner) end gamePhase = gamePhase + 1 end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Training/Basic_Training_-_Movement.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Movement.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Movement.lua Mon May 13 21:23:25 2019 +0200 @@ -272,6 +272,9 @@ SetWeapon(amNothing) SetGearMessage(CurrentHedgehog, band(GetGearMessage(CurrentHedgehog), bnot(gmAllStoppable))) EndGame() + for i=1,#hhs do + SetState(hhs[i], gstWinner) + end end local function switchHedgehogText() diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua Mon May 13 21:23:25 2019 +0200 @@ -352,6 +352,7 @@ SendStat(siGameResult, loc("You have finished the Basic Rope Training!")) SendStat(siPlayerKills, "0", teamName) EndGame() + SetState(hog, gstWinner) gameOver = true SetInputMask(0) end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Scripts/SimpleMission.lua --- a/share/hedgewars/Data/Scripts/SimpleMission.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Scripts/SimpleMission.lua Mon May 13 21:23:25 2019 +0200 @@ -522,13 +522,14 @@ end AddCaption(loc("Victory!"), capcolDefault, capgrpGameState) SendStat(siGameResult, loc("You win!")) - if GetHogLevel(CurrentHedgehog) == 0 then - SetState(CurrentHedgehog, bor(GetState(CurrentHedgehog), gstWinner)) - SetState(CurrentHedgehog, band(GetState(CurrentHedgehog), bnot(gstHHDriven))) - PlaySound(sndVictory, CurrentHedgehog) - end _G.sm.makeStats(_G.sm.playerClan) EndGame() + if GetHogLevel(CurrentHedgehog) == 0 then + for team, hog in pairs(teamHogs[GetHogTeamName(CurrentHedgehog)]) do + SetState(hog, gstWinner) + PlaySound(sndVictory, hog) + end + end end end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Scripts/SpeedShoppa.lua --- a/share/hedgewars/Data/Scripts/SpeedShoppa.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Scripts/SpeedShoppa.lua Mon May 13 21:23:25 2019 +0200 @@ -177,6 +177,9 @@ end gameEnded = true EndGame() + if cratesCollected == #crates then + SetState(playerHog, gstWinner) + end end end diff -r 9d6a25239d00 -r 4c5fb1ee75b7 share/hedgewars/Data/Scripts/TargetPractice.lua --- a/share/hedgewars/Data/Scripts/TargetPractice.lua Mon May 13 20:26:07 2019 +0200 +++ b/share/hedgewars/Data/Scripts/TargetPractice.lua Mon May 13 21:23:25 2019 +0200 @@ -227,6 +227,9 @@ if end_timer == 0 then generateStats() EndGame() + if scored == total_targets then + SetState(player, gstWinner) + end end end_timer = end_timer - 20 end @@ -272,7 +275,6 @@ PlaySound(sndVictory, player) end SetEffect(player, heInvulnerable, 1) - SetState(player, bor(GetState(player), gstWinner)) time_goal = TurnTimeLeft -- Disable control SetInputMask(0)