mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 15:38:19 +08:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f57467aced | ||
|
|
bb45ca7a04 | ||
|
|
2a14fbde09 | ||
|
|
145cbb0cce | ||
|
|
7f8a8805d7 | ||
|
|
f2005af9cf |
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,7 @@ bool IndividualProgression::isBeforeProgression(Player* player, ProgressionState
|
||||
|
||||
void IndividualProgression::UpdateProgressionState(Player* player, ProgressionState newState) const
|
||||
{
|
||||
if (progressionLimit && newState >= progressionLimit)
|
||||
if (progressionLimit && newState > progressionLimit)
|
||||
return;
|
||||
uint8 currentState = player->GetPlayerSetting("mod-individual-progression", SETTING_PROGRESSION_STATE).value;
|
||||
if (newState > currentState)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "GameObjectAI.h"
|
||||
#include "MapMgr.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Group.h"
|
||||
#include "Pet.h"
|
||||
#include "DBCEnums.h"
|
||||
|
||||
@@ -113,13 +113,8 @@ public:
|
||||
uint32 vanillaXpValue = sIndividualProgression->questXpMap[quest->GetQuestId()];
|
||||
if (player)
|
||||
{
|
||||
vanillaXpValue *= player->GetQuestRate();
|
||||
}
|
||||
// If XP was already reduced due to out-leveling the quest or other reasons, use the reduced value
|
||||
if (vanillaXpValue < xpValue)
|
||||
{
|
||||
// Otherwise, return the correct Vanilla/TBC Quest XP
|
||||
xpValue = vanillaXpValue;
|
||||
uint32 originalXpValue = quest->XPValue(quest->GetQuestLevel() == -1 ? player->GetLevel() : quest->GetQuestLevel());
|
||||
xpValue *= vanillaXpValue * 1.0 / originalXpValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -202,6 +197,19 @@ public:
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
InstanceTemplate const* instanceTemplate = sObjectMgr->GetInstanceTemplate(mapid);
|
||||
if (instanceTemplate)
|
||||
{
|
||||
if (instanceTemplate->Parent == MAP_OUTLANDS && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (instanceTemplate->Parent == MAP_NORTHREND && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user