1
This commit is contained in:
parent
a25f61ce0d
commit
788a330047
@ -19,7 +19,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++11 -DGAME_ID=${GAME_ID} -DNDEBUG -DNEWGS")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++11 -DGAME_ID=${GAME_ID} -DNDEBUG -DNEWGS")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++11 -DGAME_ID=${GAME_ID} -DDEBUG -fsanitize=address -fno-omit-frame-pointer -DNEWGS")
|
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++11 -DGAME_ID=${GAME_ID} -DDEBUG -fsanitize=address -fno-omit-frame-pointer -DNEWGS -DPVE")
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
AFTER
|
AFTER
|
||||||
|
@ -1714,6 +1714,8 @@ void Creature::UpdatePoisoning()
|
|||||||
}
|
}
|
||||||
bool need_notify = poisoning_time > 1000;
|
bool need_notify = poisoning_time > 1000;
|
||||||
while (poisoning_time > 1000) {
|
while (poisoning_time > 1000) {
|
||||||
|
if (room->IsPveRoom()) {
|
||||||
|
} else {
|
||||||
float dmg = 0;
|
float dmg = 0;
|
||||||
if (room->GetGasData().is_last_gas) {
|
if (room->GetGasData().is_last_gas) {
|
||||||
dmg = room->GetGasData().new_area_meta->i->hurt();
|
dmg = room->GetGasData().new_area_meta->i->hurt();
|
||||||
@ -1727,6 +1729,7 @@ void Creature::UpdatePoisoning()
|
|||||||
poisoning_time = 0;
|
poisoning_time = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
poisoning_time -= 1000;
|
poisoning_time -= 1000;
|
||||||
}
|
}
|
||||||
if (need_notify && IsEntitySubType(EST_Player)) {
|
if (need_notify && IsEntitySubType(EST_Player)) {
|
||||||
|
@ -1529,6 +1529,9 @@ void Human::FillMFGasData(cs::MFGasData* gas_data)
|
|||||||
} else {
|
} else {
|
||||||
gas_data->set_duration(0);
|
gas_data->set_duration(0);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (room->IsPveRoom()) {
|
||||||
|
gas_data->set_duration(0);
|
||||||
} else {
|
} else {
|
||||||
if (room->GetGasData().old_area_meta->i->wait_time() <= 0) {
|
if (room->GetGasData().old_area_meta->i->wait_time() <= 0) {
|
||||||
gas_data->set_duration(0);
|
gas_data->set_duration(0);
|
||||||
@ -1538,10 +1541,20 @@ void Human::FillMFGasData(cs::MFGasData* gas_data)
|
|||||||
gas_data->set_duration(std::max(duration * 50, (long long)1000) / 1000);
|
gas_data->set_duration(std::max(duration * 50, (long long)1000) / 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (room->IsPveRoom()) {
|
||||||
|
#if 0
|
||||||
TypeConvert::ToPb(room->GetGasData().pos_old, gas_data->mutable_pos_old());
|
TypeConvert::ToPb(room->GetGasData().pos_old, gas_data->mutable_pos_old());
|
||||||
TypeConvert::ToPb(room->GetGasData().pos_new, gas_data->mutable_pos_new());
|
TypeConvert::ToPb(room->GetGasData().pos_new, gas_data->mutable_pos_new());
|
||||||
gas_data->set_rad_old(room->GetGasData().rad_old);
|
gas_data->set_rad_old(room->GetGasData().rad_old);
|
||||||
gas_data->set_rad_new(room->GetGasData().rad_new);
|
gas_data->set_rad_new(room->GetGasData().rad_new);
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
TypeConvert::ToPb(room->GetGasData().pos_old, gas_data->mutable_pos_old());
|
||||||
|
TypeConvert::ToPb(room->GetGasData().pos_new, gas_data->mutable_pos_new());
|
||||||
|
gas_data->set_rad_old(room->GetGasData().rad_old);
|
||||||
|
gas_data->set_rad_new(room->GetGasData().rad_new);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Human::RecalcVolume()
|
void Human::RecalcVolume()
|
||||||
|
@ -1183,11 +1183,15 @@ void Room::UpdateGas()
|
|||||||
}
|
}
|
||||||
if (gas_data_.gas_mode != GasInactive && gas_data_.gas_mode != GasJump) {
|
if (gas_data_.gas_mode != GasInactive && gas_data_.gas_mode != GasJump) {
|
||||||
if (gas_data_.gas_mode != GasInactive && GetRoomMode() == kChiJiMode) {
|
if (gas_data_.gas_mode != GasInactive && GetRoomMode() == kChiJiMode) {
|
||||||
|
if (IsPveRoom()) {
|
||||||
|
|
||||||
|
} else {
|
||||||
if (!IsGameOver() && alive_count_ <= MAX_TEAM_NUM && GetAliveTeamNum() <= 1) {
|
if (!IsGameOver() && alive_count_ <= MAX_TEAM_NUM && GetAliveTeamNum() <= 1) {
|
||||||
game_over_ = true;
|
game_over_ = true;
|
||||||
game_over_frameno_ = GetFrameNo();
|
game_over_frameno_ = GetFrameNo();
|
||||||
OnGameOver();
|
OnGameOver();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
for (auto& pair : human_hash_) {
|
for (auto& pair : human_hash_) {
|
||||||
if (pair.second->real_dead ||
|
if (pair.second->real_dead ||
|
||||||
a8::HasBitFlag(pair.second->status, CS_Disable)) {
|
a8::HasBitFlag(pair.second->status, CS_Disable)) {
|
||||||
@ -1292,15 +1296,25 @@ void Room::UpdateGasInactivePvp()
|
|||||||
|
|
||||||
void Room::UpdateGasInactivePve()
|
void Room::UpdateGasInactivePve()
|
||||||
{
|
{
|
||||||
|
gas_data_.gas_mode = GasWaiting;
|
||||||
|
gas_data_.gas_start_frameno = GetFrameNo();
|
||||||
|
battle_start_frameno_ = GetFrameNo();
|
||||||
|
NotifyUiUpdate();
|
||||||
|
ClearPostBattleAutoFreeList();
|
||||||
|
OnBattleStart();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Room::UpdateGasWaiting()
|
void Room::UpdateGasWaiting()
|
||||||
{
|
{
|
||||||
|
if (IsPveRoom()) {
|
||||||
|
|
||||||
|
} else {
|
||||||
if (GetFrameNo() - gas_data_.gas_start_frameno >=
|
if (GetFrameNo() - gas_data_.gas_start_frameno >=
|
||||||
gas_data_.old_area_meta->i->wait_time() * SERVER_FRAME_RATE) {
|
gas_data_.old_area_meta->i->wait_time() * SERVER_FRAME_RATE) {
|
||||||
gas_data_.gas_mode = GasMoving;
|
gas_data_.gas_mode = GasMoving;
|
||||||
gas_data_.gas_start_frameno = GetFrameNo();;
|
gas_data_.gas_start_frameno = GetFrameNo();;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Room::UpdateGasMoving()
|
void Room::UpdateGasMoving()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user