diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 80ff9476..c1ffd5ab 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -220,12 +220,21 @@ static void CalcGunMuzzlePosition(Creature* c, }//end if if (weapon_meta->gun_muzzle_position) { gun_muzzle_position += +#if 1 + glm::vec4( + -std::get<0>(*weapon_meta->gun_muzzle_position.get()), + std::get<1>(*weapon_meta->gun_muzzle_position.get()), + std::get<2>(*weapon_meta->gun_muzzle_position.get()), + 0 + ); +#else glm::vec4( std::get<0>(*weapon_meta->gun_muzzle_position.get()), std::get<1>(*weapon_meta->gun_muzzle_position.get()), std::get<2>(*weapon_meta->gun_muzzle_position.get()), 0 ); + #endif } #if 0 if (weapon_meta->movex_position) { @@ -345,6 +354,13 @@ void InternalShot(Creature* c, auto transform = glm::rotate(hero_transform, bullet_born_angle * A8_PI, glm::vec3(0.0, 1.0, 0.0)); +#if 1 + if (c->IsCar()) { + transform = glm::rotate(hero_transform, + 0 * A8_PI, + glm::vec3(0.0, 1.0, 0.0)); + } +#endif glm::vec4 gun_muzzle_position(0.0, 0.0, 0.0, 0.0); CalcGunMuzzlePosition(c, weapon_meta, shot_animi, gun_muzzle_position, bulletIdx, bulletNum); glm::vec4 v = transform * gun_muzzle_position;