1
This commit is contained in:
parent
c031a7cd2b
commit
8129efcc68
@ -934,7 +934,6 @@ void Skill::Proc30801LONG()
|
||||
|
||||
void Skill::Proc30901XIONG()
|
||||
{
|
||||
#if 1
|
||||
auto context = std::make_shared<std::tuple<int, std::vector<int>>>();
|
||||
std::get<0>(*context.get()) = 0;
|
||||
a8::XTimerWp timer = owner->room->xtimer.SetIntervalWpEx
|
||||
@ -980,54 +979,6 @@ void Skill::Proc30901XIONG()
|
||||
kReceiveDmgEvent,
|
||||
cb
|
||||
);
|
||||
#else
|
||||
int relive_times = 0;
|
||||
owner->GetTrigger()->AddListener
|
||||
(
|
||||
kDieEvent,
|
||||
[this, relive_times] (const a8::Args& args) mutable
|
||||
{
|
||||
int killer_id = args.Get<int>(0);
|
||||
if (relive_times <= 0) {
|
||||
++relive_times;
|
||||
if (killer_id != owner->GetUniId()) {
|
||||
owner->real_dead = false;
|
||||
a8::SetBitFlag(owner->status, CS_DeadNoDrop);
|
||||
owner->room->xtimer.SetTimeoutEx
|
||||
(
|
||||
meta->_number_meta->_float_time * 1000 / FRAME_RATE_MS,
|
||||
[this] (int event, const a8::Args* args)
|
||||
{
|
||||
if (a8::TIMER_EXEC_EVENT != event) {
|
||||
return;
|
||||
}
|
||||
owner->dead = false;
|
||||
owner->real_dead = false;
|
||||
owner->downed = false;
|
||||
a8::UnSetBitFlag(owner->status, CS_DeadNoDrop);
|
||||
owner->SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
owner->room->frame_event.AddRevive(owner->GetWeakPtrRef());
|
||||
owner->TryAddBuff(owner,
|
||||
meta->_number_meta->buff_id(),
|
||||
meta);
|
||||
owner->room->xtimer.SetTimeoutEx
|
||||
(
|
||||
3 * SERVER_FRAME_RATE,
|
||||
[this] (int event, const a8::Args* args)
|
||||
{
|
||||
if (a8::TIMER_EXEC_EVENT == event) {
|
||||
owner->SetHP(owner->GetMaxHP() * meta->_number_meta->_float_ratio2);
|
||||
owner->SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
}
|
||||
},
|
||||
&xtimer_attacher);
|
||||
},
|
||||
&xtimer_attacher);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Skill::Proc31001NIU()
|
||||
|
Loading…
x
Reference in New Issue
Block a user