diff -r 987ec27b6042 -r 8e05feb871c3 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sat Apr 10 01:09:29 2010 +0000 +++ b/hedgewars/uGears.pas Sat Apr 10 19:04:39 2010 +0000 @@ -625,6 +625,8 @@ stAfterDelay, stChWin, stWater, stChWin2, stHealth, stSpawn, stNTurn) = stDelay; var Gear, t: PGear; + i: LongInt; + s: shortstring; begin PrvInactive:= AllInactive; AllInactive:= true; @@ -697,7 +699,7 @@ end; stWater: if (not bBetweenTurns) and (not isInMultiShoot) then begin - if TotalRounds = cSuddenDTurns + 2 then bWaterRising:= true; + if TotalRounds = cSuddenDTurns + 1 then bWaterRising:= true; if bWaterRising then AddGear(0, 0, gtWaterUp, 0, _0, _0, 0); @@ -709,13 +711,21 @@ inc(step) end; stHealth: begin - if (TotalRounds = cSuddenDTurns) and (cHealthDecrease = 0) then + if (TotalRounds = cSuddenDTurns - 1) and (cHealthDecrease = 0) then begin cHealthDecrease:= 5; AddCaption(trmsg[sidSuddenDeath], cWhiteColor, capgrpGameState); playSound(sndSuddenDeath) + end + else if (TotalRounds < cSuddenDTurns - 1) then + begin + i:= cSuddenDTurns - TotalRounds - 1; + s:= inttostr(i); + if i = 1 then + AddCaption(trmsg[sidRoundSD], cWhiteColor, capgrpGameState) + else if i in [2, 5, 10, 15, 20, 25, 50, 100] then + AddCaption(Format(trmsg[sidRoundsSD], s), cWhiteColor, capgrpGameState); end; - if bBetweenTurns or isInMultiShoot or (TotalRounds = -1) then inc(step) @@ -2203,7 +2213,7 @@ FollowGear:= AddGear(0, 0, gtCase, 0, _0, _0, 0); FollowGear^.Health:= 25; FollowGear^.Pos:= posCaseHealth; - AddCaption(GetEventString(eidNewHealthPack), cWhiteColor, capgrpGameState); + AddCaption(GetEventString(eidNewHealthPack), cWhiteColor, capgrpAmmoInfo); end else if (t