diff --git a/include/Engine/Input/FirstPersonInputController.h b/include/Engine/Input/FirstPersonInputController.h index 67e7270e..777c0331 100644 --- a/include/Engine/Input/FirstPersonInputController.h +++ b/include/Engine/Input/FirstPersonInputController.h @@ -213,7 +213,6 @@ bool FirstPersonInputController::OnCommand(const Events::InputComm } } - EntityWrapper firstPersonModel = m_PlayerEntity.FirstChildByName("Hands"); if (firstPersonModel.Valid()) { if (val > 0) { // Walk/Run diff --git a/resources/Schema/Entities/RayDefenderBlue.xml b/resources/Schema/Entities/RayDefenderBlue.xml index 066f2fb1..1c6e7ff2 100644 --- a/resources/Schema/Entities/RayDefenderBlue.xml +++ b/resources/Schema/Entities/RayDefenderBlue.xml @@ -17,12 +17,10 @@ Textures/Effects/NewRay7.png true - true - - + @@ -35,12 +33,10 @@ Textures/Effects/NewRay7.png true - true - - + diff --git a/resources/Schema/Entities/WeaponDefenderBlueView.xml b/resources/Schema/Entities/WeaponDefenderBlueView.xml index 9e3d6a51..9ebe6831 100644 --- a/resources/Schema/Entities/WeaponDefenderBlueView.xml +++ b/resources/Schema/Entities/WeaponDefenderBlueView.xml @@ -8,6 +8,7 @@ Models/Characters/Defender/FirstPersonDefenderBlue.mesh + false @@ -244,6 +245,7 @@ Models/Weapons/Blue/DefenderWeaponBlue.mesh + false diff --git a/src/Game/Systems/Weapon/DefenderWeaponBehaviour.cpp b/src/Game/Systems/Weapon/DefenderWeaponBehaviour.cpp index 603f6991..7627c227 100644 --- a/src/Game/Systems/Weapon/DefenderWeaponBehaviour.cpp +++ b/src/Game/Systems/Weapon/DefenderWeaponBehaviour.cpp @@ -395,9 +395,12 @@ void DefenderWeaponBehaviour::spawnTracers(ComponentWrapper cWeapon, WeaponInfo& glm::vec3 muzzlePosition = TransformSystem::AbsolutePosition(muzzle); glm::quat muzzleOrientation = TransformSystem::AbsoluteOrientation(muzzle); - rayOrigin = muzzlePosition; glm::vec3 muzzleToHit = hitPosition - muzzlePosition; + + rayOrigin = muzzlePosition + (muzzleToHit/2.f); + + glm::vec3 lookVector = glm::normalize(-muzzleToHit); float pitch = std::asin(-lookVector.y); float yaw = std::atan2(lookVector.x, lookVector.z); @@ -477,7 +480,12 @@ void DefenderWeaponBehaviour::dealDamage(ComponentWrapper cWeapon, WeaponInfo& w // Check for friendly fire if ((ComponentInfo::EnumType)victim["Team"]["Team"] == (ComponentInfo::EnumType)wi.Player["Team"]["Team"]) { - // TODO: Ammo sharing + // Give boost + Events::PlayerDamage ePlayerDamage; + ePlayerDamage.Inflictor = wi.Player; + ePlayerDamage.Victim = victim; + ePlayerDamage.Damage = 0; + m_EventBroker->Publish(ePlayerDamage); continue; } @@ -493,7 +501,6 @@ void DefenderWeaponBehaviour::dealDamage(ComponentWrapper cWeapon, WeaponInfo& w ePlayerDamage.Victim = kv.first; ePlayerDamage.Damage = kv.second; m_EventBroker->Publish(ePlayerDamage); - LOG_DEBUG("Dealt %f damage to #%i", kv.second, kv.first.ID); } }