This commit is contained in:
aozhiwei 2022-10-26 15:26:06 +08:00
parent 5502e876e2
commit 9c72db9856

View File

@ -285,6 +285,15 @@ void InternalShot(Creature* c,
if (!skill_meta) {
c->room->frame_event.AddShot(c->GetWeakPtrRef());
}
if (c->aiming) {
if (weapon_meta->i->aiming_cast_time() > 0) {
int buff_uniid = c->TryAddBuff(c, kVertigoBuffId);
Buff* buff = c->GetBuffByUniId(buff_uniid);
if (buff && buff->remover_timer) {
c->room->xtimer.ModifyTimer(buff->remover_timer, weapon_meta->i->aiming_cast_time() / FRAME_RATE_MS);
}
}
} else {
if (weapon_meta->i->cast_time() > 0) {
int buff_uniid = c->TryAddBuff(c, kVertigoBuffId);
Buff* buff = c->GetBuffByUniId(buff_uniid);
@ -292,6 +301,7 @@ void InternalShot(Creature* c,
c->room->xtimer.ModifyTimer(buff->remover_timer, weapon_meta->i->cast_time() / FRAME_RATE_MS);
}
}
}
a8::Vec2 old_context_dir = c->context_dir;
a8::Vec2 old_context_pos = c->context_pos;
c->context_dir =c->GetAttackDir();
@ -333,6 +343,15 @@ void InternalShot(Creature* c,
c->room->xtimer.ModifyTimer(buff->remover_timer, weapon_meta->lock_time / FRAME_RATE_MS);
}
}
if (c->aiming) {
if (weapon_meta->i->aiming_cast_time() > 0) {
int buff_uniid = c->TryAddBuff(c, kVertigoBuffId);
Buff* buff = c->GetBuffByUniId(buff_uniid);
if (buff && buff->remover_timer) {
c->room->xtimer.ModifyTimer(buff->remover_timer, weapon_meta->i->aiming_cast_time() / FRAME_RATE_MS);
}
}
} else {
if (weapon_meta->i->cast_time() > 0) {
int buff_uniid = c->TryAddBuff(c, kVertigoBuffId);
Buff* buff = c->GetBuffByUniId(buff_uniid);
@ -340,6 +359,7 @@ void InternalShot(Creature* c,
c->room->xtimer.ModifyTimer(buff->remover_timer, weapon_meta->i->cast_time() / FRAME_RATE_MS);
}
}
}
MetaData::HeroShotAnimation* shot_animi = c->GetHeroMeta() ?
c->GetHeroMeta()->GetShotAnimi(weapon_meta->i->shootfire()) : nullptr;
std::weak_ptr<a8::XTimerPtr> keep_shot_animi_timer_ptr;