GithubHelp home page GithubHelp logo

azerothcore / mod-progression-system Goto Github PK

View Code? Open in Web Editor NEW
54.0 10.0 53.0 1.41 MB

ChromieCraft Progression System

License: GNU Affero General Public License v3.0

Shell 0.42% C++ 99.58%
azerothcore-module hacktoberfest

mod-progression-system's Introduction

This is progression system module for AzerothCore!

It allows to load scripts and sql files automatically dependent on level brackets. It means that once you defined in config which level brackets should be present, all c++ scripts from these brackets are loaded and replaced with "normal" scripts in AzerothCore.



CONFIG

Here you can set which level brackets should be loaded. It's a bool configuration where 0 is deactivated and 1 is activated. You can add custom files to Bracket_Custom, they will be executed at the very last, meaning it will load all the previous brackets before loading the custom one. The naming convention for this sql file should be progression_custom_%%%% or it won't respect the apply order.



SQL FILES
SQL files can be loaded to your databse once you have enabled auto DB updater in your worldserver config. All sql files should be put in proper folder in order to be loaded within specific level bracket. E.g. sqls related to bracket 40-49 should be put into https://github.com/UltraNix/mod_progression-system/tree/master/src/Bracket_40_49/sql/world
WARNING: SQL files once executed cannot be "unloaded". E.g. if you set in config 30-39 level bracket, then all sql files related to it will be loaded. But if you change your mind and set that config to 20-29 bracket, then the sql files from bracket 30-39 are still in your database and works. If you want to undo the changes done in these sql files, just make a new one sql file and restore the previous state.


C++ SCRIPTS
C++ scripts can also be automatically loaded dependent on bracket level. All you need to do, is to copy and paste C++ script you want to modify to proper folder, change whatever you want within and just create a new script loader function. You don't need to change your script's name in database nor your C++ script's name (only script object name). [Here](https://github.com/UltraNix/mod_progression-system/commit/aad916bbe068f28ce769d028f138f434ba4655a8) is the example how to do it.

2 notes:
1. Your custom script must renamed to something slightly different, otherwise core will still load old script. Preferable: xxx_yy, where xxx is the name of old script and yy is the name of bracket, e.g. boss_drakkisath renamed to boss_drakkisath_50_59_b. Also, scripts loader function (AddSC_xxx) must be renamed accordingly, e.g. AddSC_boss_drakkisath renamed to AddSC_boss_drakkisath_50_59_b.
2. Don't forget to include that scripts loader function (AddSC_xxx) in bracket loader. E.g. AddSC_boss_drakkisath_50_59_b holds scripts related to bracket 50-59, it should be declared and defined in Bracket_50_59_B_loader.cpp (https://github.com/azerothcore/mod-progression-system/blob/NewModule/src/Bracket_50_59_B/Bracket_50_59_B_loader.cpp)

WARNING: If you are applying some changes to main script (in AzerothCore) and they are independent from the level bracket, you should apply these changes to your progressive script as well.

DISCLAIMER This module is used by Chromiecraft and the progression order here presented will oftentimes reflect Chromiecraft's progression. If you would like a different progression you are free to change the order of the files (file locations) and scripts as you would like.

mod-progression-system's People

Contributors

55honey avatar annamaria-cc avatar elthehablo avatar eronox avatar francescoborzi avatar gultask avatar hacki95 avatar helias avatar heyitsbench avatar intelligentquantum avatar locus313 avatar mpfans avatar nefertumm avatar nyeriah avatar pangolp avatar r-o-b-o-t-o avatar ragelezz avatar ultranix avatar zhengpeiru21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mod-progression-system's Issues

Gadgetzan - Arena Season 6 Items Prematurely Available For Purchase

Copied from the CC issue, as it was pointed out it belonged here rather than on the AC tracker.

CONTENT PHASE:
  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
CURRENT BEHAVIOUR:

Original report: chromiecraft/chromiecraft#905

It is already possible on ChromieCraft to buy Arena Season 6 items (Furious Gladiator) from the pvp vendor at Gadgetzan.
In fact, you can buy Season 7 and 8 items, too, but those require Arena Points which we cannot get yet.
Links to the pvp vendors:
https://wotlk.evowow.com/?npc=34093
https://wotlk.evowow.com/?npc=33939
https://wotlk.evowow.com/?npc=33935
https://wotlk.evowow.com/?npc=33929

Tester: confirmed. As the original poster points out, this isn't actually an issue with AC but with CC. However, it ties into the progression system (see azerothcore/azerothcore-wotlk#5861) so linking it accordingly.

WoWScrnShot_062021_111221
WoWScrnShot_062021_111227

EXPECTED BLIZZLIKE BEHAVIOUR:

It works correctly for a 3.3.5a server. However, these items should not be obtainable yet on chromiecraft, because if we start the level 80 bracket with only naxx patch, that means only Deadly Gladiator (Season 5) items should be the highest ones available for purchase. In theory, one could already gather the honor points needed for the Furious Gladiator gear and buy it.

SOURCE:
STEPS TO REPRODUCE THE PROBLEM:
  1. Go to Gadgetzan
  2. Talk to the PVP vendors by the "arena" in the middle of the town.
EXTRA NOTES:

This is NOT an AzerothCore bug or a problem with other 3.3.5a servers, like I said it's only an oversight that should be addressed on ChromieCraft itself due to the way content is gradually unlocked.
I apologize if I should've reported a problem of such nature somewhere else.

AC HASH/COMMIT:

chromiecraft/azerothcore-wotlk@34da0cd

OPERATING SYSTEM:

Ubuntu 20.04

MODULES:
OTHER CUSTOMIZATIONS:

None.

SERVER:

ChromieCraft

Jewelcrafting + Draenei Unforseen Effect on Classic Nexus Crystals

https://wotlk.evowow.com/?item=21792#disenchanting

https://wotlk.evowow.com/?item=20725#disenchanted-from:250-2

Nexus Crystals are flooding the CC AH. They are usually only obtained from big raids, or disenchanting major (ilvl 66+) epics and rares. There's not really a way for people to obtain items like that at lvl 39, so I think this is the source;

This Jewelcrafting Necklace disenchants into Nexus Crystals, available at 305, added in TBC (Draenei +5 JC Bonus). Whoever has been memeing this without reporting it might need a slap. I believe I reported this before, but it's having effect now. Up to you guys if you think it's ok.

Darkmoon Faire Food Vendor

NPC: Stamp Thunderhorn
NPC ID: 14845

Item 44940 was added in patch 3.0 -should be restricted to 71+
Item 33254 was added in patch 2.5 - should be restricted to 65+ or 70 (requires L65 to use)
Item 33246 was added in patch 2.2 - should be restricted to 61+ was added in patch 2.2

Edit: Trolled by TBC Classic, there was no patch 2.5 originally...

[Onyxia] Onyxia Knock Away

What client do you play on?

ruRU

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

Onyxia doesn't use Knock Away ability

Expected Blizzlike Behaviour

Onyxia should use Knock Away ability that damages her main target, knocking it back a distance, and reducing the threat of the target by one quarter (25%).

Source

https://www.icy-veins.com/wow-classic/onyxia-guide-strategy-abilities-loot

Steps to reproduce the problem

123

Extra Notes

chromiecraft/chromiecraft#2996

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@6f20b9e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

[Onyxia] Onyxia Head Quests

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

The head grants the quest "Victory for the Alliance/Horde"
The quest "Victory for the Alliance" can be turned in to King Varian Wrynn
King Varian Wrynn doesn't offer the follow-up quest "Celebrating Good Times"

Expected Blizzlike Behaviour

King Varian Wrynn should offer the follow-up quest "Celebrating Good Times"
This should then allow leatherworkers to obtain "The Journey has just begun" for the cloak recipe

Source

https://classic.wowhead.com/quest=7496/celebrating-good-times

Steps to reproduce the problem

Pick ony head
Try and complete full quest chain

Extra Notes

Reported: chromiecraft/chromiecraft#2958

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@6f20b9e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Lord Kazzak - Missing mechanic: Mark of Kazzak

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

Mark of kazzak cant drain down to 0 mana, will hover around 100 mana

Expected Blizzlike Behaviour

Mark of kazzak schould drain all mana then explode the target.

