mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 23:44:51 +08:00
Allow Dungeon Set 2 before AQ progression phase
This commit is contained in:
@@ -292,3 +292,15 @@ IndividualProgression.DisableDefaultProgression = 0
|
||||
#
|
||||
|
||||
IndividualProgression.CustomProgression = ""
|
||||
#
|
||||
# IndividualProgression.AllowEarlyDungeonSet2
|
||||
# Description: Dungeon Set 2 was introduced in patch 1.10 and requires completing some AQ content that is normally not available until a later phase
|
||||
# When enabled, this allows the relevant content to be accessed early so that Dungeon Set 2 can be acquired before it is made obsolete
|
||||
# by raid gear.
|
||||
#
|
||||
# Default: 0 - Disabled
|
||||
# 1 - Enabled
|
||||
#
|
||||
#
|
||||
|
||||
IndividualProgression.AllowEarlyDungeonSet2 = 1
|
||||
@@ -4,7 +4,9 @@ UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_tbc' WHERE `entry` IN (16
|
||||
20026, 20027, 20053, 20054, 20069, 18542, 20080, 20081, 20082, 21643, 20130,
|
||||
19934, 19936, 19950, 19951, 19959, 22889, 22902, 22835, 22837);
|
||||
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_aq' WHERE `entry` IN (15293,15270,15306,15191,15181,15182,15306,15599,15282,15183,15194,15176,15270,16091,15701,15612,15613,15540,15704,15693,15431,15903,15180, 15499);
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_ds2' WHERE `entry` IN (15282, 15270);
|
||||
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_aq' WHERE `entry` IN (15293,15306,15191,15181,15182,15306,15599,15183,15194,15176,15270,16091,15701,15612,15613,15540,15704,15693,15431,15903,15180, 15499, 15500, 15498);
|
||||
# Two Cenarion Scouts - 15609 and 15610 - should be in this progression but they have some quest AI that we don't want to override, so leave them for now
|
||||
|
||||
# Light's Hope Chapel
|
||||
|
||||
@@ -264,6 +264,7 @@ private:
|
||||
sIndividualProgression->deathKnightProgressionLevel = sConfigMgr->GetOption<uint8>("IndividualProgression.DeathKnightUnlockProgression", 11);
|
||||
sIndividualProgression->deathKnightStartingProgression = sConfigMgr->GetOption<uint8>("IndividualProgression.DeathKnightStartingProgression", 11);
|
||||
sIndividualProgression->LoadCustomProgressionEntries(sConfigMgr->GetOption<std::string>("IndividualProgression.CustomProgression", ""));
|
||||
sIndividualProgression->earlyDungeonSet2 = sConfigMgr->GetOption<bool>("IndividualProgression.AllowEarlyDungeonSet2", true);
|
||||
}
|
||||
|
||||
static void LoadXpValues()
|
||||
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
std::map<uint32, uint8> customProgressionMap;
|
||||
questXpMapType questXpMap;
|
||||
float vanillaPowerAdjustment, vanillaHealthAdjustment, tbcPowerAdjustment, tbcHealthAdjustment, vanillaHealingAdjustment, tbcHealingAdjustment, previousGearTuning;
|
||||
bool enabled, questXpFix, hunterPetLevelFix, requirePreAQQuests, enforceGroupRules, fishingFix, simpleConfigOverride, questMoneyAtLevelCap, repeatableVanillaQuestsXp, disableDefaultProgression;
|
||||
bool enabled, questXpFix, hunterPetLevelFix, requirePreAQQuests, enforceGroupRules, fishingFix, simpleConfigOverride, questMoneyAtLevelCap, repeatableVanillaQuestsXp, disableDefaultProgression, earlyDungeonSet2;
|
||||
int progressionLimit, startingProgression, tbcRacesProgressionLevel, deathKnightProgressionLevel, deathKnightStartingProgression;
|
||||
|
||||
bool hasPassedProgression(Player* player, ProgressionState state) const;
|
||||
|
||||
@@ -260,6 +260,36 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class npc_ipp_ds2 : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_ipp_ds2() : CreatureScript("npc_ipp_ds2") { }
|
||||
|
||||
struct npc_ipp_ds2AI: ScriptedAI
|
||||
{
|
||||
explicit npc_ipp_ds2AI(Creature* creature) : ScriptedAI(creature) { };
|
||||
|
||||
bool CanBeSeen(Player const* player) override
|
||||
{
|
||||
if (player->IsGameMaster() || !sIndividualProgression->enabled)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (sIndividualProgression->earlyDungeonSet2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||
return sIndividualProgression->hasPassedProgression(target, PROGRESSION_BLACKWING_LAIR);
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_ipp_ds2AI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class npc_ipp_naxx40 : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -290,6 +320,7 @@ void AddSC_mod_individual_progression_awareness()
|
||||
{
|
||||
new npc_ipp_aq();
|
||||
// new npc_ipp_naxx40(); // Not used yet
|
||||
new npc_ipp_ds2();
|
||||
new npc_ipp_tbc();
|
||||
new npc_ipp_tbc_t4();
|
||||
new npc_ipp_tbc_pre_t4();
|
||||
|
||||
Reference in New Issue
Block a user