关于钢4领导人机制的研究,如何在游戏中动态修改领导人
波波_ovo
编辑于 2025年11月24日 20:49

关于领导人:

首先,领导人属于character(这里翻译为角色,可以理解为所有人物的集合)的一种类型/职务,角色的类型有顾问、领导人、将领、科学家等

角色在<游戏目录>\common\characters中定义,在<游戏目录>\history\countries中初始化。这里主要讨论动态修改,就不展开了

角色只能有一个国籍,只能存在于一个国家,如果角色的国籍改变,原国家会失去角色。这里有一个比较抽象的地方,由于这个机制,P社写了两个托洛茨基(SOV_lev_trotsky和MEX_leon_trotsky)

拓展一下:而特工是不属于角色的,可以有多个国籍。我们可以给特工添加国籍,达成“全料特工”的效果,右键选择一个国家(当然你可以选择自己),为其所有特工添加所有国家的国籍,控制台执行:

eval_effect every_country={ROOT={every_operative={if={limit={NOT={has_nationality=PREV.PREV}}add_nationality=PREV.PREV}}}}

如何在游戏中通过控制台动态修改领导人:

理论上已定义的任何角色都可以成为领导人

领导人特质在<游戏目录>\common\country_leader中定义

同一意识形态可能有多个领导人角色,可使用promote_character提升为政党领导人

通用操作:

如何查看角色ID:

localisation\simp_chinese\*_characters_l_simp_chinese.yml里搜索中文名

如何查看特质ID:

localisation\simp_chinese\traits_l_simp_chinese.yml里搜索中文名

右键选择国家,使其获得指定角色(修改角色国籍):

并非复制人,相当于将指定角色"请"到该国家,原国家会失去角色

eval_effect every_possible_country={limit={

has_character=角色ID

}

random_character={limit={

is_character=角色ID

}

set_nationality=ROOT

}

}

右键选择国家,提升角色(将指定领导人类型的角色提升为政党领导人):

eval_effect promote_character=角色ID

或者(如果角色是多个子意识形态的领导人,则必须指定子意识形态)

eval_effect promote_character={

character=角色ID

ideology=子意识形态ID

}

右键选择国家,使指定角色退休(同时解除职务)(注意:退休后角色会从游戏中消失,不能再使用,需要先使用下面的recruit_character重新招募),可以用来一键下线角色:

eval_effect retire_character=角色ID

右键选择国家,重新招募角色(只对退休的角色有效。招募到选择的国家。角色的职务会恢复,不过由于角色职务的allowed属性,其他国家通常不能直接使用):

​对于已经从游戏中消失/退休的角色,这个指令很有用,可以用来"复活"他们,让他们可以重新使用

eval_effect recruit_character=角色ID

右键选择国家,添加领导人特质(领导人特质在common/country_leader中定义)(为当前领导人添加):

eval_effect add_country_leader_trait=领导人特质ID

修改领导人:

需要注意的是,很多在游戏中可以上台的领导人/或者认为应该是领导人的角色,在characters初始定义中并不是领导人角色,而是在游戏过程中动态添加为领导人角色的(例如德国的威廉、维多利亚等),这属于下面的第二种情况

第一种情况(角色在选择的国家,角色已经是领导人类型):

右键选择国家,直接设置领导人(需要角色已在选择的国家中定义)(需要角色已经是领导人类型,否则需要先添加领导人(第二种情况))

1.提升角色(将指定领导人类型的角色提升为政党领导人)

eval_effect promote_character=角色ID

2.如果角色对应的主意识形态政党不为执政党,还需要设置为执政党,方可上台

以意大利维托里奥·埃马努埃莱三世为例(已在意大利定义的中立主义领导人角色)

1.提升为政党领导人(因为可能有多个中立主义领导人)

eval_effect promote_character=ITA_vittorio_emanuele_iii

2.如果当前执政党不为中立主义,设置中立主义政党为执政党,并设置100%支持率

eval_effect ROOT={

set_politics={

ruling_party=neutrality

}

set_political_party={

ideology=neutrality

popularity=100

}

}

第二种情况(角色在选择的国家,角色不是领导人类型):

右键选择国家,添加领导人(需要角色已在选择的国家中定义)(可将选择的国家中已定义的任何角色添加为领导人类型)

参数:character为角色ID,promote_leader=yes提升为政党领导人,country_leader为领导人定义,其中ideology为子意识形态ID(注意:不是communism等主意识形态,在<游戏目录>\common\ideologies中定义,MOD可能有自定义的意识形态),expire为去世时间,traits中可以添加领导人特质

默认主意识形态 communism 包含子意识形态 marxism leninism stalinism anti_revisionism anarchist_communism

默认主意识形态 fascism 包含子意识形态 nazism gen_nazism fascism_ideology falangism rexism

默认主意识形态 neutrality 包含子意识形态 despotism oligarchism anarchism moderatism centrism

默认主意识形态 democratic 包含子意识形态 conservatism liberalism socialism populism

