aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRat <none@none>2010-09-24 18:16:29 +0200
committerRat <none@none>2010-09-24 18:16:29 +0200
commitd2af10618f14422f2579f7f5f19abfa410e6f9a2 (patch)
treec35b38a1e531df80ca44327299ad268f9047402f /src
parentb8cc05f747744ecea6ef65a23699cb9db3999e80 (diff)
Core/ConditionMgr: added placeholder for CONDITION_GUID
renamed targetOverride to invoker removed targetOverride code (had no use) --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp18
-rw-r--r--src/server/game/Conditions/ConditionMgr.h9
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp6
-rw-r--r--src/server/game/Scripting/ScriptMgr.h4
4 files changed, 17 insertions, 20 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 3e81e5ba582..f212789098f 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -32,7 +32,7 @@
// Checks if player meets the condition
// Can have CONDITION_SOURCE_TYPE_NONE && !mReferenceId if called from a special event (ie: eventAI)
-bool Condition::Meets(Player * player, Unit* targetOverride)
+bool Condition::Meets(Player * player, Unit* invoker)
{
if (!player)
{
@@ -130,8 +130,6 @@ bool Condition::Meets(Player * player, Unit* targetOverride)
case CONDITION_CREATURE_TARGET:
{
Unit* target = player->GetSelectedUnit();
- if (targetOverride)
- target = targetOverride;
if (target)
if (Creature* cTarget = target->ToCreature())
if (cTarget->GetEntry() == mConditionValue1)
@@ -141,8 +139,6 @@ bool Condition::Meets(Player * player, Unit* targetOverride)
case CONDITION_TARGET_HEALTH_BELOW_PCT:
{
Unit* target = player->GetSelectedUnit();
- if (targetOverride)
- target = targetOverride;
if (target)
condMeets = !target->HealthAbovePct(mConditionValue1);
break;
@@ -196,7 +192,7 @@ bool Condition::Meets(Player * player, Unit* targetOverride)
if (sendErrorMsg && ErrorTextd && (!condMeets || !refMeets))//send special error from DB
player->m_ConditionErrorMsgId = ErrorTextd;
- bool script = sScriptMgr.OnConditionCheck(this, player, targetOverride); // Returns true by default.
+ bool script = sScriptMgr.OnConditionCheck(this, player, invoker); // Returns true by default.
return condMeets && refMeets && script;
}
@@ -218,7 +214,7 @@ ConditionList ConditionMgr::GetConditionReferences(uint32 refId)
return conditions;
}
-bool ConditionMgr::IsPlayerMeetToConditionList(Player* player,const ConditionList& conditions, Unit* targetOverride)
+bool ConditionMgr::IsPlayerMeetToConditionList(Player* player,const ConditionList& conditions, Unit* invoker)
{
std::map<uint32, bool>ElseGroupMap;
for (ConditionList::const_iterator i = conditions.begin(); i != conditions.end(); ++i)
@@ -237,7 +233,7 @@ bool ConditionMgr::IsPlayerMeetToConditionList(Player* player,const ConditionLis
ConditionReferenceMap::const_iterator ref = m_ConditionReferenceMap.find((*i)->mReferenceId);
if (ref != m_ConditionReferenceMap.end())
{
- if(!IsPlayerMeetToConditionList(player, (*ref).second, targetOverride))
+ if(!IsPlayerMeetToConditionList(player, (*ref).second, invoker))
ElseGroupMap[(*i)->mElseGroup] = false;
}
else
@@ -249,7 +245,7 @@ bool ConditionMgr::IsPlayerMeetToConditionList(Player* player,const ConditionLis
}
else //handle normal condition
{
- if (!(*i)->Meets(player, targetOverride))
+ if (!(*i)->Meets(player, invoker))
ElseGroupMap[(*i)->mElseGroup] = false;
}
}
@@ -261,7 +257,7 @@ bool ConditionMgr::IsPlayerMeetToConditionList(Player* player,const ConditionLis
return false;
}
-bool ConditionMgr::IsPlayerMeetToConditions(Player* player, ConditionList conditions, Unit* targetOverride)
+bool ConditionMgr::IsPlayerMeetToConditions(Player* player, ConditionList conditions, Unit* invoker)
{
if (conditions.empty())
return true;
@@ -270,7 +266,7 @@ bool ConditionMgr::IsPlayerMeetToConditions(Player* player, ConditionList condit
player->m_ConditionErrorMsgId = 0;
sLog.outDebug("ConditionMgr::IsPlayerMeetToConditions");
- bool result = IsPlayerMeetToConditionList(player, conditions, targetOverride);
+ bool result = IsPlayerMeetToConditionList(player, conditions, invoker);
if (player && player->m_ConditionErrorMsgId && player->GetSession() && !result)
player->GetSession()->SendNotification(player->m_ConditionErrorMsgId);//m_ConditionErrorMsgId is set only if a condition was not met
diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h
index 120a492d59c..de4db22ea59 100644
--- a/src/server/game/Conditions/ConditionMgr.h
+++ b/src/server/game/Conditions/ConditionMgr.h
@@ -55,7 +55,8 @@ enum ConditionType
CONDITION_AREAID = 23, // area_id 0 +referenceID true if in area_id
CONDITION_ITEM_TARGET = 24, // ItemRequiredTargetType, TargetEntry, 0
CONDITION_SPELL = 25, // spell_id 0 +referenceID true if knows spell
- CONDITION_MAX = 26 // MAX
+ CONDITION_GUID = 26, // guid 0 0 true if creature's guid is equal to 'guid'
+ CONDITION_MAX = 27 // MAX
};
enum ConditionSourceType
@@ -113,7 +114,7 @@ struct Condition
mScriptId = 0;
}
- bool Meets(Player * player, Unit* targetOverride = NULL);
+ bool Meets(Player * player, Unit* invoker = NULL);
bool isLoaded() { return mConditionType > CONDITION_NONE || mReferenceId; }
};
@@ -135,7 +136,7 @@ class ConditionMgr
bool isConditionTypeValid(Condition* cond);
ConditionList GetConditionReferences(uint32 refId);
- bool IsPlayerMeetToConditions(Player* player, ConditionList conditions, Unit* targetOverride = NULL);
+ bool IsPlayerMeetToConditions(Player* player, ConditionList conditions, Unit* invoker = NULL);
ConditionList GetConditionsForNotGroupedEntry(ConditionSourceType sType, uint32 uEntry);
protected:
@@ -149,7 +150,7 @@ class ConditionMgr
bool addToLootTemplate(Condition* cond, LootTemplate* loot);
bool addToGossipMenus(Condition* cond);
bool addToGossipMenuItems(Condition* cond);
- bool IsPlayerMeetToConditionList(Player* player,const ConditionList& conditions, Unit* targetOverride = NULL);
+ bool IsPlayerMeetToConditionList(Player* player,const ConditionList& conditions, Unit* invoker = NULL);
bool isGroupable(ConditionSourceType sourceType)
{
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index fc3061b04e7..76f10c144e5 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -930,14 +930,14 @@ void ScriptMgr::OnAuctionExpire(AuctionHouseObject* ah, AuctionEntry* entry)
FOREACH_SCRIPT(AuctionHouseScript)->OnAuctionExpire(ah, entry);
}
-bool ScriptMgr::OnConditionCheck(Condition* condition, Player* player, Unit* targetOverride)
+bool ScriptMgr::OnConditionCheck(Condition* condition, Player* player, Unit* invoker)
{
ASSERT(condition);
ASSERT(player);
- // targetOverride can be NULL.
+ // invoker can be NULL.
GET_SCRIPT_RET(ConditionScript, condition->mScriptId, tmpscript, true);
- return tmpscript->OnConditionCheck(condition, player, targetOverride);
+ return tmpscript->OnConditionCheck(condition, player, invoker);
}
void ScriptMgr::OnInstall(Vehicle* veh)
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 443d7f28653..61d3119b500 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -573,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*/, Player* /*player*/, Unit* /*targetOverride*/) { return true; }
+ virtual bool OnConditionCheck(Condition* /*condition*/, Player* /*player*/, Unit* /*invoker*/) { return true; }
};
class VehicleScript : public ScriptObject
@@ -889,7 +889,7 @@ class ScriptMgr
public: /* ConditionScript */
- bool OnConditionCheck(Condition* condition, Player* player, Unit* targetOverride);
+ bool OnConditionCheck(Condition* condition, Player* player, Unit* invoker);
public: /* VehicleScript */