diff --git a/assets/Sounds/FX/burst.wav b/assets/Sounds/FX/burst.wav new file mode 100644 index 0000000..bc3b201 Binary files /dev/null and b/assets/Sounds/FX/burst.wav differ diff --git a/src/mixer.c b/src/mixer.c index f4b0068..769f486 100644 --- a/src/mixer.c +++ b/src/mixer.c @@ -87,6 +87,7 @@ load_effects(void) effects[CHEST_OPEN] = load_effect("Sounds/FX/chest_open.wav"); effects[FADE_IN] = load_effect("Sounds/FX/fade_in.wav"); effects[FADE_OUT] = load_effect("Sounds/FX/fade_out.wav"); + effects[BURST] = load_effect("Sounds/FX/burst.wav"); } void diff --git a/src/mixer.h b/src/mixer.h index da0935a..b95f726 100644 --- a/src/mixer.h +++ b/src/mixer.h @@ -63,6 +63,7 @@ typedef enum Fx_t { CHEST_OPEN, FADE_IN, FADE_OUT, + BURST, LAST_EFFECT } Fx; diff --git a/src/monster.c b/src/monster.c index 34e5adb..9ef4949 100644 --- a/src/monster.c +++ b/src/monster.c @@ -35,6 +35,7 @@ #include "texturecache.h" #include "trap.h" #include "object.h" +#include "mixer.h" static void monster_set_sprite_clip_for_current_state(Monster *m) @@ -145,6 +146,7 @@ sorcerer_blast(Monster *m, RoomMatrix *rm) { gui_log("%s creates a magical explosion", m->label); particle_engine_eldritch_explosion(m->sprite->pos, DIM(TILE_DIMENSION, TILE_DIMENSION)); + mixer_play_effect(BURST); damage_surroundings(m, rm); } @@ -159,6 +161,7 @@ assassin_cloak_effect(Monster *m, bool cloak) particle_engine_fire_explosion(m->sprite->pos, DIM(TILE_DIMENSION, TILE_DIMENSION)); m->sprite->hidden = cloak; m->stateIndicator.sprite->hidden = cloak; + mixer_play_effect(cloak ? FADE_OUT : FADE_IN); }