Source

https://classic.wowhead.com/spell=21056/mark-of-kazzak

Steps to reproduce the problem

Pull Kazzak
notice that it doesnt drain to 0 mana

Extra Notes

chromiecraft/chromiecraft#2929

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@6f20b9e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Highlord Bolvar Fordragon got stuck

Original CC Issue: chromiecraft/chromiecraft#2854

Current Behaviour

High Lord Bolvar Fordragon got stuck in his Battle Animation.
https://tbc.wowhead.com/npc=1748/highlord-bolvar-fordragon

Expected Blizzlike Behaviour

He should stand beside the king

Source

No response

Steps to reproduce the problem

Probably reproducable if there are no Royal Guards in the Room, who transform into the Dragons in the RP for the last attument Quest for Onyxia

Extra Notes

No response

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@259b913

Operating system

Ubuntu 20.04

Custom changes or Modules

Structure

It would be greatly appreciated to have some sort of structure of how the creation of this system should be set up

For instance, should the first 'phase' be 1.2, the second 1.3 and so on for each patch or is the first one straight up vanilla? And what folders should be used for what patch etc

I already started working on a system like this but I can't just copy everything over or it'll be hated by someone I'm sure. You can see it here

Another question is handling things that are not scripted in AC. I have handled Lord Kazzak in Blasted Lands myself by use of a module

Any input on this is appreciated

Issue with progression_60_2_npc_vendor.sql

2021-12-22_14:27:57 FATAL [sql.updates] Applying of file '/root/env/azerothcore-wotlk/modules/mod-progression-system/src/Bracket_60_2/sql/world/progression_60_2_npc_vendor.sql' to database 'acore_world' failed! If you are a user, please pull the latest revision from the repository. Also make sure you have not applied any of the databases with your sql client. You cannot use auto-update system and import sql files from AzerothCore repository with your sql client. If you are a developer, please fix your sql query.

UBRS door

As a follow-up of #33, the following commit can reinstate the UBRS door. Courtesy of @Malow

This code was written for a mid 2019 Version of AC, so it might require adjustments.

We need to re-instate the door between LBRS and UBRS. The door may only open, If a player has the Item [Seal of Ascension] in their inventory and approaches the door.

When the opening is triggered, some braiziers are lit and the door swings open. Players may not enter UBRS without one party/raid member having the required item.

Of course not every piece of code below belongs to the door. Also, we wanna allow the door to open, only when it's not a RDF party.
Given some players will to cheat, we might wanna add one-shot mechanics to the boss encounters, as long as the door remains closed.

From a7ddeaa634a95f781a6b64e2c634ada86faa86bf Mon Sep 17 00:00:00 2001
From: MaloW <[email protected]>
Date: Tue, 16 Jul 2019 13:38:13 +0200
Subject: [PATCH] Re-added Seal of Ascension requirement for opening UBRS doors

Signed-off-by: MaloW <[email protected]>
---
 VanillaRemixSQL/world.sql                          |  11 ++
 .../BlackrockSpire/blackrock_spire.h               |  14 ++
 .../BlackrockSpire/instance_blackrock_spire.cpp    | 141 +++++++++++++++++++--
 3 files changed, 156 insertions(+), 10 deletions(-)

diff --git a/VanillaRemixSQL/world.sql b/VanillaRemixSQL/world.sql
index 329aae31..07394ac2 100644
--- a/VanillaRemixSQL/world.sql
+++ b/VanillaRemixSQL/world.sql
@@ -216,6 +216,17 @@ INSERT INTO achievement_reward VALUES('5001','178','178','0','0','','','0');
 UPDATE gameobject_template SET ScriptName = 'go_molten_core_rune' WHERE entry IN (176951, 176952, 176953, 176954, 176955, 176956, 176957);
 
 
+-- Delete the default UBRS door
+DELETE FROM gameobject WHERE id = 164725;
+-- Create the new UBRS door
+DELETE FROM gameobject_template WHERE entry = 500001;
+DELETE FROM gameobject_template_addon WHERE entry = 500001;
+DELETE FROM gameobject WHERE guid = 2134999;
+INSERT INTO gameobject_template VALUES('500001','0','2750','UBRS Enter Door','','','','1.01','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','','12340');
+INSERT INTO gameobject_template_addon VALUES('500001','114','32','0','0');
+INSERT INTO gameobject VALUES('2134999','500001','229','0','0','1','1','126.229','-318.919','70.9553','3.16535','-0','-0','-0.999929','0.0118789','300','0','1','','0');
+
+
 -- Delete WOTLK / TBC stuff
 -- Delete the Meeting Stone in Tanaris for Caverns of Time
 DELETE FROM gameobject WHERE guid = 17269;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
index b4198a05..6d9ffdf4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
@@ -106,6 +106,20 @@ enum GameObjectsIds
     GO_PORTCULLIS_TOBOSSROOMS       = 175186,
     // Urok Doomhowl
     GO_UROK_PILE                    = 175621,
