diff --git a/src/p_interaction.cpp b/src/p_interaction.cpp index 075d978bc6..24d6cfd839 100644 --- a/src/p_interaction.cpp +++ b/src/p_interaction.cpp @@ -1062,6 +1062,9 @@ void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage thrust = FLOAT2FIXED(fltthrust); + // Don't apply ultra-small damage thrust + if (thrust < FRACUNIT/100) thrust = 0; + // make fall forwards sometimes if ((damage < 40) && (damage > target->health) && (target->z - origin->z > 64*FRACUNIT) diff --git a/src/p_map.cpp b/src/p_map.cpp index b7f8c04f17..7a9d9da19f 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -4356,8 +4356,8 @@ void P_RadiusAttack (AActor *bombspot, AActor *bombsource, int bombdamage, int b velz *= 0.8f; } angle_t ang = R_PointToAngle2 (bombspot->x, bombspot->y, thing->x, thing->y) >> ANGLETOFINESHIFT; - thing->velx += fixed_t (finecosine[ang] * thrust); - thing->vely += fixed_t (finesine[ang] * thrust); + thing->velx += FLOAT2FIXED (finecosine[ang] * thrust); + thing->vely += FLOAT2FIXED (finesine[ang] * thrust); if (bombdodamage) thing->velz += (fixed_t)velz; // this really doesn't work well } diff --git a/wadsrc/static/actors/strife/oracle.txt b/wadsrc/static/actors/strife/oracle.txt index 594eb83afc..ca25f25260 100644 --- a/wadsrc/static/actors/strife/oracle.txt +++ b/wadsrc/static/actors/strife/oracle.txt @@ -10,6 +10,7 @@ ACTOR Oracle 199 Height 56 Monster +NOTDMATCH + +NOBLOOD DamageFactor "Fire", 0.5 DamageFactor "SpectralLow", 0 MaxDropoffHeight 32 diff --git a/wadsrc/static/mapinfo/chex.txt b/wadsrc/static/mapinfo/chex.txt index 2f2f494fb6..edfbc8a469 100644 --- a/wadsrc/static/mapinfo/chex.txt +++ b/wadsrc/static/mapinfo/chex.txt @@ -11,7 +11,7 @@ gameinfo chatsound = "misc/chat2" finalemusic = "$MUSIC_VICTOR" finaleflat = "FLOOR4_8" - finalepage = "HELP2", "VICTORY2", "ENDPIC" + finalepage = "CREDIT", "VICTORY2", "ENDPIC" infopage = "HELP1", "CREDIT" quitsound = "menu/quit1" borderflat = "FLOOR7_2"