1
This commit is contained in:
parent
2ef15fc823
commit
5ad3556e20
@ -470,22 +470,29 @@ void Bullet::Check(float distance)
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
Buff* hold_shield_buff = c->GetBuffByEffectId(kBET_HoldShield);
|
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;
|
float shot_angle = 0.0f;
|
||||||
if (c->GetMoveDir().IsZero()) {
|
if (c->GetMoveDir().IsZero()) {
|
||||||
shot_angle = dir.CalcAngleEx(a8::Vec2::UP);
|
shot_angle = dir.CalcAngleEx(a8::Vec2::UP);
|
||||||
} else {
|
} else {
|
||||||
shot_angle = dir.CalcAngleEx(c->GetMoveDir());
|
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 (shot_angle < A8_PI / 4) {
|
||||||
eat = true;
|
if (TestCollision(room, &collider)) {
|
||||||
stop = true;
|
eat = true;
|
||||||
return;
|
stop = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else if (fabs(shot_angle) < 0.000001f &&
|
} else if (fabs(shot_angle) < 0.000001f &&
|
||||||
shot_angle + A8_PI < A8_PI / 4){
|
shot_angle + A8_PI < A8_PI / 4){
|
||||||
eat = true;
|
if (TestCollision(room, &collider)) {
|
||||||
stop = true;
|
eat = true;
|
||||||
return;
|
stop = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user