Trinitycore: DB/Quest: Extinguishing the Idol

Created on 29 Oct 2018  路  13Comments  路  Source: TrinityCore/TrinityCore

Description:
Quest Extinguishing the Idol (https://www.wowhead.com/quest=3525/extinguishing-the-idol)
End: Belnistrasz's Brazier (https://www.wowhead.com/object=152097/belnistraszs-brazier)

Current behaviour:
Belnistrasz's Brazier does not exist and does not appear after escorting Belnistrasz (https://www.wowhead.com/npc=8516/belnistrasz)

Expected behaviour:
Not sure, but I guess the object should spawn after Belnistrasz event.

  1. .go c id 8516
  2. Accept the quest 3525
  3. Escort npc 8516

Branch: 3.3.5
TC rev: 9b02fe6e79199cde122894c9c784648aee11cd98
OS: Win 8.1

Branch-3.3.5a Comp-C++Script Sub-GameObject

All 13 comments

That's odd. I distinctly remember completing that quest at least a couple of times on TC source during the last few years, but possibly a half year or more since last time I did it.
Could there be something in the latest chrono changes in the file where that object should be spawned?
https://github.com/TrinityCore/TrinityCore/blob/5b0f4009df4cde413c92c73467ca9a63e79a772b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp#L204-L228

TrinityCore rev. 257ae44a20ed 2018-10-28 10:07:56 +0100 (3.3.5 branch) (Win64, RelWithDebInfo, Static)
Confirmed, me->SummonGameObject(GO_BELNISTRASZS_BRAZIER does not happen.

@DanVS : could you take a look and see if there could be a timing issue here?
(or if there are any other gameobject related changes causing this)

Does DoCast(me, SPELL_IDOM_ROOM_CAMERA_SHAKE); happen?

Yes, the room shakes for a second, although it feels like it is too short and happens just a second before Belnistrasz despawns himself.
After Belnistrasz despawns, there is no gameobject near (.gob near) at the spot Belnistrasz stood:
Found nearby gameobjects (distance 10.000000): 0

I am not sure, but for some reason I seem to remember there used to be enough time to talk to Belnistrasz before he despawned in the older TC revisions.

This quest is still bugged.

TrinityCore rev. 8a9f80909387 2020-05-16 21:22:30 +0200 (3.3.5 branch) (Win64, RelWithDebInfo, Static)

After completing the summoning event no brazier spawns.

Updated line numbers for 2020 and included the whole script:
https://github.com/TrinityCore/TrinityCore/blob/8a9f80909387615fb7e22a0f8a042c3ad7a10cfc/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp#L41-L259

I am wondering if the number of seconds should be increased in events.ScheduleEvent(EVENT_COMPLETE, 3s); to something like 10 or 15 seconds, or maybe if the last break; before case EVENT_COMPLETE: should be replaced by continue; -- needs testing.

Also note the comment in the enum SPELL_IDOM_ROOM_CAMERA_SHAKE = 12816 // Dummy needs scripting -- I don't know how much that means for whether the case EVENT_COMPLETE: section is able to run properly.

To get qcomplete:
-player->CompleteQuest(QUEST_EXTINGUISHING_THE_IDOL);
+player->GroupEventHappens(QUEST_EXTINGUISHING_THE_IDOL, me);

Belnistrasz should be gone asap according this https://www.youtube.com/watch?v=w1FWROsT69g

About not seeing gob that is other issue, as when is done me->DespawnOrUnsummon(); , also despawns gob as me is summoner of that gob.
Need to implement for SummonGameObject funcion a bool like was done for SMART_ACTION_SUMMON_GO param3 ca4f1e33?

0 - For despawn when the summoner despawn or time runs out
1 - For despawn when time runs out

Or use something like?
me->SetVisible(false);
me->DestroyForNearbyPlayers();

Who knows best solution?

Thank you, good follow-up to my questions. Looks like a step in the right direction.

With https://github.com/TrinityCore/TrinityCore/pull/24655
- me->SummonGameObject(GO_BELNISTRASZS_BRAZIER, 2577.196f, 947.0781f, 53.16757f, 2.356195f, QuaternionData(0.f, 0.f, 0.9238796f, 0.3826832f), 3600);
+ me->SummonGameObject(GO_BELNISTRASZS_BRAZIER, 2577.196f, 947.0781f, 53.16757f, 2.356195f, QuaternionData(0.f, 0.f, 0.9238796f, 0.3826832f), 3600, GO_SUMMON_TIMED_DESPAWN);

or use something like

if (GameObject* brazier = me->FindNearestGameObject(GO_BELNISTRASZS_BRAZIER, 3.0f))
{
    // unbind brazier from summoner, so it is not despawned when called DespawnOrUnsummon
    me->RemoveGameObject(brazier, false);
}

Just wondering why PRs not closing issues.

Because of github limitations, that feature only works on one branch

@Faq : I did not know about the inability to close tickets from more than one branch for repositories. I thought the important part would be to include the "Closes #ticketnumber" in the first commit message text (at least that is what works for me in PRs in other repositories). You may want to add that text in the commit message text, next time you open a PR, to see if it works or not. Then again, Shauren's explanation might be 100% correct, I don't know.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DDuarte picture DDuarte  路  3Comments

Jildor picture Jildor  路  3Comments

Rushor picture Rushor  路  3Comments

Jonne733 picture Jonne733  路  3Comments

ZenoX92 picture ZenoX92  路  3Comments