修改捕鱼结算
来源:互联网 发布:js input数组 编辑:程序博客网 时间:2024/04/30 07:54
ID24的炸弹以及被炸弹效果炸死的鱼没有加入结算金币中;
开启能量炮后打一发10倍炮扣10金币,但是在结算中算的子弹消耗为*2即20金币。
void NPC::OnDead( int _playerID , int scoreDelta, bool bGuiCoinTip )
{
dtePlayer *player = g_World->GetPlayer(_playerID);
if ( !player )
{
printf("NPC.cpp OnDead player == NULL playerID = %d...\n", _playerID);
return;
}
if ( g_Env->pNetWorkManger->GetSelfChairID()==_playerID )
{
player->Addi64GainGold(scoreDelta);
}
__ChangeAction( NS_Deathing );
int allScore = scoreDelta;
//
EnemyManager *enemyMgr = g_World->GetMissionManager()->GetEnemyManager();
dteCoinManager *coinManager = g_World->GetCoinManager();
coinManager->FlyCoin( allScore, position, player->GetPos(), player->GetTurretLv(), player->GetRotate() );
__OnShowSceneMoneyEvent( _playerID, allScore, position.x, position.y );
// 粒子动画
switch( type )
{
case eGROUP:
case eNORMAL:
case eBOAT:
{
if ( bGuiCoinTip )
{
__OnShowCoinPacketEvent( _playerID, allScore, (float)allScore/player->GetTurretLv() );
if ( fishType >= 18 )
{
__OnShowPraiseEvent( _playerID, allScore );
if ( g_World->GetSoundManager() )
{
g_World->GetSoundManager()->PlayDeadSoundYesPraise();
}
}
}
}
break;
case eBOTTLE:
{
//player->OnEnergyChange();
}
break;
case eBOMB:
break;
case eLOCALITY:
{
// UI
g_World->GetParticleManager()->PlayTropedoEmitter( position );
g_World->CameraShake(1);
}
break;
case eTEAM:
break;
case eSCREEN:
{
// UI
g_World->GetParticleManager()->PlayTropedoEmitter( position );
g_World->GetParticleManager()->PlaySeaWaveEmitter( position );
g_World->CameraShake(1);
}
break;
case eSTOP:
{
g_World->GetMissionManager()->GetEnemyManager()->StopAllEnemy( _playerID, allScore );
g_World->GetParticleManager()->PlayAllKillEmitter( position );
}
break;
}
}
////e:\永荣\游戏组件\常规游戏\蛇行亿年\NetInterface\NetWorkEventImplement.cpp
bool DTENetWork::_OnCastNetSuccess( const void * pBuffer, WORD wDataSize )
{
const CMD_S_Cast_Net_Success_dte *pCastNetSuccess = (CMD_S_Cast_Net_Success_dte *)pBuffer;
if (wDataSize!=sizeof(CMD_S_Cast_Net_Success_dte)-(MAX_FISH_IN_CUCESS-pCastNetSuccess->cbCount)*sizeof(CMD_C_Fish_Net_Object))
{
Log("校验失败!");
return false;
}
//清掉之前添加的捕鱼金币统计
CALL_EVENT(OnCastNet,
pCastNetSuccess->cbChairID,
pCastNetSuccess->FishNetIDs,
pCastNetSuccess->cbCount,
pCastNetSuccess->dwPlayerScore,
pCastNetSuccess->dwPlayerAddScore,
pCastNetSuccess->wHitCount);
return true;
}
////e:\永荣\游戏组件\常规游戏\蛇行亿年\蛇行亿年客户端\Logic\dteTurret.cpp
void dteTurret::__FireBullet( int _bulletCost )
{
float tRot = (fBaseRotate+fRotate);
// 从弹夹中获取一枚子弹
BULLET_ITR itr = pCurTurretInfo->BulletList.begin();
if ( T_TYPE_POWER == nCurTurretType )
{
//奇怪能量炮实际耗费的金币一样,但为什么要*2
(*itr)->SetCostScore( _bulletCost*2, true );//将子弹耗分设置进子弹类里(能量炮一次耗分双倍效果)
Addi64ExpendGold(_bulletCost);
}
else
{
(*itr)->SetCostScore( _bulletCost, false );//将子弹耗分设置进子弹类里
Addi64ExpendGold(_bulletCost);
}
//发射子弹
NPC *lockNpc = NULL;
if ( bLockHighScoreFish )
{
lockNpc = pLockState->GetLockNpc();
}
(*itr)->Fire(pPlayer, Pos.x, Pos.y, tRot-M_PI_2, lockNpc );
dteBulletManager::GetInst()->AddPlayerBullet( (*itr) );
pCurTurretInfo->BulletList.erase( itr );
if( ++pCurTurretInfo->nBulletIndex >= MAX_BULLET_NUM )
{
pCurTurretInfo->nBulletIndex = 0;
}
//
if ( pPlayer->IsSelfPlayer() )
{
EventParam param;
if ( !bLockHighScoreFish )
{
param.fireParam.chairId = pPlayer->GetID();
param.fireParam.cost = _bulletCost;
param.fireParam.fRote = fRotate;
g_Env->pGameEventManager->SendEvent( eGameSelfFire, param, pPlayer );
}
else
{
if ( lockNpc )
{
param.lockFireParam.chairId = pPlayer->GetID();
param.lockFireParam.cost = _bulletCost;
param.lockFireParam.fishType = lockNpc->GetFishType();
param.lockFireParam.fishID = lockNpc->GetFishID();
g_Env->pGameEventManager->SendEvent( eGameSelfLockFire, param, pPlayer );
}
else
{
param.fireParam.chairId = pPlayer->GetID();
param.fireParam.cost = _bulletCost;
param.fireParam.fRote = fRotate;
g_Env->pGameEventManager->SendEvent( eGameSelfFire, param, pPlayer );
}
}
}
//
nFiredBulletSize ++;
}
- 修改捕鱼结算
- 添加捕鱼结算框(hge引擎)
- 捕鱼断线改为直接结算,踢出房间
- 捕鱼修改游戏进出记录
- 捕鱼
- 捕鱼
- APK_android捕鱼达人修改方法(反编译、修改、打包)
- android捕鱼达人修改方法(反编译、修改、打包)
- sspanel按月结算,修改go版代码【mysql api】
- sspanel按月结算,修改go版代码【web api】
- 绝对实践,教你如何成功修改捕鱼达人ipad版 金币
- 捕鱼问题
- 捕鱼问题
- 捕鱼问题
- 捕鱼小游戏
- 超声波捕鱼机捕鱼方法
- 修改ECSHOP结算中心“立即使用支付宝支付”按钮样式
- 惠安惠达新需求-费用结算管理模块里对起始里程进行修改
- Mysql coalesce()函数认识和用法
- property_get/property_set
- 迭代器
- 等待所有子进程结束
- C中为动态数组连续分配内存空间
- 修改捕鱼结算
- Pointers On C Chapter 9
- robotium 测试一
- 对图像文件(jpg和tif)中各种属性存放方式的研究
- 如何成为一名优秀的web前端工程师
- c#的new、abstract、virtual、override,sealed关键字区别
- U盘安装rhel7后使用本地yum源
- Solr入门配置
- onStartCommand NullPointerException