bool C_ASW_Button_Area::GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser) { action.UseIconRed = 255; action.UseIconGreen = 255; action.UseIconBlue = 255; action.bShowUseKey = true; action.iInventorySlot = -1; if (!HasPower()) { action.iUseIconTexture = GetNoPowerIconTextureID(); TryLocalize( GetNoPowerText(), action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = GetHackProgress(); action.bShowUseKey = false; return true; } if (IsLocked()) { CASW_Marine_Profile *pProfile = pUser->GetMarineProfile(); if ( m_bAnyoneCanHack || pProfile->CanHack() ) { action.iUseIconTexture = GetHackIconTextureID(); TryLocalize( GetHackIconText(pUser), action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = GetHackProgress(); } else { action.iUseIconTexture = GetLockedIconTextureID(); TryLocalize( GetLockedIconText(), action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = GetHackProgress(); } } else { action.iUseIconTexture = GetUseIconTextureID(); TryLocalize( GetUseIconText(), action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = -1; } return true; }
bool C_ASW_Ammo_Drop::GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser) { action.iUseIconTexture = GetAmmoDropIconTextureID(); action.UseTarget = this; if ( !AllowedToPickup( pUser ) ) { if ( !m_bEnoughAmmo ) { TryLocalize( "#asw_not_enough_ammo_drop", action.wszText, sizeof( action.wszText ) ); } else { TryLocalize( "#asw_full_ammo_drop", action.wszText, sizeof( action.wszText ) ); } action.fProgress = -1; action.UseIconRed = 255; action.UseIconGreen = 0; action.UseIconBlue = 0; action.TextRed = 164; action.TextGreen = 164; action.TextBlue = 164; action.bTextGlow = false; action.bShowUseKey = false; action.iInventorySlot = -1; } else { TryLocalize( "#asw_use_ammo_drop", action.wszText, sizeof( action.wszText ) ); action.fProgress = -1; action.UseIconRed = 255; action.UseIconGreen = 255; action.UseIconBlue = 255; action.bShowUseKey = true; action.iInventorySlot = -1; } return true; }
bool C_ASW_TeslaTrap::GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser) { action.iUseIconTexture = GetTeslaIconTextureID(); TryLocalize( "#asw_tesla_ammo", action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = -1; action.UseIconRed = 66; action.UseIconGreen = 142; action.UseIconBlue = 192; action.bShowUseKey = false; action.iInventorySlot = -1; return true; }
bool C_ASW_T75::GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser) { if ( IsArmed() ) { action.iUseIconTexture = GetT75IconTextureID(); TryLocalize( "#asw_t75_armed", action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = -1; } else { action.iUseIconTexture = GetT75IconTextureID(); TryLocalize( "#asw_t75_arm", action.wszText, sizeof( action.wszText ) ); action.UseTarget = this; action.fProgress = GetArmProgress(); } action.UseIconRed = 255; action.UseIconGreen = 255; action.UseIconBlue = 255; action.bShowUseKey = true; action.iInventorySlot = -1; return true; }