azerothcore-wotlk
azerothcore-wotlk copied to clipboard
fix(core/Koltira Deathweaver) Restart event if no player
Changes Proposed:
This PR proposes changes to:
- [x] Core (units, players, creatures, game systems).
Issues Addressed:
- Closes https://github.com/AdonisWOW/bugtracker/issues/5
- Closes https://github.com/azerothcore/azerothcore-wotlk/issues/19992
SOURCE:
- https://www.wowhead.com/wotlk/npc=28912/koltira-deathweaver
- https://www.wowhead.com/wotlk/quest=12727/bloody-breakout
- https://www.wowhead.com/wotlk/npc=28913/thassarian
Tests Performed:
This PR has been:
- [x] Tested in-game by the author.
How to Test the Changes:
- Take the quest (
.quest add 12727
) - Give it to the NPC and continue with the next one
- Since the NPC doesn't detect the player's presence, the quest doesn't end because there are NPCs in the area, and then the NPC itself doesn't restart. Preventing the rest of the players from completing the quest, unless they eliminate all the NPCs in the area, thus allowing the script to end and then having to wait for the NPC to spawn again to take the quest and be able to finish it.
-
Possibly, the quest, when added, cannot be completed, because it must have a condition that even if you complete the previous one, it does not allow you to take the next one (because there must be other missions involved). It is difficult to really test, because you need to do several missions, until you can reach this NPC and be able to test it.
-
If the player disconnects, the NPC does not disappear, it only disappears if the player is far from the established distance. The bad thing is that I don't know exactly what distance to add. The one I put seemed more than reasonable to me, but I have no way of determining the real distance at which the NPC would have to be for the mission to restart.
How to Test AzerothCore PRs
When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].
You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:
http://www.azerothcore.org/wiki/How-to-test-a-PR
REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).
For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.