aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
authorleak <leakzx@googlemail.com>2011-04-28 22:42:33 +0200
committerleak <leakzx@googlemail.com>2011-04-28 22:42:33 +0200
commita82654debd8fd00fec3f2024290876ab0d6dd175 (patch)
tree034e8ac183c66fe28e3823484e2a85e99c4b6114 /src/server/scripts/Commands
parent03365e9a573667f5485f44642b47b05473094474 (diff)
Core/ObjectMgr: Refactor sItemStorage
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp2
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp10
-rw-r--r--src/server/scripts/Commands/cs_quest.cpp18
3 files changed, 13 insertions, 17 deletions
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index c6936727885..33dad2ff918 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -965,7 +965,7 @@ public:
return false;
handler->GetSession()->GetPlayer()->DestroyItem(i->GetBagSlot(), i->GetSlot(), true);
- sScriptMgr->OnItemExpire(handler->GetSession()->GetPlayer(), i->GetProto());
+ sScriptMgr->OnItemExpire(handler->GetSession()->GetPlayer(), i->GetTemplate());
return true;
}
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 0b1bb311f0b..a6ac7c9b597 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -201,9 +201,9 @@ public:
sObjectMgr->AddVendorItem(vendor_entry,itemId,maxcount,incrtime,extendedcost);
- ItemPrototype const* pProto = ObjectMgr::GetItemPrototype(itemId);
+ ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemId);
- handler->PSendSysMessage(LANG_ITEM_ADDED_TO_LIST,itemId,pProto->Name1,maxcount,incrtime,extendedcost);
+ handler->PSendSysMessage(LANG_ITEM_ADDED_TO_LIST,itemId,itemTemplate->Name1,maxcount,incrtime,extendedcost);
return true;
}
@@ -419,9 +419,9 @@ public:
return false;
}
- ItemPrototype const* pProto = ObjectMgr::GetItemPrototype(itemId);
+ ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemId);
- handler->PSendSysMessage(LANG_ITEM_DELETED_FROM_LIST,itemId,pProto->Name1);
+ handler->PSendSysMessage(LANG_ITEM_DELETED_FROM_LIST,itemId,itemTemplate->Name1);
return true;
}
@@ -1299,7 +1299,7 @@ public:
uint32 ItemID = atoi(pItemID);
uint32 SlotID = atoi(pSlotID);
- ItemPrototype* tmpItem = ObjectMgr::GetItemPrototype(ItemID);
+ ItemPrototype* tmpItem = sObjectMgr->GetItemTemplate(ItemID);
bool added = false;
if (tmpItem)
diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp
index 41d45f7a033..df5f9703ab2 100644
--- a/src/server/scripts/Commands/cs_quest.cpp
+++ b/src/server/scripts/Commands/cs_quest.cpp
@@ -76,18 +76,14 @@ public:
}
// check item starting quest (it can work incorrectly if added without item in inventory)
- for (uint32 id = 0; id < sItemStorage.MaxEntry; id++)
- {
- ItemPrototype const *pProto = sItemStorage.LookupEntry<ItemPrototype>(id);
- if (!pProto)
- continue;
+ ItemTemplateContainer const* itc = sObjectMgr->GetItemTemplateStore();
+ ItemTemplateContainer::const_iterator result = find_if(itc->begin(), itc->end(), Finder<uint32, ItemTemplate>(entry, &ItemTemplate::StartQuest));
- if (pProto->StartQuest == entry)
- {
- handler->PSendSysMessage(LANG_COMMAND_QUEST_STARTFROMITEM, entry, pProto->ItemId);
- handler->SetSentErrorMessage(true);
- return false;
- }
+ if (result != itc->end())
+ {
+ handler->PSendSysMessage(LANG_COMMAND_QUEST_STARTFROMITEM, entry, result->second.ItemId);
+ handler->SetSentErrorMessage(true);
+ return false;
}
// ok, normal (creature/GO starting) quest