This commit is contained in:
aozhiwei 2019-07-17 17:08:38 +08:00
parent a7756abb7e
commit d980926932
4 changed files with 13 additions and 4 deletions

View File

@ -233,6 +233,7 @@ enum BulletType_e
BulletType_Normal = 1, //普通子弹
BulletType_Missile = 2, //导弹
BulletType_FireBomb = 3, //燃烧弹
BulletType_Trace = 4, //追踪弹(超出射程无伤害)
};
enum ColliderTag_e

View File

@ -215,7 +215,7 @@ void Human::Shot()
}
DirectShot(curr_weapon->meta, 0);
if (curr_weapon->meta->i->equip_subtype() == BulletType_Missile) {
if (curr_weapon->meta->NeedTrace()) {
room->xtimer.AddDeadLineTimerAndAttach(curr_weapon->meta->i->time() * SERVER_FRAME_RATE,
a8::XParams()
.SetSender(this)
@ -257,10 +257,10 @@ void Human::DirectShot(MetaData::Equip* bullet_meta, int skill_id)
}
bullet_dir.Rotate(bullet_angle / 180.0f);
int hit_time = 0;
if (bullet_meta->i->equip_subtype() == BulletType_Missile) {
if (bullet_meta->NeedTrace()) {
hit_time = bullet_meta->i->time() * 1000;
}
if (bullet_meta->i->equip_subtype() == BulletType_Missile) {
if (bullet_meta->NeedTrace()) {
if (skill_id != 0) {
room->frame_event.AddBullet(this, bullet_meta->i->id(),
curr_weapon->weapon_lv, bullet_born_pos, bullet_dir,
@ -2078,7 +2078,7 @@ void Human::ProcSkillPhase(MetaData::SkillPhase* phase)
MetaData::Equip* bullet_meta = MetaMgr::Instance()->GetEquip(phase->param1.GetInt());
if (bullet_meta) {
DirectShot(bullet_meta, skill_meta->i->skill_id());
if (bullet_meta->i->equip_subtype() == BulletType_Missile) {
if (bullet_meta->NeedTrace()) {
room->xtimer.AddDeadLineTimerAndAttach(bullet_meta->i->time() * SERVER_FRAME_RATE,
a8::XParams()
.SetSender(this)

View File

@ -87,6 +87,13 @@ namespace MetaData
return i->equip_type() == EquipType_Bullet && MetaMgr::Instance()->fighting_mode;
}
bool Equip::NeedTrace()
{
return i->equip_type() == EquipType_Bullet &&
i->equip_subtype() == BulletType_Missile &&
i->equip_subtype() == BulletType_Trace;
}
void Player::Init()
{
{

View File

@ -56,6 +56,7 @@ namespace MetaData
void Init();
bool CanDrop();
bool NeedTrace();
};
struct Player