cmangos / issues

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

[TBC] Fix Berthold SD2 Script in Karazhan #817

Closed X-Savior closed 5 years ago

X-Savior commented 8 years ago

ok so in karazhan there is an old script: npc_berthold that needs updating.

It was used to allow players once they defeated Aran they could teleport up via gossip but now with DBScripts it can almost all be handled by DB Side but there is a small problem. This has been implemented in WOTLK but they use a WOTLK only Condition: CONDITION_COMPLETED_ENCOUNTER (31)

in TBC we can not use this so I propose we create a hook with CONDITION_INSTANCE_SCRIPT (18) that we can use instead. This way we can remove all of the Gossip part of the SD2 script so then the DB Gossip will work again and then use the new condition to make it all work.

Once we have Script side done I can push the DB Side of this also. I have already completed the main part of the DB Side I just need the data to use for the Condition and that's it.

X-Savior commented 8 years ago

XFurry so you said we need to backport the encounter conditions.

As it stands there is no backport that I know of. Because WOTLK uses DBC data for Encounter but that did not exist in TBC client.... so requires unique solution not the same as WOTLK using the different condition.

Anyways if you can provide some details I would appreciate it.

cala commented 8 years ago

@Xfurry was probably refering to a discussion he had long ago with @Schmoozerd and myself about backporting the Encounter.dbc system to TBC and Classic. The main idea was to use a specific DB table in replacement of the non existing DBC file. But this idea never got past the discussion step.

Yet, there are several places in Classic and TBC that require such a similar mechanic.

Either we backport this system and access it through the conditions system like WotLK does, either we use SD2 in TBC and Classic since all the places that require this system are in instances for which we already have SD2 scripts.

Backporting system: Pros

Cons

SD2 solution Pros

Cons

X-Savior commented 8 years ago

Well said Cala

I was not aware they were considering backporting an entire system to handle simulated DBC data.

X-Savior commented 8 years ago

XFurry, there is nothing else for me to input on this. You need to make a decision on how you want to handle this.... either you place SD2 hook for encounter so we can use DBScripts to Implement or you do entire gossip in SD2 and have 0 DB-side involvement.

I personally vote we do a hook and do it DB-side.

As for future plans... doing a system of importing data into table to simulate WOTLK DBC is cool but not a solution we will see anytime soon.

I hope you decide and move forward on this fix soon please.

I have entire DB_Scripts finish and ready to implement (only waiting an an encounter data value to use for Shade of Aran to trigger the DB-Scripts Gossip to show up for players when it is appropriate.

xfurry commented 8 years ago

@cala @X-Savior There are a few options. One is to backport the encounter system. That won't be very difficult, but DB will need to support it - https://github.com/cmangos/mangos-wotlk/commit/af5889c2 The second is to have custom ids in the core defined for this https://github.com/cmangos/mangos-wotlk/commit/b6301109. This might work if we want to limit this to a few cases. However I'm not in favor of using this on a large scale.

X-Savior commented 8 years ago

I will check this out and see what looks best.

Thanks XFurry!

xfurry commented 7 years ago

@killerwife any thoughts on this?

killerwife commented 7 years ago

Ahh, its the guy that gives teleport right?

ghost commented 7 years ago

Yes. After killing certain bosses he should allow you to teleport to certain areas (Such as Shade of Aran's room after you kill him).

AnonXS commented 5 years ago

CONDITION_COMPLETED_ENCOUNTER & DungeonEncounter has long been ported to classic and tbc, also this seems to be working already.