From b070f90760c8e253f94938321e1da7c8b91cabc2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 27 Oct 2022 17:55:53 +0800 Subject: [PATCH] 1 --- server/gameserver/human.cc | 28 +++++++++++++++++----------- server/gameserver/player.cc | 8 ++++++-- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index dcce543a..8553e0bb 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2488,17 +2488,23 @@ void Human::SendBattleReport() } std::string data; params->ToUrlEncodeStr(data); - HttpProxy::Instance()->HttpGet - ( - a8::XParams() - .SetSender(room->GetRoomUuid()) - .SetParam1(account_id) - .SetParam2(data), - on_ok, - on_error, - url.c_str(), - *params.get() - ); + if (stats.is_run_away) { + sending_battlereport_ = false; + already_report_battle_ = true; + SendGameOver(); + } else { + HttpProxy::Instance()->HttpGet + ( + a8::XParams() + .SetSender(room->GetRoomUuid()) + .SetParam1(account_id) + .SetParam2(data), + on_ok, + on_error, + url.c_str(), + *params.get() + ); + } } void Human::ProcLootSkin(AddItemDTO& dto) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index cad3330f..e52b6ed3 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1107,7 +1107,9 @@ void Player::_CMGameOver(f8::MsgHdr& hdr, const cs::CMGameOver& msg) if (!dead) { BeKill(GetUniId(), name, 0); } - if (room->GetGasData().GetGasMode() == GasInactive) { + if (room->GetGasData().GetGasMode() == GasInactive || + HasBuffEffect(kBET_Fly) || + HasBuffEffect(kBET_Jump)) { stats.is_run_away = true; } SendGameOver(); @@ -1128,7 +1130,9 @@ void Player::_CMLeave(f8::MsgHdr& hdr, const cs::CMLeave& msg) leave_ = true; leave_frameno_ = room->GetFrameNo(); } - if (room->GetGasData().GetGasMode() == GasInactive) { + if (room->GetGasData().GetGasMode() == GasInactive || + HasBuffEffect(kBET_Fly) || + HasBuffEffect(kBET_Jump)) { stats.is_run_away = true; } cs::SMLeave respmsg;