# HG changeset patch # User Wuzzy # Date 1493908599 -7200 # Node ID cd53f1bf52ffb007dadc2f425dde9b875d637931 # Parent e6ec081b7fe0ecdeb5fc92f784de85508ab3f072 Stop telling the player to build a track in Racer when it is already built diff -r e6ec081b7fe0 -r cd53f1bf52ff share/hedgewars/Data/Scripts/Multiplayer/Racer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Thu May 04 13:36:04 2017 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Thu May 04 16:36:39 2017 +0200 @@ -472,7 +472,11 @@ else SendStat(siGameResult, loc("Round draw")) SendStat(siCustomAchievement, loc("Nobody managed to finish the race. What a shame!")) - SendStat(siCustomAchievement, loc("Maybe you should try easier waypoints next time.")) + if specialPointsCount > 0 then + SendStat(siCustomAchievement, loc("Maybe you should try an easier map next time.")) + else + SendStat(siCustomAchievement, loc("Maybe you should try easier waypoints next time.")) + end end -- Kill all the losers @@ -557,6 +561,21 @@ end +function InstructionsBuild() + ShowMission( + loc("Racer"), + loc("A Hedgewars mini-game"), + loc("Build a track and race.") .. "|" .. + string.format(loc("Round limit: %d"), roundLimit), + 4, 4000) +end + +function InstructionsRace(time) + ShowMission(loc("Racer"), + loc("A Hedgewars mini-game"), + loc("Touch all waypoints as fast as you can!"), + 2, time) +end function onGameStart() SendGameResultOff() @@ -569,20 +588,16 @@ RoundHasChanged = false for i = 0, (specialPointsCount-1) do - PlaceWayPoint(specialPointsX[i], specialPointsY[i]) + PlaceWayPoint(specialPointsX[i], specialPointsY[i], false) end RebuildTeamInfo() - ShowMission ( - loc("Racer"), - loc("A Hedgewars mini-game"), - - loc("Build a track and race.") .. "|" .. - string.format(loc("Round limit: %d"), roundLimit) .. "|" .. - - "", 4, 4000 - ) + if specialPointsCount > 0 then + InstructionsRace() + else + InstructionsBuild() + end SetAmmoTexts(amAirAttack, loc("Place waypoint"), loc("Racer tool"), loc("Build an awesome race track by placing|waypoints which the hedgehogs have to|touch in any order to finish a round.") .. "|" .. @@ -599,7 +614,7 @@ end -function PlaceWayPoint(x,y) +function PlaceWayPoint(x,y,placedByUser) if not racerActive then if wpCount == 0 or wpX[wpCount - 1] ~= x or wpY[wpCount - 1] ~= y then @@ -616,7 +631,9 @@ wpCount = wpCount + 1 - AddCaption(string.format(loc("Waypoint placed. Available points remaining: %d"), wpLimit-wpCount)) + if placedByUser then + AddCaption(string.format(loc("Waypoint placed. Available points remaining: %d"), wpLimit-wpCount)) + end end end end @@ -683,9 +700,9 @@ gameBegun = true roundNumber = 0 firstClan = GetHogClan(CurrentHedgehog) - ShowMission(loc("Racer"), - loc("A Hedgewars mini-game"), - loc("Touch all waypoints as fast as you can!"), 2, 4000) + if specialPointsCount == 0 then + InstructionsRace() + end SetAmmoTexts(amSkip, nil, nil, nil) else @@ -731,7 +748,7 @@ AddCaption(loc("Please place the waypoint further away from the waterline")) PlaySound(sndDenied) else - PlaceWayPoint(x, y) + PlaceWayPoint(x, y, true) if wpCount == wpLimit then AddCaption(loc("Race complexity limit reached")) EndTurn(true)