1
This commit is contained in:
parent
718b2263f9
commit
44deb18e2c
@ -137,6 +137,9 @@ bool Bullet::IsBomb()
|
||||
|
||||
void Bullet::MapServiceUpdate()
|
||||
{
|
||||
if (dead) {
|
||||
return;
|
||||
}
|
||||
pos = pos + dir * meta->i->bullet_speed() / (float)SERVER_FRAME_RATE;
|
||||
float distance = (pos - born_pos).Norm();
|
||||
if (room->OverBorder(pos, meta->i->bullet_rad())) {
|
||||
@ -187,6 +190,7 @@ void Bullet::MapServiceUpdate()
|
||||
|
||||
void Bullet::PostAttack()
|
||||
{
|
||||
dead = true;
|
||||
auto fire_func =
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
|
@ -165,10 +165,9 @@ void Obstacle::Explosion()
|
||||
if (explosioned) {
|
||||
return;
|
||||
}
|
||||
float old_rad = self_collider_->rad;
|
||||
if (self_collider_) {
|
||||
self_collider_->rad = meta->i->damage_dia();
|
||||
}
|
||||
CircleCollider collider;
|
||||
collider.owner = this;
|
||||
collider.rad = meta->i->damage_dia();
|
||||
if (meta->i->damage_dia() > 0.01f &&
|
||||
meta->i->damage() > 0.01f) {
|
||||
std::set<Entity*> objects;
|
||||
@ -176,7 +175,7 @@ void Obstacle::Explosion()
|
||||
room->grid_service.GetAllCellsByXy(pos.x, pos.y, grid_list);
|
||||
for (auto& grid : grid_list) {
|
||||
for (Human* hum: grid->human_list) {
|
||||
if (TestCollision(hum)) {
|
||||
if (hum->TestCollision(&collider)) {
|
||||
objects.insert(hum);
|
||||
}
|
||||
}
|
||||
@ -185,7 +184,7 @@ void Obstacle::Explosion()
|
||||
case ET_Obstacle:
|
||||
case ET_Building:
|
||||
{
|
||||
if (entity != this && TestCollision(entity)) {
|
||||
if (entity != this && entity->TestCollision(&collider)) {
|
||||
objects.insert(entity);
|
||||
}
|
||||
}
|
||||
@ -238,9 +237,6 @@ void Obstacle::Explosion()
|
||||
}
|
||||
}
|
||||
}
|
||||
if (self_collider_) {
|
||||
self_collider_->rad = old_rad;
|
||||
}
|
||||
explosioned = true;
|
||||
NotifyDelObject();
|
||||
room->RemoveObjectLater(this);
|
||||
|
Loading…
x
Reference in New Issue
Block a user