azerothcore / azerothcore-wotlk

Complete Open Source and Modular solution for MMO
http://www.azerothcore.org
GNU Affero General Public License v3.0
6.58k stars 2.63k forks source link

Underwater NPCs can be made to not defend themselves #4743

Closed The-GhostRider closed 3 years ago

The-GhostRider commented 3 years ago

Originally reported https://github.com/chromiecraft/chromiecraft/issues/154

ISSUE:

FACTION SIDE:

Horde

CONTENT PHASE:

1-19

SMALL DESCRIPTION:

NPCs do not attack in water under specific circumstances

I found this bug while doing a particular quest to get a few items from killing particular NPCs, but I don't think it is unique to these NPCs or this quest.

Quest: A Solvent Spirit NPC1: Makrura Clacker NPC2: Makrura Elder NPC3: Makrura Shellhide NPC4: Makrura Snapclaw NPC5: Surf Crawler NPC6: Pygmy Surf Crawler

If you engage combat with these NPCs in a specific way, they will not attack you.

Edit: I was able to continue to reproduce this bug off the coast of Echo Isles but strangely not as consistently and I couldn't figure out what was different.

EXPECTED BLIZZLIKE BEHAVIOUR:

Attacking the NPC should cause it to move towards you and deal damage to you

CURRENT BEHAVIOUR:

NPCs engaged in a specific way will swim to the ocean floor directly below the player and not attack him/her

STEPS TO REPRODUCE THE PROBLEM:

This was performed on a L8 Orc Warlock

Step 1 Find an NPC under water Step 2 Swim to the surface (so that your breath bar is NOT going down) Step 3 Engage the NPC with a ranged attack Step 4 NPC will swim to the ocean floor directly below the player and will not swim up into melee range to defend itself.

AC HASH/COMMIT:

https://github.com/chromiecraft/azerothcore-wotlk/commit/c2f274e06dcf85c6ccc0ab282dd6f23e8ce49c8f

OPERATING SYSTEM:

Ubuntu 20.04

MODULES:
OTHER CUSTOMIZATIONS:

None.

SERVER:

ChromieCraft

The-GhostRider commented 3 years ago

So.. I initially confirmed it as a Bug because I didn't really realize the entity of the problem. But it's not a bug, actually I would call it a Fix too "picky"

Basically it all depends on the type of "aquatic" NPC you meet, because there are those who have an "InhabitType" (Water). Then there are those that have "InhabitType" (Ground and Water). Those with the double "InhabitType" are able to attack in both Water and Ground, while those with the "InhabitType" Water can only attack if you are (Totally) submerged underwater.

So when the Character is with "his head" out of the water the NPC with the double "InhabitType" goes into conflict and does not know how to behave because the Fix demands that you are totally underwater or totally out of the water. . Actually this Fix should be slightly improved, but for the moment I suggest you attack the NPCs with double "InhabitType" or only out of the water or only in the water, this is a Fix that we will improve later, for the moment I close and I will consider the Report as invalid.

In this video I show how the dynamics of the Fix works Video Test: Underwater NPCs