ゲームバランスが変わるような変更は太字。
ElrathのCivilization5攻略ガイド_BNW秋パッチ情報(外部リンク)
(公式リリースノートの抄訳)
今回はバグ修正のみ
(公式リリースノートの抄訳)
(公式リリースノートの抄訳)
ただし日本語版固有の修正については当wikiに投稿された内容などに基づいています。
(訳未完)
MODにおける自動併合バグはMODごとに修正が必要なため、このバグ関連のみ記載する。
[MODDING NOTE]
MOD制作者はポップアップの表示後、即座に "SerialEventGameMessagePopupProcessed" イベントをコールする必要があります。
このイベントの第1パラメータは閉じようとするポップアップのtypeにする必要があります。こうすることでゲームがキューにある他のポップアップを表示することができるようになります。これは開かれたポップアップのtype(例:ButtonPopupTypes.BUTTONPOPUP_GOODY_HUT_REWARD)を明示的に渡すか、もしくはポップアップが SerialEventGameMessagePopup メッセージをハンドルし、それによってポップアップがハンドルされることを決定した時に実行され、ポップアップのtypeはグローバルに保存されます。2type以上のポップアップをハンドルするコードでは後者を用いる必要がありますが、1typeのポップアップしかハンドルしない場合でも後者が推奨されます。この方法を用いることであらゆるケースでコードが正常に動作します。以下の例はポップアップのtypeがどのように保存され、SerialEventGameMessagePopupProcessed が送信された時に再利用されるかをReligionOverview.luaを用いて説明しています。関連する変更箇所は1・11・34・35・36行目です。
01 local g_PopupInfo = nil; 02 03 function OnPopupMessage(popupInfo) 04 05 local popupType = popupInfo.Type; 06 if popupType ~= ButtonPopupTypes.BUTTONPOPUP_RELIGION_OVERVIEW then 07 return; 08 end 09 10 if(not Game.IsOption(GameOptionTypes.GAMEOPTION_NO_RELIGION)) then 11 g_PopupInfo = popupInfo; 12 13 if( g_PopupInfo.Data1 == 1 ) then 14 if( ContextPtr:IsHidden() == false ) then 15 OnClose(); 16 else 17 UIManager:QueuePopup( ContextPtr, PopupPriority.eUtmost ); 18 end 19 else 20 UIManager:QueuePopup( ContextPtr, PopupPriority.SocialPolicy ); 21 end 22 end 23 end 24 Events.SerialEventGameMessagePopup.Add( OnPopupMessage ); 25 26 27 function ShowHideHandler( bIsHide, bInitState ) 28 if( not bInitState ) then 29 if( not bIsHide ) then 30 UI.incTurnTimerSemaphore(); 31 Events.SerialEventGameMessagePopupShown(g_PopupInfo); 32 TabSelect(g_CurrentTab); 33 else 34 if(g_PopupInfo ~= nil) then 35 Events.SerialEventGameMessagePopupProcessed.CallImmediate(g_PopupInfo.Type, 0); 36 end 37 UI.decTurnTimerSemaphore(); 38 end 39 end 40 end 41 ContextPtr:SetShowHideHandler( ShowHideHandler );
(公式リリースノートの抄訳)