diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 4c93a5d..d4b76f2 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -57,7 +57,7 @@ void Bullet::OnHit(std::set& objects) if (hum != player && !hum->dead && (hum->team_id == 0 || player->team_id != hum->team_id)) { #endif - float dmg = gun_meta->i->atk() * (1 + player->buff.damage_add); + float dmg = gun_meta->i->atk() * (1 + player->buff.damage_add + player->atk_add); float def = hum->def + hum->buff.def_add; float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K); player->stats.damage_amount_out += finaly_dmg; @@ -75,7 +75,7 @@ void Bullet::OnHit(std::set& objects) { Obstacle* obstacle = (Obstacle*)target; if (!obstacle->dead && obstacle->meta->i->attack_type() == 1) { - float dmg = gun_meta->i->atk() * (1 + player->buff.damage_add); + float dmg = gun_meta->i->atk() * (1 + player->buff.damage_add + player->atk_add); float def = 0; float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K); #if 0 diff --git a/server/gameserver/playermgr.cc b/server/gameserver/playermgr.cc index a552531..216af5b 100644 --- a/server/gameserver/playermgr.cc +++ b/server/gameserver/playermgr.cc @@ -55,6 +55,7 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ hum->account_registertime = f8::ExtractRegisterTimeFromSessionId(msg.session_id()); hum->atk_add = msg.atk_add(); if (hum->atk_add > 0.9999f) { + hum->atk_add = hum->atk_add / 100.0f; a8::SetBitFlag(hum->status, HS_AtkAdd); } for (auto& weapon : msg.weapons()) {