eval_effect add_country_leader_role={

character=角色ID

promote_leader=yes

country_leader={

ideology=子意识形态ID

expire="1965.1.1.1"

traits={

#领导人特质ID,可不填,一行一个

}

}

}

添加为领导人角色后,如何上台:

如果执政党不变,可使用eval_effect promote_character=角色ID

如果角色对应的主意识形态政党不为执政党,还需要先设置执政党

以德国曼施坦因为例,使其成为中立主义领导人,并添加钢铁之心特质(已在德国定义的非领导人类型角色):

1.添加为领导人。选择德国,控制台执行:

eval_effect add_country_leader_role={

character=GER_erich_von_manstein#维多利亚为GER_victoria

promote_leader=yes

country_leader={

ideology=despotism#子意识形态:专制主义

expire="1965.1.1.1"

traits={

stalin_heart_of_steel#钢铁之心

}

}

}

2.如果执政党不变,可使用eval_effect promote_character=GER_erich_von_manstein。如果当前执政党不为中立主义,先设置中立主义政党为执政党,并设置100%支持率(同上)

第三种情况(角色在其他国家):

如果要添加在其他国家定义的角色为领导人,则需要先获得角色(设置国籍)(注意:获得角色后,原国家会失去该角色)

例如:56中作为奥地利,获得列夫·托洛茨基角色,并设置为中立主义领导人

为了防止被刺杀,看一下刺杀事件的代码,可以看到,苏联的托洛茨基会被退休,墨西哥的托洛茨基如果在墨西哥当了communism领导人,也会被退休。我们用墨西哥的托洛茨基,而我们不是墨西哥,也不是communism,是不会被刺杀的

1.获得角色。控制台执行:

eval_effect every_possible_country={limit={

has_character=MEX_leon_trotsky

}

random_character={limit={

is_character=MEX_leon_trotsky

}

set_nationality=ROOT

}

}

2.添加领导人。控制台执行:

eval_effect add_country_leader_role={

character=MEX_leon_trotsky

promote_leader=yes

country_leader={

ideology=despotism

expire="1965.1.1.1"

traits={

red_army_organizer#红军组建者

}

}

}

3.同上,设置执政党,eval_effect promote_character=MEX_leon_trotsky提升角色

第四种情况(角色已经退休/消失):

如果角色已经退休(retire),则add_country_leader_role和promote_character指令无效,需要先重新招募角色,或者创建新的领导人角色

例如:复活被刺杀的托洛茨基,并设置为法国领导人

1.重新招募角色(recruit方法):

eval_effect recruit_character=SOV_lev_trotsky

2.添加领导人,设置执政党,提升角色(同上)

例如:KR中美国朗线,选错事件/朗去世后,如何让朗议员打赢复活赛

第一种方法:

1.重新招募角色(推荐,可恢复原角色的职务,满足原角色的触发条件)

eval_effect recruit_character=APG_huey_long

2.提升角色(同上)

第二种方法:

创建新的领导人(使用create_country_leader指令创建新的领导人,其中picture在interface/*.gfx中定义)(注意:此指令已经弃用,可能导致出现错误。创建的角色为复制人,不是原角色,不能满足原角色的触发条件)

eval_effect create_country_leader={

name=APG_huey_long

desc=APG_huey_long_leader_desc

picture=GFX_portrait_APG_huey_long_civilian_large

expire="1965.1.1"

ideology=authoritarian_democrat_subtype#为KR自定义的子意识形态

traits={

APG_the_kingfish#王鱼

}

}

总结:

依次使用下面的五条命令,可以应对所有情况:

1.重新招募角色

eval_effect recruit_character=角色ID

2.获得角色

eval_effect every_possible_country={limit={

has_character=角色ID

}

random_character={limit={

is_character=角色ID

}

set_nationality=ROOT

}

}

3.添加为领导人类型角色

注意:这里为子意识形态ID,可在主意识形态下选择一个

eval_effect add_country_leader_role={

character=角色ID

promote_leader=yes

country_leader={

ideology=子意识形态ID

expire="1965.1.1.1"

traits={

#领导人特质ID,可不填,一行一个

}

}

}

4.设置执政党和支持率

注意:这里为子意识形态所属的主意识形态ID

eval_effect ROOT={

set_politics={

ruling_party=主意识形态ID

}

set_political_party={

ideology=主意识形态ID

popularity=100

}

}

5.提升角色为政党领导人(党魁)

eval_effect promote_character=角色ID

补充:

原版的一些领导人特质ID:

万王之王:king_of_kings 众民族的慈父:stalin_father_of_nations 奥斯曼苏丹娜:sultana

拉斯塔法里之神:god_of_the_rastafari 埃塞俄比亚皇帝:emperor_of_ethiopia

文化霸权理论家:cultural_hegemony_theorist 讨喜的技术官僚:appeasing_technocrat

党纪严明:strong_party_discipline 亚洲统一者和解放者:CHI_asian_unifier_and_liberator