1
This commit is contained in:
parent
4d3f3c43ee
commit
ef03b4c83a
@ -248,15 +248,16 @@ void Human::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data
|
||||
if (revive_timer) {
|
||||
countdown = std::ceil(room->xtimer.GetRemainTime(revive_timer) / SERVER_FRAME_RATE);
|
||||
} else {
|
||||
a8::UdpLog::Instance()->Warning("Human::FillMFObjectfull revive_timer == nullptr "
|
||||
"dead_frameno:%d dead_times:%d alive_count:%d "
|
||||
"room.frameno:%d",
|
||||
{
|
||||
dead_frameno,
|
||||
dead_times,
|
||||
room->AliveCount(),
|
||||
room->GetFrameNo()
|
||||
});
|
||||
a8::UdpLog::Instance()->Warning
|
||||
("Human::FillMFObjectfull revive_timer == nullptr "
|
||||
"dead_frameno:%d dead_times:%d alive_count:%d "
|
||||
"room.frameno:%d",
|
||||
{
|
||||
dead_frameno,
|
||||
dead_times,
|
||||
room->AliveCount(),
|
||||
room->GetFrameNo()
|
||||
});
|
||||
}
|
||||
countdown = std::max(0, countdown - kReviveTimeAdd);
|
||||
p->set_revive_countdown(countdown);
|
||||
@ -2410,17 +2411,19 @@ void Human::Revive()
|
||||
hum->downed = false;
|
||||
hum->OnDie();
|
||||
};
|
||||
int wait_revive_time = MetaMgr::Instance()->GetSysParamAsInt("revive_time", 25) + kReviveTimeAdd;
|
||||
revive_timer = room->xtimer.AddDeadLineTimerAndAttach(SERVER_FRAME_RATE * wait_revive_time,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
callback,
|
||||
&xtimer_attacher.timer_list_,
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Human* hum = (Human*)param.sender.GetUserData();
|
||||
hum->revive_timer = nullptr;
|
||||
});
|
||||
int wait_revive_time = MetaMgr::Instance()->GetSysParamAsInt("revive_time", 25) +
|
||||
kReviveTimeAdd;
|
||||
revive_timer = room->xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * wait_revive_time,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
callback,
|
||||
&xtimer_attacher.timer_list_,
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Human* hum = (Human*)param.sender.GetUserData();
|
||||
hum->revive_timer = nullptr;
|
||||
});
|
||||
SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
}
|
||||
}
|
||||
@ -2565,19 +2568,20 @@ void Human::NotifyObservers(cs::SMUpdate* msg, cs::MFActivePlayerData* active_pl
|
||||
e->FillMFObjectFull(room, observer, full_obj);
|
||||
#ifdef DEBUG
|
||||
ObjectSyncFlags* new_sync_flags = observer->GetObjectSyncFlags(e->GetUniId());
|
||||
observer->SendDebugMsg(a8::Format(
|
||||
"resync full frameno:%d uniid:%d net_flags:%d f2:%d "
|
||||
"old_flags:%d,%d new_flags:%d,%d",
|
||||
{
|
||||
room->GetFrameNo(),
|
||||
full_obj->obj_uniid(),
|
||||
full_obj->object_flags(),
|
||||
msg->full_objects(i).object_flags(),
|
||||
old_sync_flags.flags,
|
||||
old_sync_flags.last_sync_frameno,
|
||||
new_sync_flags->flags,
|
||||
new_sync_flags->last_sync_frameno,
|
||||
}));
|
||||
observer->SendDebugMsg
|
||||
(a8::Format(
|
||||
"resync full frameno:%d uniid:%d net_flags:%d f2:%d "
|
||||
"old_flags:%d,%d new_flags:%d,%d",
|
||||
{
|
||||
room->GetFrameNo(),
|
||||
full_obj->obj_uniid(),
|
||||
full_obj->object_flags(),
|
||||
msg->full_objects(i).object_flags(),
|
||||
old_sync_flags.flags,
|
||||
old_sync_flags.last_sync_frameno,
|
||||
new_sync_flags->flags,
|
||||
new_sync_flags->last_sync_frameno,
|
||||
}));
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user