mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Conditions: Rename CONDITION_INSTANCE_DATA to CONDITION_INSTANCE_INFO.
And allow it to be used with GetData, GetData64 and GetBossState.
This commit is contained in:
@@ -154,11 +154,27 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
|
||||
case CONDITION_ACTIVE_EVENT:
|
||||
condMeets = sGameEventMgr->IsActiveEvent(ConditionValue1);
|
||||
break;
|
||||
case CONDITION_INSTANCE_DATA:
|
||||
case CONDITION_INSTANCE_INFO:
|
||||
{
|
||||
Map* map = object->GetMap();
|
||||
if (map && map->IsDungeon() && ((InstanceMap*)map)->GetInstanceScript())
|
||||
condMeets = ((InstanceMap*)map)->GetInstanceScript()->GetData(ConditionValue1) == ConditionValue2;
|
||||
if (map && map->IsDungeon())
|
||||
{
|
||||
if (InstanceScript const* instance = ((InstanceMap*)map)->GetInstanceScript())
|
||||
{
|
||||
switch (ConditionValue3)
|
||||
{
|
||||
case INSTANCE_INFO_DATA:
|
||||
condMeets = instance->GetData(ConditionValue1) == ConditionValue2;
|
||||
break;
|
||||
case INSTANCE_INFO_DATA64:
|
||||
condMeets = instance->GetData64(ConditionValue1) == ConditionValue2;
|
||||
break;
|
||||
case INSTANCE_INFO_BOSS_STATE:
|
||||
condMeets = instance->GetBossState(ConditionValue1) == ConditionValue2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CONDITION_MAPID:
|
||||
@@ -367,7 +383,7 @@ uint32 Condition::GetSearcherTypeMaskForCondition()
|
||||
case CONDITION_ACTIVE_EVENT:
|
||||
mask |= GRID_MAP_TYPE_MASK_ALL;
|
||||
break;
|
||||
case CONDITION_INSTANCE_DATA:
|
||||
case CONDITION_INSTANCE_INFO:
|
||||
mask |= GRID_MAP_TYPE_MASK_ALL;
|
||||
break;
|
||||
case CONDITION_MAPID:
|
||||
@@ -1899,7 +1915,7 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
|
||||
break;
|
||||
}
|
||||
case CONDITION_AREAID:
|
||||
case CONDITION_INSTANCE_DATA:
|
||||
case CONDITION_INSTANCE_INFO:
|
||||
break;
|
||||
case CONDITION_WORLD_STATE:
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ enum ConditionTypes
|
||||
CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, 0 true if player is drunk enough
|
||||
CONDITION_WORLD_STATE = 11, // index value 0 true if world has the value for the index
|
||||
CONDITION_ACTIVE_EVENT = 12, // event_id 0 0 true if event is active
|
||||
CONDITION_INSTANCE_DATA = 13, // entry data 0 true if data is set in current instance
|
||||
CONDITION_INSTANCE_INFO = 13, // entry data type true if the instance info defined by type (enum InstanceInfo) equals data.
|
||||
CONDITION_QUEST_NONE = 14, // quest_id 0 0 true if doesn't have quest saved
|
||||
CONDITION_CLASS = 15, // class 0 0 true if player's class is equal to class
|
||||
CONDITION_RACE = 16, // race 0 0 true if player's race is equal to race
|
||||
@@ -152,6 +152,13 @@ enum RelationType
|
||||
RELATION_MAX
|
||||
};
|
||||
|
||||
enum InstanceInfo
|
||||
{
|
||||
INSTANCE_INFO_DATA = 0,
|
||||
INSTANCE_INFO_DATA64,
|
||||
INSTANCE_INFO_BOSS_STATE
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
MAX_CONDITION_TARGETS = 3
|
||||
|
||||
Reference in New Issue
Block a user