Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Core/LFG: Minimum item level in Wotlk heroic dungeons
WotLK Heroics, beside Trial of the Champion, Pit of Saron, Halls of Reflection and The Forge of Souls unlock with an average item level of 160. Also Trial of the Champion (normal) and The Forge of Souls (normal) unlock with an item level of 160. http://www.wowwiki.com/Dungeon_Finder?oldid=2404648#Wrath_of_the_Lich_King_dungeons
- Loading branch information
1 parent
e169e24
commit ffe1e6e
Showing
4 changed files
with
23 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
-- Add new collum in the access_requirement table. | ||
ALTER TABLE `access_requirement` ADD COLUMN `item_level` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `level_max`; | ||
|
||
-- All WotLK Heroics require at least an average item level of 180. | ||
UPDATE `access_requirement` SET `item_level`=180 WHERE `mapId` IN (574, 575, 576, 578, 595, 599, 600, 601, 602, 604, 608, 619) AND `difficulty`=1; | ||
-- Trial of the Champion, Pit of Saron, and the Forge of Souls require an average item level of 200. | ||
UPDATE `access_requirement` SET `item_level`=200 WHERE `mapId` IN (632, 650, 658); | ||
-- Halls of Reflection requires an average item level of 219. | ||
UPDATE `access_requirement` SET `item_level`=219 WHERE `mapId`=668; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -405,7 +405,9 @@ void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */) | |
lockData = LFG_LOCKSTATUS_NOT_IN_SEASON; | ||
else if (AccessRequirement const* ar = sObjectMgr->GetAccessRequirement(dungeon->map, Difficulty(dungeon->difficulty))) | ||
{ | ||
if (ar->achievement && !player->HasAchieved(ar->achievement)) | ||
if (player->GetAverageItemLevel() < ar->item_level) | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
emsy
|
||
lockData = LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE; | ||
else if (ar->achievement && !player->HasAchieved(ar->achievement)) | ||
lockData = LFG_LOCKSTATUS_MISSING_ACHIEVEMENT; | ||
else if (player->GetTeam() == ALLIANCE && ar->quest_A && !player->GetQuestRewardStatus(ar->quest_A)) | ||
lockData = LFG_LOCKSTATUS_QUEST_NOT_COMPLETED; | ||
|
@@ -422,7 +424,6 @@ void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */) | |
} | ||
|
||
/* @todo VoA closed if WG is not under team control (LFG_LOCKSTATUS_RAID_LOCKED) | ||
lockData = LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE; | ||
lockData = LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE; | ||
lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL; | ||
lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 comment
on commit ffe1e6e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you forgot to update instance locks every time a player changes equipment
This should probably be
if (ar->item_level && player->GetAverageItemLevel() < ar->item_level)
to trigger the check only for non-zero values. As a result, all instances other than those above currently return this error