cgrequestrepairhandler.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 612 行 · 第 1/2 页
CPP
612 行
{ for (ZoneCoord_t zy=CenterY-5; zy<=CenterY+5; zy++) { if (!isValidZoneCoord(pZone, zx, zy)) continue; Tile & tile = pZone->getTile(zx, zy); if (tile.hasItem()) { Item* pItemOnTile = tile.getItem(); Assert(pItemOnTile != NULL); // 父老 酒捞袍捞 鸥老 困俊 乐阑 版快, 葛磐 荤捞努牢瘤 犬牢茄促. if (pItemOnTile->getItemClass() == Item::ITEM_CLASS_MOTORCYCLE) { DWORD targetID = dynamic_cast<Key*>(pItem)->getTarget(); ItemID_t motorcycleID = pItemOnTile->getItemID(); if (targetID == motorcycleID) { Price_t repairPrice = g_pPriceManager->getRepairPrice(pItemOnTile); if (repairPrice > playerMoney) { response.setCode(NPC_RESPONSE_REPAIR_FAIL_MONEY); pPlayer->sendPacket(&response); return; } // 荐府茄促. repairItem(pItemOnTile); // 历厘茄促. //pItemOnTile->save(pPC->getName(), STORAGE_ZONE, pZone->getZoneID(), zx, zy); // item历厘 弥利拳. by sigi. 2002.5.13 char pField[80]; sprintf(pField, "Durability=%d", pItemOnTile->getDurability()); pItemOnTile->tinysave(pField); // 捣阑 临牢促. //if (bSlayer) (dynamic_cast<Slayer*>(pPC))->setGoldEx(playerMoney-repairPrice); //else (dynamic_cast<Vampire*>(pPC))->setGoldEx(playerMoney-repairPrice); // by sigi. 2002.9.4 (dynamic_cast<PlayerCreature*>(pPC))->decreaseGoldEx(repairPrice); response.setCode(NPC_RESPONSE_REPAIR_OK); response.setParameter(playerMoney-repairPrice); pPlayer->sendPacket(&response); return; } // if (targetID == } // if (itemclas == MOTORCYCLE } } // end of for (ZoneCoord_t zy=CenterY-5; zy<=CenterY+5; zy++) } // end of for (ZoneCoord_t zx=CenterX-5; zx<=CenterX+5; zx++) // FOR 风橇甫 促 倒绊, 捞鳖瘤 吭促绰 巴篮 辟贸俊 坷配官捞啊 绝促绰 富捞寸... // 弊矾骨肺 葛磐 荤捞努 迫扁啊 角菩沁促绰 巴阑 舅赴促. response.setCode(NPC_RESPONSE_REPAIR_FAIL_ITEM_NOT_EXIST); pPlayer->sendPacket(&response); #endif __END_DEBUG_EX __END_CATCH}//////////////////////////////////////////////////////////////////////////////// 葛电 酒捞袍 荐府窍扁//////////////////////////////////////////////////////////////////////////////void CGRequestRepairHandler::executeAll(CGRequestRepair* pPacket , Player* pPlayer) throw (ProtocolException , Error){ __BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__ Creature* pPC = dynamic_cast<GamePlayer*>(pPlayer)->getCreature(); Price_t repairPrice = 0; GCNPCResponse response; if (pPC->isSlayer()) { Slayer* pSlayer = dynamic_cast<Slayer*>(pPC); // 葛电 酒捞袍阑 钦茄 荐府厚甫 拌魂茄促. for (int i=0; i<Slayer::WEAR_MAX; i++) { Item* pItem = pSlayer->getWearItem((Slayer::WearPart)i); if (pItem != NULL) { if (i == Slayer::WEAR_RIGHTHAND && isTwohandWeapon(pItem)) { // 坷弗颊捞绊, 泅犁 甸绊 乐绰 公扁啊 剧颊 公扁扼搁... // 荐府 啊拜俊 器窃矫懦 鞘夸啊 绝促. } else { repairPrice += g_pPriceManager->getRepairPrice(pItem); } } } // 捣捞 葛磊扼促搁 府畔茄促. if (pSlayer->getGold() < repairPrice) { response.setCode(NPC_RESPONSE_REPAIR_FAIL_MONEY); pPlayer->sendPacket(&response); return; } // 阿阿狼 酒捞袍阑 荐府窍绊, DB俊 历厘茄促. char pField[80]; for (int i=0; i<Slayer::WEAR_MAX; i++) { Item* pItem = pSlayer->getWearItem((Slayer::WearPart)i); if (pItem != NULL) { if (i == Slayer::WEAR_RIGHTHAND && isTwohandWeapon(pItem)) { // 坷弗颊捞绊, 泅犁 甸绊 乐绰 公扁啊 剧颊 公扁扼搁... // 荐府且 鞘夸啊 绝促. } else if ( isRepairableItem( pItem ) ) { Durability_t oldDurability = pItem->getDurability(); repairItem(pItem); if (pItem->getDurability() != oldDurability) { // DB 孽府甫 临捞扁 困秦辑 // 郴备档狼 函拳啊 积变 版快俊父 技捞宏茄促. //pItem->save(pSlayer->getName(), STORAGE_GEAR, 0, i, 0); // item历厘 弥利拳. by sigi. 2002.5.13 sprintf(pField, "Durability=%d", pItem->getDurability()); pItem->tinysave(pField); } } } } // 捣阑 临捞绊... //pSlayer->setGoldEx(pSlayer->getGold() - repairPrice); // by sigi.2002.9.4 pSlayer->decreaseGoldEx(repairPrice); // 肺弊甫 巢变促. log(LOG_REPAIR_ITEM, pSlayer->getName(), "", "ALL"); // OK 菩哦阑 朝妨霖促. response.setCode(NPC_RESPONSE_REPAIR_OK); response.setParameter(pSlayer->getGold()); pPlayer->sendPacket(&response); } else if (pPC->isVampire()) { Vampire* pVampire = dynamic_cast<Vampire*>(pPC); // 葛电 酒捞袍阑 钦茄 荐府厚甫 拌魂茄促. for (int i=0; i<Vampire::VAMPIRE_WEAR_MAX; i++) { Item* pItem = pVampire->getWearItem((Vampire::WearPart)i); if (pItem != NULL) { if (i == Vampire::WEAR_RIGHTHAND && isTwohandWeapon(pItem)) { // 剧颊公扁绰 茄率父 荐府茄促. } else { repairPrice += g_pPriceManager->getRepairPrice(pItem); } } } // 捣捞 葛磊扼促搁 府畔茄促. if (pVampire->getGold() < repairPrice) { response.setCode(NPC_RESPONSE_REPAIR_FAIL_MONEY); pPlayer->sendPacket(&response); return; } // 阿阿狼 酒捞袍阑 荐府窍绊, DB俊 历厘茄促. char pField[80]; for (int i=0; i<Vampire::VAMPIRE_WEAR_MAX; i++) { Item* pItem = pVampire->getWearItem((Vampire::WearPart)i); if (pItem != NULL) { if (i == Vampire::WEAR_RIGHTHAND && isTwohandWeapon(pItem)) { // 剧颊公扁绰 茄率父 荐府茄促. } else { Durability_t oldDurability = pItem->getDurability(); repairItem(pItem); if (pItem->getDurability() != oldDurability) { // DB 孽府甫 临捞扁 困秦辑 // 郴备档狼 函拳啊 积变 版快俊父 技捞宏茄促. //pItem->save(pVampire->getName(), STORAGE_GEAR, 0, i, 0); // item历厘 弥利拳. by sigi. 2002.5.13 sprintf(pField, "Durability=%d", pItem->getDurability()); pItem->tinysave(pField); } } } } // 捣阑 临捞绊... //pVampire->setGoldEx(pVampire->getGold() - repairPrice); // by sigi.2002.9.4 pVampire->decreaseGoldEx(repairPrice); // 肺弊甫 巢变促. log(LOG_REPAIR_ITEM, pVampire->getName(), "", "ALL"); // OK 菩哦阑 朝妨霖促. response.setCode(NPC_RESPONSE_REPAIR_OK); response.setParameter(pVampire->getGold()); pPlayer->sendPacket(&response); } else if (pPC->isOusters()) { Ousters* pOusters = dynamic_cast<Ousters*>(pPC); // 葛电 酒捞袍阑 钦茄 荐府厚甫 拌魂茄促. for (int i=0; i<Ousters::OUSTERS_WEAR_MAX; i++) { Item* pItem = pOusters->getWearItem((Ousters::WearPart)i); if (pItem != NULL) { if (i == Ousters::WEAR_RIGHTHAND && isTwohandWeapon(pItem)) { // 剧颊公扁绰 茄率父 荐府茄促. } else { repairPrice += g_pPriceManager->getRepairPrice(pItem); } } } // 捣捞 葛磊扼促搁 府畔茄促. if (pOusters->getGold() < repairPrice) { response.setCode(NPC_RESPONSE_REPAIR_FAIL_MONEY); pPlayer->sendPacket(&response); return; } // 阿阿狼 酒捞袍阑 荐府窍绊, DB俊 历厘茄促. char pField[80]; for (int i=0; i<Ousters::OUSTERS_WEAR_MAX; i++) { Item* pItem = pOusters->getWearItem((Ousters::WearPart)i); if (pItem != NULL) { if (i == Ousters::WEAR_RIGHTHAND && isTwohandWeapon(pItem)) { // 剧颊公扁绰 茄率父 荐府茄促. } else { Durability_t oldDurability = pItem->getDurability(); repairItem(pItem); if (pItem->getDurability() != oldDurability) { // DB 孽府甫 临捞扁 困秦辑 // 郴备档狼 函拳啊 积变 版快俊父 技捞宏茄促. //pItem->save(pOusters->getName(), STORAGE_GEAR, 0, i, 0); // item历厘 弥利拳. by sigi. 2002.5.13 sprintf(pField, "Durability=%d", pItem->getDurability()); pItem->tinysave(pField); } } } } // 捣阑 临捞绊... //pOusters->setGoldEx(pOusters->getGold() - repairPrice); // by sigi.2002.9.4 pOusters->decreaseGoldEx(repairPrice); // 肺弊甫 巢变促. log(LOG_REPAIR_ITEM, pOusters->getName(), "", "ALL"); // OK 菩哦阑 朝妨霖促. response.setCode(NPC_RESPONSE_REPAIR_OK); response.setParameter(pOusters->getGold()); pPlayer->sendPacket(&response); }#endif __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?