cgusebonuspointhandler.cpp
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 218 行
CPP
218 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGUseBonusPointHandler.cpp// Written By : elca@ewestsoft.com// Description ://////////////////////////////////////////////////////////////////////////////#include "CGUseBonusPoint.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "SkillHandlerManager.h" #include "SkillInfo.h" #include "SkillParentInfo.h" #include "Creature.h" #include "LogClient.h" #include "Gpackets/GCUseBonusPointFail.h" #include "Gpackets/GCUseBonusPointOK.h" #include "Gpackets/GCLearnSkillReady.h"#endif ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGUseBonusPointHandler::execute (CGUseBonusPoint* pPacket , Player* pPlayer) throw (Error){ __BEGIN_TRY __BEGIN_DEBUG_EX __BEGIN_DEBUG #ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); // 沥惑利牢 惑怕啊 酒聪扼搁 府畔 GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); if (pGamePlayer->getPlayerStatus() != GPS_NORMAL) return; Creature* pCreature = pGamePlayer->getCreature(); BYTE which = pPacket->getWhich(); Attr_t cur = 0; if ( pCreature->isVampire() ) { // 焊呈胶 器牢飘啊 绝促搁 府畔 Vampire* pVampire = dynamic_cast<Vampire*>(pCreature); if (pVampire->getBonus() <= 0) { GCUseBonusPointFail failPkt; pPlayer->sendPacket(&failPkt); return; } VAMPIRE_RECORD oldRecord; // 瓷仿摹甫 棵府扁 傈俊 扁粮狼 瓷仿摹甫 历厘茄促. pVampire->getVampireRecord(oldRecord); if (which == INC_INT) { cur = pVampire->getINT(ATTR_BASIC) + 1; pVampire->setINT(cur, ATTR_BASIC); StringStream sst; sst << "INTE = " << (int)cur; pVampire->tinysave(sst.toString()); /* // INT啊 刘啊窍搁 货肺款 扁贱阑 硅匡 荐 乐绰 啊瓷己捞 乐促. SkillType_t lastSkill = pVampire->findLastSkill(); // lastSkill狼 促澜 level狼 扁贱阑 茫绰促. // 给茫疽促搁 歹捞惑 硅匡巴捞 绝促绰 巴. for(int i = SKILL_BLOOD_DRAIN + 1 ; i < SKILL_MAX; i++) { SkillParentInfo* pParentInfo = g_pSkillParentInfoManager->getSkillParentInfo(i); if (pParentInfo->hasParent(lastSkill))// 茫疽促! { SkillInfo* pNewSkillInfo = g_pSkillInfoManager->getSkillInfo(i); if (pNewSkillInfo->getEXP() <= cur && pVampire->hasSkill(i) == NULL) { //cout << "(" << pVampire->getName() << ") can learn new skill >> "; // 货肺款 扁贱阑 硅匡 荐 乐促. GCLearnSkillReady gcLSR; gcLSR.setSkillDomainType(SKILL_DOMAIN_VAMPIRE); pVampire->getPlayer()->sendPacket(&gcLSR); break; } } } */ log(LOG_USE_BONUS_POINT, pVampire->getName(), "", "INT"); } else if (which == INC_STR) { cur = pVampire->getSTR(ATTR_BASIC) + 1; pVampire->setSTR(cur, ATTR_BASIC); StringStream sst; sst << "STR = " << (int)cur; pVampire->tinysave(sst.toString()); log(LOG_USE_BONUS_POINT, pVampire->getName(), "", "STR"); } else if (which == INC_DEX) { cur = pVampire->getDEX(ATTR_BASIC) + 1; pVampire->setDEX(cur, ATTR_BASIC); StringStream sst; sst << "DEX = " << (int)cur; pVampire->tinysave(sst.toString()); log(LOG_USE_BONUS_POINT, pVampire->getName(), "", "DEX"); } // 官诧 焊呈胶 器牢飘甫 历厘茄促. Bonus_t OldBonus = pVampire->getBonus(); pVampire->setBonus(OldBonus - 1); StringStream sst; sst << "Bonus = " << (int)(OldBonus - 1); pVampire->tinysave(sst.toString()); // 瓷仿摹啊 函拳登菌栏聪, stat阑 货肺 绊模促. pVampire->initAllStat(); // 努扼捞攫飘狼 拌魂 鉴辑 锭巩俊 积扁绰 滚弊肺 牢窍咯, // 刚历 牢刘 菩哦阑 朝妨霖 饶俊, 官诧 瓷仿摹俊 措茄 沥焊甫 焊辰促. // 唱吝俊 CGUseBonusPointOK俊促 官肺 官诧 瓷仿摹俊 措茄 沥焊甫 // 角绢焊郴档废 秦具 茄促. // OK 菩哦阑 焊郴霖促. GCUseBonusPointOK okpkt; pGamePlayer->sendPacket (&okpkt); // 官诧 瓷仿摹俊 包茄 沥焊甫 焊郴霖促. pVampire->sendModifyInfo(oldRecord); pVampire->sendRealWearingInfo(); } else if ( pCreature->isOusters() ) { // 焊呈胶 器牢飘啊 绝促搁 府畔 Ousters* pOusters = dynamic_cast<Ousters*>(pCreature); if (pOusters->getBonus() <= 0) { GCUseBonusPointFail failPkt; pPlayer->sendPacket(&failPkt); return; } OUSTERS_RECORD oldRecord; // 瓷仿摹甫 棵府扁 傈俊 扁粮狼 瓷仿摹甫 历厘茄促. pOusters->getOustersRecord(oldRecord); if (which == INC_INT) { cur = pOusters->getINT(ATTR_BASIC) + 1; pOusters->setINT(cur, ATTR_BASIC); StringStream sst; sst << "INTE = " << (int)cur; pOusters->tinysave(sst.toString()); } else if (which == INC_STR) { cur = pOusters->getSTR(ATTR_BASIC) + 1; pOusters->setSTR(cur, ATTR_BASIC); StringStream sst; sst << "STR = " << (int)cur; pOusters->tinysave(sst.toString()); } else if (which == INC_DEX) { cur = pOusters->getDEX(ATTR_BASIC) + 1; pOusters->setDEX(cur, ATTR_BASIC); StringStream sst; sst << "DEX = " << (int)cur; pOusters->tinysave(sst.toString()); } // 官诧 焊呈胶 器牢飘甫 历厘茄促. Bonus_t OldBonus = pOusters->getBonus(); pOusters->setBonus(OldBonus - 1); StringStream sst; sst << "Bonus = " << (int)(OldBonus - 1); pOusters->tinysave(sst.toString()); // 瓷仿摹啊 函拳登菌栏聪, stat阑 货肺 绊模促. pOusters->initAllStat(); // OK 菩哦阑 焊郴霖促. GCUseBonusPointOK okpkt; pGamePlayer->sendPacket(&okpkt); // 官诧 瓷仿摹俊 包茄 沥焊甫 焊郴霖促. pOusters->sendModifyInfo(oldRecord); pOusters->sendRealWearingInfo(); } else { GCUseBonusPointFail failPkt; pPlayer->sendPacket(&failPkt); return; }#endif // __GAME_SERVER__ __END_DEBUG __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?