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