1
This commit is contained in:
parent
42357b0061
commit
cd483b647f
@ -1140,12 +1140,12 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id)
|
|||||||
hum->dead_timer = nullptr;
|
hum->dead_timer = nullptr;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
GetTrigger()->Die();
|
|
||||||
dead = true;
|
dead = true;
|
||||||
real_dead = true;
|
real_dead = true;
|
||||||
downed = false;
|
downed = false;
|
||||||
SetHP(0.0f);
|
SetHP(0.0f);
|
||||||
dead_frameno = room->GetFrameNo();
|
dead_frameno = room->GetFrameNo();
|
||||||
|
GetTrigger()->Die();
|
||||||
OnDie();
|
OnDie();
|
||||||
KillMgr::Instance()->OnHumanDead(this, &info);
|
KillMgr::Instance()->OnHumanDead(this, &info);
|
||||||
room->frame_event.AddDead(GetWeakPtrRef(), 0);
|
room->frame_event.AddDead(GetWeakPtrRef(), 0);
|
||||||
|
@ -750,12 +750,37 @@ void Skill::ProcJYFH()
|
|||||||
|
|
||||||
void Skill::ProcFH()
|
void Skill::ProcFH()
|
||||||
{
|
{
|
||||||
|
int relive_times = 0;
|
||||||
owner->GetTrigger()->AddListener
|
owner->GetTrigger()->AddListener
|
||||||
(
|
(
|
||||||
kDieEvent,
|
kDieEvent,
|
||||||
[] (const std::vector<std::any>& params)
|
[this, relive_times] (const std::vector<std::any>& params) mutable
|
||||||
{
|
{
|
||||||
|
if (relive_times <= 0) {
|
||||||
|
++relive_times;
|
||||||
|
owner->real_dead = false;
|
||||||
|
owner->room->xtimer.AddDeadLineTimerAndAttach
|
||||||
|
(
|
||||||
|
meta->number_meta->float_time * 1000 / FRAME_RATE_MS,
|
||||||
|
a8::XParams()
|
||||||
|
.SetSender(this),
|
||||||
|
[] (const a8::XParams& param)
|
||||||
|
{
|
||||||
|
Skill* skill = (Skill*)param.sender.GetUserData();
|
||||||
|
Creature* owner = skill->owner;
|
||||||
|
owner->dead = false;
|
||||||
|
owner->real_dead = false;
|
||||||
|
owner->downed = false;
|
||||||
|
owner->SetHP(owner->GetMaxHP() * skill->meta->number_meta->float_ratio2);
|
||||||
|
owner->SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||||
|
owner->room->frame_event.AddRevive(owner->GetWeakPtrRef());
|
||||||
|
},
|
||||||
|
&xtimer_attacher.timer_list_,
|
||||||
|
[] (const a8::XParams& param)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user