ICCItem *fnStrCapitalize (CEvalContext *pCtx, ICCItem *pArguments, DWORD dwData) // fnStrCapitalize // // Capitalizes the string // // (strCapitalize string) -> string { CCodeChain *pCC = pCtx->pCC; ICCItem *pArgs; // Evaluate the arguments and validate them pArgs = pCC->EvaluateArgs(pCtx, pArguments, CONSTLIT("s")); if (pArgs->IsError()) return pArgs; CString sString = pArgs->GetElement(0)->GetStringValue(); pArgs->Discard(pCC); // Done sString.Capitalize(CString::capFirstLetter); return pCC->CreateString(sString); }
void CGameSession::OnPlayerDestroyed (SDestroyCtx &Ctx, const CString &sEpitaph) // OnPlayerDestroyed // // Player was destroyed { DEBUG_TRY // Clean up g_pTrans->HideCommsTargetMenu(); g_pTrans->m_CurrentPicker = CTranscendenceWnd::pickNone; g_pTrans->m_CurrentMenu = CTranscendenceWnd::menuNone; g_pTrans->m_bAutopilot = false; m_bShowingSystemMap = false; if (g_pTrans->m_State == CTranscendenceWnd::gsDocked) m_Model.GetPlayer()->Undock(); // Update display CString sMsg = sEpitaph; if (strEquals(strWord(sMsg, 0), CONSTLIT("was"))) sMsg = strSubString(sMsg, 4, -1); sMsg.Capitalize(CString::capFirstLetter); g_pTrans->DisplayMessage(sMsg); m_HUD.Invalidate(hudArmor); // If we are insured, then set our state so that we come back to life if (Ctx.bResurrectPending) { // Prepare resurrect g_pTrans->m_State = CTranscendenceWnd::gsDestroyed; g_pTrans->m_iCountdown = TICKS_AFTER_DESTROYED; } // Otherwise, proceed with destruction else { // Done with ship screens g_pTrans->CleanUpPlayerShip(); // Player destroyed g_pTrans->m_State = CTranscendenceWnd::gsDestroyed; g_pTrans->m_iCountdown = TICKS_AFTER_DESTROYED; } DEBUG_CATCH }
void CTranscendenceWnd::PlayerDestroyed (const CString &sText, bool bResurrectionPending) // PlayerDestroyed // // This method gets called when the player is destroyed { // Clean up HideCommsTargetMenu(); m_CurrentPicker = pickNone; m_CurrentMenu = menuNone; m_bAutopilot = false; m_bShowingMap = false; if (m_State == gsDocked) GetPlayer()->Undock(); // Update display CString sMsg = sText; if (strEquals(strWord(sMsg, 0), CONSTLIT("was"))) sMsg = strSubString(sMsg, 4, -1); sMsg.Capitalize(CString::capFirstLetter); DisplayMessage(sMsg); UpdateArmorDisplay(); // If we are insured, then set our state so that we come back to life if (bResurrectionPending) { // Prepare resurrect m_State = gsDestroyed; m_iCountdown = TICKS_AFTER_DESTROYED; } // Otherwise, proceed with destruction else { // Done with ship screens CleanUpPlayerShip(); // Player destroyed m_State = gsDestroyed; m_iCountdown = TICKS_AFTER_DESTROYED; } }