This commit is contained in:
aozhiwei 2023-06-30 12:09:51 +08:00
parent b857ff4bb0
commit 781e5e7d8d

View File

@ -1408,10 +1408,16 @@ void Human::ProcThrowDmg(int throw_uniid)
void Human::FillMFGasData(cs::MFGasData* gas_data) void Human::FillMFGasData(cs::MFGasData* gas_data)
{ {
gas_data->set_mode(room->GetGasData().GetGasMode()); gas_data->set_mode(room->GetGasData().GetGasMode());
gas_data->set_total_duration(0);
if (room->GetGasData().GetGasMode() == GasInactive) { if (room->GetGasData().GetGasMode() == GasInactive) {
long long duration = room->GetGasInactiveTime() * SERVER_FRAME_RATE - long long duration = room->GetGasInactiveTime() * SERVER_FRAME_RATE -
(room->GetFrameNo() - room->GetGasData().gas_start_frameno); (room->GetFrameNo() - room->GetGasData().gas_start_frameno);
gas_data->set_duration(std::max(duration * 50, (long long)1000) / 1000); gas_data->set_duration(std::max(duration * 50, (long long)1000) / 1000);
{
long long passed_frame_num = room->GetFrameNo() - room->GetGasData().gas_start_frameno;
float time = std::max(0.0f, gas_data->duration() - passed_frame_num / SERVER_FRAME_RATE) + 1;
gas_data->set_total_duration(time);
}
} else if (room->GetGasData().GetGasMode() == GasJump) { } else if (room->GetGasData().GetGasMode() == GasJump) {
gas_data->set_duration(0); gas_data->set_duration(0);
} else if (room->GetGasData().GetGasMode() == GasMoving) { } else if (room->GetGasData().GetGasMode() == GasMoving) {
@ -1435,11 +1441,6 @@ void Human::FillMFGasData(cs::MFGasData* gas_data)
gas_data->set_duration(0); gas_data->set_duration(0);
} }
} }
{
long long passed_frame_num = room->GetFrameNo() - room->GetGasData().gas_start_frameno;
float time = std::max(0.0f, gas_data->duration() - passed_frame_num / SERVER_FRAME_RATE) + 1;
gas_data->set_total_duration(time);
}
{ {
glm::vec3 v3(room->GetGasData().pos_old.x, 0.0f, room->GetGasData().pos_old.y); glm::vec3 v3(room->GetGasData().pos_old.x, 0.0f, room->GetGasData().pos_old.y);
TypeConvert::ToPb(v3, gas_data->mutable_pos_old()); TypeConvert::ToPb(v3, gas_data->mutable_pos_old());