diff --git a/src/k_collide.c b/src/k_collide.c index 86e94c292..f08f7a00b 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -560,6 +560,14 @@ boolean K_DropTargetCollide(mobj_t *t1, mobj_t *t2) t2->threshold = 10; } + if (t1->reactiontime > 1000) { + S_StartSound(t2, sfx_kdtrg3); + } else if (t1->reactiontime > 500) { + S_StartSound(t2, sfx_kdtrg2); + } else { + S_StartSound(t2, sfx_kdtrg1); + } + if (draggeddroptarget && draggeddroptarget->player) { // The following removes t1, be warned diff --git a/src/k_kart.c b/src/k_kart.c index 58cb6fe31..412f3bdc3 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1275,7 +1275,8 @@ static void K_SpawnBumpForObjs(mobj_t *mobj1, mobj_t *mobj2) } else if (mobj1->type == MT_DROPTARGET || mobj1->type == MT_DROPTARGET_SHIELD) // no need to check the other way around { - S_StartSound(mobj2, sfx_s258); + // Sound handled in K_DropTargetCollide + // S_StartSound(mobj2, sfx_s258); fx->colorized = true; fx->color = mobj1->color; } diff --git a/src/sounds.c b/src/sounds.c index cae8496f1..8edbb7749 100644 --- a/src/sounds.c +++ b/src/sounds.c @@ -1103,6 +1103,11 @@ sfxinfo_t S_sfx[NUMSFX] = {"typri1", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SA2 boss typewriting 1 {"typri2", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, // SA2 final boss-type typewriting + // SRB2Kart - Drop target sounds + {"kdtrg1", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, ""}, + {"kdtrg2", false, 64, 8, -1, NULL, 0, -1, -1, LUMPERROR, ""}, + {"kdtrg3", false, 64, 16, -1, NULL, 0, -1, -1, LUMPERROR, ""}, + // SRB2Kart - Engine sounds // Engine class A {"krta00", false, 48, 65, -1, NULL, 0, -1, -1, LUMPERROR, ""}, diff --git a/src/sounds.h b/src/sounds.h index 63e115566..0686cab46 100644 --- a/src/sounds.h +++ b/src/sounds.h @@ -1167,6 +1167,11 @@ typedef enum sfx_typri1, sfx_typri2, + // SRB2Kart - Drop target sounds + sfx_kdtrg1, + sfx_kdtrg2, + sfx_kdtrg3, + // Next up: UNIQUE ENGINE SOUNDS! Hoooooo boy... // Engine class A - Low Speed, Low Weight sfx_krta00,