+    // The doors to enter URBS
+    GO_UBRS_ENTER_DOOR              = 500001,
+    GO_UBRS_ENTER_BRAZIER_1         = 175528,
+    GO_UBRS_ENTER_BRAZIER_2         = 175529,
+    GO_UBRS_ENTER_BRAZIER_3         = 175530,
+    GO_UBRS_ENTER_BRAZIER_4         = 175531,
+    GO_UBRS_ENTER_BRAZIER_5         = 175532,
+    GO_UBRS_ENTER_BRAZIER_6         = 175533,
+};
+
+enum UbrsDoorState
+{
+    UBRS_DOOR_CLOSED = 0,
+    UBRS_DOOR_OPEN = 1,
 };
 
 enum npcspells
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
index 18151303..d0754382 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
@@ -21,14 +21,18 @@ uint32 const DragonspireMobs[3] = { NPC_BLACKHAND_DREADWEAVER, NPC_BLACKHAND_SUM
 
 enum EventIds
 {
-    EVENT_DARGONSPIRE_ROOM_STORE           = 1,
-    EVENT_DARGONSPIRE_ROOM_CHECK           = 2,
-    EVENT_UROK_DOOMHOWL_SPAWNS_1           = 3,
-    EVENT_UROK_DOOMHOWL_SPAWNS_2           = 4,
-    EVENT_UROK_DOOMHOWL_SPAWNS_3           = 5,
-    EVENT_UROK_DOOMHOWL_SPAWNS_4           = 6,
-    EVENT_UROK_DOOMHOWL_SPAWNS_5           = 7,
-    EVENT_UROK_DOOMHOWL_SPAWN_IN           = 8
+    EVENT_DARGONSPIRE_ROOM_STORE = 1,
+    EVENT_DARGONSPIRE_ROOM_CHECK = 2,
+    EVENT_UROK_DOOMHOWL_SPAWNS_1 = 3,
+    EVENT_UROK_DOOMHOWL_SPAWNS_2 = 4,
+    EVENT_UROK_DOOMHOWL_SPAWNS_3 = 5,
+    EVENT_UROK_DOOMHOWL_SPAWNS_4 = 6,
+    EVENT_UROK_DOOMHOWL_SPAWNS_5 = 7,
+    EVENT_UROK_DOOMHOWL_SPAWN_IN = 8,
+    EVENT_UBRS_DOOR_OPEN_STAGE_1 = 9,
+    EVENT_UBRS_DOOR_OPEN_STAGE_2 = 10,
+    EVENT_UBRS_DOOR_OPEN_STAGE_3 = 11,
+    EVENT_UBRS_DOOR_OPEN_STAGE_4 = 12,
 };
 
 class instance_blackrock_spire : public InstanceMapScript
@@ -142,6 +146,47 @@ public:
         {
             switch (go->GetEntry())
             {
+            case GO_UBRS_ENTER_DOOR:
+            case GO_UBRS_ENTER_BRAZIER_1:
+            case GO_UBRS_ENTER_BRAZIER_2:
+            case GO_UBRS_ENTER_BRAZIER_3:
+            case GO_UBRS_ENTER_BRAZIER_4:
+            case GO_UBRS_ENTER_BRAZIER_5:
+            case GO_UBRS_ENTER_BRAZIER_6:
+                if (ubrsDoorState == UBRS_DOOR_OPEN)
+                {
+                    go->SetGoState(GO_STATE_ACTIVE);
+                }
+                else
+                {
+                    go->SetGoState(GO_STATE_READY);
+                }
+                break;
+            }
+
+            switch (go->GetEntry())
+            {
+            case GO_UBRS_ENTER_DOOR:
+                go_ubrsEnterDoors = go->GetGUID();
+                break;
+            case GO_UBRS_ENTER_BRAZIER_1:
+                go_ubrsEnterBraziers[0] = go->GetGUID();
+                break;
+            case GO_UBRS_ENTER_BRAZIER_2:
+                go_ubrsEnterBraziers[1] = go->GetGUID();
+                break;
+            case GO_UBRS_ENTER_BRAZIER_3:
+                go_ubrsEnterBraziers[2] = go->GetGUID();
+                break;
+            case GO_UBRS_ENTER_BRAZIER_4:
+                go_ubrsEnterBraziers[3] = go->GetGUID();
+                break;
+            case GO_UBRS_ENTER_BRAZIER_5:
+                go_ubrsEnterBraziers[4] = go->GetGUID();
+                break;
+            case GO_UBRS_ENTER_BRAZIER_6:
+                go_ubrsEnterBraziers[5] = go->GetGUID();
+                break;
                 case GO_WHELP_SPAWNER:
                     go->CastSpell(NULL, SPELL_SUMMON_ROOKERY_WHELP);
                     break;
@@ -391,10 +436,55 @@ public:
             return 0;
         }
 
+        void OpenUbrsDoors()
+        {
+            ubrsDoorState = UBRS_DOOR_OPEN;
+            Events.ScheduleEvent(EVENT_UBRS_DOOR_OPEN_STAGE_1, 1);
+            InstanceScript::SaveToDB();
+        }
+
+        bool CheckOpenUbrsDoors()
+        {
+            if (GameObject* doors = instance->GetGameObject(go_ubrsEnterDoors))
+            {
+                Map::PlayerList const& players = instance->GetPlayers();
+                for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+                {
+                    if (Player* player = itr->GetSource())
+                    {
+                        if (player && !player->IsGameMaster() && player->IsWithinDist2d(doors->GetPositionX(), doors->GetPositionY(), 30.0f))
+                        {
+                            if (player->HasItemCount(12344))
+                            {
+                                return true;
+                            }
+                        }
+                    }
+                }
+            }
+            return false;
+        }
+
         void Update(uint32 diff)
         {
             Events.Update(diff);
 
+            if (ubrsDoorState == UBRS_DOOR_CLOSED)
+            {
+                if (ubrsDoorCheckTimer <= diff)
+                {
+                    ubrsDoorCheckTimer = 2000;
+                    if (CheckOpenUbrsDoors())
+                    {
+                        OpenUbrsDoors();
+                    }
+                }
+                else
+                {
+                    ubrsDoorCheckTimer -= diff;
+                }
+            }
+
             while (uint32 eventId = Events.ExecuteEvent())
             {
                 switch (eventId)
@@ -408,6 +498,31 @@ public:
                         if ((GetBossState(DATA_DRAGONSPIRE_ROOM) != DONE))
                             Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_CHECK, 3000);
                         break;
+                    case EVENT_UBRS_DOOR_OPEN_STAGE_1:
+                        Events.ScheduleEvent(EVENT_UBRS_DOOR_OPEN_STAGE_2, 1000);
+                        if (GameObject* brazier = instance->GetGameObject(go_ubrsEnterBraziers[0]))
+                            brazier->SetGoState(GO_STATE_ACTIVE);
+                        if (GameObject* brazier = instance->GetGameObject(go_ubrsEnterBraziers[1]))
+                            brazier->SetGoState(GO_STATE_ACTIVE);
+                        break;
+                    case EVENT_UBRS_DOOR_OPEN_STAGE_2:
+                        Events.ScheduleEvent(EVENT_UBRS_DOOR_OPEN_STAGE_3, 1000);
+                        if (GameObject* brazier = instance->GetGameObject(go_ubrsEnterBraziers[2]))
+                            brazier->SetGoState(GO_STATE_ACTIVE);
+                        if (GameObject* brazier = instance->GetGameObject(go_ubrsEnterBraziers[3]))
+                            brazier->SetGoState(GO_STATE_ACTIVE);
+                        break;
+                    case EVENT_UBRS_DOOR_OPEN_STAGE_3:
+                        Events.ScheduleEvent(EVENT_UBRS_DOOR_OPEN_STAGE_4, 1000);
+                        if (GameObject* brazier = instance->GetGameObject(go_ubrsEnterBraziers[4]))
+                            brazier->SetGoState(GO_STATE_ACTIVE);
+                        if (GameObject* brazier = instance->GetGameObject(go_ubrsEnterBraziers[5]))
+                            brazier->SetGoState(GO_STATE_ACTIVE);
+                        break;
+                    case EVENT_UBRS_DOOR_OPEN_STAGE_4:
+                        if (GameObject* doors = instance->GetGameObject(go_ubrsEnterDoors))
+                            doors->SetGoState(GO_STATE_ACTIVE);
+                        break;
                     default:
                          break;
                 }
@@ -515,7 +630,7 @@ public:
             OUT_SAVE_INST_DATA;
 
             std::ostringstream saveStream;
-            saveStream << "B S " << GetBossSaveData();
+            saveStream << "B S " << GetBossSaveData() << (uint32)ubrsDoorState << ' ';
 
             OUT_SAVE_INST_DATA_COMPLETE;
             return saveStream.str();
@@ -538,15 +653,17 @@ public:
 
             if (dataHead1 == 'B' && dataHead2 == 'S')
             {
+                uint32 tmpState;
                 for (uint8 i = 0; i < EncounterCount; ++i)
                 {
-                    uint32 tmpState;
                     loadStream >> tmpState;
                     if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
                         tmpState = NOT_STARTED;
 
                     SetBossState(i, EncounterState(tmpState));
                 }
+                loadStream >> tmpState;
+                ubrsDoorState = UbrsDoorState(tmpState);
             }
             else
                 OUT_LOAD_INST_DATA_FAIL;
@@ -581,6 +698,10 @@ public:
             uint64 go_portcullis_active;
             uint64 go_portcullis_tobossrooms;
             uint64 go_urok_pile;
+            uint64 go_ubrsEnterDoors = 0;
+            uint64 go_ubrsEnterBraziers[6] = { 0 };
+            UbrsDoorState ubrsDoorState = UBRS_DOOR_CLOSED;
+            uint32 ubrsDoorCheckTimer = 2000;
     };
 
     InstanceScript* GetInstanceScript(InstanceMap* map) const
-- 
2.11.1.windows.1

After reboot/crash UBRS door is closed

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • 50-59

Current Behaviour

Original report: chromiecraft/chromiecraft#2333
After a server reboot, Drakk had some kind of mega-enrage trigger on pull. This is something much stronger than its normal Rage move and seemed to last indefinitely (Rage lasts something around 12 seconds).
The following 2 pulls were normal, so its possible the reboot is the event cause.

Tester:
@Nyeriah

The instance needs to be walked in through the door so he doesn't trigger the exploit prevention, so if a restart happens the one with the key needs to open the door again

21:43] ShineSlippers: have you able to do something with chromiecraft/chromiecraft#2333 Idk, do not close doors after reboot if someone there?
[21:44] Nyeriah: maybe

Expected Behaviour

After reboot/crash UBRS door should be open if instance is in progress

Source

No response

Steps to reproduce the problem

  1. Open door
  2. Kill something
  3. .server restart 1

Extra Notes

No response

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@03c84db

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Not enough brackets

It looks like we could make use of the currently possible 32 brackets in the future. Can we just change the bitmask to 64? Or could we add a second 32bit mask? Or maybe one 32 bit mask per expansion?

Classic changed Enchanting Recipes

Arbitration made me aware of an issue we will face in the 50-60 bracket.

Most of the classic enchantments for caster classes got changed with wotlk, while they required items like "nexus crystals" before (disenchanted from classic items) they now require "prismatic shards" (disenchanted from TBC items only).

This is true for most other ingredients as well (Elemental items, Dust etc).
Is it possible to change the requirements in a recipe? Not without Core edits right?
What are our possibilities here?

