aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 5d804b66537..d647768d3e0 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -15686,12 +15686,18 @@ bool Player::Satisfy(AccessRequirement const *ar, uint32 target_map, bool report
if(!isGameMaster() && ar)
{
uint32 LevelMin = 0;
- if(getLevel() < ar->levelMin && !sWorld.getConfig(CONFIG_INSTANCE_IGNORE_LEVEL))
- LevelMin = ar->levelMin;
-
uint32 LevelMax = 0;
- if(ar->levelMax >= ar->levelMin && getLevel() > ar->levelMax && !sWorld.getConfig(CONFIG_INSTANCE_IGNORE_LEVEL))
- LevelMax = ar->levelMax;
+
+ if(!sWorld.getConfig(CONFIG_INSTANCE_IGNORE_LEVEL))
+ {
+ if(ar->levelMin && getLevel() < ar->levelMin)
+ LevelMin = ar->levelMin;
+ else if(ar->heroicLevelMin && GetDifficulty() == DIFFICULTY_HEROIC
+ && getLevel() < ar->heroicLevelMin)
+ LevelMin = ar->heroicLevelMin;
+ if(ar->levelMax && getLevel() > ar->levelMax)
+ LevelMax = ar->levelMax;
+ }
uint32 missingItem = 0;
if(ar->item)