This commit is contained in:
aozhiwei 2022-12-27 17:05:09 +08:00
parent 77853f406e
commit 694c06b0ed

View File

@ -346,14 +346,14 @@ void InternalShot(Creature* c,
return; return;
} }
for (auto& tuple : weapon_meta->_bullet_born_offset) { for (auto& tuple : weapon_meta->_bullet_born_offset) {
a8::Vec2 bullet_born_offset = a8::Vec2(std::get<0>(tuple), std::get<1>(tuple)); glm::vec3 bullet_born_offset = glm::vec3(std::get<0>(tuple), 0.0f, std::get<1>(tuple));
float bullet_born_angle = GlmHelper::CalcAngle(c->GetAttackDir(), GlmHelper::UP); float bullet_born_angle = GlmHelper::CalcAngle(c->GetAttackDir(), GlmHelper::UP);
if (c->GetAttackDir().x > 0.00001f) { if (c->GetAttackDir().x > 0.00001f) {
bullet_born_angle = -bullet_born_angle; bullet_born_angle = -bullet_born_angle;
} }
bullet_born_offset.Rotate(bullet_born_angle); GlmHelper::RotateY(bullet_born_offset, bullet_born_angle);
Position bullet_born_pos; Position bullet_born_pos;
bullet_born_pos.FromVec2(c->GetPos().ToVec2() + bullet_born_offset); bullet_born_pos.FromGlmVec3(c->GetPos().ToGlmVec3() + bullet_born_offset);
if (c->room->OverBorder(bullet_born_pos, 0.0f)) { if (c->room->OverBorder(bullet_born_pos, 0.0f)) {
return; return;
} }