1) Try to change back the recipes to classic

From my understanding since these spells are saved in the client there is no simple way to just overwrite these with sql values in the DB. If I am wrong please correct me here but I think this would require a custom patch.

2) Make an exchange vendor

We would need to find out if there is an almost 1:1 way to exchange the materials to the classic values. Like @Yehonal said this might be possible to do without core edits but I am not sure.

3) Make an exchange gossip NPC

If the option of using a normal vendor doesn't work we could script a simple exchange gossip NPC. Same principle as for option 2, we would need to research first if the items can be exchanged 1:1

So what should we do??

We need to find someone who has the time to compare the classic recipes with the changed ones to find out how we could exchange the items accordingly because from my understanding changing the recipes would mean too much work and a custom patch. So option 2 looks like the preferred method.

Reverting elite quests to elite like in Vanilla

With patch 2.3 of burning crusade, a lot of Elite quests from vanilla were changed from elite to solo

I think when doing vanilla as current content, it is very important to have those in their original state, it's a lot of additional social content
Also some of those quests were supposed to be part of vanilla's endgame and hurt the game design when soloable like the silithus stuff.

I have compiled a list of 254 vanilla quests that are elite in the vanilla mangos database, and not elite anymore in AC.

The work required to revert a quest to elite is :

  • Changing the quest type to elite
  • Changing the involved creatures ranks to elite and update their stats. Checking their health/mana is fairly easy, just check the values in cmangos classic database. Elites usualy have 3x health.
    The damages can be a bit more tricky as those vanilla emulators don't use multipliers for damage, you can either check it from classic sniffs, or use a generic value for lower effort :
    From my experience this is how outdoor elite dmgs are :
Level Multiplier
1-37 1.7
38-59 2.4
60+ 4.6

And named elites(bosses) usualy have about 15% extra from this value

Sometimes mechanical changes are required, for example they changed Morbent Fel to turn into a weaker version of himself when weakened that is not elite. In vanilla you would have to kill the elite morbent fel and weakening him just makes him attackable. Make sure to understand whhat made the quest elite.

ID LogTitle
55 Morbent Fel
99 Arugal's Folly
115 Shadow Magic
193 Panther Mastery
197 Raptor Mastery
202 Colonel Kurzen
206 Mai'Zoth
248 Looking Further
249 Morganth
253 Bride of the Embalmer
255 Mercenaries
271 Vyrin's Revenge
278 A Dark Threat Looms
303 The Dark Iron War
304 A Grim Task
314 Protecting the Herd
442 Assault on Fenris Isle
450 A Recipe For Death
452 Pyrewood Ambush
474 Defeat Nek'rosh
504 Crushridge Warmongers
517 Elixir of Agony
518 The Crown of Will
519 The Crown of Will
520 The Crown of Will
531 Vyrin's Revenge
540 Preserving Knowledge
541 Battle of Hillsbrad
547 Humbert's Sword
591 The Mind's Eye
611 The Curse of the Tides
613 Cracking Maury's Foot
628 Excelsior
629 The Vile Reef
630 Message in a Bottle
631 The Thandol Span
639 Sigil of Strom
640 The Broken Sigil
643 Sigil of Arathor
644 Sigil of Trollbane
645 Trol'kalar
646 Trol'kalar
652 Breaking the Keystone
673 Foul Magics
679 Call to Arms
680 The Real Threat
682 Stromgarde Badges
684 Wanted! Marez Cowl
685 Wanted! Otto and Falconcrest
694 Trelane's Defenses
695 An Apprentice's Enchantment
696 Attack on the Tower
697 Malin's Request
705 Pearl Diving
706 Fiery Blaze Enchantments
717 Tremors of the Earth
762 An Ambassador of Evil
793 Broken Alliances
1089 The Den
1100 Lonebrow's Journal
1107 Encrusted Tail Fins
1151 Test of Strength
1166 Overlord Mok'Morokk's Concern
1168 Army of the Black Dragon
1172 The Brood of Onyxia
1380 Khan Hratha
1381 Khan Hratha
1383 Nothing But The Truth
1424 Pool of Tears
2078 Gyromast's Revenge
2203 Badlands Reagent Run II
2359 Klaven's Tower
2478 Mission: Possible But Not Probable
2499 Oakenscowl
2501 Badlands Reagent Run II
2721 Kirith
2935 Consult Master Gadrin
2944 The Super Snapper FX
2954 The Stone Watcher
2967 Return to Thunder Bluff
2977 Return to Ironforge
2993 Return to the Hinterlands
2994 Saving Sharpbeak
3062 Dark Heart
3181 The Horn of the Beast
3182 Proof of Deed
3201 At Last!
3372 Release Them
3385 The Undermarket
3452 The Flame's Casing
3463 Set Them Ablaze!
3510 The Name of the Beast
3514 Horde Presence
3566 Rise, Obsidion!
4023 A Taste of Flame
4182 Dragonkin Menace
4787 The Ancient Egg
5054 Ursius of the Shardtooth
5055 Brumeran of the Chillwind
5056 Shy-Rotam
5065 The Lost Tablets of Mosh'aru
5088 Arikara
5098 All Along the Watchtowers
5121 High Chief Winterfall
5153 A Strange Historian
5156 Verifying the Corruption
5168 Heroes of Darrowshire
5247 Fragments of the Past
5264 Lord Maxwell Tyrosus
5265 The Argent Hold
6025 Unfinished Business
6041 When Smokey Sings, I Get Violent
6135 Duskwing, Oh How I Hate Thee...
6136 The Corpulent One
6283 Bloodfury Bloodline
6284 Arachnophobia
6481 Earthen Arise
7603 Kroshius' Infernal Core
7636 Stave of the Ancients
7701 WANTED: Overseer Maltorius
7816 Gammerita, Mon!
7845 Kidnapped Elder Torntusk!
7846 Recover the Key!
7847 Return to Primal Torntusk
7849 Separation Anxiety
7850 Dark Vessels
7861 Wanted: Vile Priestess Hexx and Her Minions
7862 Job Opening: Guard Captain of Revantusk Village
8301 The Path of the Righteous
8302 The Hand of the Righteous
8304 Dearest Natalia
8306 Into The Maw of Madness
8308 Brann Bronzebeard's Lost Letter
8309 Glyph Chasing
8310 Breaking the Code
8314 Unraveling the Mystery
8331 Aurel Goldleaf
8332 Dukes of the Council
8349 Bor Wildmane
8361 Abyssal Contacts
8362 Abyssal Crests
8498 Twilight Battle Orders
8501 Target: Hive'Ashi Stingers
8502 Target: Hive'Ashi Workers
8507 Field Duty
8534 Hive'Zora Scout Report
8535 Hoary Templar
8536 Earthen Templar
8537 Crimson Templar
8539 Target: Hive'Zora Hive Sisters
8687 Target: Hive'Zora Tunnelers
8731 Field Duty
8737 Azure Templar
8738 Hive'Regal Scout Report
8739 Hive'Ashi Scout Report
8740 Twilight Marauders
8770 Target: Hive'Ashi Defenders
8771 Target: Hive'Ashi Sandstalkers
8772 Target: Hive'Zora Waywatchers
8773 Target: Hive'Zora Reavers
8774 Target: Hive'Regal Ambushers
8775 Target: Hive'Regal Spitfires
8776 Target: Hive'Regal Slavemakers
8777 Target: Hive'Regal Burrowers
19 Tharil'zun
55 Morbent Fel
105 Alas, Andorhal
169 Wanted: Gath'Ilzogg
176 Wanted: "Hogger"
208 Big Game Hunter
211 Alas, Andorhal
228 Mor'Ladim
256 WANTED: Chok'sul
543 The Perenolde Tiara
614 The Captain's Chest
618 Facing Negolash
656 Summoning the Princess
735 The Star, the Hand and the Heart
736 The Star, the Hand and the Heart
908 Amongst the Ruins
909 Baron Aquanis
969 Luck Be With You
1051 Vorrel's Revenge
1173 Challenge Overlord Mok'Morokk
1448 In Search of The Temple
1488 The Corrupter
1655 Bailor's Ore Shipment
1701 Fire Hardened Mail
1713 The Summoning
1955 The Exorcism
2937 Summoning Shadra
2946 Seeing What Happens
2966 Seeing What Happens
3127 Mountain Giant Muisek
3602 Azsharite
3627 Uniting the Shattered Amulet
3628 You Are Rakh'likh, Demon
3962 It's Dangerous to Go Alone
4961 Cleansing of the Orb of Orahil
5063 Cap of the Scarlet Savant
5067 Leggings of Arcana
5068 Breastplate of Bloodthirst
5124 Fiery Plate Gauntlets
5151 Hypercapacitor Gizmo
5162 Wrath of the Blue Flight
5164 Catalogue of the Wayward
5166 Breastplate of the Chromatic Flight
5167 Legplates of the Chromatic Defier
5461 The Human, Ras Frostwhisper
5462 The Dying, Ras Frostwhisper
5464 Menethil's Gift
5465 Soulbound Keepsake
5803 Araj's Scarab
5804 Araj's Scarab
5862 Scarlet Subterfuge
5944 In Dreams
5981 Rampaging Giants
6145 The Crimson Courier
6146 Nathanos' Ruse
6147 Return to Nathanos
6148 The Scarlet Oracle, Demetria
6182 The First and the Last
6183 Honor the Dead
6184 Flint Shadowmore
6185 The Eastern Plagues
6186 The Blightcaller Cometh
6570 Emberstrife
6983 You're a Mean One...
7043 You're a Mean One...
7582 The Prison's Casing
7583 Suppression
8283 Wanted - Deathclasp, Terror of the Sands
8341 Lords of the Council
8348 Signet of the Dukes
8363 Abyssal Signets
8481 The Root of All Evil
8538 The Four Dukes
8551 The Captain's Chest
8554 Facing Negolash
8606 Decoy!
8829 The Ultimate Deception
8928 A Shifty Merchant
8962 Components of Importance
8963 Components of Importance
8964 Components of Importance
8965 Components of Importance
8970 I See Alcaz Island In Your Future...
8985 More Components of Importance
8986 More Components of Importance
8987 More Components of Importance
8988 More Components of Importance
9051 Toxic Test
9085 Shadows of Doom
4146 Zapper Fuel

