diff --git a/docs/tr2/CHANGELOG.md b/docs/tr2/CHANGELOG.md index 487e43dc0..c4edadc71 100644 --- a/docs/tr2/CHANGELOG.md +++ b/docs/tr2/CHANGELOG.md @@ -13,6 +13,7 @@ - fixed door cheat not working with drawbridges (#1748) - fixed Lara's underwater hue being retained when re-entering a boat (#1596) - fixed Lara reloading the harpoon gun after every shot in NG+ (#1575) +- fixed the dragon reviving itself after Lara removes the dagger in rare circumstances (#1572) ## [0.5](https://github.com/LostArtefacts/TRX/compare/afaf12a...tr2-0.5) - 2024-10-08 - added `/sfx` command diff --git a/docs/tr2/README.md b/docs/tr2/README.md index 418b524f8..efb27f919 100644 --- a/docs/tr2/README.md +++ b/docs/tr2/README.md @@ -29,6 +29,7 @@ decompilation process. We recognize that there is much work to be done. - fixed controls dialog remapping being too sensitive - fixed the distorted skybox in room 5 of Barkhang Monastery - fixed Lara reloading the harpoon gun after every shot in NG+ +- fixed the dragon reviving itself after Lara removes the dagger in rare circumstances #### Visuals diff --git a/src/tr2/game/objects/creatures/dragon.c b/src/tr2/game/objects/creatures/dragon.c index 8850db959..daa0bc47b 100644 --- a/src/tr2/game/objects/creatures/dragon.c +++ b/src/tr2/game/objects/creatures/dragon.c @@ -263,7 +263,7 @@ void __cdecl Dragon_Control(const int16_t item_num) if (dragon_front_item->hit_points <= 0) { if (dragon_front_item->current_anim_state != DRAGON_ANIM_DEATH) { dragon_front_item->anim_num = - g_Objects[O_DRAGON_FRONT].anim_idx + 21; + g_Objects[O_DRAGON_FRONT].anim_idx + DRAGON_ANIM_DIE; dragon_front_item->frame_num = g_Anims[dragon_front_item->anim_num].frame_base; dragon_front_item->goal_anim_state = DRAGON_ANIM_DEATH; @@ -275,7 +275,7 @@ void __cdecl Dragon_Control(const int16_t item_num) if (creature->flags == DRAGON_LIVE_TIME) { dragon_front_item->goal_anim_state = DRAGON_ANIM_STOP; } - if (creature->flags >= DRAGON_LIVE_TIME + DRAGON_ALMOST_LIVE) { + if (creature->flags > DRAGON_LIVE_TIME + DRAGON_ALMOST_LIVE) { dragon_front_item->hit_points = g_Objects[O_DRAGON_FRONT].hit_points / 2; }