首页所有页面

社团模组制作


Societies are part of the free patch 2.7 and do not require the Monks and Mystics 扩展,尽管大多数社会及其内容都属于扩展包的一部分。

Societies

社会最好用来模拟职业或生活方式,因为角色一次只能是一个社会的成员。

Variable Type Description Example
primary_attribute attribute primary_attribute = intrigue
is_secret bool 无论社团是否能公开加入,社团服饰对非会员可见等。 is_secret = yes
criminal bool Used for the is_criminal trigger is_criminal = yes
is_religious bool 无论社会是否基于宗教,都被用作观点价值
devil_worshipper bool Used for the is_devil_worshipper 触发。同时也抑制了与同一社会成员之间的“宗教差异”观点修正
opinion_to_other_members int Opinion modifier applied when both characters are members opinion_to_other_members = +10
opinion_to_pretenders int 成员对被视为成员但实际上并非成员的人的意见修饰 opinion_to_pretenders = -40
opinion_to_perceived_members int 非会员对被视为会员的人的意见修正 opinion_to_perceived_members = -40
opinion_per_rank_above int 社会中地位高于其他成员的观点加成角色会获得。例如,如果加成是+5,1级玩家会获得+15级加成,而4级玩家则是+15。 opinion_per_rank_above = +5
society_rank_up_decision decision Decision that ranks up a member in the society society_rank_up_decision = request_to_rank_up_within_society
sound sfx 在社团标签页中选择社团时播放音效。音效键在 interface/sound.sfx 中定义 sound = monastic_orders_interface
society_ranks_gfx gfx society_ranks_gfx = generic_ranks
non_interference conditions 不干扰的AI角色不会对该角色采取任何敌对行动。只有社会中的角色才会不干涉。ROOT成为外交行动的目标。FROM是角色采取行动
non_interference_tooltip localization 本地化密钥显示为“影响”,说明哪些角色不干扰
active conditions 确定该协会是否活跃。如果未达标,将无法看到或加入该社团,游戏开始时不会生成任何成员,所有现有成员将在一个月内被踢出。注意,事件等相关内容会继续表现得像社会正常存在一样。注意,这个触发条件在UI中没有显示,所以如果这种情况可能发生在战役期间,你可能需要一个全局事件或类似的。根部就是社会
indestructible bool 用于判断一个社会是否“坚不可摧”。不可摧毁的社会将使用 startup_populate 触发寻找一个现成角色来领导社会。它会选择世界上获得最高社会会员分数的角色,拥有土地的角色得分会被降低到原本的1/100,因为影响有土地角色比影响宫廷成员更具干扰性。如果没有合适的角色,那 on_society_failed_to_find_new_leader on-action will fire indestructible = yes
can_join_society conditions 确定哪些角色可以加入社团。该条件本身通常被外化为 scripted trigger.
can_join_society = {

  hidden_trigger = {

    NAND = {

      ai = yes

      is_society_rank_full = { 

        society = the_assassins

        rank = 1

      }

    }

  }

  has_assassins_prerequisites = yes

}

show_society conditions
show_society = {

  religion = catholic

}

potential conditions [必须遵守的规则才能让角色留在社会中].这通常是 规则的一个子集 can_join_society.
potential = { 

  religion = catholic

}

society_rank clause Definition of ranks
Variable Type Description Example
level int Rank level level = 1
limit int Maximum number of members at that rank. Checked via is_society_rank_full condition. limit = 100
startup_limit int Maximum number of members selected during startup_populate.如果省略,该排名将不会自动填充。 startup_limit = 10
modifier clause
modifier = { 

  is_visible = {

    OR = {

      society_member_of = the_satanists

      FROM = { is_society_discovered = yes }

    }

  }

  intrigue = 1

}

decisions List<decision> List of decisions unlocked at that rank
custom_tooltip localization 社会等级中修饰符的本地化键,已本地化并添加到等级图标工具提示中
obedient conditions 定义社会中其他(人工智能)角色何时对该等级角色服从(大致相当于“debug_yesmen”)。ROOT是排名持有者,FROM是潜在服从的角色
obedience_tooltip localization 该位置化键将显示给定军衔,解释哪些角色是服从的 obedience_tooltip = obedience_tooltip
society_rank = {

  level = 1

  limit = 100 

  startup_limit = 10

  decisions = {

    prisoner_dark_sacrifice

  }

}

plots [{{{1}}}]
ambitions [{{{1}}}]
monthly_currency_gain 定义了成员每月获得多少权力。“货币”因社会而异。也可以通过事件一次性设置,通过以下方式 change_society_currency. See below for more info
member_score_per_attribute float 角色根据社会属性的每点获得多少会员分数 member_score_per_attribute = 3
member_score_per_rank float 每个角色每个等级获得多少成员分数 member_score_per_rank = 100
member_score MTTH 基于触发点的额外会员评分,ROOT是该成员。
member_score = {

  value = 10

  modifier = {

    factor = 2

    trait = diligent

  }

}