if someone is interested in helping, reach out. I have already done the work up until

278 A Dark Threat Looms

ERROR 1054 (42S22) at line 2: Unknown column 'id' in 'where clause'

mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1054 (42S22) at line 2: Unknown column 'id' in 'where clause'

Applying of file 'H:/Azerothcore/modules/mod-progression-system/src/Bracket_0/sql/world/progression_0_creature.sql' to database 'acore_world' failed! If you are a user, please pull the latest revision from the repository. Also make sure you have not applied any of the databases with your sql client. You cannot use auto-update system and import sql files from AzerothCore repository with your sql client. If you are a developer, please fix your sql query.

Lvl 70 Arena Vendor in BRD

There is a lvl 70 arena vendor currently active inside BRD, in the Grim Guzzler. NPC name is Griz Gutshank, ID 28225, GUID 1881. He is selling season 4 arena gear, which is lvl 70.

Here's screenshots showing his full inventory:
WoWScrnShot_080821_142746
WoWScrnShot_080821_142751
WoWScrnShot_080821_142752
WoWScrnShot_080821_142754
WoWScrnShot_080821_142755
WoWScrnShot_080821_142756
WoWScrnShot_080821_142757
WoWScrnShot_080821_142758

AC hash is 90c30a919918

Console error

AC commit

azerothcore/azerothcore-wotlk@cfb171e

Mod commit

3e1e9dd

Conf

ProgressionSystem.Brackets = 8388608

Console error log

>> Applying update "progression_80_9_creature.sql" '775A6E5'...
ERROR 1054 (42S22) at line 3: Unknown column 'id' in 'where clause'

Applying of file '/root/azerothcore/modules/mod-progression-system/src/Bracket_80_9/sql/world/progression_80_9_creature.sql' to database 'acore_world' failed! If you are a user, please pull the latest revision from the repository. Also make sure you have not applied any of the databases with your sql client. You cannot use auto-update system and import sql files from AzerothCore repository with your sql client. If you are a developer, please fix your sql query.

I'm pretty sure the path and file are fine, I've tried some ways and really don't know how to fix it, so i post it.

[Molten Core] Hands of the Enemy, doesn't let you get more Aqual Quintessence from Hydraxis

Once a player does Hands of the Enemy, They should be able to get one aqual quintessence from Duke Hydraxis with a gossip option
Once revered, they should be able to get the permanent one https://wowwiki-archive.fandom.com/wiki/Eternal_Quintessence

https://www.youtube.com/watch?v=0oIXSp59hVQ

Once a player does Hands of the Enemy, they get the achievement. I think the achievement should only be obtained when you are getting the essence from Hydraxis.

[Onyxia] Onyxia cleave timer

What client do you play on?

ruRU

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

Looks like the wrong timer for Ony's cleave. Now you can very often see two cleaves in a row. And in general it's very often used.

Expected Blizzlike Behaviour

Usually used no more than every 3-4 attacks and never in a row

Source

I don't have reliable sources. Only a number of videos and logs indirectly pointing to this :
https://www.youtube.com/watch?v=qF15Gn4NBeU
https://www.youtube.com/watch?v=_z1aFJ4gq40
https://www.youtube.com/watch?v=OXhkYlwYIz4
https://www.youtube.com/watch?v=EZPoPfot5iM
https://www.youtube.com/watch?v=chH0oLeXR2o
https://vanilla.warcraftlogs.com/reports/KAG9WxHNYagRPmfT#fight=3&type=casts&hostility=1&source=45
https://vanilla.warcraftlogs.com/reports/PmN7vJcQhCqMDag1#fight=2&type=casts&hostility=1&source=49
https://vanilla.warcraftlogs.com/reports/TPtw2X8kJdAVb6nv#fight=3&type=casts&hostility=1&source=52
https://vanilla.warcraftlogs.com/reports/Hb1VTzLFa8D2j9nt#fight=3&type=casts&hostility=1&source=53
https://vanilla.warcraftlogs.com/reports/rgFv219RhcCHxV7w#fight=4&type=casts&hostility=1&source=29
https://vanilla.warcraftlogs.com/reports/BQ6pTmX1rk7bKwtY#fight=3&type=casts&hostility=1&source=35

Steps to reproduce the problem

123

Extra Notes

chromiecraft/chromiecraft#2920

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@6f20b9e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Events - TODO

I will use this issue to track any details about the events and the related progression details

Hallow's End

We need to handle or disable this event until the progression reach the right level

WIP Raid hardmode

The following is a suggestion and all details are up for discussion

There should be a way for players (raidleaders) to choose an alternative difficulty (heroic) for classic raids. Since the alternative difficulty can not be selected from the client's ususal menu without modications, we need an alternative way to activate it.

Features:

  • Heroic raid is an own ID. One can do the normal and the heroic version in the same lockout period.
  • NPC /gobject or another convenient way to activate heroic mode. Must be outside the raid map to be able to switch before entering
  • Once in heroic mode, the players/pets/minions inside the raid are going to get debuffed (handled here , needs a check for heroic mode added).
  • In heroic mode, the loot is replaced by a (custom) currency dropped by each boss of the raid (the lootmode-bitmask from creature_loot_template might work well for this)
  • There should an NPC in both Orgrimmar and Stormwind which sells rewards in return for the heroic currency
  • A timestamp and the present players Low GUIDs should be stored in the DB for later display of records on the website. 1) When the heroic map is created, 2) on first combat, and 3) when a heroic boss dies.

[Suggestion] UBRS / LBRS Instance type: Raid

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • 50-59

Current Behaviour

Original report: chromiecraft/chromiecraft#2328

UBRS / LBRS can be entered although a bossfight is in progress (Drakki)

Tester:
The issue is confirmed. Blackrock Spire is Instance type: Dungeon

Expected Behaviour

Since UBRS is raid Instance type should be changed to Raid

Source

No response

Steps to reproduce the problem

Try to walk in to dungeon while your group in fight with boss

Extra Notes

This type is blizzlike for Blackrock Spire. Change could be implemented as part of progression mod. In this case need to care about quests and DF. There is could be issues with it. Tbh not worth it.

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@03c84db

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

