Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dire Maul Bugs #5

Open
ghost opened this issue Apr 18, 2013 · 13 comments
Open

Dire Maul Bugs #5

ghost opened this issue Apr 18, 2013 · 13 comments

Comments

@ghost
Copy link

ghost commented Apr 18, 2013

DISCLAIMER I dont know scripting, I've tried following the example files provided in the scriptdev2 map which didnt go too well, I've taken a class in java but that's basically it so dont expect advanced understanding of what is possible and what's not. I apologize in advance for my english which is not my first language and therefore not prefect. Thanks! :)

I ran dire maul with a friend of mine the other day on my own mangoszero server (using scriptdev2 obviously) and we came across some bugs which I thought I'd share here. (Basically bugs that makes the bosses undoable/wierd)

  • Tendris Warpwood casts roots and all of that but for some reason he keeps glitching trough the ground and once he casts root when under the ground he drags you down which results in a fall under the map. (This may be caused by corrupt movement maps. I've made an issue regarding this on the mangoszero github, He's still glitching trough with movement maps off tho)
  • Immol'thar if I remember him correctly is just supposed to summon some eyes and do a disease. For now he only does his disease, he's doable but the issue is that his hit aura is massive, you can basically hit him from anywhere within his "arena"
  • (EDIT) Guard Mol'Dar / Fengus / Slip'Kik seem to work fine.
  • Captain Kromcrush. He basically is just like the guards, no spells and no yelling etc. If I remember correctly he is supposed to do thunderclap and at 50% he shouts which summons 2 "Gordok Reavers" and that's pretty much it.
  • King Gordok, now here's the advanced part and I believe scripting this takes some serious effort but as mentioned before if it's just doable I dont really mind. The problem with this fight is basically that when Gordok dies, for some odd reason the entire room gets aggroed (Including critters lol). Once he's dead Cho'Rush The Observer is supposed to sit down and yell "the king is dead bla bla bla" then Mizzle the Crafty appears and declears that the king is dead and gives you the option (From a menu) to summon the Tribute Run chest. None of this happends ofc due to its complexity.
    The fight in general seem to be working pretty good, King Gordok does his pushback etc (he should charge random targets aswell I believe) and Chu'Rush casts his fireballs (but does not stand still in one spot as he should).

any boss not mentioned here seemed to work fine. such as Prince Tortheldrin which does his pushback and arcane spells but misses his dialog.

@xfurry
Copy link
Member

xfurry commented Apr 24, 2013

Hi.

Thanks for reporting this. I tested all your bugs and here is what I can confirm:

  1. Tendris Warpwood does indeed make the player fall through the map. This mainly happens if the player is on the ramp before the boss. Now I'm not sure what is the root cause of this, but it may be Entangle since it has the following effect Effect 2: Id 5 (SPELL_EFFECT_TELEPORT_UNITS) BasePoints = 1 Targets (6, 47) (TARGET_CHAIN_DAMAGE, TARGET_DYNAMIC_OBJECT_FRONT). Poke @Schmoozerd or @cyberium about this.
  2. Immol'thar works pretty good. He summons the Eye of Immol'thar, applies the disease and teleports units in the center. The hit box may be a DB issue. On the latest UDB I couldn't replicate this. Please check the latest DB version for classic here https://github.com/classicdb/database for additional details.
  3. Captain Kromcrush also works fine. He casts spell ID - 22860 Call Reavers at 50% hp, but this will lead us to another DB issue, since this spell requires script target Effect 0: Id 28 (SPELL_EFFECT_SUMMON) BasePoints = 2 Targets (46, 0) (TARGET_SCRIPT_COORDINATES, NO_TARGET) EffectMiscValueA = 11450 EffectMiscValueB = 61. Poke @Schmoozerd about this, he should have some sniffs and tell us which is the right target.
  4. I couldn't replicate the part with "entire room gets aggroed". Maybe you could give us some details about this. The text that Cho'Rush is supposed to do, can be implemented with DbScripts_on_creature_death. See this for details: cmangos/mangos-classic@3c9f942
    It would be very nice if you, or someone else could provide a nice script for this event using the link I provided.
    Finally the Tribute Chest loot modes (depending on the guards left alive), will be implemented with SD2 soonish.