startup_populate clause 游戏开始时用来寻找领导角色并加入社会。
associated_religion religion 这样可以像角色或省份宗教一样,将宗教范围从文字中访问。
society_influence bool 如果设置为“否”,则关闭社会影响力的显示。默认是可以。 society_influence = no

Localization:

  • <society_name>: name of the society
  • <society_name>_desc: description of the society
  • <society_name>_leader_desc: title of the leader of the society
  • <society_name>_rank_<N>_male: rank <N> title for male members
  • <society_name>_rank_<N>_female: rank <N> title for female members
  • currency_name_<society_name>: name of the society's currency/power

Localization commands need to be updated as well: GetSocietyCurrency, GetSocietyRank, GetSocietyName and GetSocietyNameCap.

Currency gain

The monthly_currency_gain is a block that can take several parameters:

monthly_currency_gain = { # Used for defining how members passively gain currency

	name = loc_key # What the currency is named

	per_attribute = {

		name = stewardship # Takes one of the five attributes

		value = 1 # How much to give per point

	}

	has_trait = {

		trait = monk # Takes any trait

		value = 5 # How much to give if the character has the trait

	}

	society_rank = {

		rank = 4 # Takes a level of rank

		value = 10 # How much to give if the character has the given rank

	}

	triggered_gain = {

		desc = loc_key # What to show in the score gain breakdown. Passed through custom loc with the character as ROOT. The gain is provided as $GAIN$

		trigger = { # When to give the gain. The character is ROOT

			some triggers

		}

		value = 10 # How much to give

	}

}

Quests

任务通过脚本动态生成。任务持有者必须是社会成员,任务目标可以是角色、头衔或省份(也可以没有)。

  • 要给被瞄准的角色一个任务,但没有目标:
set_quest = <quest_id>

  • 要给目标角色为目标的持有者分配任务:
set_quest_target = {			

	id = <quest_id>

	holder = ROOT

}

这也可以用来设置或更新任务目标。

The result of a quest can be set to:

  • success using clr_quest = <quest_id>
  • or failure using clr_quest = { id = <quest_id> failure = yes }

他们的奖励也必须通过事件脚本来管理,通常是通过奖励持有者在社会中获得更多权力,通过 change_society_currency command.

Localization:

  • <quest_id>: name of the quest
  • <quest_id>_fallback :如果没有找到目标,任务名称。如果你的LOC取决于目标,这很有用。需要确保它在触发条件中表现良好(例如,“唤起[From.GetTitledFirstName]的同情'在没有任务时会失败,所以你会加上”唤起统治者的同情“作为备选)。添加“_fallback”也能用于其他锁定键,所以如果你有不同版本的同一任务,且并非所有版本都针对某个目标,可以使用
  • <quest_id>_desc :任务的详细描述。它可以用$SOCIETY$来表示社团(如果有的话),$WHO$用于执行任务的角色,$TARGET$用于任务目标(如果有的话);;;;;;;;;;;;x
  • <quest_id>_tooltip: 任务提示显示。它可以像 quest_id_DESC;;;;;;;;;;;; 一样使用 $SOCIETY$、$WHO$ 和 $TARGET$x

GFX

Graphics for societies are by default stored under \gfx\interface\societies.

别忘了在 \interface. See Interface modding for more.

你可以在GFX\Inventory\Societies中使用社会图标背景(society_symbol_bg_stone.dds和society_symbol_bg_wood.dds),来创建遵循原版社会风格的社会。

Putting characters in societies

如果你想在游戏开始时手动将角色放入社会,可以用角色定义中的以下代码实现:

12345 = {

	name = "Sample"

	...

	# Date on which the character should join.

	1066.1.1 = {

		effect = {

			join_society = monastic_order_benedictine

			# Make character the grandmaster of the society.

			set_society_grandmaster = yes

		}

	}

	# Date on which the character should leave.

	1096.1.1 = {

		effect = {

			# Unnecessary to specify which society. Characters can only belong to one at once.

			leave_society = yes

		}

	}

}

关于可以放置于 effect section to influence societies, look at \common\societies\societies.info in the base game.

External links

References

相关页面 (62)

ConditionsEU4转档器模组制作Interface moddingLocalizationMTTHMonks and MysticsPatch 2.7Scripted triggerSocietiesSociety moddingSteam创意工坊事件模组制作作用域修正内阁成员模组制作决议模组制作剧本模组制作单位模组制作历史模组制作另类开局模组制作图形模组制作地图外政权模组制作地图模组制作头衔模组制作奇观模组制作宗教模组制作定义宝物模组制作宣战理由模组制作家族模组制作小地图模组制作建筑模组制作指令控制台指令政体模组制作故障排除文化模组制作朝贡国类型模组制作本地化条件模组制作死亡模组制作法律模组制作游戏规则模组制作特质模组制作界面模组制作疾病模组制作目标模组制作盾徽模组制作省份模组制作科技模组制作称号模组制作继承模组制作编辑游戏存档肖像模组制作脚本荣誉头衔模组制作血脉模组制作角色模组制作贸易路线模组制作