mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 23:44:51 +08:00
Fix LFG Random Dungeon to choose appropriate dungeon for player's progression
This commit is contained in:
@@ -125,6 +125,16 @@ enum ProgressionState : uint8
|
|||||||
PROGRESSION_WOTLK_TIER_5 = 16 // Ruby Sanctum
|
PROGRESSION_WOTLK_TIER_5 = 16 // Ruby Sanctum
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum RandomDungeonIds : uint16
|
||||||
|
{
|
||||||
|
// Values from LFGDungeons.dbc
|
||||||
|
RDF_CLASSIC = 258,
|
||||||
|
RDF_THE_BURNING_CRUSADE = 259,
|
||||||
|
RDF_THE_BURNING_CRUSADE_HEROIC = 260,
|
||||||
|
RDF_WRATH_OF_THE_LICH_KING = 261,
|
||||||
|
RDF_WRATH_OF_THE_LICH_KING_HEROIC = 262
|
||||||
|
};
|
||||||
|
|
||||||
class IndividualProgression
|
class IndividualProgression
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -323,6 +323,22 @@ public:
|
|||||||
player->RemoveAura(IPP_PHASE);
|
player->RemoveAura(IPP_PHASE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnQueueRandomDungeon(Player* player, uint32& rDungeonId) override
|
||||||
|
{
|
||||||
|
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
|
||||||
|
{
|
||||||
|
rDungeonId = RDF_CLASSIC;
|
||||||
|
}
|
||||||
|
else if (rDungeonId == RDF_WRATH_OF_THE_LICH_KING && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
|
||||||
|
{
|
||||||
|
rDungeonId = RDF_THE_BURNING_CRUSADE;
|
||||||
|
}
|
||||||
|
else if (rDungeonId == RDF_WRATH_OF_THE_LICH_KING_HEROIC && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
|
||||||
|
{
|
||||||
|
rDungeonId = RDF_THE_BURNING_CRUSADE_HEROIC;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class IndividualPlayerProgression_AccountScript: public AccountScript
|
class IndividualPlayerProgression_AccountScript: public AccountScript
|
||||||
|
|||||||
Reference in New Issue
Block a user