[WIP] bracket lvl 60

Instances 60

  • check instances (need to create an issue per instances with the related status)

About progressions

  • edit/remove npc vendors for PvE / PvP and prepare the related scripts to switch set per season
  • check how to obtain tier 1 / 2 / 3 and enable/disable step by step the related instances
  • handle world bosses spawns

this is already started here thanks @locus313

Optional

  • (optional - low priority) make a module to restore Onyxia lvl 60
  • (optional - low priority) make a module to restore Naxxramas lvl 60 - tier 3

Disable TBC flying training until 70.

In TBC, flying skill has a level requirement of 70, so you must first progress through the TBC leveling content on foot before you can explore in the air.

https://tbc.wowhead.com/guides/how-to-unlock-flying-in-burning-crusade-classic

Could be achieved by adjusting the level requirement the trainers offer it at.

For "blizzlike" experience it should also be:

60% ground mount at lvl 40.
100% ground mount at lvl 60.
Flying mounts at lvl 70 in TBC.
Flying mounts at lvl 77 in WOTLK.

Cold Weather Flying is a spell that is taught by a for 1000g . It enables players the ability to use their flying mounts in Northrend. Druids will also require this to use their Flight Form/Swift Flight Form in Northrend too. Players have to be level 77 or higher to train this ability.

Poisoned Water - Removed MC Quest

For Molten Core we want to re-add the following quest, which needs to be completed before Majodormo Executus can be summoned.

Normally we would want a module for functionality like this, since it needs some modifications for the MC Script this might not be possible though and needs a .patch or something similiar.

Besides that, the quest should still be in the DB. Just deactivated.

We need a patch for the progression system to enable/disable this quest.

https://wowpedia.fandom.com/wiki/Poisoned_Water
https://wowpedia.fandom.com/wiki/The_runes_of_warding

Fast corpse despawn in UBRS

What client do you play on?

enGB

Faction

  • Alliance
  • Horde

Content Phase:

  • 50-59

Current Behaviour

Original report: chromiecraft/chromiecraft#2338

General Drakkisath despawned after 5 minutes while players where still rolling for the items.

Tester:

The issue is confirmed. Corpses of bosses despawn timer is 5m

Expected Behaviour

To prevent despawn corpse with loot add to UBRS bosses bigger timer. As it was mentioned in discord: make them boss type instead of elite. Maybe something else.

Source

No response

Steps to reproduce the problem

.go c id 10363
.damage 500000

Extra Notes

No response

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@03c84db

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Darkmoon Faire Vendor sells progressive Scrolls and Potions

NPC: Professor Thaddeus Paleo
NPC ID: 14847

NPC currently sells these items absent the restrictions I have also added below:

entry name Bracket
858 Lesser Healing Potion No restriction
954 Scroll of Strength No restriction
955 Scroll of Intellect No restriction
1180 Scroll of Stamina No restriction
1181 Scroll of Spirit No restriction
1477 Scroll of Agility II Dealer's Choice - Requires L10 to craft
1711 Scroll of Stamina II Dealer's Choice - Requires L10 to craft
2289 Scroll of Strength II Dealer's Choice - Requires L10 to craft
2290 Scroll of Intellect II Dealer's Choice - Requires L10 to craft
3012 Scroll of Agility No restriction
3013 Scroll of Protection No restriction
3385 Lesser Mana Potion No restriction
3928 Superior Healing Potion Dealer's Choice - Requires L20 to craft
4419 Scroll of Intellect III Dealer's Choice - Requires L20 to craft
4421 Scroll of Protection III Dealer's Choice - Requires L20 to craft
4422 Scroll of Stamina III Dealer's Choice - Requires L20 to craft
4424 Scroll of Spirit III Dealer's Choice - Requires L20 to craft
4425 Scroll of Agility III Dealer's Choice - Requires L20 to craft
4426 Scroll of Strength III Dealer's Choice - Requires L20 to craft
10305 Scroll of Protection IV Dealer's Choice - Requires L20 to craft
10306 Scroll of Spirit IV Dealer's Choice - Requires L20 to craft
10307 Scroll of Stamina IV Dealer's Choice - Requires L20 to craft
10308 Scroll of Intellect IV Dealer's Choice - Requires L20 to craft
10309 Scroll of Agility IV Dealer's Choice - Requires L20 to craft
10310 Scroll of Strength IV Dealer's Choice - Requires L20 to craft
13443 Superior Mana Potion Dealer's Choice - Requires L35 to craft
22829 Super Healing Potion 61-64 - Added in TBC pre-patch
22832 Super Mana Potion 61-64 - Added in TBC pre-patch
27498 Scroll of Agility V 61-64 - Added in TBC pre-patch
27499 Scroll of Intellect V 61-64 - Added in TBC pre-patch
27500 Scroll of Protection V 61-64 - Added in TBC pre-patch
27501 Scroll of Spirit V 61-64 - Added in TBC pre-patch
27502 Scroll of Stamina V 61-64 - Added in TBC pre-patch
27503 Scroll of Strength V 61-64 - Added in TBC pre-patch
33447 Runic Healing Potion 71-74 - Added in WotLK pre-patch
33457 Scroll of Agility VI 71-74 - Added in WotLK pre-patch
33458 Scroll of Intellect VI 71-74 - Added in WotLK pre-patch
33459 Scroll of Protection VI 71-74 - Added in WotLK pre-patch
33460 Scroll of Spirit VI 71-74 - Added in WotLK pre-patch
33461 Scroll of Stamina VI 71-74 - Added in WotLK pre-patch
33462 Scroll of Strength VI 71-74 - Added in WotLK pre-patch
37091 Scroll of Intellect VII 71-74 - Added in WotLK pre-patch
37093 Scroll of Stamina VII 71-74 - Added in WotLK pre-patch
37097 Scroll of Spirit VII 71-74 - Added in WotLK pre-patch
43463 Scroll of Agility VII 71-74 - Added in WotLK pre-patch
43465 Scroll of Strength VII 71-74 - Added in WotLK pre-patch
43467 Scroll of Protection VII 71-74 - Added in WotLK pre-patch

50+ Satchel Content

As we talked about in our last meeting, we need a solution for the 50+ loot satchels.

The following solutions have been proposed:

1) Let them drop potions

While in theory this sounds like a good idea, I don't like that this steals potential customers from Alchemists and thus changes up the economy. Even if we would just drop 1-2 potions per run those add up quickly.

2) Let them drop crafting material

I like this approach the most. Players can either use the materials to craft more items like potions/glyphs or they can just sell the materials if they don't need it.
Some players might argue that a few crafting materials are way worse as a drop than blue items but in the end its not about having a 1:1 exchange, but just about preventing possible power creep before the raids hit.

3) Just remove the drops

This is more of a solution when we can't come up with anything else before the new bracket drops. This should be avoided.

Disable AQ catch-up gear before level 60

We need to disable quests which were added in the late stages of vanilla as a catch-up mechanic for new players before releasing level 60 as well as merchants holding recipes added during that stage.

https://wotlkdb.com/?quest=8800 this one gates four quests which award epics:

Also theses quests might be able to gate the whole set of silithid-grind quests when disabled:

This quest starts the duke/templar grind allowing to summon wind stones: https://wotlkdb.com/?quest=8331
It is supposed to gate these:

These NPCs https://wowgaming.altervista.org/aowow/?npc=15293, https://wowgaming.altervista.org/aowow/?npc=15270, https://wowgaming.altervista.org/aowow/?npc=15306, https://wowgaming.altervista.org/aowow/?npc=15176, https://wowgaming.altervista.org/aowow/?npc=15191, https://wowgaming.altervista.org/aowow/?npc=15194, https://wowgaming.altervista.org/aowow/?npc=15181, https://wowgaming.altervista.org/aowow/?npc=15183, https://wowgaming.altervista.org/aowow/?npc=15182, https://wowgaming.altervista.org/aowow/?npc=15282, https://wotlkdb.com/?npc=15599, https://wotlkdb.com/?npc=15306 and https://wotlkdb.com/?npc=15306 were introduced with the 1.8 (pre-AQ) patch as well and should be disabled, again gating many catch-up and rep-grind quests as well as recipes.

