add Naxx40 achievement (#823)

- add new naxx40 achievement
- separated patch-V.mpq from dbc.7z
This commit is contained in:
Grimfeather
2025-10-23 07:10:05 +02:00
committed by GitHub
parent 8ccc672f58
commit bbeb8609ac
7 changed files with 59 additions and 15 deletions

View File

@@ -31,6 +31,23 @@ INSERT INTO `quest_template` (`ID`, `QuestType`, `QuestLevel`, `MinLevel`, `Ques
(66018, 2, 60, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28006, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 'Progression Quest WotLK T5', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '', '', '', '', 12340);
/* ACHIEVEMENTS */
DELETE FROM `achievement_dbc` WHERE `ID` = 533;
INSERT INTO `achievement_dbc` (`ID`, `Faction`, `Instance_Id`, `Supercedes`,
`Title_Lang_enUS`, `Title_Lang_enGB`, `Title_Lang_koKR`, `Title_Lang_frFR`, `Title_Lang_deDE`, `Title_Lang_enCN`, `Title_Lang_zhCN`, `Title_Lang_enTW`,
`Title_Lang_zhTW`, `Title_Lang_esES`, `Title_Lang_esMX`, `Title_Lang_ruRU`, `Title_Lang_ptPT`, `Title_Lang_ptBR`, `Title_Lang_itIT`, `Title_Lang_Unk`, `Title_Lang_Mask`,
`Description_Lang_enUS`, `Description_Lang_enGB`, `Description_Lang_koKR`, `Description_Lang_frFR`, `Description_Lang_deDE`, `Description_Lang_enCN`, `Description_Lang_zhCN`, `Description_Lang_enTW`,
`Description_Lang_zhTW`, `Description_Lang_esES`, `Description_Lang_esMX`, `Description_Lang_ruRU`, `Description_Lang_ptPT`, `Description_Lang_ptBR`, `Description_Lang_itIT`, `Description_Lang_Unk`, `Description_Lang_Mask`,
`Category`, `Points`, `Ui_Order`, `Flags`, `IconID`,
`Reward_Lang_enUS`, `Reward_Lang_enGB`, `Reward_Lang_koKR`, `Reward_Lang_frFR`, `Reward_Lang_deDE`, `Reward_Lang_enCN`, `Reward_Lang_zhCN`, `Reward_Lang_enTW`, `Reward_Lang_zhTW`, `Reward_Lang_esES`,
`Reward_Lang_esMX`, `Reward_Lang_ruRU`, `Reward_Lang_ptPT`, `Reward_Lang_ptBR`, `Reward_Lang_itIT`, `Reward_Lang_Unk`, `Reward_Lang_Mask`, `Minimum_Criteria`, `Shares_Criteria`) VALUES
(533,-1,533,0,"Naxxramas (Level 60)","","","","","","","","","","","","","","","",16712190,
"Defeat the classic, level 60 version of Kel\'Thuzad.","","","","","","","","","","","","","","","",16712190,
81,0,154,0,1898,"","","","","","","","","","","","","","","","",16712172,1,0);
/* CREATURE DROPS */
-- https://www.azerothcore.org/wiki/conditions

Binary file not shown.

Binary file not shown.

BIN
optional/patch-V.7z Normal file

Binary file not shown.

View File

@@ -1,25 +1,31 @@
(please backup first in case you want to undo changes! It is safe to leave backups in the dbc folder with different names.)
---------------------------------------------------
To have the Vanilla login screen:
---------------------------------------------------
Place patch-J.mpq from the dbc.7z file in the client 'data' folder. This is a visual only change; no server change required.
---------------------------------------------------
To have Vanilla loading screens during Vanilla:
---------------------------------------------------
Place patch-U.mpq from the dbc.7z file in the client 'data' folder. This is a visual only change; no server change required.
Credit to slendydaddy for HD Vanilla loading screen art.
---------------------------------------------------
To restore Vanilla and TBC crafting, recipes, and reagents:
---------------------------------------------------
SkillLineAbility.dbc and Spell.dbc files are for use by the server. Place them in server dbc dir and overwrite existing files
(please backup first if you want to undo changes! It is safe to leave a backup in dbc folder with different names.)
patch-V.mpq contains the client DBC files. Place them in the Data folder of the client with existing .mpq files.
To avoid confusion, please ensure that both client and server files are used for this change! Server files will ensure correct logic, client files ensure correct display.
SkillLine.dbc, SkillLineAbility.dbc and SkillRaceClassInfo.dbc are for use by the server.
Place these files in the server 'data/dbc' folder overwriting the existing files.
---------------------------------------------------
To have Vanilla login screen:
To have adjusted mana costs during Vanilla and TBC:
---------------------------------------------------
Place patch-J.mpq in the client data folder. This is visual only change; no server change required.
---------------------------------------------------
To have Vanilla loading screens in Vanilla content:
---------------------------------------------------
Place patch-U.mpq in the client data folder. This is visual only change; no server change required.
Credit to slendydaddy for HD Vanilla loading screen art.
Place patch-V.mpq from the patch-V.7z in the client 'data' folder.
Place Spell.dbc from the patch-V.7z file in the server 'data/dbc' folder overwriting the existing file.
---------------------------------------------------
To keep WotLK mana costs during Vanilla and TBC:
---------------------------------------------------
Place patch-S.mpq in the client data folder instead of patch-V.mpq. Do NOT use both!
Place Spell.dbc from the patch-S.7z file in the server dbc directory overwriting the existing file.
Place patch-S.mpq from the patch-S.7z file in the client 'data' folder instead of patch-V.mpq. Do NOT use both!
Place Spell.dbc from the patch-S.7z file in the server 'data/dbc' folder overwriting the existing file.
Credit to sihensel and soniquete0

View File

@@ -269,6 +269,14 @@ void IndividualProgression::checkIPProgression(Player* killer)
}
return;
}
else if (killer->HasAchieved(KEL_THUZAD_40_KILL)) // 533
{
if (currentState < PROGRESSION_NAXX40)
{
UpdateProgressionState(killer, PROGRESSION_NAXX40);
}
return;
}
else if (killer->HasAchieved(C_THUN_KILL)) // 687
{
if (currentState < PROGRESSION_AQ)
@@ -342,6 +350,7 @@ void IndividualProgression::checkKillProgression(Player* killer, Creature* kille
case KELTHUZAD_40:
UpdateProgressionState(killer, PROGRESSION_NAXX40);
UpdateProgressionQuests(killer);
UpdateProgressionAchievements(killer, KEL_THUZAD_40_KILL);
break;
case MALCHEZAAR:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_1);
@@ -416,6 +425,16 @@ void IndividualProgression::UpdateProgressionQuests(Player* player)
}
}
void IndividualProgression::UpdateProgressionAchievements(Player* player, uint16 achievementID)
{
AchievementEntry const* entry = sAchievementStore.LookupEntry(achievementID);
if (entry)
{
player->CompletedAchievement(entry);
}
}
class IndividualPlayerProgression_WorldScript : public WorldScript
{
private:

View File

@@ -97,7 +97,8 @@ enum ProgressionQuests
enum ProgressionAchievements
{
KEL_THUZAD_KILL = 575, // WotLK, naxx40 does not have an achievement
KEL_THUZAD_40_KILL = 533,
KEL_THUZAD_KILL = 575, // WotLK
ONYXIAS_KILL = 684,
NEFARIAN_KILL = 685,
RAGNAROS_KILL = 686,
@@ -271,6 +272,7 @@ public:
bool isAttuned(Player* player);
void checkIPProgression(Player* player);
void UpdateProgressionQuests(Player* player);
void UpdateProgressionAchievements(Player* player, uint16 achievementID);
void checkKillProgression(Player* player, Creature* killed);
static void LoadCustomProgressionEntries(const std::string& customProgressionString);
static void RemovePlayerAchievement(uint16 playerGUID, uint16 achievementId);