Remade access_requirement table, now each difficulty mode for each instance has its own entry (for future Dungeon Finder development)

Added completed achievement as new requirement type
Removed obsolete access_id from areatrigger_teleport table
Implemented automatic downscaling of raid difficulty when requested mode does not exist
Changed dungeon_difficulty in characters table to instance_mode_mask saving both dungeon and raid difficulty in form (dungeon diff | raid diff << 4)

--HG--
branch : trunk
This commit is contained in:
Shauren
2010-07-29 18:11:41 +02:00
parent dfe5ae36d3
commit ade1bbdd62
19 changed files with 172 additions and 156 deletions
+2 -3
View File
@@ -120,7 +120,6 @@ typedef std::pair<SpellClickInfoMap::const_iterator,SpellClickInfoMap::const_ite
struct AreaTrigger
{
uint32 access_id;
uint32 target_mapId;
float target_X;
float target_Y;
@@ -529,9 +528,9 @@ class ObjectMgr
return NULL;
}
AccessRequirement const* GetAccessRequirement(uint32 requirement) const
AccessRequirement const* GetAccessRequirement(uint32 mapid, Difficulty difficulty) const
{
AccessRequirementMap::const_iterator itr = mAccessRequirements.find(requirement);
AccessRequirementMap::const_iterator itr = mAccessRequirements.find(MAKE_PAIR32(mapid,difficulty));
if (itr != mAccessRequirements.end())
return &itr->second;
return NULL;