more Soundeffects tinkering

This commit is contained in:
nhmall
2023-01-27 23:41:54 -05:00
parent 90895330c5
commit 5b3a8b5774
5 changed files with 30 additions and 11 deletions

View File

@@ -312,10 +312,13 @@ enum sound_effect_entries {
se_orc_grunt = 186, se_orc_grunt = 186,
se_avian_screak = 187, se_avian_screak = 187,
se_paranoid_confirmation = 188, se_paranoid_confirmation = 188,
se_bars_whap = 189, se_bars_whang = 194,
se_bars_flapp = 190, se_bars_whap = 195,
se_bars_clink = 191, se_bars_flapp = 196,
se_bars_clonk = 192, se_bars_clink = 197,
se_bars_clonk = 198,
se_boomerang_klonk = 199,
se_bang_weapon_side = 200,
number_of_se_entries number_of_se_entries
}; };

View File

@@ -279,6 +279,7 @@ dig(void)
} }
break; break;
case 1: case 1:
Soundeffect(se_bang_weapon_side, 100);
pline("Bang! You hit with the broad side of %s!", pline("Bang! You hit with the broad side of %s!",
the(xname(uwep))); the(xname(uwep)));
wake_nearby(); wake_nearby();

View File

@@ -1234,17 +1234,28 @@ hit_bars(
dissolve_bars(barsx, barsy); dissolve_bars(barsx, barsy);
} }
} else { } else {
if (!Deaf) if (!Deaf) {
pline("%s!", (obj_type == BOULDER || obj_type == HEAVY_IRON_BALL) static enum sound_effect_entries se[] = {
? "Whang" se_zero_invalid,
: harmless_missile(otmp) ? "Whap" se_bars_whang, se_bars_whap, se_bars_flapp,
: is_flimsy(otmp) ? "Flapp" se_bars_clink, se_bars_clonk
};
static const char *const barsounds[] = {
"", "Whang", "Whap", "Flapp", "Clink", "Clonk"
};
int bsindx = (obj_type == BOULDER || obj_type == HEAVY_IRON_BALL)
? 1
: harmless_missile(otmp) ? 2
: is_flimsy(otmp) ? 3
: (otmp->oclass == COIN_CLASS : (otmp->oclass == COIN_CLASS
|| objects[obj_type].oc_material == GOLD || objects[obj_type].oc_material == GOLD
|| objects[obj_type].oc_material == SILVER) || objects[obj_type].oc_material == SILVER)
? "Clink" ? 4
: "Clonk"); : SIZE(barsounds) - 1;
Soundeffect(se[bsindx], 100);
pline("%s!", barsounds[bsindx]);
}
if (!(harmless_missile(otmp) || is_flimsy(otmp))) if (!(harmless_missile(otmp) || is_flimsy(otmp)))
noise = 4 * 4; noise = 4 * 4;

View File

@@ -2040,10 +2040,13 @@ static const struct soundeffect_automapping
{ se_orc_grunt, "orc_grunt" }, { se_orc_grunt, "orc_grunt" },
{ se_avian_screak, "avian_screak" }, { se_avian_screak, "avian_screak" },
{ se_paranoid_confirmation, "paranoid_confirmation" }, { se_paranoid_confirmation, "paranoid_confirmation" },
{ se_bars_whang, "bars_whang" },
{ se_bars_whap, "bars_whap" }, { se_bars_whap, "bars_whap" },
{ se_bars_flapp, "bars_flapp" }, { se_bars_flapp, "bars_flapp" },
{ se_bars_clink, "bars_clink" }, { se_bars_clink, "bars_clink" },
{ se_bars_clonk, "bars_clonk" }, { se_bars_clonk, "bars_clonk" },
{ se_boomerang_klonk, "boomerang_klonk" },
{ se_bang_weapon_side, "bang_weapon_side" },
}; };
static const char *semap_basenames[SIZE(se_mappings_init)]; static const char *semap_basenames[SIZE(se_mappings_init)];

View File

@@ -3852,6 +3852,7 @@ boomhit(struct obj *obj, coordxy dx, coordxy dy)
tmp_at(gb.bhitpos.x, gb.bhitpos.y); tmp_at(gb.bhitpos.x, gb.bhitpos.y);
delay_output(); delay_output();
if (IS_SINK(levl[gb.bhitpos.x][gb.bhitpos.y].typ)) { if (IS_SINK(levl[gb.bhitpos.x][gb.bhitpos.y].typ)) {
Soundeffect(se_boomerang_klonk, 75);
if (!Deaf) if (!Deaf)
pline("Klonk!"); pline("Klonk!");
wake_nearto(gb.bhitpos.x, gb.bhitpos.y, 20); wake_nearto(gb.bhitpos.x, gb.bhitpos.y, 20);