cmangos / issues

This repository is used as a centralized point for all issues regarding CMaNGOS.
180 stars 47 forks source link

🐛 [Bug Report] Tamed Kodo Doesn't Work #2272

Open ClassicW opened 4 years ago

ClassicW commented 4 years ago

🐛 Bugreport

The quest Kodo Roundup doesn't work because the npc tamed kodo are bugged
Quest: ID=5561
Npc: ID=11627
You can speak to the kodo before presenting it to smeed Scrabblescrew and Kodos don't disappear once validated, he just stays in place.

Expected behavior

You must present the 5 tamed kodos one by one to Smeed Scrabblescrew (the quest giver). Then, the kodo must disappear once validated
This video explains how it works
https://www.youtube.com/watch?v=NS-oEeZhm9o&ab_channel=DibuckTV

Version & Environment

Client Version: "1.12.1" (CLASSIC)

CMaNGOS Repo & Commit Hash: 8c5ae1b39a69c0d7af00feef393df1c7dfa458ec

Steps to reproduce

  1. Create a hero level 35
  2. Go to smeed Scrabblescrew .go creature 27923
  3. Take the quest kodo-roundup ID=5561
  4. go to the kodo .go creature 28296
  5. use Kodo Kombobulator in kodo and speak to the kodo

Crashlog

nate123456 commented 3 years ago

The Kodo Roundup quest behaves oddly. It seems that once a Kodo is tamed, it is given a dialogue option that gives quest credit for turning in the Kodo when selected, regardless of the Kodo's proximity to the quest giver. Once the tamed Kodo is interacted with via the dialogue option for credit, it stops following the character and stands still, and does not disappear.

In Blizzard WoW, the Kodo has no dialogue option and instead follows the character until it reaches the quest giver, upon which it stops, looks at the quest giver, and after the quest giver speaks, quest credit is automatically given and the Kodo disappears.

I would venture to guess that the current implementation of Kodo Roundup in mangos-classic is a simplification of the original quest interaction that approximates the experience via a dialogue option so the full scripting of automatically detecting the presence of the Kodo near the quest giver didn't have to be implemented.

The only real issue I see with this approximation is that the dialogue option can be exploited to complete the quest quicker than it otherwise could be completed as it gives quest credit regardless of the distance to the quest giver.

Perhaps a check could be implemented when the dialogue option is pressed to see how far the Kodo is from the quest giver and if it is not within the distance, a message could appear informing the player they are not close enough.

The Needs Replication tag can be removed.

MantisLord commented 2 years ago

I would venture to guess that the current implementation of Kodo Roundup in mangos-classic is a simplification of the original quest interaction that approximates the experience via a dialogue option so the full scripting of automatically detecting the presence of the Kodo near the quest giver didn't have to be implemented. In Blizzard WoW, the Kodo has no dialogue option and instead follows the character until it reaches the quest giver, upon which it stops, looks at the quest giver, and after the quest giver speaks, quest credit is automatically given and the Kodo disappears.

It is blizzlike for the kodo to gain a dialogue option upon being delivered to the questgiver and also grant quest credit upon gossip menu open. We were missing some data for the Tamed Kodo creature like faction and gossip menu in TBC-DB.

The only real issue I see with this approximation is that the dialogue option can be exploited to complete the quest quicker than it otherwise could be completed as it gives quest credit regardless of the distance to the quest giver.

@cala In Classic-DB, NpcFlags for 11627 are set to 1 by default which is wrong - they should start without gossip flag and only gain it later. That's what allows the "exploit" described above. This issue can be closed once this is done as far as I'm concerned.

WotLK-DB was also missing the gossip menu data for Tamed Kodo.

I didn't really see anything wrong with the script (npc_aged_dying_ancient_kodo) other than the Tamed Kodos should despawn faster after gossip interaction and switch to idle movement as soon as they gain gossip flag.

MantisLord commented 2 years ago

@cala classic-db just needs NpcFlags=0 for this creature. Last I checked, it's still 1 in classic-db. Should have just added that to my update even though it was redundant for tbc-db.