mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 19:06:49 +01:00
Core/Conditions: Added conditions for old areatrigger system (AreaTrigger.db2) (#27174)
This commit is contained in:
@@ -1924,6 +1924,13 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case CONDITION_SOURCE_TYPE_AREATRIGGER_CLIENT_TRIGGERED:
|
||||||
|
if (!sAreaTriggerStore.LookupEntry(cond->SourceEntry))
|
||||||
|
{
|
||||||
|
TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table, does not exists in AreaTrigger.db2, ignoring.", cond->ToString().c_str());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
TC_LOG_ERROR("sql.sql", "%s Invalid ConditionSourceType in `condition` table, ignoring.", cond->ToString().c_str());
|
TC_LOG_ERROR("sql.sql", "%s Invalid ConditionSourceType in `condition` table, ignoring.", cond->ToString().c_str());
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -170,7 +170,8 @@ enum ConditionSourceType
|
|||||||
CONDITION_SOURCE_TYPE_GRAVEYARD = 27,
|
CONDITION_SOURCE_TYPE_GRAVEYARD = 27,
|
||||||
CONDITION_SOURCE_TYPE_AREATRIGGER = 28,
|
CONDITION_SOURCE_TYPE_AREATRIGGER = 28,
|
||||||
CONDITION_SOURCE_TYPE_CONVERSATION_LINE = 29,
|
CONDITION_SOURCE_TYPE_CONVERSATION_LINE = 29,
|
||||||
CONDITION_SOURCE_TYPE_MAX = 30 // MAX
|
CONDITION_SOURCE_TYPE_AREATRIGGER_CLIENT_TRIGGERED = 30,
|
||||||
|
CONDITION_SOURCE_TYPE_MAX = 31 // MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RelationType
|
enum RelationType
|
||||||
|
|||||||
@@ -485,6 +485,9 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPackets::AreaTrigger::AreaTrigge
|
|||||||
if (player->isDebugAreaTriggers)
|
if (player->isDebugAreaTriggers)
|
||||||
ChatHandler(player->GetSession()).PSendSysMessage(packet.Entered ? LANG_DEBUG_AREATRIGGER_ENTERED : LANG_DEBUG_AREATRIGGER_LEFT, packet.AreaTriggerID);
|
ChatHandler(player->GetSession()).PSendSysMessage(packet.Entered ? LANG_DEBUG_AREATRIGGER_ENTERED : LANG_DEBUG_AREATRIGGER_LEFT, packet.AreaTriggerID);
|
||||||
|
|
||||||
|
if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_AREATRIGGER_CLIENT_TRIGGERED, atEntry->ID, player))
|
||||||
|
return;
|
||||||
|
|
||||||
if (sScriptMgr->OnAreaTrigger(player, atEntry, packet.Entered))
|
if (sScriptMgr->OnAreaTrigger(player, atEntry, packet.Entered))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user