From 88f3fe7f000992fe7a3c47d4e235f725e9b77b69 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Fri, 30 Aug 2013 17:29:46 +0200 Subject: Moved throw pos and speed calculation from cProjectileEntity into cPlayer. --- source/Entities/ProjectileEntity.cpp | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) (limited to 'source/Entities/ProjectileEntity.cpp') diff --git a/source/Entities/ProjectileEntity.cpp b/source/Entities/ProjectileEntity.cpp index f405e9aa4..1dbc46ca1 100644 --- a/source/Entities/ProjectileEntity.cpp +++ b/source/Entities/ProjectileEntity.cpp @@ -230,7 +230,7 @@ cArrowEntity::cArrowEntity(cEntity * a_Creator, double a_X, double a_Y, double a cArrowEntity::cArrowEntity(cPlayer & a_Player, double a_Force) : - super(pkArrow, &a_Player, PosFromPlayerPos(a_Player), SpeedFromPlayerLook(a_Player, a_Force), 0.5, 0.5), + super(pkArrow, &a_Player, a_Player.GetThrowStartPos(), a_Player.GetThrowSpeed(a_Force * 1.5 * 20), 0.5, 0.5), m_PickupState(psInSurvivalOrCreative), m_DamageCoeff(2) { @@ -240,36 +240,6 @@ cArrowEntity::cArrowEntity(cPlayer & a_Player, double a_Force) : -Vector3d cArrowEntity::PosFromPlayerPos(const cPlayer & a_Player) -{ - Vector3d res = a_Player.GetEyePosition(); - - // Adjust the position to be just outside the player's bounding box: - res.x += 0.16 * cos(a_Player.GetPitch()); - res.y += -0.1; - res.z += 0.16 * sin(a_Player.GetPitch()); - - return res; -} - - - - - -Vector3d cArrowEntity::SpeedFromPlayerLook(const cPlayer & a_Player, double a_Force) -{ - Vector3d res = a_Player.GetLookVector(); - res.Normalize(); - - // TODO: Add a slight random change (+-0.0075 in each direction) - - return res * a_Force * 1.5 * 20; -} - - - - - bool cArrowEntity::CanPickup(const cPlayer & a_Player) const { switch (m_PickupState) -- cgit v1.2.3