diff options
| author | QAston <qaston@gmail.com> | 2012-02-10 23:40:38 +0100 |
|---|---|---|
| committer | QAston <qaston@gmail.com> | 2012-02-10 23:42:08 +0100 |
| commit | ce4a4ffe50a26fa2040d4af3933621b66813488d (patch) | |
| tree | ca1afb50445232f1c7e7a30862038c31024d8934 /src/server/game/Scripting | |
| parent | 8c2526e7d0f8cd516e0a3d3ebd6e554774c76c7b (diff) | |
Core/Db/Conditions: Add ContidionTarget column which allows selection of objects which will be checked by condition, depending on SourceTypeOrReferenceId.
So far usable only with CONDITION_SOURCE_TYPE_SPELL:
ContidionTarget = 0 - check caster
ContidionTarget = 1 - check explicit target
Diffstat (limited to 'src/server/game/Scripting')
| -rwxr-xr-x | src/server/game/Scripting/ScriptMgr.cpp | 6 | ||||
| -rwxr-xr-x | src/server/game/Scripting/ScriptMgr.h | 5 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index eccf12aa7e1..b40319358b6 100755 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1036,14 +1036,12 @@ void ScriptMgr::OnAuctionExpire(AuctionHouseObject* ah, AuctionEntry* entry) FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionExpire(ah, entry); } -bool ScriptMgr::OnConditionCheck(Condition* condition, WorldObject* object, WorldObject* invoker) +bool ScriptMgr::OnConditionCheck(Condition* condition, ConditionSourceInfo& sourceInfo) { ASSERT(condition); - ASSERT(object); - // invoker can be NULL. GET_SCRIPT_RET(ConditionScript, condition->mScriptId, tmpscript, true); - return tmpscript->OnConditionCheck(condition, object, invoker); + return tmpscript->OnConditionCheck(condition, sourceInfo); } void ScriptMgr::OnInstall(Vehicle* veh) diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 853db564a6d..048a7581215 100755 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -62,6 +62,7 @@ class WorldObject; struct AchievementCriteriaData; struct AuctionEntry; +struct ConditionSourceInfo; struct Condition; struct ItemTemplate; struct OutdoorPvPData; @@ -572,7 +573,7 @@ class ConditionScript : public ScriptObject bool IsDatabaseBound() const { return true; } // Called when a single condition is checked for a player. - virtual bool OnConditionCheck(Condition* /*condition*/, WorldObject* /*object*/, WorldObject* /*invoker*/) { return true; } + virtual bool OnConditionCheck(Condition* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; } }; class VehicleScript : public ScriptObject @@ -938,7 +939,7 @@ class ScriptMgr public: /* ConditionScript */ - bool OnConditionCheck(Condition* condition, WorldObject* object, WorldObject* invoker); + bool OnConditionCheck(Condition* condition, ConditionSourceInfo& sourceInfo); public: /* VehicleScript */ |
