mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 23:44:51 +08:00
add Naxx40 achievement (#823)
- add new naxx40 achievement - separated patch-V.mpq from dbc.7z
This commit is contained in:
@@ -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);
|
(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 */
|
/* CREATURE DROPS */
|
||||||
|
|
||||||
-- https://www.azerothcore.org/wiki/conditions
|
-- https://www.azerothcore.org/wiki/conditions
|
||||||
|
|||||||
BIN
optional/dbc.7z
BIN
optional/dbc.7z
Binary file not shown.
Binary file not shown.
BIN
optional/patch-V.7z
Normal file
BIN
optional/patch-V.7z
Normal file
Binary file not shown.
@@ -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:
|
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
|
SkillLine.dbc, SkillLineAbility.dbc and SkillRaceClassInfo.dbc are for use by the server.
|
||||||
(please backup first if you want to undo changes! It is safe to leave a backup in dbc folder with different names.)
|
Place these files in the server 'data/dbc' folder overwriting the existing files.
|
||||||
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.
|
|
||||||
|
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
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.
|
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 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.
|
|
||||||
|
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
To keep WotLK mana costs during Vanilla and TBC:
|
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 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 dbc directory overwriting the existing file.
|
Place Spell.dbc from the patch-S.7z file in the server 'data/dbc' folder overwriting the existing file.
|
||||||
Credit to sihensel and soniquete0
|
Credit to sihensel and soniquete0
|
||||||
|
|||||||
@@ -269,6 +269,14 @@ void IndividualProgression::checkIPProgression(Player* killer)
|
|||||||
}
|
}
|
||||||
return;
|
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
|
else if (killer->HasAchieved(C_THUN_KILL)) // 687
|
||||||
{
|
{
|
||||||
if (currentState < PROGRESSION_AQ)
|
if (currentState < PROGRESSION_AQ)
|
||||||
@@ -342,6 +350,7 @@ void IndividualProgression::checkKillProgression(Player* killer, Creature* kille
|
|||||||
case KELTHUZAD_40:
|
case KELTHUZAD_40:
|
||||||
UpdateProgressionState(killer, PROGRESSION_NAXX40);
|
UpdateProgressionState(killer, PROGRESSION_NAXX40);
|
||||||
UpdateProgressionQuests(killer);
|
UpdateProgressionQuests(killer);
|
||||||
|
UpdateProgressionAchievements(killer, KEL_THUZAD_40_KILL);
|
||||||
break;
|
break;
|
||||||
case MALCHEZAAR:
|
case MALCHEZAAR:
|
||||||
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_1);
|
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
|
class IndividualPlayerProgression_WorldScript : public WorldScript
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ enum ProgressionQuests
|
|||||||
|
|
||||||
enum ProgressionAchievements
|
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,
|
ONYXIAS_KILL = 684,
|
||||||
NEFARIAN_KILL = 685,
|
NEFARIAN_KILL = 685,
|
||||||
RAGNAROS_KILL = 686,
|
RAGNAROS_KILL = 686,
|
||||||
@@ -271,6 +272,7 @@ public:
|
|||||||
bool isAttuned(Player* player);
|
bool isAttuned(Player* player);
|
||||||
void checkIPProgression(Player* player);
|
void checkIPProgression(Player* player);
|
||||||
void UpdateProgressionQuests(Player* player);
|
void UpdateProgressionQuests(Player* player);
|
||||||
|
void UpdateProgressionAchievements(Player* player, uint16 achievementID);
|
||||||
void checkKillProgression(Player* player, Creature* killed);
|
void checkKillProgression(Player* player, Creature* killed);
|
||||||
static void LoadCustomProgressionEntries(const std::string& customProgressionString);
|
static void LoadCustomProgressionEntries(const std::string& customProgressionString);
|
||||||
static void RemovePlayerAchievement(uint16 playerGUID, uint16 achievementId);
|
static void RemovePlayerAchievement(uint16 playerGUID, uint16 achievementId);
|
||||||
|
|||||||
Reference in New Issue
Block a user