These NPCs https://wowgaming.altervista.org/aowow/?npc=16091, https://wowgaming.altervista.org/aowow/?npc=15701, https://wowgaming.altervista.org/aowow/?npc=15612, https://wowgaming.altervista.org/aowow/?npc=15613, https://wowgaming.altervista.org/aowow/?npc=15609, https://wowgaming.altervista.org/aowow/?npc=15540, https://wowgaming.altervista.org/aowow/?npc=15704, https://wowgaming.altervista.org/aowow/?npc=15693, https://wowgaming.altervista.org/aowow/?npc=15431, https://wowgaming.altervista.org/aowow/?npc=15903, https://wotlkdb.com/?npc=15610 and https://wotlkdb.com/?npc=15180 were introduced/changed with the 1.9 (AQ) patch as well and should be disabled, again gating many catch-up and rep-grind quests.

These quests are part of starting the AQ effort and need to be disabled unless the AQ war event is active:

Source: https://wowpedia.fandom.com/wiki/Category:Silithus_NPCs

Flying Progression Issues

Issue:

When you level up to level 60, you will get a mail from the flying trainer to learn flying at 60. This is not in style of progression, as flying was level 70 in tbc.

Fix:

in the 1-19 bracket,
make it that the mail will not be send at level 60,
quest can be done at level 70.
and set the level for flying at level 70
make it that the mail will be send at level 70

at the 71-74 bracket
revert previous changes, so mail get received at 60, quest can be done at 60, training can be done at 60.

Note:

It would also be handy that if we decide to put it at an earlier level, that we can easily adjust the script for this. (e.g. we may want flying at level 69 or 68. in the tbc bracket)

progression_70_4_restore_creature_quest_start_end.sql problem

The sql has an error

DELETE FROM `creature_questender` WHERE `quest` IN (8548,8572,8573,8574,8800,8332,8333,8348,8349,8363,8507,8731,8792,8793,8794,10500);
INSERT INTO `creature_questender` (`id`, `quest`) VALUES (15176, 8548),(15176, 8572),(15176, 8573),(15176, 8574),(15176, 8800),(15282, 8332),(15282, 8333),(15306, 8348),(15306, 8349),(15306, 8363),(15540, 8507),(15540, 8731),(15700, 8792),(15700, 8793),(15700, 8794), (15700, 10500);

DELETE FROM `creature_queststarter` WHERE `quest` IN (8548,8572,8573,8574,8332,8333,8349,8348,8363,8507,8731,8800,8792,8793,8784,8795,8797,10500,10501);
INSERT INTO `creature_queststarter` (`id`, `quest`) VALUES (15176, 8548),(15176, 8572),(15176, 8573),(15176, 8574), (15282, 8332),(15282, 8333),(15282, 8349),(15306, 8348),(15306, 8363), (15540, 8507),(15540, 8731),(15540, 8800),(15702, 8792),(15703, 8793),(15704, 8794),(15707, 8795),(15709, 8797),(21155, 10500),
(21156, 10501),

Tier0.5 Implementation Roadmap

Introduction

Patch 1.5 implemented the first full 8-piece class sets, In 1.10 a long quest series was introduced to upgrade the first set into a new, stronger version. These two sets are known as either Dungeon 1 and 2 (D1, D2) or Tier 0 and 0.5 (T0, T0.5). These sets were fairly difficult to acquire and were intended as endgame gear for non-raiders. For this guide, I'll be referring to these sets as D1 and D2 respectively.
Season of Mastery
In Season of Mastery, both Tier 0 (D1) and Tier 0.5 (D2) sets are available from launch.
Season of Mastery
World of Warcraft Classic is getting its first "Season" with Season of Mastery. Seasons will have six content phases, lasting roughly 2 months for each phase, for a total of a 12 month cadence. When the Season ends, characters will have the option to transfer to permanent Classic Era realms before the Season servers are shut down. Season of Mastery will feature faster leveling, new raid mechanics, the removal of world buffs in raids, and many other changes.

How the Tier 0.5 Works

To begin, you'll need to get the D1 set. Each class has 3 BoE pieces (Belt, Wrist, Gloves). The first two, Belt and Wrist, are trash drops for all classes except Warlock, who have all 3 pieces as trash drops. Helm, Chest and Legs are all boss drops, with each dropping from the same boss for all classes. The remaining pieces drop from various bosses different to each class.

Important to note here that the D2 quests are done in segments, meaning you do not need the full D1 set before you can start working on D2.

During the first run of this content back in 2006, when completing the final quests of each stage where you would turn in your D1 item for the equivalent D2, if you had multiple items of the same D1 piece (for example, two Bracers), you would lose all of them. To be safe, store extras in your bank before doing this turn-in.

Important NPCs

Deliana and Mokvar

