diff --git a/Classes/RPGBattleSceneLayer.cpp b/Classes/RPGBattleSceneLayer.cpp index 9c3265f..817b0e3 100755 --- a/Classes/RPGBattleSceneLayer.cpp +++ b/Classes/RPGBattleSceneLayer.cpp @@ -856,7 +856,7 @@ void RPGBattleSceneLayer::cancelAllSelected() } -void RPGBattleSceneLayer::attack(cocos2d::CCObject *attackObjData, cocos2d::CCObject *targetObjData) +void RPGBattleSceneLayer::attack(RPGBaseRole *attackObjData, RPGBaseRole *targetObjData) { //发起攻击的对象 if(dynamic_cast(attackObjData) != NULL) @@ -884,7 +884,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data) //判断发起攻击的对象是player还是怪物 if(dynamic_cast(sender) != NULL) { - if(dynamic_cast((CCObject*)data) != NULL) + if(dynamic_cast((RPGBaseRole*)data) != NULL) { //player攻击怪物 @@ -894,7 +894,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data) int results = RPGComputingResults::attackResults(((RPGBattlePlayerSprite*)sender)->m_data->m_attack, ((RPGMonster*)data)->m_defense); targetMonster->showEffectResults(this, -results, sender); } - else if(dynamic_cast((CCObject*)data) != NULL) + else if(dynamic_cast((RPGBaseRole*)data) != NULL) { //player攻击player RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId); @@ -930,7 +930,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data) } -void RPGBattleSceneLayer::useItem(cocos2d::CCObject *useItemObjData, cocos2d::CCObject *targetObjData) +void RPGBattleSceneLayer::useItem(RPGBaseRole *useItemObjData, RPGBaseRole *targetObjData) { RPGBattlePlayerSprite *srcPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)useItemObjData)->m_dataId); srcPlayer->animUseItem(this, targetObjData); @@ -943,7 +943,7 @@ void RPGBattleSceneLayer::useItemResults(cocos2d::CCNode *sender, void *data) if(dynamic_cast(sender) != NULL) { - if(dynamic_cast((CCObject*)data) != NULL) + if(dynamic_cast((RPGBaseRole*)data) != NULL) { //对怪物使用道具 @@ -953,7 +953,7 @@ void RPGBattleSceneLayer::useItemResults(cocos2d::CCNode *sender, void *data) int results = RPGResultsLogic::battleUseItems(this->m_existingItems, (RPGMonster*)data, CCUserDefault::sharedUserDefault()->getIntegerForKey(GAME_BATTLE_SELECTED_ID)); targetMonster->showEffectResults(this, results, sender); } - else if(dynamic_cast((CCObject*)data) != NULL) + else if(dynamic_cast((RPGBaseRole*)data) != NULL) { //player攻击player RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId); diff --git a/Classes/RPGBattleSceneLayer.h b/Classes/RPGBattleSceneLayer.h index cb1df9e..d63363c 100755 --- a/Classes/RPGBattleSceneLayer.h +++ b/Classes/RPGBattleSceneLayer.h @@ -106,11 +106,11 @@ public: void cancelAllSelected(); //取消全部选中的对象 //攻击 - void attack(CCObject* attackObjData, CCObject* targetObjData); //player或怪物执行攻击 + void attack(RPGBaseRole* attackObjData, RPGBaseRole* targetObjData); //player或怪物执行攻击 void attackResults(CCNode* sender, void* data); //回调,计算攻击后的结果 //道具 - void useItem(CCObject* useItemObjData, CCObject* targetObjData); //player执行使用道具 + void useItem(RPGBaseRole* useItemObjData, RPGBaseRole* targetObjData); //player执行使用道具 void useItemResults(CCNode* sender, void* data); //回调,计算使用道具后的结果 void actionWithTargetEffectLabEnd(CCNode* sender, void* data); //回调,攻击、技能、道具流程完毕后执行,这个sender是目标对象中显示的效果值CCLabelTTF diff --git a/Classes/RPGResultsLogic.cpp b/Classes/RPGResultsLogic.cpp index e4c7fef..37df479 100644 --- a/Classes/RPGResultsLogic.cpp +++ b/Classes/RPGResultsLogic.cpp @@ -133,7 +133,7 @@ bool RPGResultsLogic::useItems(CppSQLite3DB* db, int playerId, int itemsId) return true; } -int RPGResultsLogic::battleUseItems(CCArray* existingItems, cocos2d::CCObject *targetData, int itemsId) +int RPGResultsLogic::battleUseItems(CCArray* existingItems, RPGBaseRole *targetData, int itemsId) { /* 6 草药 diff --git a/Classes/RPGResultsLogic.h b/Classes/RPGResultsLogic.h index 0e7bc5d..c9ffce7 100644 --- a/Classes/RPGResultsLogic.h +++ b/Classes/RPGResultsLogic.h @@ -25,7 +25,7 @@ public: static void discardItems(CppSQLite3DB* db, int itemsId); //丢弃道具 static void deductionsItems(CppSQLite3DB* db, int itemsId); //扣减道具数 static bool useItems(CppSQLite3DB* db, int playerId, int itemsId); //地图画面中使用道具,返回成功或失败 - static int battleUseItems(CCArray* existingItems, CCObject* targetData, int itemsId); //战斗画面中使用道具,existingItems为已有道具,objData为RPGPlayer、RPGMonster,返回的是该道具的效果值 + static int battleUseItems(CCArray* existingItems, RPGBaseRole* targetData, int itemsId); //战斗画面中使用道具,existingItems为已有道具,objData为RPGPlayer、RPGMonster,返回的是该道具的效果值 static bool useSkillCure(CppSQLite3DB* db, int srcPlayerId, int targetPlayerId, int srcSkillId); //使用回复技能 diff --git a/Resources/db.sys b/Resources/db.sys index f7bfd9a..83a3983 100755 Binary files a/Resources/db.sys and b/Resources/db.sys differ