1
This commit is contained in:
parent
2ef15fc823
commit
5ad3556e20
@ -470,25 +470,32 @@ void Bullet::Check(float distance)
|
||||
}
|
||||
{
|
||||
Buff* hold_shield_buff = c->GetBuffByEffectId(kBET_HoldShield);
|
||||
if (hold_shield_buff && !IsBomb()) {
|
||||
if (hold_shield_buff && !IsBomb() && !c->dead && c != sender.Get()) {
|
||||
float shot_angle = 0.0f;
|
||||
if (c->GetMoveDir().IsZero()) {
|
||||
shot_angle = dir.CalcAngleEx(a8::Vec2::UP);
|
||||
} else {
|
||||
shot_angle = dir.CalcAngleEx(c->GetMoveDir());
|
||||
}
|
||||
CircleCollider collider;
|
||||
collider.owner = c;
|
||||
collider.rad = hold_shield_buff->meta->param1;
|
||||
if (shot_angle < A8_PI / 4) {
|
||||
if (TestCollision(room, &collider)) {
|
||||
eat = true;
|
||||
stop = true;
|
||||
return;
|
||||
}
|
||||
} else if (fabs(shot_angle) < 0.000001f &&
|
||||
shot_angle + A8_PI < A8_PI / 4){
|
||||
if (TestCollision(room, &collider)) {
|
||||
eat = true;
|
||||
stop = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
AabbCollider aabb_box;
|
||||
c->GetHitAabbBox(aabb_box);
|
||||
if (c != sender.Get() && !c->dead && TestCollision(room, &aabb_box)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user