CGrappleHook *CGrappleHook::HookCreate(const Vector &vecOrigin, const QAngle &angAngles, CBaseEntity *pentOwner) { // Create a new entity with CGrappleHook private data CGrappleHook *pHook = (CGrappleHook *)CreateEntityByName("grapple_hook"); UTIL_SetOrigin(pHook, vecOrigin); pHook->SetAbsAngles(angAngles); pHook->Spawn(); CWeaponGrapple *pOwner = (CWeaponGrapple *)pentOwner; pHook->m_hOwner = pOwner; pHook->SetOwnerEntity(pOwner->GetOwner()); pHook->m_hPlayer = (CBasePlayer *)pOwner->GetOwner(); return pHook; }