aboutsummaryrefslogtreecommitdiff
path: root/src/game/Creature.cpp
diff options
context:
space:
mode:
authorNeo2003 <none@none>2008-10-09 08:42:22 -0500
committerNeo2003 <none@none>2008-10-09 08:42:22 -0500
commitf736567a374e718574763f545b9cdea5d97d9ce0 (patch)
tree5b0a617c7ef4e5c6bd4aa1df6a9c7afe31757a46 /src/game/Creature.cpp
parente3079a1ba63ebe13a19e85db3f4e1e1a392a04ed (diff)
[svn] * Updated to 6743 and 685
Moved language id used by Arena to a higher place to solve conflicts Added the empty script folders --HG-- branch : trunk rename : 6731-680 => 6743-685
Diffstat (limited to 'src/game/Creature.cpp')
-rw-r--r--src/game/Creature.cpp47
1 files changed, 29 insertions, 18 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp
index 555bb4db02a..814b133a1b3 100644
--- a/src/game/Creature.cpp
+++ b/src/game/Creature.cpp
@@ -75,6 +75,14 @@ bool VendorItemData::RemoveItem( uint32 item_id )
return false;
}
+size_t VendorItemData::FindItemSlot(uint32 item_id) const
+{
+ for(size_t i = 0; i < m_items.size(); ++i )
+ if(m_items[i]->item==item_id)
+ return i;
+ return m_items.size();
+}
+
VendorItem const* VendorItemData::FindItem(uint32 item_id) const
{
for(VendorItemList::const_iterator i = m_items.begin(); i != m_items.end(); ++i )
@@ -1910,26 +1918,29 @@ time_t Creature::GetRespawnTimeEx() const
void Creature::GetRespawnCoord( float &x, float &y, float &z, float* ori, float* dist ) const
{
- if(CreatureData const* data = objmgr.GetCreatureData(GetDBTableGUIDLow()))
- {
- x = data->posX;
- y = data->posY;
- z = data->posZ;
- if(ori)
- *ori = data->orientation;
- if(dist)
- *dist = data->spawndist;
- }
- else
+ if (m_DBTableGuid)
{
- x = GetPositionX();
- y = GetPositionY();
- z = GetPositionZ();
- if(ori)
- *ori = GetOrientation();
- if(dist)
- *dist = 0;
+ if (CreatureData const* data = objmgr.GetCreatureData(GetDBTableGUIDLow()))
+ {
+ x = data->posX;
+ y = data->posY;
+ z = data->posZ;
+ if(ori)
+ *ori = data->orientation;
+ if(dist)
+ *dist = data->spawndist;
+
+ return;
+ }
}
+
+ x = GetPositionX();
+ y = GetPositionY();
+ z = GetPositionZ();
+ if(ori)
+ *ori = GetOrientation();
+ if(dist)
+ *dist = 0;
}
void Creature::AllLootRemovedFromCorpse()