void WeaponItem::Respawn( ) { PickupItem::Respawn(); WEAPON const *pWeapon = g_pWeaponMgr->GetWeapon( m_nWeaponId ); if( !pWeapon ) return; // Change the skins and renderstyles back to the normal powerup files... ObjectCreateStruct ocs; pWeapon->blrHHSkins.CopyList( 0, ocs.m_SkinNames[0], MAX_CS_FILENAME_LEN + 1 ); pWeapon->blrHHRenderStyles.CopyList( 0, ocs.m_RenderStyleNames[0], MAX_CS_FILENAME_LEN + 1 ); if( pWeapon->blrHHRenderStyles.GetNumItems() < 1 ) LTStrCpy( ocs.m_RenderStyleNames[0], s_szDefaultRS, ARRAY_LEN( s_szDefaultRS )); // See if we are using a different model... CheckForOverrideModel( &ocs ); g_pCommonLT->SetObjectFilenames( m_hObject, &ocs ); // Stop playing RespawnWaitFX and play PowerupFX... SetClientFX( pWeapon->szPowerupFX ); }
bool WeaponItem::PostPropRead(ObjectCreateStruct *pStruct) { WEAPON const *pWeapon = g_pWeaponMgr->GetWeapon(m_nWeaponId); if( !pWeapon ) return false; if( !pStruct ) return false; SAFE_STRCPY(pStruct->m_Filename, pWeapon->szHHModel); pWeapon->blrHHSkins.CopyList(0, pStruct->m_SkinNames[0], MAX_CS_FILENAME_LEN+1); pWeapon->blrHHRenderStyles.CopyList(0, pStruct->m_RenderStyleNames[0], MAX_CS_FILENAME_LEN+1); // See if our default model was changed... CheckForOverrideModel(pStruct); // Set up the appropriate pick up and respawn sounds... FREE_HSTRING(m_hstrSoundFile); m_hstrSoundFile = g_pLTServer->CreateString( WEAPONITEM_PICKUP_SOUND ); FREE_HSTRING( m_hstrRespawnSoundFile ); m_hstrRespawnSoundFile = g_pLTServer->CreateString( WEAPONITEM_RESPAWN_SOUND ); m_vScale = pWeapon->vHHScale; m_sClientFX = pWeapon->szPowerupFX; m_bBounce = LTFALSE; m_bRotate = LTFALSE; return true; }
bool ModItem::PostPropRead(ObjectCreateStruct *pStruct) { MOD const *pMod = g_pWeaponMgr->GetMod(m_nModId); if( !pMod ) return false; if (pStruct) { SAFE_STRCPY(pStruct->m_Filename, pMod->szPowerupModel); pMod->blrPowerupSkins.CopyList(0, pStruct->m_SkinNames[0], MAX_CS_FILENAME_LEN+1); pMod->blrPowerupRenderStyles.CopyList(0, pStruct->m_RenderStyleNames[0], MAX_CS_FILENAME_LEN+1); // See if our default model was changed... CheckForOverrideModel(pStruct); // Set up the appropriate sounds... if (pMod->szPickUpSound[0]) { FREE_HSTRING(m_hstrSoundFile); m_hstrSoundFile = g_pLTServer->CreateString(pMod->szPickUpSound); } if (pMod->szRespawnSound[0]) { FREE_HSTRING(m_hstrSoundFile); m_hstrSoundFile = g_pLTServer->CreateString(pMod->szRespawnSound); } m_vScale.Init(pMod->fPowerupScale, pMod->fPowerupScale, pMod->fPowerupScale); m_sClientFX = pMod->szPowerupFX; m_bRotate = LTFALSE; } return true; }
bool GearItem::PostPropRead(ObjectCreateStruct *pStruct) { GEAR const *pGear = g_pWeaponMgr->GetGear(m_nGearId); if( !pGear || pGear->bServerRestricted ) return false; if (pStruct) { SAFE_STRCPY(pStruct->m_Filename, pGear->szModel); pGear->blrSkins.CopyList(0, pStruct->m_SkinNames[0], MAX_CS_FILENAME_LEN+1); pGear->blrRenderStyles.CopyList(0, pStruct->m_RenderStyleNames[0], MAX_CS_FILENAME_LEN+1); // See if our default model was changed... CheckForOverrideModel(pStruct); // Set up the appropriate sounds... if (pGear->szPickUpSound[0]) { FREE_HSTRING(m_hstrSoundFile); m_hstrSoundFile = g_pLTServer->CreateString(pGear->szPickUpSound); } if (pGear->szRespawnSound[0]) { FREE_HSTRING(m_hstrRespawnSoundFile); m_hstrRespawnSoundFile = g_pLTServer->CreateString(pGear->szRespawnSound); } m_sClientFX = pGear->szPowerupFX; m_bRotate = LTFALSE; } return true; }