@Schmoozerd
Copy link
Member

  1. Indeed a bug, add some UpdateHeight code to Spell.cpp 2643
  2. Hmm, first glance i did not found any :(

@xfurry
Copy link
Member

xfurry commented Apr 27, 2013

About point 1:
I tried this, but it doesn't work:

diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index c4e93ea..7456f85 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -2639,8 +2639,10 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
                 }

                 float x, y;
+                float z = m_caster->GetPositionZ();
                 m_caster->GetNearPoint2D(x, y, radius, angle);
-                m_targets.setDestination(x, y, m_caster->GetPositionZ());
+                m_caster->UpdateAllowedPositionZ(x, y, z);
+                m_targets.setDestination(x, y, z);
             }

             targetUnitMap.push_back(m_caster);

@raymerjacque
Copy link

Current Dire maul bugs :

NPC/Event/Quest/instance script.
Immol'Thar's prison does not have the forcefield around it, therefor it is not necissary to clear the pylons/beacons.

  • Lord Hel'Nurath is always spawned, while he is supposed to be summoned.
  • Prince Tortheldrin is spawned hostile, while he is supposed to be turned hostile by talking to him or slaying Immol'Thar.
  • Quest: "Elven Legends" is incompletable; nothing happens when you click on the skeletal remains of Kariel Winthales
  • Ancient Equine Spirit should only appear after you've killed Tendris Warpwood, now you don't have to kill him, making the paladin mount quest really easy.
  • The treant mobs in the capital gardens should be walking around, so that you can't skip them so easily.
  • If you aggro Tendris Warpwood, all the Ironbark Protector mobs in the capital gardens should come and help him in the fight, so you should need to kill those first. But the aggro isn't linked now.
  • All the pylons in DM west are missing. (I can show you the location of these.)
  • "Ironbark the Redeemed" shouldn't be spawned at the Capital Gardens.
  • "Ironbark the Redeemed" shouldn't be hostile, he should be friendly.
  • Missing trap at guard Slip'Kik, in order to perform a tribute run, you would have to freeze guard Slip'Kik using that trap, thus making it able to skip him.
  • Missing NPC spawned after killing King Gordok; Mizzle the Crafty.
  • The Gordok Tribute chest is already spawned, while it is supposed to be spawned by Mizzle the Crafty. When spawned, the containments of this chest is supposed to rely on what DM north bosses you have spared on your way to the king. On VG, the contaiment is random.
  • Missing buff: Gordok King. This is also given to you by talking to Mizzle the Crafty.
  • Performing a "tribute run" is imposible due to the bugs above.
  • The doors in DM north don't require keys to open them.
  • Pussilin, the first NPC you can see when you enter Warpwood Quarter. He should be friendly at first, and you should be able to talk to him. Then he would run, and a chase would begin, leading you all the way to the end of the instance, and then, when you talk to him for the last time, he should turn hostile, spawn "Wildspawn Imps" (about 4 of them) However, he is killable from the start, making the quest: "Pusillin and the Elder Azj'Tordin" impossible to finish. Pussilin also drops the kew that opens the doors to DM west and north. (the doors that are missing)
  • After you've killed the boss: "Zevrim Thornhoof", "Old Ironbark" should change to "Ironbark the Redeemed"
    He would open the door that leads to Alzzin the Wildshaper. But the door he is supposed to open isn't there.
  • Isalien is supposed to be a spawned boss for a quest in the T0,5 quest chain, but she's there already.
  • Isalien should spawn a hostile pet "Empyrean" about 10 seconds in the fight. However, now she spawns Empyrean immediatly after she's pulled.
  • The class specific books to get: "Royal Seal of Eldre'Thalas" and the book: "Foror's Compendum of Dragonslaying" are supposed to drop from any boss in eather west, north or east. On this server it only drops from Guard Slip'Kik.
  • The Shen'Dralar mobs are attackable, they shouldn't be.

http://www.wowwiki.com/Immol'thar
http://www.wowwiki.com/Lord_Hel'nurath
http://www.wowwiki.com/Prince_Tortheldrin
http://www.wowwiki.com/Dire_Maul_tribute_run
http://www.wowwiki.com/Guard_Slip'kik
http://www.wowwiki.com/Mizzle_the_Crafty
http://www.wowwiki.com/Gordok_Courtyard_Key
http://www.wowwiki.com/Gordok_Inner_Door_Key
http://www.wowwiki.com/Pusillin
http://www.wowwiki.com/Quest:Pusillin_and_the_Elder_Azj'Tordin
http://www.wowwiki.com/Old_Ironbark
http://www.wowwiki.com/Isalien