Depending on your faction, you'll be speaking to one of the two NPCs mentioned below quite frequently throughout this chain.

  • Deliana: located in the Great Forge (Throne room) in Ironforge at /way 44 51
  • Mokvar: located in the Valley of Wisdom (Thrall's room) in Orgrimmar at /way 38 36

Quests for Progress

Each quest will be marked with a tick if they are currently stable. (Completable and no bugs associated)

Part 1

Part 2

Part 3

Creature Level Zone Faction Chance count Chance
Gordok Mage-Lord 57 - 58Elite Dire Maul A H 1060out of 11400 9
Gordok Brute 57 - 58Elite Dire Maul A H 2041out of 31956 6
Gordok Ogre-Mage 52 - 53Elite Feralas A H 565out of 10690 5
Gordok Enforcer Elite Feralas A H 146out of 3190 5
Gordok Mauler 53 - 54Elite A H 172out of 4847 4
Gordok Warlock 59 - 60Elite Dire Maul A H 649out of 24537 3
Gordok Captain 59 - 60Elite Dire Maul A H 147out of 4543 3
Gordok Reaver 58 - 61Elite Dire Maul A H 687out of 33283 2
Spirestone Battle Mage 57 - 58Elite Blackrock Spire A H 86out of 6210 1.4
Gordok Bushwacker Elite Dire Maul A H 22out of 1597 1.4
Urok Doomhowl 60Rare Elite Blackrock Spire A H 6out of 430 1.4
Spirestone Reaver 55 - 56Elite Blackrock Spire A H 186out of 15269 1.2
Spirestone Enforcer 54 - 55Elite Blackrock Spire A H 165out of 14284 1.2
Spirestone Mystic 55 - 56Elite Blackrock Spire A H 81out of 6747 1.2
Spirestone Ogre Magus 54 - 55Elite Blackrock Spire A H 127out of 11442 1.1
Spirestone Warlord 57 - 58Elite Blackrock Spire A H 132out of 12826 1
Highlord Omokk 59Elite Blackrock Spire A H 24out of 2672 0.9
Spirestone Lord Magus Rare Elite Blackrock Spire A H 3out of 897 0.3
Spirestone Battle Lord Rare Elite Blackrock Spire A H 3out of 1550 0.19
Creature Chance
Revanchion 11
Eldreth Wraith 10
Eldreth Spectre 0.5
Eldreth Spirit 0.5
Eldreth Phantasm 0.5
Eldreth Apparition 0.4
Eldreth Sorcerer 0.09
Eldreth Seether 0.07

Part 4

Bosses for gear

Boss Instance Stable
War Master Voone Lower BRS  Yes
Nerub'renkan Stratholme  
Overlord Wyrmthalak Lower BRS  Yes
Darkmaster Gandling Scholomance  Yes
General Drakkisath Upper BRS  Yes
Baron Rivendare Stratholme  Yes
Doctor Theolen Krastinov Scholomance  Yes
Hearthsinger Forresten Stratholme  
Ras Frostwhisper Scholomance  Yes
The Unforgiven Stratholme  
Mother Smolderweb Blackrock Spire  Yes
Gizrul the Slavener Lower BRS  Yes
Ramstein the Gorger Stratholme  
Kirtonos the Herald Scholomance  Yes
Warchief Rend Blackhand Upper BRS  Yes
Archivist Galford Stratholme  Yes
Maleki the Pallid Stratholme  
Solakar Flamewreath Upper BRS  Yes
Baroness Anastari Stratholme  Works
Jandice Barov Scholomance  
Timmy the Cruel Stratholme  No
Balnazzar Stratholme  Yes
The Beast Upper BRS  Yes
Shadow Hunter Vosh'gajin Lower BRS  Yes
Rattlegore Scholomance  
Cannon Mastery Willey Stratholme  
Pyroguard Emberseer Upper BRS  Yes
Highlord Omokk Lower BRS  
Gyth Upper BRS  Yes

[WIP] bracket lvl 50-59

50-59 instances

These are the instances:

I took this list from here https://en.classic.wowhead.com/guides/classic-dungeons-overview

We need to check all:

  • Bosses
  • NPCs
  • Quests

We can use wowgaming-aowow to make a quick comparisons of loot and NPCs abilities, for the rest we need to check everything manually for a deep check.

About progressions

@locus313 already blocked them and provide the script to enable them.

For the progression for this specific bracket we don't need to do much besides disabling the instances and, as for classic, disabling the loot of TBC/Wotlk NPCs that are in the Classic zones.

[Lunar Festival] Elder Bladesing missing in Silithus (Cenarion Hold)

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

Original report: chromiecraft/chromiecraft#2851

Elder Bladesing missing in Silithus probably due to disable content in there.

Expected Blizzlike Behaviour

Should allow us to have him, he has nothing to do with raid unlocking and tiers.

Source

No response

Steps to reproduce the problem

  1. Find him in Cenarion Hold
  2. Get Coin and Achievement.

Extra Notes

No response

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@259b913

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Darkmoon Faire Water Vendor

NPC: Sylannia
NPC ID: 14844

Item 33234 was added in TBC - should be restricted to 61+
Item 33236 was added in TBC - should be restricted to 61+
Item 44941 was added in WotLK - should be restricted to 71+

[Onyxia] Onyxia Fireball

What client do you play on?

ruRU

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

Fireball
Works as 80 version

Expected Blizzlike Behaviour

Fireballs should target whoever is highest on Onyxia's threat list. Also fireballs should wipe target's threat

Source

https://wowwiki-archive.fandom.com/wiki/Onyxia_(original)
https://youtu.be/z_fBigd64Xk
https://youtu.be/MUywMYFWpCg

Steps to reproduce the problem

  1. Go to phase 2
  2. Get hit by fireball

Extra Notes

chromiecraft/chromiecraft#2998

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@6f20b9e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

UBRS Script used by the Progression Module is outdated

https://github.com/azerothcore/mod-progression-system/blob/NewModule/src/Bracket_50_59_B/scripts/BlackrockSpire/blackrock_spire.h
https://github.com/azerothcore/mod-progression-system/blob/NewModule/src/Bracket_50_59_B/scripts/BlackrockSpire/instance_blackrock_spire.cpp

The script files are critically outdated, they are behind most of the work we've done since we started working on UBRS. Furthermore, they'll conflict with the other bosses script files.

For example, AC is using TC's new register method: https://github.com/azerothcore/azerothcore-wotlk/blob/master/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h#L148 so the compile might fail, or unexpected results might happen.

We need to get those files updated before the release and test a compile + setup

Classic pre quests

UBRS

This door (image taken when open)
image
needs to be locked. Only a player who has the Seal of Ascension in their inventory may be allowed to open it.

MC

https://wowgaming.altervista.org/aowow/?npc=14387 has a gossip option to teleport players to MC. That gossip may only exist once https://wowgaming.altervista.org/aowow/?quest=7487 (for horde) or https://wowgaming.altervista.org/aowow/?quest=7848 (for alliance) are completed.

Also: https://wowgaming.altervista.org/aowow/?object=179553 gobject doesn't sparkle, unless dungeon is reset after accepting the quest.

gameobject_loot_template for gobject is empty. It must contain https://wowgaming.altervista.org/aowow/?item=18412

The MC gate inside BRD doesn't return the text from the query:
https://github.com/55Honey/progression-system/blob/55Honey-patch-1/0/dungeon_access_requirements.sql

BWL

The Pre quest works properly and allows use of the "Orb of command" outside Blackrock Spire once the quest "Blackhand's Command" is completed.

.go 169 -474 -117
The BWL gate inside Blackrock Spire does still work, even tho this query is in place: https://github.com/55Honey/progression-system/blob/55Honey-patch-1/0/dungeon_access_requirements.sql

AQ40

From what i can tell the whole AQ war effort quest chain, leading up to the black qiraj drone and opening of AQ, exists in the DB. I found all quests i could remember and they're properly linked to each other apparently. There is also https://wowgaming.altervista.org/aowow/?event=22 AQ War Effort.

What i couldn't find is the point, where a quest which hasn't been completed at least once on the server, keeps the gates closed.

Alterac vendors selling items without adjustments

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59

Current Behaviour

Original report: chromiecraft/chromiecraft#2515

CC staff decided to introduce non-blizzlike adjustments to the PvP Vendors for Warsong Gulch, Arathi Basin and Alterac Valley factions.

But, for Alterac Valley Factions, only 1 of 2 vendors per faction got adjusted. Thus, right now there is one vendor selling a restricted amount of items for an increased price (in the open world / capital city) and one blizzlike vendor within Alterac Valley per faction.

Tester:

Probably it's about Grunnda Wolfheart and Gaelden Hammersmith

Expected Blizzlike Behaviour

The 4 vendors should sell their factions respective items for the same price and offer the same items.

Source

X

Steps to reproduce the problem

Check AV vendor in SW / OG (which are originally supposed to stand in Hillsbrad / Alterac Mountains only.
Then compare both vendors accessible within the battleground AV.

Extra Notes

No response

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@fc4b5a9

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

First Sergeant Hola'mahi selling more items than should

What client do you play on?

enUS

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59

Current Behaviour

Original report: chromiecraft/chromiecraft#2225

Both PvP set vendors made available for the classic PvP set also offer the lvl 58 melee ring and lvl 58 1hand sword - but with prices different from the adjusted prices they are offered at the other vendors.
Ring is 3k honor cheaper, Sword is 5k more expensive
WoWScrnShot_110121_080520
WoWScrnShot_110121_080529
WoWScrnShot_110121_080540

Tester:

The issue is confirmed on Horde side. First Sergeant Hola'mahi selling ring and sword. It has different prices compare to other vendor.

Expected Blizzlike Behaviour

First Sergeant Hola'mahi should not selling Legionnaire's Band and Legionnaire's Sword

Source

X

Steps to reproduce the problem

.go c id 12795

Extra Notes

No response

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@420ca2e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

TBC green gems droping while prospecting thorium ore

Currently TBC green gems still drop from Prospecting thorium. A while ago with the TBC item deletion, the gems were also deleted, but they are still in the prospecting loot table.

The gems in quesiton: (https://wowgaming.altervista.org/aowow/?item=10620#prospecting)
Item 21929, 23077, 23079, 23107, 23112, 23117
Flame Spessarite, Blood Garnet, Deep Peridot, Shadow Draenite, Golden Draenite, Azure Moonstone

They should be removed from Thorium Ore pospecting loot until TBC content is released.

Original Report: chromiecraft/chromiecraft#2291

[Onyxia] Onyxia evade zone

What client do you play on?

ruRU

Faction

  • Alliance
  • Horde

Content Phase:

  • Generic
  • 1-19
  • 20-29
  • 30-39
  • 40-49
  • 50-59
  • 60

Current Behaviour

  1. You can kite Onyxia all over the dungeon and tank wherever you want. She can get to any place, including just flying to you and will not evade.
  2. You can be in any part of dungeon during the entire fight.

Expected Blizzlike Behaviour

  1. Onyxia will evade when you come out of her cave.
  2. Onyxia will teleport characters to herself if they are far away or unreachable when she is in combat.

Source

https://classic.wowhead.com/guides/onyxia-onyxias-lair-strategy-wow-classic
https://wowwiki-archive.fandom.com/wiki/Onyxia_(original)

Steps to reproduce the problem

  1. Pull Ony and run out of her cave.
  2. When someone pull Ony, run to the beginning of the dungeon or climb on some weird spot

Extra Notes

chromiecraft/chromiecraft#2997

AC rev. hash/commit

chromiecraft/azerothcore-wotlk@6f20b9e

Operating system

Ubuntu 20.04

Modules

Customizations

None

Server

ChromieCraft

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.