azerothcore / mod-duel-reset

Duel reset module for AzerothCore
http://www.azerothcore.org
GNU Affero General Public License v3.0
18 stars 35 forks source link

Players can summon multiple Mechanical Dragonlings using the engineering trinket and /duel #19

Open Annamaria-CC opened 3 years ago

Annamaria-CC commented 3 years ago

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

WHAT CLIENT DO YOU PLAY ON?

FACTION
CONTENT PHASE:
CURRENT BEHAVIOUR:

Players can summon a lot of Mechanical Dragonlings by /dueling and /forfeit right after trinket usage, the npc does not disappear after using the trinket again, it just summons another one, this can lead to abuse from players against open world pve fights. The reason this is happening is that /duel resets all your cooldowns, so the same thing might happen for all the ''summon X npc to assist you in battle'' type of trinkets.

EXPECTED BLIZZLIKE BEHAVIOUR:

The guardian that is summoned after using Mechanical Dragonling should disappear and a new one should take its place.

SOURCE: Doesn't need source, it's obvious that it's a bug.
STEPS TO REPRODUCE THE PROBLEM:
  1. get engineering and Mechanical Dragonling trinket
  2. duel someone and use the trinket
  3. /forfeit
  4. repeat step 2 and 3.
EXTRA NOTES:

Item link: https://www.wowhead.com/item=4396/mechanical-dragonling Screenshot_9

AC HASH/COMMIT:

https://github.com/chromiecraft/azerothcore-wotlk/commit/34da0cda5195dede48cb0406b23248330d6249cb

OPERATING SYSTEM:

Ubuntu 20.04

MODULES:
OTHER CUSTOMIZATIONS:

None.

SERVER:

ChromieCraft

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/100140358-players-can-summon-multiple-mechanical-dragonlings-using-the-engineering-trinket-and-duel?utm_campaign=plugin&utm_content=tracker%2F43412719&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F43412719&utm_medium=issues&utm_source=github).
pangolp commented 1 year ago

Although this is true, and it shouldn't happen, but it happens because the cooldown is reset, my question is... shouldn't it be a condition directly from the summon? That is, prevent that before making the summon, be constant, that the creature does not exist, and if it exists then do not invoke it. Because within this module, to correct this... I really don't know if it would be feasible, although I should look at the code before. But I got that doubt...