Ridiculous, this instance is completely broken.

@xfurry
Copy link
Member

xfurry commented Aug 4, 2013

poke @cala about this. Most of this seem to be DB issues.

@raymerjacque
Copy link

some are DB issues yes.

but the little imp that drops the key is meant to be scripted, the bosses related to the pally/warlock epic quests need to be scripted, the mobs that move in specific groups together need to be scripted. So there is some work that needs done on scripting side. but yes alot of DB issues as well.

@Schmoozerd
Copy link
Member

but the little imp that drops the key is meant to be scripted
-> no
the bosses related to the pally/warlock epic quests need to be scripted
--> possibly, but also possible that they will be fine doable with acid
, the mobs that move in specific groups together need to be scripted.
--> probably not (creature_linking_template)

@cala
Copy link
Contributor

cala commented Aug 5, 2013

Many of these are clearly DB issues. I agree that Dire Maul needs its share of love, especially as most of the works on classic DB were related to outside world. It is time to upgrade the instances, now.

  • Regarding Pusillin (the little imp), it was scripted in revision 0148 of classic DB along with a bunch of backports from the release of UDB 406, so I would expect it to work. I will look at it.
  • Unlike the warlock epic quest, I never helped a paladin friend doing the Dire Maul part so though it involves a boss (Tendris Wrapwood) I'm not sure whatever ACID or SD2 is best suited to handle this.
  • For groups of patrolling mobs, I see two ways of doing it: waypoints for each mobs but they will slowly be out of sync, unbalancing the difficulty of pulling/avoiding them OR linking them together and adding a waypoint for only one of them, but they will move packed together instead of a nice "patrol formation" and I'm not sure what will happen if the master NPC is killed and the other left alive (I don't think they will resume their patrol).

Anyway, switching this issue to classic DB: classicdb/database#77

@xfurry
Copy link
Member

xfurry commented Aug 5, 2013

@raymerjacque: most of the things that you added to the list are already scripted using DB_scripts or EventAI.
I will work with @cala during the following weeks in order to get things properly backported from UDB to ClassicDB.

@raymerjacque
Copy link

Ok thnx.

The imp doesnt just move along waypoints, he waits for players to come within a cetain radius, usually just out of striking distance and then runs along to next waypoint... so dont think that can be done via DB ? im not expert so no idea.

As for the mobs moving in groups, half of diremaul has mobs that should move in groups and as you say setting individual waypoints make them all out of sync and some of them are in circle formation, so out of sync defeats the point.

You can manually spawn the horse for the pally quest, however he is suppose to only spawn once the boss is killed.

Ive only just started messing around with Cmangos, I am already fixing alot of stuff and will commit anything i fix, but all the scripting is still bit out of my league, hence i report it here.

@Schmoozerd
Copy link
Member

And this is perfectly fine.

Infact DireMaul is in bad shape :(
But it is not in as bad shape as one might think when playing classicDB, and this is actually caused by the nobody having been doing real development work on a database for classic before cala started.

Anyhow - DBScripting is extremely powerfull. Example your problem of summoning a mob after some other mob dies, this is all doable by DBScripting.

So - as you start - maybe you will be most interested in getting familiar with the DBScripts Engine.
Many things won't be doable perfectly with it, but most things should be doable well at least :)

@raymerjacque
Copy link

you mean directly in DB, sql editing can do most of this stuff ? always thought sql just controlled spawns, items/loot and waypoints and so forth.

O wait i see the db-script entries in the DB, any guide around showing how the fields all link up ?

@cala
Copy link
Contributor

cala commented Aug 8, 2013

With all the issues listed here, I've created a specific milestone for Dire Maul in Classic DB.

@raymerjacque you will find usefull info here: https://github.com/cmangos/issues/wiki/DBScripts and there: https://github.com/cmangos/mangos-wotlk/blob/master/doc/script_commands.txt
Also, feel free to test with any of the dbscripts_on_* table of the database to see some examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants