This commit is contained in:
aozhiwei 2022-11-18 15:27:42 +08:00
commit bd0dfc7d73
2 changed files with 25 additions and 15 deletions

View File

@ -1132,6 +1132,9 @@ void Human::FillSMGameOver(cs::SMGameOver& msg)
msg.set_my_rank(0); msg.set_my_rank(0);
} }
#endif #endif
if (IsPlayer()) {
}
} }
void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id, void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id,
@ -4502,21 +4505,25 @@ void Human::InternalBeKill(int killer_id, const std::string& killer_name, int we
SetHP(0.0f); SetHP(0.0f);
KillMgr::Instance()->OnHumanDead(this, &info); KillMgr::Instance()->OnHumanDead(this, &info);
room->frame_event.AddDead(GetWeakPtrRef(), 1000 * 15); room->frame_event.AddDead(GetWeakPtrRef(), 1000 * 15);
dead_timer = room->xtimer.AddDeadLineTimerAndAttach if (GetBattleContext()->GetReviveCoin() > 0) {
(MetaMgr::Instance()->revive_time * SERVER_FRAME_RATE, dead_timer = room->xtimer.AddDeadLineTimerAndAttach
a8::XParams() (MetaMgr::Instance()->revive_time * SERVER_FRAME_RATE,
.SetSender(this), a8::XParams()
[] (const a8::XParams& param) .SetSender(this),
{ [] (const a8::XParams& param)
Human* hum = (Human*)param.sender.GetUserData(); {
hum->real_dead = true; Human* hum = (Human*)param.sender.GetUserData();
}, hum->real_dead = true;
&xtimer_attacher.timer_list_, },
[] (const a8::XParams& param) &xtimer_attacher.timer_list_,
{ [] (const a8::XParams& param)
Human* hum = (Human*)param.sender.GetUserData(); {
hum->dead_timer = nullptr; Human* hum = (Human*)param.sender.GetUserData();
}); hum->dead_timer = nullptr;
});
} else {
real_dead = true;
}
} else { } else {
dead = true; dead = true;
real_dead = true; real_dead = true;

View File

@ -14,6 +14,7 @@ namespace cs
class MFActivePlayerData; class MFActivePlayerData;
class MFGasData; class MFGasData;
class MFPair; class MFPair;
class MFSettlement;
} }
class Room; class Room;
@ -76,6 +77,8 @@ class Player : public Human
int trace_target_uniid = 0; int trace_target_uniid = 0;
std::shared_ptr<cs::MFSettlement> settlement;
::google::protobuf::RepeatedField< ::google::protobuf::int32 > interaction_objids; ::google::protobuf::RepeatedField< ::google::protobuf::int32 > interaction_objids;
virtual ~Player() override; virtual ~Player() override;