From: Holger Schemel Date: Tue, 17 Jun 2003 22:54:33 +0000 (+0200) Subject: rnd-20030618-1-src X-Git-Tag: 3.0.0^2~46 X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=commitdiff_plain;h=eb511f4e4f69c2ec22de7ed0b9e15f893ec0a88b rnd-20030618-1-src --- diff --git a/src/conftime.h b/src/conftime.h index 0a8f5d10..c4658ed9 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-06-17 00:51]" +#define COMPILE_DATE_STRING "[2003-06-18 00:47]" diff --git a/src/game.c b/src/game.c index 770f34bc..3c3f144b 100644 --- a/src/game.c +++ b/src/game.c @@ -114,6 +114,7 @@ static void CloseAllOpenTimegates(void); static void CheckGravityMovement(struct PlayerInfo *); static void KillHeroUnlessProtected(int, int); +static void CheckTriggeredElementChange(int, int); static void ChangeElementDoIt(int, int, int); static void PlaySoundLevel(int, int, int); @@ -2023,6 +2024,8 @@ void Bang(int x, int y) Explode(x, y, EX_PHASE_START, EX_NORMAL); break; } + + CheckTriggeredElementChange(element, CE_OTHER_EXPLODING); } void SplashAcid(int x, int y) @@ -4848,10 +4851,12 @@ static void ChangeActiveTrap(int x, int y) DrawLevelFieldCrumbledSand(x, y); } -static void ChangeElementDoIt(int x, int y, int element) +static void ChangeElementDoIt(int x, int y, int element_new) { + CheckTriggeredElementChange(Feld[x][y], CE_OTHER_CHANGING); + RemoveField(x, y); - Feld[x][y] = element; + Feld[x][y] = element_new; ResetGfxAnimation(x, y); ResetRandomAnimationValue(x, y); @@ -6747,6 +6752,9 @@ int DigField(struct PlayerInfo *player, DrawLevelField(x + dx, y + dy); PlaySoundLevelElementAction(x, y, element, ACTION_PUSHING); + + CheckTriggeredElementChange(element, CE_OTHER_PUSHING); + break; case EL_GATE_1: @@ -7032,6 +7040,8 @@ int DigField(struct PlayerInfo *player, PlaySoundLevel(x, y, SND_GAME_SOKOBAN_SOLVING); } + CheckTriggeredElementChange(element, CE_OTHER_PUSHING); + break; case EL_PENGUIN: @@ -7116,6 +7126,8 @@ int DigField(struct PlayerInfo *player, DrawLevelField(x + dx, y + dy); PlaySoundLevelElementAction(x, y, element, ACTION_PUSHING); + CheckTriggeredElementChange(element, CE_OTHER_PUSHING); + break; }