1
This commit is contained in:
parent
b7fae74af6
commit
f8c9c26d8a
@ -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_
|
||||
);
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user