@@ -729,6 +729,18 @@ class SoundMaker
729
729
sm->m_sound ->playSound (sm->m_ndef ->get (nde->n ).sound_dug , false );
730
730
}
731
731
732
+ static void playerDamage (MtEvent *e, void *data)
733
+ {
734
+ SoundMaker *sm = (SoundMaker*)data;
735
+ sm->m_sound ->playSound (SimpleSoundSpec (" player_damage" , 0.5 ), false );
736
+ }
737
+
738
+ static void playerFallingDamage (MtEvent *e, void *data)
739
+ {
740
+ SoundMaker *sm = (SoundMaker*)data;
741
+ sm->m_sound ->playSound (SimpleSoundSpec (" player_falling_damage" , 0.5 ), false );
742
+ }
743
+
732
744
void registerReceiver (MtEventManager *mgr)
733
745
{
734
746
mgr->reg (" ViewBobbingStep" , SoundMaker::viewBobbingStep, this );
@@ -737,6 +749,8 @@ class SoundMaker
737
749
mgr->reg (" CameraPunchLeft" , SoundMaker::cameraPunchLeft, this );
738
750
mgr->reg (" CameraPunchRight" , SoundMaker::cameraPunchRight, this );
739
751
mgr->reg (" NodeDug" , SoundMaker::nodeDug, this );
752
+ mgr->reg (" PlayerDamage" , SoundMaker::playerDamage, this );
753
+ mgr->reg (" PlayerFallingDamage" , SoundMaker::playerFallingDamage, this );
740
754
}
741
755
742
756
void step (float dtime)
@@ -2202,6 +2216,9 @@ void the_game(
2202
2216
player->hurt_tilt_timer = 1.5 ;
2203
2217
player->hurt_tilt_strength = event.player_damage .amount /2 ;
2204
2218
player->hurt_tilt_strength = rangelim (player->hurt_tilt_strength , 2.0 , 10.0 );
2219
+
2220
+ MtEvent *e = new SimpleTriggerEvent (" PlayerDamage" );
2221
+ gamedef->event ()->put (e);
2205
2222
}
2206
2223
else if (event.type == CE_PLAYER_FORCE_MOVE)
2207
2224
{
0 commit comments