「闘争 Mod」の版間の差分

提供:ck3wiki
ナビゲーションに移動 検索に移動
(闘争 mod の日本語化(kagi))
 
(相違点なし)

2025年10月6日 (月) 06:26時点における最新版


※2025/10/6、英wikiよりkagi翻訳を通しました。機械翻訳なので一部不自然な日本語があるかもしれません。ぜひ編集してくれるとありがたいです。

Crusader Kings III では、既存のストラグルを改造したり、自作のストラグルを作成したりできます。

セットアップ[編集 | ソースを編集]

文化と信仰[編集 | ソースを編集]

新しいストラグルを作る場合は、どの文化・信仰がストラグルに参加可能かを指定する必要があります。そうしないと全員が部外者になってしまいます。既存のストラグルを編集する場合は、参加させたい文化・信仰を追加してください。その際はスクリプト名を使う必要があるので、Culture moddingReligions modding を確認しましょう。以下は Iranian Intermezzo の短縮例です:

cultures = {
	# Iranian
	persian
	kurdish

	# Arabic
	bedouin
}
faiths = {
	# Islamic
	ashari
	zayidi

	# Zoroastrian
	mazdayasna
	khurmazta
}

地域[編集 | ソースを編集]

地域は Map modding で説明されているリージョンを指します。以下は Iranian Intermezzo の例です:

regions = {
	world_persian_empire
	ghw_region_kurdistan
}

条件[編集 | ソースを編集]

これは、信仰や文化がストラグルに参加するために必要な条件です。ここで何も指定しない場合、未関与の信仰/文化が関与になる手段はありません。

参加前提割合[編集 | ソースを編集]

特定の信仰または文化の「全」郡のうち、ストラグル地域内に含まれている必要がある割合です。文化要件と信仰要件を分ける方法はなく、この比率は両方に適用され、両方を許可します。また、文化または信仰がストラグル地域外に (1 - involvement_prerequisite_percentage) * (ストラグル地域の総郡数) 以上の郡を持つ場合、そのストラグル内で関与状態になることはできません。Iberian ストラグルの例:

# ある文化または信仰が持つ郡の総数のうち、80% がストラグル地域内にあると、その文化や信仰は関与になります。
involvement_prerequisite_percentage = 0.8

world_europe_west_iberia 地域の郡数が 87 であるため、宗教または文化はイベリア外に最大 21 郡までしか持てません。これを超えると、存在によってイベリアのストラグルに関与することは不可能になります。

現在、参加前提割合は、宗教や文化が自動的に関与状態になる(つまり決断/イベントを介さない)要件を定義する唯一の方法です。

テクスチャ/2D グラフィック[編集 | ソースを編集]

ストラグル・フェーズの背景[編集 | ソースを編集]

ストラグル背景(gfx/interface/illustrations/struggle_backgrounds)は、命名を「custom_struggle_phase_bg.dds」というパターンにすると自動で読み込まれます。

ストラグル・フェーズのアイコン[編集 | ソースを編集]

フェーズアイコンは gui/texticons.gui と、ストラグルのゲームコンセプトで設定する必要があります。

game_concepts の例:<syntaxhighlight lang="lua"> custom_struggle = { alias = { struggle_custom } parent = struggle requires_dlc_flag = the_fate_of_iberia }

struggle_phase_custom_1 = { texture = "gfx/interface/icons/struggle_types/struggle_custom_phase_1.dds" parent = custom_struggle requires_dlc_flag = the_fate_of_iberia } </syntaxhighlight>texticons.txt の例:<syntaxhighlight lang="lua"> texticon = { icon = struggle_custom_phase_1 iconsize = { texture = "gfx/interface/icons/struggle_types/struggle_custom_phase_1.dds" size = { 25 25 } offset = { 0 6 } fontsize = 16 } } </syntaxhighlight>

ストラグルの開始[編集 | ソースを編集]

カスタム・ストラグルを開始するには、on_start と on_join のセクションが必要です。以下は Iranian Intermezzo からの(短縮)例です:

on_start:

on_start = {
	# 時間経過型の触媒を開始。
	trigger_event = neutral_struggle.0001
	# AI にときどき陣営変更させる。
	trigger_event = {
		id = fp3_struggle.0001
		years = { 1 5 }
	}
}

on_join:

# Root = ストラグルに参加したキャラクター
 	on_join = {
		if = {
			limit = {[some condition]}
			add_trait = fp3_struggle_supporter
		}
		else_if = {
			limit = {
				NOR = {
					has_trait = fp3_struggle_supporter
					has_trait = fp3_struggle_detractor
				}
			}
			add_trait = fp3_struggle_detractor
		}

		if = {
			limit = { is_ai = no }
			trigger_event = fp3_struggle.0051
		}
 	}

