diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index b0ebc55..2ab9116 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -145,6 +145,15 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data) p->set_parachute(parachute); } FillBodyState(p->mutable_states()); + if (dead) { + if (real_dead){ + p->set_can_revive(false); + } else { + p->set_can_revive(true); + p->set_revive_countdown(std::ceil(room->xtimer.GetRemainTime(revive_timer) / SERVER_FRAME_RATE)); + p->set_killer_name(stats.killer_name); + } + } } void Human::FillMFPlayerStats(cs::MFPlayerStats* stats_pb) diff --git a/server/gameserver/human.h b/server/gameserver/human.h index 79a1a82..9423c9b 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -88,6 +88,9 @@ class Human : public Entity int emoji2 = 0; int parachute = 0; bool has_pass = 0; + bool real_dead = false; + xtimer_list* revive_timer = nullptr; + int revive_count = 0; Weapon default_weapon; Weapon tank_weapon; diff --git a/third_party/a8engine b/third_party/a8engine index ee4ceec..403fbb4 160000 --- a/third_party/a8engine +++ b/third_party/a8engine @@ -1 +1 @@ -Subproject commit ee4ceec3d96375f9ca6ba4816ade7508bd570a92 +Subproject commit 403fbb49bc0e8267264f6b75b31bd41abdc8a235