# HG changeset patch # User smxx # Date 1267482357 0 # Node ID bd1909984a094074fc5f17aa6558ffa5d7aea995 # Parent b29c1358498dc3490cc9f45a6a44ded8d7058c46 Engine: * Added damage modifier to game mode/rule display * Added low gravity activation sound diff -r b29c1358498d -r bd1909984a09 hedgewars/HHHandlers.inc --- a/hedgewars/HHHandlers.inc Mon Mar 01 19:57:09 2010 +0000 +++ b/hedgewars/HHHandlers.inc Mon Mar 01 22:25:57 2010 +0000 @@ -192,7 +192,10 @@ amDrill: FollowGear:= AddGear(hwRound(X), hwRound(Y), gtDrill, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor, 0); amBallgun: CurAmmoGear:= AddGear(hwRound(X), hwRound(Y), gtBallgun, 0, xx * _0_5, yy * _0_5, 0); amJetpack: CurAmmoGear:= AddGear(hwRound(X), hwRound(Y), gtJetpack, 0, _0, _0, 0); - amLowGravity: cGravity:= cMaxWindSpeed / 2; + amLowGravity: begin + PlaySound(sndLowGravity); + cGravity:= cMaxWindSpeed / 2 + end; amExtraDamage: cDamageModifier:= _1_5; amInvulnerable: Invulnerable:= true; amExtraTime: TurnTimeLeft:= TurnTimeLeft + 30000; diff -r b29c1358498d -r bd1909984a09 hedgewars/uConsts.pas --- a/hedgewars/uConsts.pas Mon Mar 01 19:57:09 2010 +0000 +++ b/hedgewars/uConsts.pas Mon Mar 01 22:25:57 2010 +0000 @@ -104,9 +104,9 @@ sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack, sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat, sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter, - sndHomerun, sndMolotov, sndWalking, sndCover, sndUhOh, - sndOops, sndNooo, sndHello, sndRopeShot, sndRopeAttach, - sndRopeRelease, sndSwitchHog, sndVictory, sndSniperReload, sndSteps); + sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops, + sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease, + sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity); TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer, amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, @@ -290,6 +290,7 @@ tfIgnoreDelays = $00000008; tfTargetRespawn = $00000010; + gfAny = $FFFFFFFF; gfForts = $00000001; gfMultiWeapon = $00000002; gfSolidLand = $00000004; @@ -754,7 +755,6 @@ (FileName: 'shutterclick.ogg'; Path: ptSounds),// sndShutter (FileName: 'homerun.ogg'; Path: ptSounds),// sndHomerun (FileName: 'molotov.ogg'; Path: ptSounds),// sndMolotov - (FileName: ''; Path: ptSounds),// sndWalking (FileName: 'Takecover.ogg'; Path: ptVoices),// sndCover (FileName: 'Uh-oh.ogg'; Path: ptVoices),// sndUhOh (FileName: 'Oops.ogg'; Path: ptVoices),// sndOops @@ -766,7 +766,8 @@ (FileName: 'switchhog.ogg'; Path: ptSounds),// sndSwitchHog (FileName: 'victory.ogg'; Path: ptVoices),// sndVictory (FileName: 'sniperreload.ogg'; Path: ptSounds),// sndSniperReload - (FileName: 'steps.ogg'; Path: ptSounds) // sndSteps + (FileName: 'steps.ogg'; Path: ptSounds),// sndSteps + (FileName: 'lowgravity.ogg'; Path: ptSounds) // sndLowGravity ); Ammoz: array [TAmmoType] of record diff -r b29c1358498d -r bd1909984a09 hedgewars/uLocale.pas --- a/hedgewars/uLocale.pas Mon Mar 01 19:57:09 2010 +0000 +++ b/hedgewars/uLocale.pas Mon Mar 01 22:25:57 2010 +0000 @@ -40,7 +40,8 @@ TGoalStrId = (gidCaption, gidSubCaption, gidForts, gidLowGravity, gidInvulnerable, gidVampiric, gidKarma, gidKing, gidPlaceHog, gidArtillery, - gidSolidLand, gidSharedAmmo, gidMineTimer, gidNoMineTimer, gidRandomMineTimer); + gidSolidLand, gidSharedAmmo, gidMineTimer, gidNoMineTimer, gidRandomMineTimer, + gidDamageModifier); const MAX_EVENT_STRINGS = 100; var trammo: array[TAmmoStrId] of ansistring; diff -r b29c1358498d -r bd1909984a09 hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Mon Mar 01 19:57:09 2010 +0000 +++ b/hedgewars/uWorld.pas Mon Mar 01 22:25:57 2010 +0000 @@ -78,7 +78,7 @@ g: ansistring; // helper functions to create the goal/game mode string - function AddGoal(s: ansistring; gf: LongInt; si: TGoalStrId; i: LongInt): ansistring; + function AddGoal(s: ansistring; gf: longword; si: TGoalStrId; i: LongInt): ansistring; var t: ansistring; begin if (GameFlags and gf) <> 0 then @@ -89,7 +89,7 @@ AddGoal:= s; end; - function AddGoal(s: ansistring; gf: LongInt; si: TGoalStrId): ansistring; + function AddGoal(s: ansistring; gf: longword; si: TGoalStrId): ansistring; begin if (GameFlags and gf) <> 0 then s:= s + trgoal[si] + '|'; @@ -117,8 +117,25 @@ CurrentTeam:= ClansArray[0]^.Teams[0]; end; -// if special game flags are set, add them to the game mode notice window and then show it +// if special game flags/settings are changed, add them to the game mode notice window and then show it g:= ''; // no text/things to note yet + +// modified damage modificator? +if cDamagePercent <> 100 then + g:= AddGoal(g, gfAny, gidDamageModifier, cDamagePercent); + +// modified mine timers? +if cMinesTime <> 3000 then + begin + if cMinesTime = 0 then + g:= AddGoal(g, gfMines, gidNoMineTimer) + else if cMinesTime < 0 then + g:= AddGoal(g, gfMines, gidRandomMineTimer) + else + g:= AddGoal(g, gfMines, gidMineTimer, cMinesTime div 1000); + end; + +// check different game flags g:= AddGoal(g, gfForts, gidForts); // forts? g:= AddGoal(g, gfLowGravity, gidLowGravity); // low gravity? g:= AddGoal(g, gfInvulnerable, gidInvulnerable); // invulnerability? @@ -129,15 +146,7 @@ g:= AddGoal(g, gfArtillery, gidArtillery); // artillery? g:= AddGoal(g, gfSolidLand, gidSolidLand); // solid land? g:= AddGoal(g, gfSharedAmmo, gidSharedAmmo); // shared ammo? -if cMinesTime <> 3000 then // changed mine timer? - begin - if cMinesTime = 0 then - g:= AddGoal(g, gfMines, gidNoMineTimer) - else if cMinesTime < 0 then - g:= AddGoal(g, gfMines, gidRandomMineTimer) - else - g:= AddGoal(g, gfMines, gidMineTimer, cMinesTime div 1000); - end; + // if the string has been set, show it for (default timeframe) seconds if g <> '' then ShowMission(trgoal[gidCaption], trgoal[gidSubCaption], g, 1, 0); diff -r b29c1358498d -r bd1909984a09 share/hedgewars/Data/Locale/de.txt --- a/share/hedgewars/Data/Locale/de.txt Mon Mar 01 19:57:09 2010 +0000 +++ b/share/hedgewars/Data/Locale/de.txt Mon Mar 01 22:25:57 2010 +0000 @@ -1,4 +1,4 @@ -; German locale +; German locale 00:00=Granate 00:01=Splittergranate @@ -260,4 +260,5 @@ 05:11=Gemeinsames Arsenal: Alle Teams gleicher Farbe teilen sich ihr Arsenal 05:12=Minenzünder: Minen explodieren nach %1 Sekunde(n) 05:13=Minenzünder: Minen explodieren sofort -05:14=Minenzünder: Minen explodieren nach 0 - 4 Sekunden \ No newline at end of file +05:14=Minenzünder: Minen explodieren nach 0 - 4 Sekunden +05:15=Schadensmodifikator: Alle Waffen verursachen %1 % Schaden diff -r b29c1358498d -r bd1909984a09 share/hedgewars/Data/Locale/en.txt --- a/share/hedgewars/Data/Locale/en.txt Mon Mar 01 19:57:09 2010 +0000 +++ b/share/hedgewars/Data/Locale/en.txt Mon Mar 01 22:25:57 2010 +0000 @@ -460,6 +460,7 @@ 05:09=Artillery: Hogs can't walk to change position 05:10=Indestructible Terrain: Most weapons won't destroy terrain 05:11=Shared Ammo: All teams of the same color share their ammunition -05:12=Mine timers: Mines will detonate after %1 second(s) -05:13=Mine timers: Mines will detonate instantly -05:14=Mine timers: Mines will detonate after 0 - 4 seconds \ No newline at end of file +05:12=Mine Timers: Mines will detonate after %1 second(s) +05:13=Mine Timers: Mines will detonate instantly +05:14=Mine Timers: Mines will detonate after 0 - 4 seconds +05:15=Damage Modifier: All weapons will do %1% damage diff -r b29c1358498d -r bd1909984a09 share/hedgewars/Data/Sounds/lowgravity.ogg Binary file share/hedgewars/Data/Sounds/lowgravity.ogg has changed