From e7705f71c2c3ae4f78b5dc2488f762f393db3b5c Mon Sep 17 00:00:00 2001 From: Justin <95296300+Toodles2You@users.noreply.github.com> Date: Mon, 31 Jul 2023 17:40:07 -0700 Subject: [PATCH] Set bolt origin before calling spawn --- dlls/crossbow.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dlls/crossbow.cpp b/dlls/crossbow.cpp index 8e90a37ce..47c4eea57 100644 --- a/dlls/crossbow.cpp +++ b/dlls/crossbow.cpp @@ -43,15 +43,18 @@ class CCrossbowBolt : public CBaseEntity int m_iTrail; public: - static CCrossbowBolt* BoltCreate(); + static CCrossbowBolt* BoltCreate(Vector vecOrigin, Vector vecAngles, CBaseEntity* pOwner); }; LINK_ENTITY_TO_CLASS(crossbow_bolt, CCrossbowBolt); -CCrossbowBolt* CCrossbowBolt::BoltCreate() +CCrossbowBolt* CCrossbowBolt::BoltCreate(Vector vecOrigin, Vector vecAngles, CBaseEntity* pOwner) { // Create a new entity with CCrossbowBolt private data CCrossbowBolt* pBolt = GetClassPtr((CCrossbowBolt*)NULL); pBolt->pev->classname = MAKE_STRING("bolt"); + pBolt->pev->origin = vecOrigin; + pBolt->pev->angles = vecAngles; + pBolt->pev->owner = pOwner->edict(); pBolt->Spawn(); return pBolt; @@ -385,10 +388,7 @@ void CCrossbow::FireBolt() Vector vecDir = gpGlobals->v_forward; #ifndef CLIENT_DLL - CCrossbowBolt* pBolt = CCrossbowBolt::BoltCreate(); - pBolt->pev->origin = vecSrc; - pBolt->pev->angles = anglesAim; - pBolt->pev->owner = m_pPlayer->edict(); + CCrossbowBolt* pBolt = CCrossbowBolt::BoltCreate(vecSrc, anglesAim, m_pPlayer); if (m_pPlayer->pev->waterlevel == 3) {