定义域是实在的实例,如果想知道如何筛选准确的定义域,请查看事件目标,如果想知道定义域的类型,查看#Types of scope
深入介绍
正如其他p社游戏一样,Vic3也有ROOT,PREV,THIS,FROM这些定义域。
For specific scope, it starts with certain letter, such as var,p,s,c,law_type. Using them with :
followed by ceratain name can call the scope, e.g, s:STATE_MINNESOTA
call a state_region scope names STATE_MINNESOTA.
Scope can be linked by Event targets, they are series of function to linked to output scopes from input scopes.
s
is an Event targets, also it requires data, therefore it must followed by :
than the ceratain name to call the scope. Due to s
is global link Event targets, It can be used independentlly.
region_state
is not global link so it sould follow by .
after a state_region scope.
By .
can quickly link scopes. The most common example is s:STATE_MINNESOTA.region_state:USA
, firstly is state_region scope than by .
link to state. Further, add one more .
is possible, just like s:STATE_MINNESOTA.region_state:USA.var:usa_state_flag_block
However, some of scope can not be quickly switch, due to the parent scope is uncertain. diplomatic_play usually is uncertain scope, and then Event targets should be considered
random_diplomatic_play = { # random,every are to used in really effect, any is to used in trigger # random,every and any is all uncertain, can not use . to link next scope limit = { is_war = yes } initiator = { change_infamy = 5 } # initiator is event target of diplomatic_play, it outputs a country }
Here are detailed example of scope happends:
example_event.1 = { type = country_event # It means that, root is the country which happend the event, instead of state. random_diplomatic_play = { limit = { is_war = yes any_scope_play_involved = { THIS = ROOT # THIS is the current scope, in there the THIS is any_scope_play_involved } NOR = { # not or initiator = ROOT # initiator and target is the event target of diplomatic_play target = ROOT } } initiator = { # this scope can only used in diplomatic scope save_scope_as = initiator_scope # therefore, it should be save to be handled in other scopes } target = { save_scope_as = target_scope } if = { limit = { ROOT = { is_diplomatic_play_enemy_of = scope:initiator_scope } } # to judge on ROOT scope if = { limit = { scope:initiator_scope = { infamy >= infamy_threshold:infamous } } # now we handdle saved scope in other scope ROOT = { change_infamy = 5 } } ROOT = { set_owes_obligation_to = { country = scope:target_scope setting = yes } } remove_target_backers = { ROOT } # remove_target_backers can only effects on diplomatic_play scope. # however, this effect just can display, it do not really make ROOT exit the war, it is frustrating. } } }
地区定义域
First of all, let me clear up the difference between a and a mere . 首先,有必要甄别"state region"和"state"的区别
用 西班牙为例, 其拥有一个名为 "STATE_GRANADA"的"state region". "STATE_GRANADA"被 西班牙和 大不列颠同时拥有, "STATE_GRANADA" 也因此裂成了两个 "split state". 大不列颠有一个 "British STATE_GRANADA" 而 西班牙也有一个 "Spianish STATE_GRANADA". 整一块"state region" STATE_GRANADA 就变成了两个叫做 "British STATE_GRANADA" 和 "Spianish STATE_GRANADA"的”states“. “state”的名称由占有地块相对数量决定,比如说 西班牙有 STATE_GRANADA的绝大多数地块,因此"Spianish STATE_GRANADA"直接就叫做"STATE_GRANADA"
这是模组制作中一个很重要的概念,一言以蔽之:
- 地理性质的,一整块的称为"state region"
- 国家对"state region"占有的部分称为 "state",无论这个国家拥有全部还是部分。
举例子来说:
s:STATE_AMAZONAS = { # 这是地理意义上的state region add_homeland = brazilian } s:STATE_AMAZONAS.region_state:BRZ = { # 这是这是巴西占有的state set_state_type = incorporated }
A list of all the vanilla state regions is available here, and is useful to easily find the tag you need.
To learn how to change state traits you may wanna check out the workshop mod "More State Modifiers".
Building scope
Although technically there is a building scope, in practice, game logic that involves buildings is done indirectly through the state scope. Here's an example I use in one of my mods. Check if a specific country, in a specific state region it owns, has a specific building in level 2.
c:SIA = { any_scope_state = { state_region = s:STATE_NORTH_BORNEO any_scope_building = { is_building_type = building_sulfur_mine level >= 2 } } }
The letter to scope buildings is "b". However it's uses are very limited and is mostly used for basic world building.
if = { limit = { exists = state.b:building_sulfur_mine } add = state.b:building_sulfur_mine.level }
其他定义域
其他的定义域大同小异,都是特定符号加上:
文化定义域
Culture scope seems to work in a similar fashion to buildings scope, indirectly referenced. However has more use cases.
Scoping to a culture you use the letters "cu", for example:
state_region = { is_homeland = cu:greek }
利益集团定义域
Scoping to an interest group you use the letters "ig", for example:
ig:ig_landowners = { remove_ideology = ideology_paternalistic # example of game logic add_ideology = ideology_republican_paternalistic }
The different interest groups tags are:
Pretty name | Tag name |
---|---|
Armed Forces | ig_armed_forces |
Devout | ig_devout |
Industrialists | ig_industrialists |
Intelligentsia | ig_intelligentsia |
Landowners | ig_landowners |
Petite bourgeoisie | ig_petty_bourgeoisie |
Rural Folk | ig_rural_folk |
Trade unions | ig_trade_unions |
Market Good scope
Scoping to a market good you use the letters "mg", for example:
mg:tools = { save_scope_as = cool_tools # game logics }
Types of scope
none value bool flag country technology technology_status culture state province pop pop_type building building_type interest_group market market_goods interest_marker strategic_region diplomatic_action diplomatic_pact diplomatic_play diplomatic_relations character state_region war theater religion institution institution_type law law_type journalentry trade_route decree commander_order commander_order_type front battle interest_group_trait ideology goods canal_type country_definition civil_war state_trait country_creation country_formation hq objective battle_side political_movement combat_unit party shipping_lane
参考文档 | 效果 • 条件 • 事件目标 • 定义域 •增益 • 变量 • Data types • 本地化 • Customizable localization |
脚本 | 脚本化函数 • 国家 • 决议 • 事件 • 日志 • 定义 • 外交 • 附属类型 • 修正 • Objectives • On actions |
游戏内概念 | 建筑 • Pop • 文化 • 宗教 • 利益集团 • 派系 • 科技 • 法律 • 机构 • 法令 • 货物 • 概念 |
地图 | 地图 |
图像 | 3D Models • Interface • Graphical Assets • Fonts • Flags |
音乐 | Music • Sound |
其他 | 控制台指令 • Checksum • 模组结构 • Troubleshooting |
指引 | 自定义国家 • 存档编辑 • 地图数据编辑 |