@@ -1266,9 +1266,9 @@ BOOL EXT_FUNC CBasePlayer::__API_HOOK(TakeDamage)(entvars_t *pevInflictor, entva
12661266 return bTookDamage;
12671267}
12681268
1269- LINK_HOOK_CHAIN (CWeaponBox *, CreateWeaponBox, (CBasePlayerItem *pItem, CBasePlayer *pPlayerOwner, const char *modelName, const Vector &origin, const Vector &angles, const Vector &velocity, float lifeTime, bool packAmmo), pItem, pPlayerOwner, modelName, origin, angles, velocity, lifeTime, packAmmo)
1269+ LINK_HOOK_CHAIN (CWeaponBox *, CreateWeaponBox, (CBasePlayerItem *pItem, CBasePlayer *pPlayerOwner, const char *modelName, Vector &origin, Vector &angles, Vector &velocity, float lifeTime, bool packAmmo), pItem, pPlayerOwner, modelName, origin, angles, velocity, lifeTime, packAmmo)
12701270
1271- CWeaponBox *EXT_FUNC __API_HOOK(CreateWeaponBox)(CBasePlayerItem *pItem, CBasePlayer *pPlayerOwner, const char *modelName, const Vector &origin, const Vector &angles, const Vector &velocity, float lifeTime, bool packAmmo)
1271+ CWeaponBox *EXT_FUNC __API_HOOK(CreateWeaponBox)(CBasePlayerItem *pItem, CBasePlayer *pPlayerOwner, const char *modelName, Vector &origin, Vector &angles, Vector &velocity, float lifeTime, bool packAmmo)
12721272{
12731273 // create a box to pack the stuff into.
12741274 CWeaponBox *pWeaponBox = (CWeaponBox *)CBaseEntity::Create (" weaponbox" , origin, angles, ENT (pPlayerOwner->pev ));
@@ -1309,12 +1309,16 @@ void PackPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo)
13091309 const char *modelName = GetCSModelName (pItem->m_iId );
13101310 if (modelName)
13111311 {
1312+ Vector vecOrigin = pPlayer->pev ->origin ;
1313+ Vector vecAngles = pPlayer->pev ->angles ;
1314+ Vector vecVelocity = pPlayer->pev ->origin * 0 .75f ;
1315+
13121316 // create a box to pack the stuff into
13131317 CreateWeaponBox (pItem, pPlayer,
13141318 modelName,
1315- pPlayer-> pev -> origin ,
1316- pPlayer-> pev -> angles ,
1317- pPlayer-> pev -> velocity * 0 . 75f ,
1319+ vecOrigin ,
1320+ vecAngles ,
1321+ vecVelocity ,
13181322 CGameRules::GetItemKillDelay (), packAmmo
13191323 );
13201324 }
@@ -1353,12 +1357,15 @@ void PackPlayerNade(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo)
13531357 vecAngles.x = 0 .0f ;
13541358 vecAngles.y += 45 .0f ;
13551359
1360+ Vector vecOrigin = pPlayer->pev ->origin + dir;
1361+ Vector vecVelocity = pPlayer->pev ->velocity * 0 .75f ;
1362+
13561363 // create a box to pack the stuff into.
13571364 CreateWeaponBox (pItem, pPlayer,
13581365 modelName,
1359- pPlayer-> pev -> origin + dir ,
1366+ vecOrigin ,
13601367 vecAngles,
1361- pPlayer-> pev -> velocity * 0 . 75f ,
1368+ vecVelocity ,
13621369 CGameRules::GetItemKillDelay (),
13631370 packAmmo);
13641371 }
@@ -7852,7 +7859,19 @@ CBaseEntity *EXT_FUNC CBasePlayer::__API_HOOK(DropPlayerItem)(const char *pszIte
78527859 }
78537860
78547861 const char *modelname = GetCSModelName (pWeapon->m_iId );
7855- CWeaponBox *pWeaponBox = CreateWeaponBox (pWeapon, this , modelname, pev->origin + gpGlobals->v_forward * 10 , pev->angles , gpGlobals->v_forward * 300 + gpGlobals->v_forward * 100 , CGameRules::GetItemKillDelay (), false );
7862+
7863+ Vector vecOrigin = pev->origin + gpGlobals->v_forward * 10 ;
7864+ Vector vecAngles = pev->angles ;
7865+ Vector vecVelocity = gpGlobals->v_forward * 300 + gpGlobals->v_forward * 100 ;
7866+
7867+ CWeaponBox *pWeaponBox = CreateWeaponBox (pWeapon, this ,
7868+ modelname,
7869+ vecOrigin,
7870+ vecAngles,
7871+ vecVelocity,
7872+ CGameRules::GetItemKillDelay (),
7873+ false );
7874+
78567875 if (!pWeaponBox)
78577876 {
78587877 return nullptr ;
0 commit comments