diff --git a/src/ItemManager.cpp b/src/ItemManager.cpp index 2c3553a..66af255 100644 --- a/src/ItemManager.cpp +++ b/src/ItemManager.cpp @@ -532,6 +532,11 @@ bool ItemManager::doTrade(Player* plr, Player* plr2) { if (plrInven[plr->Trade[i].iInvenNum].iID == 0) // pulling a fast one on us return false; + if (plr->Trade[i].iOpt < 1) { + std::cout << "[WARN] Player tried trading an iOpt < 1 amount" << std::endl; + plr->Trade[i].iOpt = 1; + } + // for stacked items plrInven[plr->Trade[i].iInvenNum].iOpt -= plr->Trade[i].iOpt; @@ -548,6 +553,11 @@ bool ItemManager::doTrade(Player* plr, Player* plr2) { if (plr2Inven[plr2->Trade[i].iInvenNum].iID == 0) // pulling a fast one on us return false; + if (plr2->Trade[i].iOpt < 1) { + std::cout << "[WARN] Player tried trading an iOpt < 1 amount" << std::endl; + plr2->Trade[i].iOpt = 1; + } + // for stacked items plr2Inven[plr2->Trade[i].iInvenNum].iOpt -= plr2->Trade[i].iOpt; diff --git a/src/MissionManager.cpp b/src/MissionManager.cpp index f307b27..390cb38 100644 --- a/src/MissionManager.cpp +++ b/src/MissionManager.cpp @@ -442,6 +442,7 @@ int MissionManager::giveMissionReward(CNSocket *sock, int task, int choice) { for (int i = 0; i < nrewards; i++) { item[i].sItem.iType = reward->itemTypes[offset+i]; item[i].sItem.iID = reward->itemIds[offset+i]; + item[i].sItem.iOpt = 1; item[i].iSlotNum = slots[i]; item[i].eIL = 1; diff --git a/src/NPCManager.cpp b/src/NPCManager.cpp index 93ede19..77a4328 100644 --- a/src/NPCManager.cpp +++ b/src/NPCManager.cpp @@ -142,9 +142,10 @@ void NPCManager::npcVendorBuy(CNSocket* sock, CNPacketData* data) { return; } // if vehicle - if (req->Item.iType == 10) + if (req->Item.iType == 10) { // set time limit: current time + 7days req->Item.iTimeLimit = getTimestamp() + 604800; + } if (slot != req->iInvenSlotNum) { // possible item stacking? @@ -921,7 +922,7 @@ static void lordFuseStageThree(CNSocket *sock, BaseNPC *npc) { std::cout << "Lord Fuse stage three" << std::endl; - // Cosmic, Damage Point + // Cosmix, Damage Point Mob *newbody = (Mob*)NPCManager::summonNPC(oldbody->spawnX, oldbody->spawnY, oldbody->spawnZ, plr->instanceID, 2468); newbody->appearanceData.iAngle = oldbody->appearanceData.iAngle;