1
This commit is contained in:
parent
e56703821e
commit
fcc4a1a522
@ -385,58 +385,36 @@ void InternalShot(Creature* c,
|
||||
}
|
||||
}
|
||||
{
|
||||
BulletInfo* bullet_info = new BulletInfo();
|
||||
bullet_info->c = c->GetWeakPtrRef();
|
||||
bullet_info->weapon_uniid = weapon_uniid;
|
||||
bullet_info->weapon_meta = weapon_meta;
|
||||
bullet_info->skill_meta = skill_meta;
|
||||
bullet_info->bullet_meta = bullet_meta;
|
||||
bullet_info->bullet_born_pos = bullet_born_pos;
|
||||
bullet_info->bullet_dir = bullet_dir;
|
||||
bullet_info->fly_distance = fly_distance;
|
||||
bullet_info->delay_time = std::get<3>(tuple);
|
||||
bullet_info->recoil_force = std::get<4>(tuple);
|
||||
bullet_info->invincible_buff_uniid = invincible_buff_uniid;
|
||||
bullet_info->trace_target_uniid = trace_target_uniid;
|
||||
bullet_info->keep_shot_animi_timer_ptr = keep_shot_animi_timer_ptr;
|
||||
bullet_info->shot_animi_time = shot_animi_time;
|
||||
BulletInfo bullet_info;
|
||||
bullet_info.c = c->GetWeakPtrRef();
|
||||
bullet_info.weapon_uniid = weapon_uniid;
|
||||
bullet_info.weapon_meta = weapon_meta;
|
||||
bullet_info.skill_meta = skill_meta;
|
||||
bullet_info.bullet_meta = bullet_meta;
|
||||
bullet_info.bullet_born_pos = bullet_born_pos;
|
||||
bullet_info.bullet_dir = bullet_dir;
|
||||
bullet_info.fly_distance = fly_distance;
|
||||
bullet_info.delay_time = std::get<3>(tuple);
|
||||
bullet_info.recoil_force = std::get<4>(tuple);
|
||||
bullet_info.invincible_buff_uniid = invincible_buff_uniid;
|
||||
bullet_info.trace_target_uniid = trace_target_uniid;
|
||||
bullet_info.keep_shot_animi_timer_ptr = keep_shot_animi_timer_ptr;
|
||||
bullet_info.shot_animi_time = shot_animi_time;
|
||||
if (skill_meta &&
|
||||
(skill_meta->GetMagicId() == MAGIC_AXXF ||
|
||||
skill_meta->GetMagicId() == MAGIC_HJHX)) {
|
||||
bullet_info->trace_target_uniid = c->GetSkillTargetId();
|
||||
bullet_info.trace_target_uniid = c->GetSkillTargetId();
|
||||
}
|
||||
if (weapon_meta->i->double_gun() &&
|
||||
bulletIdx > (int)(bulletNum / 2)) {
|
||||
bullet_info->hand = 1;
|
||||
bullet_info.hand = 1;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
if (bullet_info->trace_target_uniid) {
|
||||
a8::XPrintf("bullet trace_target_uniid:%d\n", {bullet_info->trace_target_uniid});
|
||||
if (bullet_info.trace_target_uniid) {
|
||||
a8::XPrintf("bullet trace_target_uniid:%d\n", {bullet_info.trace_target_uniid});
|
||||
}
|
||||
#endif
|
||||
#if 1
|
||||
InternalCreateBullet(*bullet_info);
|
||||
delete bullet_info;
|
||||
bullet_info = nullptr;
|
||||
#else
|
||||
c->room->xtimer.AddDeadLineTimerAndAttach
|
||||
(
|
||||
shot_animi_time / FRAME_RATE_MS,
|
||||
a8::XParams()
|
||||
.SetSender(bullet_info),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
BulletInfo* bullet_info = (BulletInfo*)param.sender.GetUserData();
|
||||
InternalCreateBullet(*bullet_info);
|
||||
},
|
||||
&c->xtimer_attacher.timer_list_,
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
BulletInfo* bullet_info = (BulletInfo*)param.sender.GetUserData();
|
||||
delete bullet_info;
|
||||
}
|
||||
);
|
||||
#endif
|
||||
InternalCreateBullet(bullet_info);
|
||||
}
|
||||
}
|
||||
c->GetTrigger()->Shot(weapon_meta);
|
||||
|
Loading…
x
Reference in New Issue
Block a user