aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 9a2cd919f6f..f848cba4c56 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -1175,6 +1175,17 @@ public:
if (count == 0)
count = 1;
+ std::vector<int32> bonusListIDs;
+ char const* bonuses = strtok(NULL, " ");
+
+ // semicolon separated bonuslist ids (parse them after all arguments are extracted by strtok!)
+ if (bonuses)
+ {
+ Tokenizer tokens(bonuses, ';');
+ for (char const* token : tokens)
+ bonusListIDs.push_back(atoul(token));
+ }
+
Player* player = handler->GetSession()->GetPlayer();
Player* playerTarget = handler->getSelectedPlayer();
if (!playerTarget)
@@ -1214,7 +1225,7 @@ public:
return false;
}
- Item* item = playerTarget->StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId));
+ Item* item = playerTarget->StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId), GuidSet(), bonusListIDs);
// remove binding (let GM give it to another player later)
if (player == playerTarget)
@@ -1254,6 +1265,17 @@ public:
return false;
}
+ std::vector<int32> bonusListIDs;
+ char const* bonuses = strtok(NULL, " ");
+
+ // semicolon separated bonuslist ids (parse them after all arguments are extracted by strtok!)
+ if (bonuses)
+ {
+ Tokenizer tokens(bonuses, ';');
+ for (char const* token : tokens)
+ bonusListIDs.push_back(atoul(token));
+ }
+
Player* player = handler->GetSession()->GetPlayer();
Player* playerTarget = handler->getSelectedPlayer();
if (!playerTarget)
@@ -1272,7 +1294,7 @@ public:
InventoryResult msg = playerTarget->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itr->second.GetId(), 1);
if (msg == EQUIP_ERR_OK)
{
- Item* item = playerTarget->StoreNewItem(dest, itr->second.GetId(), true);
+ Item* item = playerTarget->StoreNewItem(dest, itr->second.GetId(), true, 0, GuidSet(), bonusListIDs);
// remove binding (let GM give it to another player later)
if (player == playerTarget)