ストラグルを起動する[編集 | ソースを編集]

実際にゲーム内にカスタム・ストラグルを出すには、どこかからトリガーする必要があります。方法の一つとして、下のような scripted effect を 'on_game_start' の on_action に追加します。<syntaxhighlight lang="python3"> enable_custom_struggle_effect = { start_struggle = { struggle_type = custom_struggle start_phase = struggle_custom_phase_1 } struggle:custom_struggle ?= { trigger_event = { on_action = custom_struggle_starting_events } # 多くのモッダーは開始イベントをここから起動します。struggle スクリプト内の on_start セクションがうまく動かないことがあるためです } } </syntaxhighlight>on_game_start の on_action の例(バニラのファイルは game/common/on_action/game_start.txt にあります):<syntaxhighlight lang="python3">

  1. Empty scope

on_game_start = { enable_custom_struggle_effect = yes [...] } </syntaxhighlight>

フェーズ[編集 | ソースを編集]

すべてのストラグルは開始フェーズが必要です。Iranian Intermezzo には 2 つのフェーズと、終結フェーズの concession があり、unrest フェーズから開始します。Iberian Struggle には 3 つのフェーズと、終結フェーズの compromise があり、opportunity フェーズから開始します。各フェーズには触媒(catalyst)が必要です。触媒は次のフェーズへ進める要素で、各フェーズごとに固有でも、全フェーズ共通でも構いません。触媒は Struggle フォルダ内の別フォルダで作成します。

フェーズ[編集 | ソースを編集]

フェーズは start_phase = [最初のフェーズ] から始まり、その後は

phase_list = {
    [フェーズ1] = {
        duration = { [各触媒のポイントに基づく継続時間] }
        
        future_phases = {
            [フェーズ1, 2, 3…] = {
                catalysts = {
                    [触媒1]
                    [触媒2]
                    [触媒3]...
                }
            }
        }
        
        [各種 effect] = {
            [effects]
        }
        
        [各種 effect] = {
            [effects]
        }
    }
    
    [フェーズ2] = {
        [フェーズ1の内容一式]
    }
}

以下はストラグル・フェーズで設定できる全パラメータの一覧です:

Attribute Type Description Example Default value
duration フェーズの継続時間を変更します。ポイント制または時間制のいずれかです。

ポイント制は points パラメータを使用します。

時間制は daysweeksmonths または years を使用します。

duration = { points = 500 }
points = POINT_BASED_PHASE_DEFAULT_DURATION # 1000
future_phases list<Phases> 親フェーズから遷移可能なフェーズを定義します。

各フェーズには独自の触媒を定義できます。

詳細は フェーズ内の触媒定義 を参照してください。

future_phases = {
	struggle_persia_phase_unrest = {
		catalysts = { ... }
	}
	struggle_persia_ending_phase_concession = {
		catalysts = { ... }
	}
}
Empty

少なくとも 1 つのフェーズが必要です。

war_effects

culture_effects

faith_effects

other_effects

localization key

or

list<list<Effects>>

現在のフェーズの戦争、文化、信仰、その他の効果を定義します。

詳細は フェーズ効果 のパラメータを参照。

war_effects = {
	name = WAR_EFFECTS_NAME
	common_parameters = {
		...
	}
	involved_character_modifier = {
		...
	}
}
Empty
ending_decisions list<Decisions> このフェーズ中に利用できる終結の決断を定義します。
ending_decisions = {
	struggle_persia_ending_foundation_decision
	struggle_persia_ending_assertion_decision
	struggle_persia_ending_rekindle_iran_decision
}
Empty

少なくとも 1 つのフェーズには終結の決断が必要です。


Iranian Intermezzo のフェーズの短縮例:

phase_list = {
	struggle_persia_phase_stabilisation = {
		duration = { points = 500 }

		future_phases = {
			struggle_persia_phase_unrest = {
				catalysts = {
					# Global
					catalyst_yearly_influential_house_is_antagonistic_major = major_struggle_catalyst_gain
					catalyst_yearly_influential_house_is_antagonistic_medium = medium_struggle_catalyst_gain
					catalyst_yearly_influential_house_is_antagonistic_minor = minor_struggle_catalyst_gain
					catalyst_yearly_influential_house_is_antagonistic_minimal = minimal_struggle_catalyst_gain
					
					[more catalysts]
				}
			}

			struggle_persia_ending_phase_concession = {
			# ここでは触媒値を低めにしています。こうした要素を全フェーズ通じて追跡しており、概ね 100~120 年かけて蓄積される想定だからです(他条件が同じなら)。
				catalysts = {
					catalyst_passing_of_time = catalyst_fp3_yearly_time_out_ending_drift

					# 支持者 / 反対者のダイナミクス
					catalyst_war_ends_in_white_peace_between_supporter_detractor = minor_struggle_catalyst_gain
					catalyst_became_best_friend_soulmate_supporter_detractor = minor_struggle_catalyst_gain
					catalyst_became_friend_lover_supporter_detractor = minimal_struggle_catalyst_gain
					catalyst_forming_alliance_between_supporter_detractor_rulers = catalyst_forming_alliance_between_supporter_detractor_rulers_value
					catalyst_abandon_hook_on_supporter_detractor = minor_struggle_catalyst_gain
					catalyst_grants_pardon_supporter_detractor = minimal_struggle_catalyst_gain
					catalyst_release_supporter_detractor = minor_struggle_catalyst_gain
					catalyst_ransom_supporter_detractor = minimal_struggle_catalyst_gain
					catalyst_grants_vassal_to_de_jure_liege_supporter_detractor = minor_struggle_catalyst_gain
					catalyst_gift_supporter_detractor_ruler = minimal_struggle_catalyst_gain

					[more catalysts]
				}
			}
		}

		war_effects = {
			name = WAR_EFFECTS_NAME
			# 対外戦争のコストを下げ、得られる利益を上げる
			common_parameters = {
				apply_truce_when_sending_ward = yes
				invasion_conquest_war_cannot_be_declared = yes
			}

			involved_character_modifier = {
				# 平和維持や次の戦争に備えるため、皆が兵を雇う。
				men_at_arms_recruitment_cost = -0.5
				men_at_arms_maintenance = -0.25
				# 一部キャラクターを強化。
				glory_hound_ai_energy = very_high_positive_ai_value
				glory_hound_ai_boldness = very_high_positive_ai_value
			}

			interloper_character_modifier = {
				# 部外者も少し恩恵を受ける。
				men_at_arms_recruitment_cost = -0.25
			}
		}

		faith_effects = {
			name = FAITH_EFFECTS_NAME
				
			involved_parameters = {
				piety_from_new_alliance = yes
				completing_building_in_temple_gives_piety = yes
				same_faith_friend_piety_gain = yes
			}

			involved_character_modifier = {
				# スンナ派カリフ制が統合を進める — 他も結束を固める。
				same_faith_opinion = 20
				# その一方で内向きにこもって議論が増える 
				minority_different_faith_opinion = -20
			}
		}

		culture_effects = {
			name = CULTURE_EFFECTS_NAME

			involved_parameters = {
				learning_languages_gives_prestige = yes
				granting_title_to_local_noble_gives_prestige = yes
				gain_acceptance_when_developing_other_culture_county = yes
				release_prisoner_diff_culture_gives_prestige = yes
			}

			involved_character_modifier = {
				# 文化圏内の連帯。
				same_culture_opinion = 10
				opinion_of_same_culture = 10
				# 権威者が体制の立て直しを図る。
				cultural_head_acceptance_gain_mult = 0.5
			}
		}

		other_effects = {
			name = OTHER_EFFECTS_NAME
			involved_parameters = {
				struggle_unlocks_befriend_schemes_for_everyone = yes
				unlocks_epic_commission_for_independent_rulers = yes
				granting_independence_to_non_dejure_gives_renown = yes
				unlocks_claim_throne_for_caliph_vassals = yes
				less_dissolution_more_claimants = yes

				# 注意: このパラメータはツールチップ用で、実際の効果はありません。
				## 影響を受ける称号に対しては、"struggle_block_dissolution_faction" 変数を手動で設定/解除してください。
				### こうするのはパフォーマンスを少し節約するためです。
				caliph_cant_be_dissolutioned = yes
			}
			involved_character_modifier = {
				castle_holding_build_gold_cost = -0.3
			}
			interloper_parameters = {
				less_dissolution_more_claimants = yes
			}
		}

		ending_decisions = {
			struggle_persia_ending_foundation_decision # Tempering the Caliphate に改名
			struggle_persia_ending_assertion_decision # Strenghten the Caliphate に改名
			struggle_persia_ending_rekindle_iran_decision
		}
	}
}

フェーズ効果[編集 | ソースを編集]

フェーズ効果は war_effectsculture_effectsfaith_effectsother_effects の 4 カテゴリがあります。各カテゴリにはパラメータ、キャラクター修正、カントリー修正を定義できます。

以下はストラグル・フェーズで設定可能なフェーズ効果の一覧です:

Attribute Type Description Example
name localization key 効果グループの名称。キーはツールチップで使用されます。
name = WAR_EFFECTS_NAME
common_parameters list ストラグル内の全員に一般的に影響するパラメータ。(効果説明のグルーピング用)
common_parameters = {
	apply_truce_when_sending_ward = yes
	invasion_conquest_war_cannot_be_declared = yes
}
involved_parameters list ストラグル関与者に影響するパラメータ。(効果説明のグルーピング用)
interloper_parameters list ストラグル部外者に影響するパラメータ。(効果説明のグルーピング用)
uninvolved_parameters list ストラグル未関与者に影響するパラメータ。(効果説明のグルーピング用)
involved_character_modifier list 関与キャラクターに適用されるキャラクター修正
involved_character_modifier = {
	men_at_arms_recruitment_cost = -0.5
	men_at_arms_maintenance = -0.25
	glory_hound_ai_energy = very_high_positive_ai_value
	glory_hound_ai_boldness = very_high_positive_ai_value
}
interloper_character_modifier list 部外者キャラクターに適用されるキャラクター修正
involved_doctrine_character_modifier list 指定の教義を持つ関与キャラクターに適用
interloper_doctrine_character_modifier list 指定の教義を持つ部外者キャラクターに適用
all_county_modifier list ストラグル内のすべての関与郡に適用される郡修正
interloper_county_modifier = {
	levy_size = 0.5
	garrison_size = -0.25
}
involved_county_modifier list 関与キャラクターが所有する全関与郡に適用される郡修正
interloper_county_modifier list 部外者キャラクターが所有する全関与郡に適用される郡修正
uninvolved_county_modifier list 未関与キャラクターが所有する全関与郡に適用される郡修正

触媒(Catalysts)[編集 | ソースを編集]

触媒の作成[編集 | ソースを編集]

触媒は common/struggle/catalysts に定義します。

各フェーズごとに固有の触媒を与える場合は、かなり手間がかかるので注意してください。

ローカライズ[編集 | ソースを編集]

バニラのファイルは localization/<language>/struggles/struggle_catalysts_l_<language>.yml にあります。

Localization key Description Example
CATALYST 触媒の名称 catalyst_passing_of_time:1 "Yearly Drift [struggle_catalyst_catalyst|E]"
CATALYST_desc 触媒の説明 catalyst_passing_of_time_desc:2 "Yearly Drift: natural flow towards this [struggle_phase|E]"

フェーズ内での触媒定義[編集 | ソースを編集]

触媒をストラグルで使用するには、フェーズfuture_phases パラメータ内に次のように記述します:

following_phase = {
	catalysts = {
		CATALYST_KEY = NUMBER
	}
}

バニラの触媒は、common/script_values/00_struggles_values.txt に定義された事前設定の値を使用します。バニラの値は以下の通りです:

Key Value
minimal_struggle_catalyst_gain 1
minor_struggle_catalyst_gain 3
medium_struggle_catalyst_gain 5
major_struggle_catalyst_gain 10
massive_struggle_catalyst_gain 20
monumental_struggle_catalyst_gain 50
minimal_struggle_catalyst_over_time_gain 1
minor_struggle_catalyst_over_time_gain 2
medium_struggle_catalyst_over_time_gain 3
major_struggle_catalyst_over_time_gain 5
massive_struggle_catalyst_over_time_gain 10
monumental_struggle_catalyst_over_time_gain 20

例:

struggle_iberia_phase_hostility = {
	catalysts = {
		catalyst_passing_of_time = minimal_struggle_catalyst_over_time_gain
		catalyst_gain_claim_on_title_fp2 = minor_struggle_catalyst_gain
	}
}

その他の改造チュートリアル[編集 | ソースを編集]

ドキュメンテーション スクリプトスコープ効果トリガー変数補正リスト
スクリプト AIブックマークキャラクターコマンド評議会文化ディシジョン王朝イベント政府歴史領地ライフスタイル連隊宗教スクリプト値ストーリーサイクル闘争称号特性
インターフェース インターフェースデータ型ローカライズカスタムローカライズフレーバー化
マップ マップ地形
グラフィック 3Dモデルエクスポーター紋章グラフィックアセットフォントパーティクルシェーダーユニットモデル
オーディオ 音楽サウンド
その他 コンソールコマンドチェックサムModの構造Mod制作ツールトラブルシューティング