This commit is contained in:
aozhiwei 2022-09-29 13:08:27 +08:00
parent b7fae74af6
commit f8c9c26d8a
2 changed files with 6 additions and 3 deletions

View File

@ -215,7 +215,7 @@ void RoomObstacle::UpdateTimerFunc()
}
}
void RoomObstacle::SpecExplosion()
void RoomObstacle::SpecExplosion(int delay_time)
{
++explosion_times_;
if (meta->i->damage_dia() > 0.01f) {
@ -234,6 +234,9 @@ void RoomObstacle::SpecExplosion()
if (room->grid_service->CanAdd(bomb_pos.x, bomb_pos.y)) {
std::shared_ptr<Explosion> explosion = EntityFactory::Instance()->MakeExplosion();
explosion->exclude_uniid = GetUniId();
if (delay_time > 0) {
explosion->SetDamageDelay(delay_time);
}
explosion->IndifferenceAttack(
room,
bomb_pos,
@ -398,7 +401,7 @@ void RoomObstacle::ActiveSelfExplosion()
[] (const a8::XParams& param)
{
RoomObstacle* obstacle = (RoomObstacle*)param.sender.GetUserData();
obstacle->SpecExplosion();
obstacle->SpecExplosion(obstacle->meta->i->explosion_dmg_delay());
},
&obstacle->xtimer_attacher.timer_list_
);

View File

@ -43,7 +43,7 @@ class RoomObstacle : public Obstacle
void DestoryAt(int time);
private:
void SpecExplosion();
void SpecExplosion(int delay_time = 0);
void ActiveSelfExplosion();
void ActiveMine();
void ActiveTrap();