This commit is contained in:
aozhiwei 2023-04-17 14:03:50 +08:00
parent 301df577f1
commit f7678c47fd
5 changed files with 9 additions and 5 deletions

View File

@ -251,7 +251,8 @@ void Bullet::ProcBomb()
room->frame_event.AddExplosionEx(sender,
meta->id(),
bomb_pos,
gun_meta->explosion_effect());
gun_meta->explosion_effect(),
GetUniId());
OnHit(objects);
AddGunBuff();
}

View File

@ -167,7 +167,8 @@ void Explosion::InternalAttack()
(sender_,
0,
center_,
explosion_effect_);
explosion_effect_,
bullet_uniid);
}
if (explosion_damage_delay_ <= 0) {

View File

@ -9,6 +9,7 @@ class Explosion : public std::enable_shared_from_this<Explosion>
public:
~Explosion();
int exclude_uniid = 0;
int bullet_uniid = 0;
Room* GetRoom() { return room_; };
CreatureWeakPtr GetSender() { return sender_; };

View File

@ -159,10 +159,10 @@ void FrameEvent::RemoveBullet(glm::vec3 pos, int bullet_uniid)
void FrameEvent::AddExplosion(Bullet* bullet, int item_id, Position bomb_pos)
{
AddExplosionEx(bullet->sender, item_id, bomb_pos, 0);
AddExplosionEx(bullet->sender, item_id, bomb_pos, 0, 0);
}
void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect)
void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect, int bullet_uniid)
{
#if 0
if (!sender.Get()) {
@ -182,6 +182,7 @@ void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position b
p.set_player_id(sender.Get()->GetUniId());
#endif
p.set_effect(effect);
p.set_bullet_uniid(bullet_uniid);
}
{
std::set<GridCell*> grid_list;

View File

@ -31,7 +31,7 @@ public:
void AddExplosion(Bullet* bullet, int item_id, Position bomb_pos);
void AddSmoke(Bullet* bullet, int item_id, glm::vec3 pos, float time_addition);
void AddPlaySkill(CreatureWeakPtr& sender, int skill_id);
void AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect);
void AddExplosionEx(CreatureWeakPtr& sender, int item_id, Position bomb_pos, int effect, int bullet_uniid);
void AddBulletNumChg(CreatureWeakPtr& sender);
void AddHpChg(CreatureWeakPtr& sender);
void AddWeaponAmmoChg(CreatureWeakPtr& sender);