revert Alignment
This commit is contained in:
Vannifar 2026-04-25 10:02:11 +02:00
parent 15a5108e23
commit c4b6d9bdeb
250 changed files with 11067 additions and 16365 deletions

View file

@ -1,49 +1,14 @@
 Structure ===
=== Structure ===
Note: May not be exhaustive.
Note: this is very very incomplete...
Event IDs are namespaced. In each events file, define a namespace once at the top:
namespace = my_events
Then define events as:
my_events.1001 = { ... }
event_namespace.42 = {
type = character_event/letter_event/court_event/activity_event # Default to character, what type of event this is
scope = scope_type # Optional, defaults to character, will make this event fire with a different expected root scope. none can be used to have no scopes set up.
window = window_name # Optional, what special event file and widget in gui/event_windows should this event use, only used for character events
my_events.1001 = {
type = character_event/letter_event/court_event/activity_event # Optional, defaults to character_event
scope = scope_type # Overrides the events root scope. Optional, defaults to character scope. Use scope = none for no root scope, scope = artifact for events centered around artifacts, etc.
# Optional custom event window name.
# For character/letter events this is the popup window in gui/event_windows.
# For activity events this is used by activity event inserts.
window = window_name
# anonymous_letter_event - letter_event, but without sender portrait and sigil widget
# big_event_window - used for task_contracts, bookmark events, decision outcomes, story cycles, black plague, etc.
# character_event - default
# duel_event - used in single combat events
# fullscreen_event - use splash screen queue
# letter_event - used for responses to character_interactions, between characters that are not in the same location
# scheme_conclusion_window - big_event_window, however we always use one of the sub-types:
# scheme_failed_event - scheme_conclusion_window, but with failure header
# scheme_preparations_event - scheme_conclusion_window, but with scheme_preparation widget
# scheme_successful_event - scheme_conclusion_window, but with successful header
# scheme_conclusion_event_no_header
# scheme_conclusion_window, but without header
#visit_settlement_window - big_event_window, used by laamp visit settlement decision
# Basic event text/effects (commonly used)
title = my_event_title # Dynamic Description syntax, see bottom of document
desc = my_event_desc # Dynamic Description syntax, see bottom of document
trigger = { ... }
immediate = { ... }
after = { ... }
hidden = yes/no # If yes, no event window is shown
major = yes/no
major_trigger = { ... }
# Non-character scoped events generally need to be hidden or major.
# If you have a cooldown, the recipient root gets a saved variable with that duration.
# The variable name is based on the event ID.
# Trigger legality checks include cooldown.
# If you have a cooldown, the recipient will get a variable saved with that duration. The variable name will be the event ID
# Anything that checks that an event is legal to fire will also check that the recipient doesn't have that variable
cooldown = {
days/weeks/months/years = script value
}
@ -58,112 +23,89 @@ my_events.1001 = {
lower_left_portrait = X
lower_center_portrait = X
lower_right_portrait = X
sender = X # required for letter events
sender = X # for letter events, required
# X can be one of:
X = event target
X = {
character = event target
trigger = ... # optional, controls visibility for this portrait in the scope of the portrait character
animation = animation name # optional default animation, used if no triggered animations pass their trigger. See animations.txt for all possible animations, in-game: toggle event tools in the event or open portrait editor through the console.
scripted_animation = key_of_scripted_animation # optional alternative to animation
trigger = ... # optional, a trigger saying whether this portrait should be visible, in the scope of the portrait character, the event scope is accessible as root scope
animation = animation name # optional, the animation to show for this portrait. It's used if no triggered animations pass their trigger. The default animation will be used if nothing is this item is not specified.
scripted_animation = key_of_scripted_animation # optional, instead of 'animation' you can also define a 'scripted_animation'
# First triggered animation whose trigger passes is used.
# A list of triggered animations. The first triggered animation that passes the trigger check will be used.
triggered_animation = {
trigger = ...
animation = animation name
# Or use scripted_animation instead of animation
# Instead of 'animation' you can also define a 'scripted_animation'
scripted_animation = key_of_scripted_animation
camera = camera_name # optional, overrides portrait camera when chosen
### brief: camera ( database key, optional )
# A camera type defined for a triggered animation will override the default
# camera defined for the event portrait if that animation is chosen
#
camera = camera_name
}
triggered_animation = ...
# First triggered outfit whose trigger passes is used.
# A list of triggered outfits. The first triggered otfit that passes the trigger check will be used.
triggered_outfit = {
trigger = ...
outfit_tags = ...
remove_default_outfit = ...
hide_info = ...
}
triggered_outfit = ...
# Optional portrait behavior toggles
# Override camera to be used instead of the normal event ones
camera = camera_key
override_imprisonment_visuals = yes/no
animate_if_dead = yes/no
outfit_tags = { tag1 tag2 } # Specifies outfit tags for this portrait in ascending priority (i.e. tag2 will "override" tag1 here if anything with tag2 is found in a specific portrait modifier category)
remove_default_outfit = yes/no # If set to yes, portrait modifier categories in which nothing matches any of the event tags will be disabled completely (no by default)
hide_info = yes/no # If set to yes, only the portrait will be shown, with no identifiable elements (no CoA, tooltips, clicks...) (no by default)
outfit_tags = { tag1 tag2 } # Specifies outfit tags for this portrait in ascending priority (i.e. tag2 will "override" tag1 here if anything with tag2 is found in a specific portrait modifier category)
remove_default_outfit = yes/no # If set to yes, portrait modifier categories in which nothing matches any of the event tags will be disabled completely (no by default)
hide_info = yes/no # If set to yes, only the portrait will be shown, with no identifiable elements (no CoA, tooltips, clicks...) (no by default)
}
# Specify an artifact to appear in the event on the specified position
artifact = {
target = event target
position = lower_left_portrait/lower_center_portrait/lower_right_portrait
# Cannot share the same position as a portrait
trigger = ... # Optional, as for portraits
# Can't be in the same position as a portrait
trigger = ... # Optional, as for character portraits
}
# Letter events should define an opening text
opening = my_letter_opening # Localization key or dynamic desc block
# Court events may define court scene behavior
court_scene = {
button_position_character = scope:a_character
court_owner = scope:a_character
court_event_force_open = yes/no
show_timeout_info = yes/no
should_pause_time = yes/no
roles = {
scope:a_character = {
role = some_court_scene_role # or group = some_court_scene_group
animation = some_animation
scripted_animation = some_scripted_animation
}
}
}
# Runs if a queued/instant event fails trigger checks.
# Events selected from on_actions are filtered by validity before queuing, so this is typically not run for that path.
# This will be run if a queued event (or one triggered immediately from script) does not fulfil its trigger
# Events failing to trigger from an on-action will *not* run this
on_trigger_fail = {
some effect
}
# Specify custom widgets to embed in the event. See Custom Widgets below.
# Specify custom widgets to embed in the event. See section about Custom Widgets below.
widgets = {
widget = {
# Scope: event scope after immediate effect. Default: always = yes
# Trigger that controls the availability of the widget. Scope: same as the event, after immediate effect. Default: always = yes
is_shown = {}
# Widget file at <event_window_widgets>/<widget_name>.gui
# Name of the widget to use. Must be at the path <event_window_widgets>/<widget_name>.gui
gui = "<widget_name>"
# Parent container widget name in the event window
# Name of the widget where this custome widget will be insert
container = "<container_widget_name>"
# Controller syntax:
# Simple form:
# Some widgets require a custom controller (see below). Default: default
controller = <controller_type>
# Structured form (used by some controllers, e.g. text):
# controller = {
# type = <controller_type>
# data = { ... }
# }
# Optional scope setup effect for controller expectations
# Effect to set up the scope as required by the controller. Scope: same as the event, after immediate effect, doesn't modify the event scope, though. Default: {}
setup_scope = {}
}
}
widget = { ... } # alternative syntax for one widget
widget = { ... } # alternative syntax for a single widget. Follows the same info as the widget in the widgets parameter
option = { # An option the player/AI can pick
# Localization key or dynamic name block
name = X # Dynamic Description syntax, see bottom of document
# Localization key for the event option button text
name = X
# Effects run when this option is picked (inline, no label)
# The effects that will be run when picking the options. Written directly here with no label
X..
# Trigger required for option to be valid
# A trigger that has to be fulfilled for this option to be valid.
trigger = {}
# If the option is invalid, but this trigger is valid, then the option will be shown (but disabled).
# If the event is invalid, but this trigger is valid, then the option will be shown (but disabled).
# This behavior is also influenced by the EVENT_OPTIONS_SHOWN_HIDE_UNAVAILABLE or SCHEME_PREPARATION_OPTIONS_SHOWN_HIDE_UNAVAILABLE defines depending on event type.
show_as_unavailable = {}
@ -171,19 +113,9 @@ my_events.1001 = {
highlight_portrait = scope:a_character
reason = <flag> # Special reason for why this option is unlocked, can be any arbitrary string, is be checked in the UI to show special by reason
skill = diplomacy/martial/stewardship/intrigue/learning/prowess # Marks this option as skill-relevant in unlock reason UI (if shown); you still have to specify the skill and level in the trigger to unlock it
trait = some_trait # Marks this option as trait-relevant in unlock reason UI (if shown); you still have to specify the trait in the trigger to unlock it
# Misc option behavior
show_unlock_reason = yes/no # Controls whether unlock reason UI is shown for this option
is_cancel_option = yes/no # Marks this option as a cancel/back-out style option (used by some widgets/controllers)
clicksound = "sound_event" # Sound to play when selecting this option
fallback = yes/no # If no regular options are valid, fallback options are considered
exclusive = yes/no # If any exclusive option is valid, non-exclusive options are ignored
# Parameters to impact the way ai-characters pick options to resolve their events.
# We have 2 mutually exclusive parameters; ai_chance, and ai_will_select where the only difference is the syntax for calculating the value.
# In practice if both are present, ai_will_select is used.
# Parameters to impact the way ai-characters pick options to resolve their events
# We have 2 mutually exclusive parameters; ai_chance, and ai_will_select where the only difference is the syntax for calculating the value
ai_chance = { # See common/scripted_modifiers/_scripted_modifiers.info for more details
base = 10
modifier = {
@ -213,20 +145,20 @@ my_events.1001 = {
}
}
theme = "" # Theme to use in the event. For a list, check: 00_event_themes.txt
override_background = { # A background that can be shown when the event pops up. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones in the theme will be checked after.
theme = "" # Theme to use in the event. For a list, check: 00_event_themes.txt
override_background = { # A background that can be shown when the event pops up. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones inthe theme will be checked after.
trigger = {} # Receives the event scope to check if it's valid.
reference = "" # Path to the texture
}
override_transition = { # A transition that can be shown when the event pops up, before the event options and backgrounds. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones in the theme will be checked after.
override_transition = { # A transition that can be shown when the event pops up, before the event options and backgrounds. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones inthe theme will be checked after.
trigger = {} # Receives the event scope to check if it's valid.
reference = "" # Path to the texture
}
override_effect_2d = { # A 2d effect that can be put on top of the background. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones in the theme will be checked after.
override_effect_2d = { # A 2d effect that can be put on top of the background. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones inthe theme will be checked after.
trigger = {} # Receives the event scope to check if it's valid.
reference = "" # key to the effect
}
override_icon = { # An icon that can be shown when the event pops up. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones in the theme will be checked after.
override_icon = { # An icon that can be shown when the event pops up. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones inthe theme will be checked after.
trigger = {} # Receives the event scope to check if it's valid.
reference = "" # Path to the texture
}
@ -234,11 +166,10 @@ my_events.1001 = {
trigger = {}
reference = ""
}
override_sound = { # A sound that can be played when the event pops up. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones in the theme will be checked after.
override_sound = { # A sound that can be played when the event pops up. This overrides the theme one. In case that there are multiples the first one that fits the trigger will be the one selected. In case none fits the ones inthe theme will be checked after.
trigger = {} # Receives the event scope to check if it's valid.
reference = "" # Reference of the sound
}
orphan = yes # The game will not log an error about this event being unreferenced. Useful for debug events
}
@ -258,139 +189,7 @@ Controller Type | Data Context Name | Notes
------------------------+----------------------------------------+-------------------------------------------------------------------------------------------------------------
default | EventWindowWidget | Default controller, no special behavior
name_character | EventWindowWidgetNameCharacter | Changes a character's name. Scope must have the name_character_target saved scope.
text | EventWindowWidgetEnterText | Saves some text onto the character. May use controller = { type = text data = { ... } } and setup_scope for text_target.
text | EventWindowWidgetEnterText | Saves some text onto the character.
event_chain_progress | EventWindowWidgetChainProgress | Displays progress through an event chain, needs event_chain_length and event_chain_progress scope values set
struggle_info | EventWindowCustomWidgetStruggleInfo | Displays information for the struggle, needs "start" scope value set
situation_info | EventWindowCustomWidgetSituationInfo | Displays information for the situation
=== Dynamic Description Appendix ===
Dynamic descriptions are supported by event `title`, `desc`, `opening`, and option `name` (with special notes for option names below).
They resolve localization keys at runtime using current event scopes.
High-level behavior:
- A plain localization key is valid:
- `desc = my_event.desc`
- A block is also valid:
- `desc = { ... }`
- In blocks, entries are evaluated in script order.
- Each selected piece is appended to the final text with automatic spacing between pieces.
- Missing localization keys are logged as errors.
Core block members (CDynamicDescription):
1) `desc`
- Appends text to output.
- Accepts either a key or another nested dynamic description block.
Example:
desc = {
desc = my_event.intro
desc = my_event.outro
}
2) `triggered_desc`
- Conditional description node.
- Body may only contain:
- `trigger = { ... }` (optional; if omitted, always valid)
- `desc = <loc_key>` or `desc = { ... }`
- If trigger passes, its `desc` content is appended.
Example:
triggered_desc = {
trigger = { has_trait = brave }
desc = my_event.brave_line
}
3) `first_valid`
- Checks child entries in order.
- Uses only the first child whose validity is true.
- Typical fallback pattern is placing a plain `desc = some_fallback_key` last.
Example:
first_valid = {
triggered_desc = {
trigger = { has_trait = brave }
desc = my_event.brave
}
triggered_desc = {
trigger = { has_trait = craven }
desc = my_event.craven
}
desc = my_event.fallback
}
4) `random_valid`
- Collects all valid children, then picks random entries from that set.
- Default picks: `count = 1`
- Optional: `count = N` picks up to N unique valid children (no replacement).
- If fewer than N are valid, all valid children are used.
- Chosen entries are appended by the random order.
Example:
random_valid = {
count = 2
desc = my_event.random_a
triggered_desc = {
trigger = { has_trait = patient }
desc = my_event.random_b
}
desc = my_event.random_c
}
5) `switch`
- Value-based branching for description selection.
- Structure:
- `trigger = <simple-assign trigger type>`
- `<case_value> = <loc_key or nested block>`
- `fallback = <loc_key or nested block>` (optional)
- First matching case is used.
- If no case matches and no `fallback` exists, nothing is appended.
- Case values are written as keys/tokens that match what the switch trigger returns.
Example:
switch = {
trigger = scope:rite_memory.var:rites_of_passage_type
flag:dueling_rite_memory = { desc = bp2_yearly.7029.desc_duel }
flag:scarification_rite_memory = { desc = bp2_yearly.7029.desc_scarification }
fallback = { desc = bp2_yearly.7029.desc }
}
Composition and nesting:
- Nodes can be nested arbitrarily (`desc` in `desc`, `first_valid` inside `random_valid`, etc.).
Option name specifics:
- Option names support two forms:
- `name = my_option_text_key`
- `name = { text = <loc_key or dynamic description block> trigger = { ... } }`
- `trigger` inside `name = { ... }` gates whether that name candidate is available.
- Multiple `name = { ... }` blocks are allowed per option.
- If more than one candidate is valid, one valid candidate is chosen randomly.
- If none are valid, first defined candidate is used as fallback.
- Important limitation: name candidates are separate sibling `name` entries; you cannot nest multiple `name` nodes inside one `name` block.
Known-good vanilla patterns to copy:
- Multi-chunk nested assembly with `random_valid`, `first_valid`, and `triggered_desc`:
- `game/events/board_game_events.txt` (e.g. event `board_games.0041`)
- `game/events/relations_events/adultery_events.txt` (e.g. event `adultery.4001`)
- Standard fallback chain in `first_valid`:
- `game/events/relations_events/adultery_events.txt` (e.g. event `adultery.1006`)
- Letter `opening` using dynamic desc block:
- `game/events/interaction_events/marriage_interaction_events.txt` (e.g. event `marriage_interaction.0001`)
- Dynamic description `switch`:
- `game/events/dlc/bp2/bp2_yearly_7.txt` (e.g. event `bp2_yearly.7029`)
Practical authoring checklist:
- Always include a safe fallback path (`desc` fallback in `first_valid`, or `fallback` in `switch`).
- Keep localization keys flat and explicit; nesting controls selection, loc does the prose.
- When building long descriptions, split into semantic chunks and compose with nested blocks.
- Prefer `first_valid` for deterministic branching and `random_valid` for variation.
- For option names, prefer multiple gated `name` entries over overly complex single-entry nesting.
COMMON GOTCHA WHEN BUILDING DYNAMIC DESCRIPTIONS, FOR INTERNAL DESIGNERS: If you're building a complex loc string that includes dialogue, it's common to end up with keys that contains an odd number of citation marks. In these cases you may need to escape the odd citation marks using double-backslash to pass the sanity checking git hook before you commit your work. E.g.:
my_cool_event_desc.intro: "The guy says, \\"Hey "
my_cool_event_desc.intro.friend: "friend"
my_cool_event_desc.intro.buddy: "buddy"
my_cool_event_desc.intro.idiot: "idiot"
my_cool_event_desc.intro.outro: ", watch where you're going!\\" I pay him no mind and continue on my way."

View file

@ -150,3 +150,742 @@ accolade.0002 = {
}
}
}
#Accolade becomes idle
# by Jason Cantalini
accolade.0003 = {
hidden = yes
trigger = {
has_dlc_feature = accolades
}
immediate = {
send_interface_toast = {
type = msg_accolade_active
title = accolade.0003.accolade_becomes_idle.tt
custom_tooltip = accolade.0003.accolade_becomes_idle_effects.tt
}
}
}
#Accolade succession with unchanged types
# by Jason Cantalini
accolade.0004 = {
hidden = yes
trigger = {
has_dlc_feature = accolades
}
immediate = {
send_interface_toast = {
type = msg_accolade_succession
title = accolade.0004.new_acclaimed_knight.tt
left_icon = scope:new_acclaimed_knight
custom_tooltip = accolade.0004.new_acclaimed_knight_name.tt
custom_tooltip = accolade.glory_loss.tt
}
}
}
#Accolade succession with new secondary type
# by Jason Cantalini
accolade.0005 = {
hidden = yes
trigger = {
has_dlc_feature = accolades
}
immediate = {
send_interface_toast = {
type = msg_accolade_succession_toast
title = accolade.0005.new_acclaimed_knight_new_type.tt
left_icon = scope:new_acclaimed_knight
custom_tooltip = accolade.0005.new_accolade_type.tt
custom_tooltip = accolade.0005.new_acclaimed_knight_succeeds.tt
custom_tooltip = accolade.glory_loss.tt
}
}
}
#Find Accolade Successor knight creation event
accolade.0006 = {
hidden = yes
trigger = {
exists = scope:accolade_in_need
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
immediate = {
# try to find a pool character first
every_courtier_or_guest = {
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
is_healthy = yes
save_temporary_scope_as = temp_knight
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:temp_knight
}
}
add_to_list = potential_knights
}
every_pool_character = {
province = root.capital_province
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
is_healthy = yes
save_temporary_scope_as = temp_knight
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:temp_knight
}
}
add_to_list = potential_knights
}
random_in_list = {
list = potential_knights
save_scope_as = chosen_knight
}
# create a character if needed
if = {
limit = {
NOT = { exists = scope:chosen_knight }
}
#if = { # Balance testing variables
# limit = {
# NOT = {
# exists = global_var:accolade_fail
# }
# }
# set_global_variable = {
# name = accolade_fail
# value = 1
# }
#}
#else = {
# change_global_variable = {
# name = accolade_fail
# add = 1
# }
#}
accolade_character_creation_effect = yes
}
#else = { # Balance testing variables
# if = {
# limit = {
# NOT = {
# exists = global_var:accolade_success
# }
# }
# set_global_variable = {
# name = accolade_success
# value = 1
# }
# }
# else = {
# change_global_variable = {
# name = accolade_success
# add = 1
# }
# }
#}
if = {
limit = {
exists = scope:chosen_knight
}
if = {
limit = {
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:chosen_knight
}
# make sure the chosen knight is not already a courtier
scope:chosen_knight ?= {
NOT = { is_courtier_of = root }
}
}
add_courtier = scope:chosen_knight
}
trigger_event = {
id = accolade.0007
days = 1
}
}
}
}
#Find Accolade Successor join event
accolade.0007 = {
hidden = yes
immediate = {
if = {
limit = {
exists = scope:accolade_in_need
exists = scope:chosen_knight
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
#SEND A TOAST NOTIFICATION
send_interface_toast = {
type = event_toast_effect_neutral
title = accolade.0007.notification
left_icon = scope:chosen_knight
custom_tooltip = accolade_call_acclaimed_knight_tooltip
hidden_effect = {
scope:chosen_knight = {
if = {
limit = {
NOT = { is_knight_of = root }
}
}
}
}
}
}
else = {
send_interface_message = {
type = event_accolade_bad_text
title = accolade.0007.notification_fail
desc = accolade_find_successor_fail_notification_tooltip
}
}
}
}
#Call Acclaimed Knight first knight
accolade.0008 = {
hidden = yes
trigger = {
exists = scope:empty_accolade_1
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
immediate = {
# try to find a pool character first
scope:empty_accolade_1 = {
save_scope_as = accolade_in_need
}
every_courtier_or_guest = {
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
every_pool_character = {
province = root.capital_province
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
random_in_list = {
list = potential_knights
save_scope_as = chosen_knight
}
# create a character if needed
if = {
limit = {
NOT = { exists = scope:chosen_knight }
}
accolade_character_creation_effect = yes
}
if = {
limit = {
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:chosen_knight
}
}
add_courtier = scope:chosen_knight
}
trigger_event = {
id = accolade.0013
days = 1
}
}
}
#Call Acclaimed Knight second knight
accolade.0009 = {
hidden = yes
trigger = {
exists = scope:empty_accolade_2
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
immediate = {
# try to find a pool character first
scope:empty_accolade_2 = {
save_scope_as = accolade_in_need
}
every_courtier_or_guest = {
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_clergy = no
is_healthy = yes
}
add_to_list = potential_knights
}
every_pool_character = {
province = root.capital_province
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_clergy = no
is_healthy = yes
}
add_to_list = potential_knights
}
random_in_list = {
list = potential_knights
save_scope_as = chosen_knight
}
# create a character if needed
if = {
limit = {
NOT = { exists = scope:chosen_knight }
}
accolade_character_creation_effect = yes
}
if = {
limit = {
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:chosen_knight
}
}
add_courtier = scope:chosen_knight
}
trigger_event = {
id = accolade.0013
days = 1
}
}
}
#Call Acclaimed Knight third knight
accolade.0010 = {
hidden = yes
trigger = {
exists = scope:empty_accolade_3
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
immediate = {
# try to find a pool character first
scope:empty_accolade_3 = {
save_scope_as = accolade_in_need
}
every_courtier_or_guest = {
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
every_pool_character = {
province = root.capital_province
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
random_in_list = {
list = potential_knights
save_scope_as = chosen_knight
}
# create a character if needed
if = {
limit = {
NOT = { exists = scope:chosen_knight }
}
accolade_character_creation_effect = yes
}
if = {
limit = {
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:chosen_knight
}
}
add_courtier = scope:chosen_knight
}
trigger_event = {
id = accolade.0013
days = 1
}
}
}
#Call Acclaimed Knight fourth knight
accolade.0011 = {
hidden = yes
trigger = {
exists = scope:empty_accolade_4
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
immediate = {
# try to find a pool character first
scope:empty_accolade_4 = {
save_scope_as = accolade_in_need
}
every_courtier_or_guest = {
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
every_pool_character = {
province = root.capital_province
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
random_in_list = {
list = potential_knights
save_scope_as = chosen_knight
}
# create a character if needed
if = {
limit = {
NOT = { exists = scope:chosen_knight }
}
accolade_character_creation_effect = yes
}
if = {
limit = {
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:chosen_knight
}
}
add_courtier = scope:chosen_knight
}
trigger_event = {
id = accolade.0013
days = 1
}
}
}
#Call Acclaimed Knight fifth knight
accolade.0012 = {
hidden = yes
trigger = {
exists = scope:empty_accolade_5
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
immediate = {
# try to find a pool character first
scope:empty_accolade_5 = {
save_scope_as = accolade_in_need
}
every_courtier_or_guest = {
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
every_pool_character = {
province = root.capital_province
limit = {
ep2_can_be_accolade_successor_base_trigger = yes
can_be_knight_trigger = { ARMY_OWNER = root }
is_valid_successor_for_accolade = scope:accolade_in_need
faith = {
faith_hostility_level = {
target = root.faith
value <= faith_astray_level
}
}
is_clergy = no
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = this
}
is_healthy = yes
}
add_to_list = potential_knights
}
random_in_list = {
list = potential_knights
save_scope_as = chosen_knight
}
# create a character if needed
if = {
limit = {
NOT = { exists = scope:chosen_knight }
}
accolade_character_creation_effect = yes
}
if = {
limit = {
can_recruit_character_to_court_trigger = {
RECRUITER = root
RECRUITEE = scope:chosen_knight
}
}
add_courtier = scope:chosen_knight
}
trigger_event = {
id = accolade.0013
days = 1
}
}
}
#Call Accolade Knight join event
accolade.0013 = {
hidden = yes
immediate = {
if = {
limit = {
exists = scope:accolade_in_need
exists = scope:chosen_knight
exists = root.capital_province
highest_held_title_tier >= tier_county
NOR = {
government_has_flag = government_is_theocracy
has_character_flag = had_accolade_successor_notification
}
}
#SEND A TOAST NOTIFICATION
send_interface_toast = {
type = event_toast_effect_neutral
title = accolade.0013.notification
left_icon = scope:chosen_knight
custom_tooltip = accolade_call_acclaimed_knight_tooltip
hidden_effect = {
scope:chosen_knight = {
if = {
limit = {
NOT = { is_knight_of = root }
}
set_knight_status = force
}
}
}
}
add_character_flag = {
flag = had_accolade_successor_notification
months = 6
}
}
else_if = {
limit = {
exists = scope:accolade_in_need
exists = scope:chosen_knight
exists = root.capital_province
highest_held_title_tier >= tier_county
NOT = { government_has_flag = government_is_theocracy }
}
#SEND A FEED NOTIFICATION FOR NEXT KNIGHTS
send_interface_message = {
type = event_accolade_good_with_text
title = accolade.0013.notification
desc = accolade_call_acclaimed_knight_tooltip
left_icon = scope:chosen_knight
scope:chosen_knight = {
if = {
limit = {
NOT = { is_knight_of = root }
}
set_knight_status = force
}
}
}
}
else = {
send_interface_message = {
type = event_accolade_bad_text
title = accolade.0013.notification_fail
desc = accolade_call_acclaimed_knight_fail_notification_tooltip
}
}
}
}

View file

@ -891,6 +891,8 @@ coronation_events.0100 = {
trigger_event = coronation_events.0110
}
}
# Cleanup of variable checks
remove_variable = learning_oath_1_university_exists
if = {
limit = {
@ -1069,30 +1071,7 @@ coronation_events.0110 = {
}
# Other
triggered_desc = {
trigger = {
scope:host = {
ai_compassion >= low_positive_ai_value
}
}
desc = coronation_events.0110.desc.fallback_compassionate
}
triggered_desc = {
trigger = {
scope:host = {
ai_honor > low_positive_ai_value
}
}
desc = coronation_events.0110.desc.fallback_honorable
}
triggered_desc = {
trigger = {
scope:host = {
ai_energy < low_negative_ai_value
}
}
desc = coronation_events.0110.desc.fallback_feckless
}
desc = coronation_events.0110.desc.fallback
}
desc = coronation_events.0110.desc.outro
}
@ -1431,89 +1410,54 @@ coronation_events.0175 = {
trigger = scope:find_oath
flag:diplomacy_oath_1 = {
coronation_oath_reward_effect = { VARIABLE = diplomacy_oath_1 }
add_character_modifier = oath_of_alliances
}
flag:diplomacy_oath_2 = {
coronation_oath_reward_effect = { VARIABLE = diplomacy_oath_2 }
add_character_modifier = oath_of_children
}
flag:martial_oath_1 = {
coronation_oath_reward_effect = { VARIABLE = martial_oath_1 }
add_character_modifier = oath_of_reconquest
}
flag:martial_oath_2 = {
coronation_oath_reward_effect = { VARIABLE = martial_oath_2 }
add_character_modifier = oath_of_conquest
}
flag:stewardship_oath_1 = {
coronation_oath_reward_effect = { VARIABLE = stewardship_oath_1 }
add_character_modifier = oath_of_peace
}
flag:stewardship_oath_2 = {
coronation_oath_reward_effect = { VARIABLE = stewardship_oath_2 }
add_character_modifier = oath_of_buildings
}
flag:learning_oath_1 = {
coronation_oath_reward_effect = { VARIABLE = learning_oath_1 }
}
flag:purge_pretenders_oath = {
coronation_oath_reward_effect = { VARIABLE = purge_pretenders_oath }
add_character_modifier = oath_of_purge_pretenders
if = {
limit = {
government_has_flag = government_is_administrative
}
house ?= {
add_house_modifier = oath_of_purge_pretenders_house
}
}
}
flag:end_the_struggle_oath = {
coronation_oath_reward_effect = { VARIABLE = end_the_struggle_oath }
add_character_modifier = oath_of_end_the_struggle
}
flag:greatest_hunter_oath = {
coronation_oath_reward_effect = { VARIABLE = greatest_hunter_oath }
add_character_modifier = oath_greatest_hunter
}
flag:heir_preparation_oath = {
coronation_oath_reward_effect = { VARIABLE = heir_preparation_oath }
add_character_modifier = oath_heir_preparation
primary_heir ?= {
add_character_modifier = oath_heir_preparation_heir
}
}
flag:install_claimants_oath = {
coronation_oath_reward_effect = { VARIABLE = install_claimants_oath }
add_character_modifier = oath_install_claimants
}
flag:mend_the_fracture_oath = {
coronation_oath_reward_effect = { VARIABLE = mend_the_fracture_oath }
add_character_modifier = oath_mend_the_fracture
culture = {
add_culture_tradition = oath_mend_the_fracture_tradition
}
var:mend_the_fracture_oath_target_culture = {
add_culture_tradition = oath_mend_the_fracture_tradition
}
}
flag:provide_for_the_warriors_oath = {
coronation_oath_reward_effect = { VARIABLE = provide_for_the_warriors_oath }
add_character_modifier = oath_provide_for_the_warriors
}
flag:provide_for_the_faithful_oath = {
coronation_oath_reward_effect = { VARIABLE = provide_for_the_faithful_oath }
add_character_modifier = oath_provide_for_the_faithful
}
flag:provide_for_the_poor_oath = {
coronation_oath_reward_effect = { VARIABLE = provide_for_the_poor_oath }
add_character_modifier = oath_provide_for_the_poor
}
flag:repent_oath = {
coronation_oath_reward_effect = { VARIABLE = repent_oath }
add_character_modifier = oath_repent
}
}
}
@ -2166,7 +2110,6 @@ coronation_events.0205 = {
geographical_region = graphical_india
culture ?= { has_building_gfx = iranian_building_gfx }
culture ?= { has_building_gfx = indian_building_gfx }
culture ?= { has_building_gfx = tibetan_building_gfx }
AND = {
geographical_region = world_europe_west_iberia
faith ?= { religion = religion:islam_religion }
@ -2232,7 +2175,6 @@ coronation_events.0205 = {
save_scope_as = value_target
}
activity_location = { save_scope_as = location }
activity_host = { save_scope_as = bg_override_char }
#Guards for orderly east asian ceremonies in the palace
if = {
limit = {
@ -5077,19 +5019,19 @@ coronation_events.0312 = { #Guest ending event
trigger = {
exists = scope:high_magnificence
}
desc = coronation_events.0312.desc.high_magnificence
desc = coronation_events.0310.desc.high_magnificence
}
triggered_desc = {
trigger = {
exists = scope:mid_magnificence
}
desc = coronation_events.0312.desc.mid_magnificence
desc = coronation_events.0310.desc.mid_magnificence
}
triggered_desc = {
trigger = {
exists = scope:low_magnificence
}
desc = coronation_events.0312.desc.low_magnificence
desc = coronation_events.0310.desc.low_magnificence
}
}
}
@ -5228,30 +5170,3 @@ coronation_events.0400 = { # HoF supports anointment
}
}
}
#Invalidated from host's primary title change
coronation_events.0401 = {
type = letter_event
opening = {
desc = coronation_events.0401.opening
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:host = {
highest_held_title_tier >= tier_kingdom
}
}
desc = coronation_events.0401.desc
}
desc = coronation_events.0401.desc_title_loss
}
}
sender = scope:host
option = {
name = coronation_events.0401.a
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -911,7 +911,7 @@ hold_court.1021 = {
scripted_trigger hold_court_3000_vassal_trigger = {
basic_is_available_ai = yes
is_adult = yes
short_term_gold >= standard_activity_base_cost
short_term_gold >= standard_activity_cost
has_court_event_flag = no
NOT = {
has_hook_of_type = {
@ -1024,7 +1024,7 @@ hold_court.3000 = {
}
pay_short_term_gold = {
target = root
gold = standard_activity_base_cost
gold = standard_activity_cost
}
}
custom_tooltip = hold_court.3000.a.tt
@ -1080,7 +1080,7 @@ hold_court.3000 = {
}
pay_short_term_gold = {
target = root
gold = standard_activity_base_cost
gold = standard_activity_cost
}
}
custom_tooltip = hold_court.3000.a.tt
@ -2751,7 +2751,6 @@ hold_court.3060 = {
opinion = 20
}
fire_councillor = scope:cp_steward
scope:cp_steward_replacement = { set_employer = prev }
assign_councillor_type = {
type = councillor_steward
target = scope:cp_steward_replacement
@ -3102,6 +3101,11 @@ hold_court.3090 = {
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
reverse_add_opinion = {
modifier = pleased_opinion
target = scope:different_culture_vassal
opinion = 20
}
if = {
limit = {
any_vassal = {
@ -3115,22 +3119,17 @@ hold_court.3090 = {
culture = scope:different_culture_vassal.culture
}
add_opinion = {
modifier = respect_opinion
target = root
opinion = 5
opinion = 5
modifier = respect_opinion
}
}
}
reverse_add_opinion = {
modifier = pleased_opinion
target = scope:different_culture_vassal
opinion = 20
}
stress_impact = {
greedy = medium_stress_gain
arrogant = medium_stress_gain
generous = medium_stress_loss
humble = medium_stress_loss
greedy = medium_stress_loss
arrogant = medium_stress_loss
generous = medium_stress_gain
humble = medium_stress_gain
}
ai_chance = {
@ -4024,11 +4023,11 @@ hold_court.4600 = {
has_trait = sadistic
AND = {
is_witch_trigger = yes
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = trait:witch GENDER_CHARACTER = root }
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = witch GENDER_CHARACTER = root }
}
AND = {
is_cannibal_trigger = yes
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = trait:cannibal GENDER_CHARACTER = root }
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = cannibal GENDER_CHARACTER = root }
}
}
OR = { # I care about dread
@ -6212,7 +6211,6 @@ hold_court.6040 = {
title = hold_court_6040_b_generic
add_learning_skill = 1
add_prestige = minor_prestige_gain
random_dummy_gender_effect = yes
create_artifact_book_effect = {
OWNER = root
CREATOR = scope:dummy_gender
@ -8301,28 +8299,22 @@ hold_court.6100 = {
immediate = {
random_vassal = {
limit = {
vassal_war_char_trigger = yes
any_character_war = { vassal_war_conflict_trigger = yes }
}
limit = { vassal_war_char_trigger = yes }
random_character_war = {
limit = { vassal_war_conflict_trigger = yes }
save_scope_as = vassal_war
}
}
scope:vassal_war = {
casus_belli = {
primary_attacker = {
court_event_character_flag_effect = yes
primary_attacker = {
save_scope_as = 6100_vassal_1
}
primary_defender = {
court_event_character_flag_effect = yes
save_scope_as = 6100_vassal_2
}
court_event_character_flag_effect = yes
}
primary_defender = {
save_scope_as = 6100_vassal_2
court_event_character_flag_effect = yes
}
}
if = {
limit = {
employs_court_position = court_jester_court_position
@ -10193,16 +10185,7 @@ hold_court.6140 = {
scripted_trigger hold_court_6160_valid_bankrupt_vassal_trigger = {
has_court_event_flag = no
is_available_ai_adult = yes
OR = {
AND = {
has_treasury = yes
treasury < 0
}
AND = {
has_treasury = no
gold < 0
}
}
gold < 0
}
scripted_trigger hold_court_6160_valid_hook_trigger = {
@ -10399,12 +10382,12 @@ hold_court.6160 = {
limit = {
is_ai = yes
}
short_term_treasury_or_gold >= major_gold_value
short_term_gold >= major_gold_value
}
}
pay_treasury_or_gold = {
pay_short_term_gold = {
target = scope:6160_vassal
value = medium_treasury_or_gold_value
gold = medium_gold_value
}
add_hook = {
type = indebted_hook
@ -10421,7 +10404,7 @@ hold_court.6160 = {
ai_chance = {
base = 100
modifier = {
short_term_treasury_or_gold < medium_treasury_or_gold_value
gold < medium_gold_value
add = -95
}
modifier = {
@ -10445,15 +10428,15 @@ hold_court.6160 = {
limit = {
is_ai = yes
}
short_term_treasury_or_gold >= major_gold_value
short_term_gold >= major_gold_value
}
}
scope:6160_vassal = {
remove_hook = { target = root }
}
pay_treasury_or_gold = {
pay_short_term_gold = {
target = scope:6160_vassal
value = medium_treasury_or_gold_value
gold = medium_gold_value
}
reverse_add_opinion = {
target = scope:6160_vassal
@ -10466,7 +10449,7 @@ hold_court.6160 = {
ai_chance = {
base = 120
modifier = {
short_term_treasury_or_gold < medium_treasury_or_gold_value
gold < medium_gold_value
add = -95
}
modifier = {
@ -10494,12 +10477,12 @@ hold_court.6160 = {
limit = {
is_ai = yes
}
short_term_treasury_or_gold >= major_treasury_or_gold_value
short_term_gold >= major_gold_value
}
}
pay_treasury_or_gold = {
pay_short_term_gold = {
target = scope:6160_vassal
value = medium_treasury_or_gold_value
gold = medium_gold_value
}
add_prestige = major_prestige_gain
change_current_court_grandeur = medium_court_grandeur_gain
@ -10516,7 +10499,7 @@ hold_court.6160 = {
ai_chance = {
base = 100
modifier = {
treasury_or_gold < medium_treasury_or_gold_value
gold < medium_gold_value
add = -95
}
modifier = {
@ -10547,12 +10530,12 @@ hold_court.6160 = {
limit = {
is_ai = yes
}
short_term_treasury_or_gold >= major_treasury_or_gold_value
short_term_gold >= major_gold_value
}
}
pay_treasury_or_gold = {
pay_short_term_gold = {
target = scope:6160_vassal
value = major_treasury_or_gold_value
gold = major_gold_value
}
add_piety = major_piety_gain
change_current_court_grandeur = major_court_grandeur_gain
@ -10572,7 +10555,7 @@ hold_court.6160 = {
ai_chance = {
base = 100
modifier = {
short_term_treasury_or_gold < major_treasury_or_gold_value
gold < major_gold_value
add = -95
}
modifier = {
@ -10603,7 +10586,7 @@ hold_court.6160 = {
limit = {
is_ai = yes
}
short_term_treasury_or_gold >= major_treasury_or_gold_value
short_term_gold >= major_gold_value
}
}
if = {
@ -10643,7 +10626,7 @@ hold_court.6160 = {
ai_chance = {
base = 120
modifier = {
short_term_treasury_or_gold < medium_treasury_or_gold_value
gold < medium_treasury_or_gold_value
add = -95
}
modifier = {
@ -10671,7 +10654,7 @@ hold_court.6160 = {
ai_chance = {
base = 100
modifier = {
short_term_treasury_or_gold < medium_treasury_or_gold_value
gold < medium_gold_value
add = 95
}
modifier = {
@ -17152,9 +17135,8 @@ hold_court.8090 = {
}
}
scope:vassal = {
court_position_generator_effect = { VAR = target EMPLOYER = root ONLY_EMPTY = no }
# SECONDARY OPTIONS SHOULD BE EMPTY
court_position_generator_effect = { VAR = backup EMPLOYER = root ONLY_EMPTY = yes }
court_position_generator_effect = { VAR = target EMPLOYER = root }
court_position_generator_effect = { VAR = backup EMPLOYER = root }
}
# Trigger next event in chain.
hold_court_queue_next_event_effect = yes
@ -23122,9 +23104,6 @@ hold_court.8180 = {
any_character_artifact = { exists = yes }
}
ordered_character_artifact = {
limit = {
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
order_by = artifact_rarity
save_scope_as = vassal_artifact
}
@ -24889,7 +24868,6 @@ scripted_trigger hold_court_8210_vassal_trigger = {
any_held_title = {
title_tier = county
any_neighboring_county = {
NOT = { this = root.capital_county }
holder = {
this = root
NOR = {

View file

@ -286,8 +286,8 @@ scripted_trigger pilgrimage_0500_valid_holy_site_trigger = {
NOR = {
this = root.location.barony
AND = {
exists = root.capital_province
this = root.capital_province.barony
exists = capital_province
this = capital_province.barony
}
}
}
@ -1900,7 +1900,7 @@ pilgrimage.1130 = {
pilgrimage_1130_anti_character_trigger = yes
is_of_major_interest_to_root_trigger = yes
}
alternative_limit = {
limit = {
pilgrimage_1130_anti_character_trigger = yes
is_of_minor_interest_to_root_trigger = yes
}
@ -2934,14 +2934,12 @@ pilgrimage.2005 = {
character = scope:rude_pilgrim
animation = laugh
}
cooldown = { years = 5 }
cooldown = { years = 2 }
trigger = {
is_location_valid_for_travel_event_on_land = yes
current_travel_plan ?= {
any_entourage_character = {
is_physically_able_ai_adult = yes
has_no_particular_noble_roots_trigger = yes
is_ruler = no
this != root
NOT = { is_courtier_of = root }
}
@ -2953,8 +2951,6 @@ pilgrimage.2005 = {
random_entourage_character = {
limit = {
is_physically_able_ai_adult = yes
has_no_particular_noble_roots_trigger = yes
is_ruler = no
this != root
NOT = { is_courtier_of = root }
}
@ -4725,7 +4721,7 @@ pilgrimage.2030 = {
option = {
name = pilgrimage.2030.c
trigger = { has_activity_intent = reflection_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
bonus_to_all_types_effect = yes
add_piety = miniscule_piety_gain
if = {
@ -5424,7 +5420,7 @@ pilgrimage.2101 = {
limit = {
NOT = {
government_has_flag = government_is_mandala
house ?= { has_house_aspiration_parameter = aspect_of_creation }
house ?= { has_house_power_parameter = aspect_of_creation }
}
}
random = {
@ -5484,7 +5480,7 @@ pilgrimage.2101 = {
limit = {
NOT = {
government_has_flag = government_is_mandala
house ?= { has_house_aspiration_parameter = aspect_of_creation }
house ?= { has_house_power_parameter = aspect_of_creation }
}
}
random = {
@ -5690,7 +5686,6 @@ pilgrimage.2501 = {
immediate = {
create_character = {
age = 31
dynasty = none
gender_female_chance = 0.5
trait = education_intrigue_1
trait = stubborn
@ -6340,7 +6335,6 @@ pilgrimage.3001 = {
desc = pilgrimage.3001.desc
theme = travel_pilgrimage
override_background = { reference = terrain_travel }
widget = { gui = event_window_widget_vfx_rain_storm container = foreground_shader_vfx_container }
left_portrait = {
character = root
triggered_animation = {
@ -6355,7 +6349,7 @@ pilgrimage.3001 = {
}
right_portrait = {
character = scope:zealous_priest
animation = debating
animation = personality_zealous
outfit_tags = { bishop_outfit }
}
cooldown = { years = 15 }
@ -6368,7 +6362,6 @@ pilgrimage.3001 = {
random_dummy_gender_clergy_effect = yes
create_character = {
age = 40
dynasty = none
gender = scope:dummy_clergy_gender
location = root.location
faith = root.faith
@ -6497,7 +6490,6 @@ pilgrimage.3002 = {
immediate = {
create_character = {
age = 40
dynasty = none
gender_female_chance = 50
location = root.location
faith = faith:adamites
@ -6530,12 +6522,6 @@ pilgrimage.3002 = {
worldly_type_option_effect = yes
add_piety = massive_piety_loss
set_character_faith = faith:adamites
if = {
limit = {
faith:adamites = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_to_entourage_court_and_activity_effect = {
CHAR_TO_ADD = scope:naked_preacher
NEW_COURT_OWNER = root
@ -6710,7 +6696,7 @@ pilgrimage.3004 = {
}
right_portrait = {
character = scope:doomsayer
animation = debating
animation = personality_zealous
outfit_tags = { monk_outfit }
}
cooldown = { years = 15 }
@ -6723,7 +6709,6 @@ pilgrimage.3004 = {
random_dummy_gender_clergy_effect = yes
create_character = {
age = 40
dynasty = none
trait = devoted
gender = scope:dummy_clergy_gender
location = root.location
@ -7109,7 +7094,6 @@ pilgrimage.3301 = {
random_dummy_gender_clergy_effect = yes
create_character = {
age = 80
dynasty = none
gender = scope:dummy_clergy_gender
location = root.location
faith = root.faith
@ -7203,7 +7187,6 @@ pilgrimage.3302 = {
immediate = {
create_character = {
age = 80
dynasty = none
template = default_mystic_character
location = root.location
culture = root.location.county.culture
@ -7217,7 +7200,7 @@ pilgrimage.3302 = {
factor = 2
OR = { #you're in a reflection journey
has_activity_intent = reflection_intent
involved_activity = {
scope:activity = {
has_activity_option = {
category = special_type
option = pilgrimage_type_pious
@ -7243,7 +7226,7 @@ pilgrimage.3302 = {
}
}
}
#Humble Reflection
#Humble Relection
option = {
name = pilgrimage.3302.b
pious_type_option_effect = yes
@ -7332,7 +7315,7 @@ pilgrimage.3303 = {
factor = 2
OR = { #you're in a reflection journey
has_activity_intent = reflection_intent
involved_activity = {
scope:activity = {
has_activity_option = {
category = special_type
option = pilgrimage_type_pious
@ -7508,7 +7491,7 @@ pilgrimage.3401 = {
factor = 2
OR = { #you're in a reflection journey
has_activity_intent = reflection_intent
involved_activity = {
scope:activity = {
has_activity_option = {
category = special_type
option = pilgrimage_type_pious
@ -8197,7 +8180,6 @@ pilgrimage.6007 = {
immediate = {
play_music_cue = "mx_cue_sacredrite"
create_character = {
dynasty = none
location = root.location
template = priest_character_template
faith = root.faith
@ -10341,7 +10323,6 @@ pilgrimage.6530 = {
#template = peasant_villager_foundling_character
location = root.location
age = { 5 10 }
dynasty = none
random_traits = yes
culture = root.location.county.culture
faith = root.location.county.faith
@ -13910,9 +13891,6 @@ pilgrimage.6850 = {
#Improve your spymaster's secret discovery chance
option = {
name = pilgrimage.6850.b
trigger = {
exists = cp:councillor_spymaster
}
add_learning_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = spymaster_eyes_modifier

View file

@ -192,7 +192,7 @@ tour_grounds_events.6000 = {
trigger_if = {
limit = {
NOT = { is_incestuous_trigger = yes }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = root.faith GENDER_CHARACTER = root }
}
NOT = { is_close_or_extended_family_of = scope:stop_host_scope }
}
@ -392,8 +392,6 @@ scripted_trigger tg_6100_location_has_cathedral_trigger = {
has_building_or_higher = holy_wisdom_01
has_building_or_higher = duomo_florence_01
has_building_or_higher = wawel_cathedral_01
has_building_or_higher = holy_site_st_peters_basilica_01
has_building_or_higher = mont_st_michel_02
}
}
@ -406,8 +404,6 @@ scripted_trigger tg_6100_location_has_mosque_trigger = {
has_building_or_higher = holy_site_great_mosque_of_samarra_01
has_building_or_higher = holy_site_prophetic_mosque_01
has_building_or_higher = damascus_mosque_01
has_building_or_higher = qutb_minar_03
has_building_or_higher = yazd_mosque_01
}
}

View file

@ -2186,15 +2186,6 @@ cultural_festival.2060 = {
}
any_character_artifact = { #you bring something with you
is_equipped = no
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:stop_host_scope }
trigger_if = {
limit = {
scope:stop_host_scope = {
highest_held_title_tier > tier_kingdom #No point in giving a court artifact if this is a character without a court.
}
}
ep1_artifact_is_court_artifact_trigger = no
}
}
}
@ -2221,7 +2212,6 @@ cultural_festival.2060 = {
random_character_artifact = {
limit = {
is_equipped = no
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:stop_host_scope }
trigger_if = {
limit = {
scope:stop_host_scope = {
@ -2246,7 +2236,6 @@ cultural_festival.2060 = {
}
alternative_limit = {
is_equipped = no
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:stop_host_scope }
trigger_if = {
limit = {
scope:stop_host_scope = {
@ -2259,7 +2248,6 @@ cultural_festival.2060 = {
}
alternative_limit = {
is_equipped = no
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:stop_host_scope }
trigger_if = {
limit = {
scope:stop_host_scope = {
@ -3563,7 +3551,7 @@ cultural_festival.2110 = {
trigger = {
has_activity_intent = reduce_stress_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
stress_impact = {
base = major_stress_impact_loss #your reward
callous = minor_stress_impact_gain
@ -5383,7 +5371,6 @@ cultural_festival.3040 = {
artifact_type = dagger
artifact_type = sword
}
artifact_can_be_gift_advance_trigger = yes
}
}
@ -5397,7 +5384,6 @@ cultural_festival.3040 = {
artifact_type = dagger
artifact_type = sword
}
artifact_can_be_gift_advance_trigger = yes
}
save_scope_as = sword_in_the_stone_scope
}
@ -8833,15 +8819,12 @@ cultural_festival.4300 = { #Vassal: Decide which gift to give
has_any_artifact = yes
any_character_artifact = {
category = inventory
NOT = { has_variable = historical_unique_artifact }
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:visiting_liege }
}
}
random_character_artifact = {
limit = {
category = inventory
NOT = { has_variable = historical_unique_artifact }
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:visiting_liege }
}
save_scope_as = existing_artifact
}
@ -9188,20 +9171,21 @@ cultural_festival.4302 = { #Liege: Pick the gift for Vassal, mirror of cultural_
immediate = {
if = {
limit = {
has_any_artifact = yes
any_character_artifact = {
category = inventory
NOT = { has_variable = historical_unique_artifact }
NOT = { has_variable = received_as_cultural_gift } #make sure you don't give back the thing you just got
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:stop_host_scope }
root = {
has_any_artifact = yes
any_character_artifact = {
category = inventory
NOT = { has_variable = historical_unique_artifact }
NOT = { has_variable = received_as_cultural_gift } #make sure you don't give back the thing you just got
}
}
}
random_character_artifact = {
limit = {
category = inventory
artifact_owner = root
NOT = { has_variable = historical_unique_artifact }
NOT = { has_variable = received_as_cultural_gift }
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:stop_host_scope }
}
save_scope_as = existing_artifact
}

View file

@ -1739,10 +1739,7 @@ tour_travel.3120 = {
chance = 50
set_variable = inn_artifact_var
scope:vassal_inn = {
random_character_artifact = {
limit = { artifact_can_be_gift_to_trigger = { RECIPIENT = root } }
save_scope_as = vassal_artifact
}
random_character_artifact = { save_scope_as = vassal_artifact }
}
}
}
@ -2046,7 +2043,7 @@ tour_travel.3130 = {
trigger = {
has_activity_intent = justice_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
capital_province.county = {
add_county_modifier = {
modifier = peasant_influx_modifier
@ -2275,7 +2272,7 @@ tour_travel.3140 = {
}
##################################################
# Danger! Ghino di Tacco-ish local ruler invites you to a banquet before stealing from you, then he confesses there are not that many options here to survive and needs money for his family and subjects. Changed the story so much that's almost unrecognizable, apologies.
# Danger! Ghino di Tacco-ish local ruler invites you to a banquet before stealing from you, then he confesses there are not that many options here to survive and needs money for his family and subjects. Changed the story so much that's almost unrecognisible, apologies.
# by Veronica Pazos
# 3110-3111
##################################################

View file

@ -78,7 +78,7 @@ historical_artifacts.0023 = {
}
# Court Artifacts: Buddhism
while = {
count = 12
count = 6
random_character_with_royal_court = {
limit = {
faith.religion = religion:buddhism_religion
@ -496,165 +496,6 @@ historical_artifacts.0023 = {
create_artifact_spear_of_the_prophet_effect = { OWNER = this }
}
}
### Banke no Hoken ~785
if = { # Chrysanthemum Throne
limit = {
has_dlc_feature = royal_court
current_date >= 867.1.1
exists = title:k_chrysanthemum_throne.holder
}
title:k_chrysanthemum_throne.holder = {
create_artifact_pedestal_sakanoue_sword_effect = { OWNER = this }
}
}
### Higekiri ~950
if = { # Seiwa
limit = {
current_date = 1066.9.15
exists = title:c_nf_minamoto_seiwa.holder
}
title:c_nf_minamoto_seiwa.holder = {
create_artifact_higekiri_sword_effect = { OWNER = this }
}
}
else_if = { # Kawachi
limit = {
current_date >= 1178.10.1
exists = title:c_nf_minamoto_kawachi.holder
}
title:c_nf_minamoto_kawachi.holder = {
create_artifact_higekiri_sword_effect = { OWNER = this }
}
}
### Hizamaru ~950
if = { # Kawachi
limit = {
current_date = 1066.9.15
exists = title:c_nf_minamoto_kawachi.holder
}
title:c_nf_minamoto_kawachi.holder = {
create_artifact_hizamaru_sword_effect = { OWNER = this }
}
}
else_if = { # Yoshitsune
limit = {
current_date >= 1178.10.1
exists = title:d_laamp_yoshitsune.holder
}
title:d_laamp_yoshitsune.holder = {
create_artifact_hizamaru_sword_effect = { OWNER = this }
}
}
### Dojigiri ~880
if = { # Uona
limit = {
current_date = 1066.9.15
exists = title:c_nf_fujiwara_uona.holder
}
title:c_nf_fujiwara_uona.holder = {
create_artifact_dojigiri_sword_effect = { OWNER = this }
}
}
else_if = { # Oshu
limit = {
current_date >= 1178.10.1
exists = title:c_nf_fujiwara_oshu.holder
}
title:c_nf_fujiwara_oshu.holder = {
create_artifact_dojigiri_sword_effect = { OWNER = this }
}
}
### Mikazuki Munechika ~980
if = { # Kan'in
limit = {
current_date = 1066.9.15
exists = title:c_nf_fujiwara_kanin.holder
}
title:c_nf_fujiwara_kanin.holder = {
create_artifact_mikazuki_munechika_sword_effect = { OWNER = this }
}
}
else_if = { # Tokudaiji
limit = {
current_date >= 1178.10.1
exists = title:c_nf_fujiwara_ashikaga.holder
}
title:c_nf_fujiwara_ashikaga.holder = {
create_artifact_mikazuki_munechika_sword_effect = { OWNER = this }
}
}
### Ōtenta ~1082
if = { # Kiso
limit = {
current_date >= 1178.10.1
exists = title:c_nf_minamoto_kiso.holder
}
title:c_nf_minamoto_kiso.holder = {
create_artifact_odenta_sword_effect = { OWNER = this }
}
}
### Hamayumi ~1145
if = { # Chrysanthemum Throne
limit = {
has_dlc_feature = royal_court
current_date >= 1178.1.1
exists = title:k_chrysanthemum_throne.holder
}
title:k_chrysanthemum_throne.holder = {
create_artifact_pedestal_hamayumi_bow_effect = { OWNER = this }
}
}
### Shichishitō <500
if = { # Chrysanthemum Throne
limit = {
current_date >= 867.1.1
exists = title:k_chrysanthemum_throne.holder
}
title:k_chrysanthemum_throne.holder = {
create_artifact_pedestal_seven_branched_sword_effect = { OWNER = this }
}
}
### Gyerim-ro dagger ~867
if = { # Silla
limit = {
current_date = 867.1.1 # Only 867
exists = title:k_silla.holder
}
title:k_silla.holder = {
create_artifact_pedestal_gyerimro_dagger_effect = { OWNER = this }
}
}
### Nukemaru ~1120
if = { # Taira
limit = {
current_date >= 1178.1.1
exists = title:c_nf_taira_kanmu.holder
}
title:c_nf_taira_kanmu.holder = {
create_artifact_nukemaru_sword_effect = { OWNER = this }
}
}
### Kogarasumaru ~945
if = { # Taira
limit = {
current_date >= 1066.9.15
exists = title:c_nf_taira_kanmu.holder
}
title:c_nf_taira_kanmu.holder = {
create_artifact_kogarasumaru_sword_effect = { OWNER = this }
}
}
## Armor
### Karakawa ~800
if = { # Taira
limit = {
current_date >= 867.1.1
exists = title:c_nf_taira_kanmu.holder
}
title:c_nf_taira_kanmu.holder = {
create_artifact_karakawa_armor_effect = { OWNER = this }
}
}
## Books, Scrolls, & Other Recorded Nerdery
### Konagamana
if = {
@ -927,84 +768,6 @@ historical_artifacts.0023 = {
}
}
}
#Imperial Seals
every_character_with_royal_court = {
limit = {
has_tgp_dlc_trigger = yes
is_independent_ruler = yes
government_allows = merit
}
create_artifact_dynastic_imperial_seal_effect = {
OWNER = this
SMITH = this
}
}
title:k_chrysanthemum_throne.holder ?= {
create_artifact_dynastic_imperial_seal_effect = {
OWNER = this
SMITH = this
}
}
#Heirloom Seal
#Only in 867
if = {
limit = {
has_tgp_dlc_trigger = yes
exists = title:h_china.holder
current_date <= 940.1.1
}
title:h_china.holder = {
create_artifact_heirloom_seal_effect = {
OWNER = this
}
}
}
#Armillary Sphere
if = {
limit = {
has_tgp_dlc_trigger = yes
}
title:h_china.holder = {
create_artifact_chinese_armillary_sphere_effect = {
OWNER = this
}
}
}
#Eight-Fold Chest
if = {
limit = {
has_tgp_dlc_trigger = yes
}
title:h_china.holder = {
create_artifact_eight_fold_chest_effect = {
OWNER = this
}
}
}
#Complete Military Classics
if = {
limit = {
has_tgp_dlc_trigger = yes
current_date > 1150.1.1 #Needs to be long past creation date for this to make sense
}
title:h_china.holder = {
create_artifact_military_classics_effect = {
OWNER = this
}
}
}
#Green Stone Amitabha Buddha Statue
if = {
limit = {
has_tgp_dlc_trigger = yes
current_date >= 1066.5.1
}
title:k_viet.holder = {
create_artifact_statue_viet_green_amitabha_buddha_effect = {
OWNER = this
}
}
}
}
}

View file

@ -1499,8 +1499,8 @@ birth.1003 = {
character = scope:second_adult
animation = newborn
}
lower_center_portrait = scope:child
lower_right_portrait = scope:child_2
lower_left_portrait = scope:child
lower_center_portrait = scope:child_2
trigger = {
OR = {
scope:father = scope:real_father
@ -1510,8 +1510,10 @@ birth.1003 = {
NOT = {
any_known_secret = {
secret_owner = scope:mother
secret_type = secret_disputed_heritage
secret_target = scope:child
AND = {
secret_type = secret_disputed_heritage
secret_target = scope:child
}
}
}
}
@ -3324,18 +3326,12 @@ birth.8011 = {
liege_has_co_emperorship_trigger = yes
liege = {
is_roman_emperor_trigger = yes
OR = {
capital_county = title:c_byzantion #Must rule from the Bucoleon Palace.
capital_county = title:c_roma # ... or from Rome itself.
}
capital_county = title:c_byzantion #Must rule from the Bucoleon Palace.
}
}
trigger_else = {
is_roman_emperor_trigger = yes
OR = {
capital_county = title:c_byzantion #Must rule from the Bucoleon Palace.
capital_county = title:c_roma # ... or from Rome itself.
}
capital_county = title:c_byzantion #Must rule from the Bucoleon Palace.
}
}
mother = {
@ -3345,7 +3341,6 @@ birth.8011 = {
exists = location # Security check
OR = {
location = title:c_byzantion.title_province
location = title:c_roma.title_province
# Be a bit more lenient with co-emperors.
AND = {
is_diarch = yes
@ -3356,6 +3351,7 @@ birth.8011 = {
liege_has_co_emperorship_trigger = yes
}
}
}
AND = { #Landed rulers can be assumed to make the journey, unless they have some extremely pressing reason not to.
is_ruler = yes

View file

@ -715,7 +715,7 @@ bp1_yearly.7003 = {
option = { #Expose them
name = bp1_yearly.7003.a
trigger = {
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = trait:deviant GENDER_CHARACTER = root }
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = deviant GENDER_CHARACTER = root }
}
@ -1830,6 +1830,10 @@ bp1_yearly.7052 = {
}
}
stress_impact = {
ambitious = minor_stress_impact_gain
}
progress_towards_friend_effect = {
REASON = friend_story_by_fire
CHARACTER = scope:story_friend
@ -1875,7 +1879,9 @@ bp1_yearly.7052 = {
}
stress_impact = {
shy = minor_stress_gain
ambitious = minor_stress_loss
lazy = minor_stress_gain
}
ai_chance = {

View file

@ -2929,24 +2929,22 @@ court_events.3120 = {
any_courtier_or_guest = {
is_available = yes
OR = {
inspiration ?= {
OR = {
has_inspiration_type = weapon_inspiration
has_inspiration_type = armor_inspiration
has_inspiration_type = smith_inspiration
has_inspiration_type = weaver_inspiration
has_inspiration_type = artisan_inspiration
AND = {
inspiration ?= {
NOR = {
has_inspiration_type = adventure_inspiration
has_inspiration_type = alchemy_inspiration
has_inspiration_type = book_inspiration
}
}
}
AND = {
has_completed_inspiration = yes
var:created_artifact_type ?= {
OR = {
this = flag:weapon
this = flag:armor
this = flag:smith
this = flag:weaver
this = flag:artisan
NOR = {
this = flag:adventure
this = flag:alchemy
this = flag:book
}
}
}
@ -3027,24 +3025,23 @@ court_events.3120 = {
limit = {
is_available = yes
OR = {
inspiration ?= {
OR = {
has_inspiration_type = weapon_inspiration
has_inspiration_type = armor_inspiration
has_inspiration_type = smith_inspiration
has_inspiration_type = weaver_inspiration
has_inspiration_type = artisan_inspiration
AND = {
exists = inspiration
inspiration ?= {
NOR = {
has_inspiration_type = adventure_inspiration
has_inspiration_type = alchemy_inspiration
has_inspiration_type = book_inspiration
}
}
}
AND = {
has_completed_inspiration = yes
var:created_artifact_type ?= {
OR = {
this = flag:weapon
this = flag:armor
this = flag:smith
this = flag:weaver
this = flag:artisan
NOR = {
this = flag:adventure
this = flag:alchemy
this = flag:book
}
}
}

View file

@ -2486,7 +2486,6 @@ court.3031 = {
option = {
name = court.3031.c
every_sub_realm_county = {
custom = every_culture_county_3031
limit = {
culture = scope:reference_county.culture
}
@ -8735,7 +8734,6 @@ court.8010 = {
limit = {
any_character_artifact = {
count > 1
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:underequipped }
artifact_slot_type = primary_armament
}
}
@ -8743,7 +8741,6 @@ court.8010 = {
limit = {
is_equipped = no
artifact_slot_type = primary_armament
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:underequipped }
}
order_by = {
value = 0
@ -13415,41 +13412,13 @@ court.9300 = {
}
immediate = {
random_courtier = {
limit = {
is_available_ai_adult = yes
has_court_event_flag = no
save_temporary_scope_as = another_courtier_check
root = {
any_courtier_or_guest = {
is_available_ai_adult = yes
has_court_event_flag = no
loves_food_trigger = yes
NOR = {
this = scope:another_courtier_check
is_of_major_interest_to_root_trigger = yes
}
is_of_minor_interest_to_root_trigger = yes
}
}
}
weight = {
base = 1
modifier = {
add = 100
is_knight = yes
}
}
save_scope_as = worried_courtier
court_event_character_flag_effect = yes
}
random_courtier_or_guest = {
limit = {
is_available_ai_adult = yes
has_court_event_flag = no
loves_food_trigger = yes
NOR = {
this = scope:worried_courtier
this = scope:another_courtier_check
is_of_major_interest_to_root_trigger = yes
}
is_of_minor_interest_to_root_trigger = yes
@ -13470,6 +13439,21 @@ court.9300 = {
save_scope_as = overindulger_target
court_event_character_flag_effect = yes
}
random_courtier = {
limit = {
is_available_ai_adult = yes
this != scope:overindulger_target
}
weight = {
base = 1
modifier = {
add = 100
is_knight = yes
}
}
save_scope_as = worried_courtier
court_event_character_flag_effect = yes
}
}
option = { # Stealing the King's treats, are we!?

View file

@ -706,7 +706,10 @@ court_events.1010 = {
scope:grander_ruler = {
any_character_artifact = {
ep1_artifact_is_court_artifact_trigger = yes
artifact_can_be_gift_advance_trigger = yes
NOR = {
has_variable = banner_house
has_variable = banner_dynasty
}
}
}
}
@ -714,7 +717,10 @@ court_events.1010 = {
random_character_artifact = {
limit = {
ep1_artifact_is_court_artifact_trigger = yes
artifact_can_be_gift_advance_trigger = yes
NOR = {
has_variable = banner_house
has_variable = banner_dynasty
}
}
save_scope_as = coveted_artifact
}

View file

@ -292,7 +292,8 @@ court_maintenance.0011 = {
# No owned house banner
NOT = {
any_character_artifact = {
var:banner_house ?= root.house
has_variable = banner_house
var:banner_house = root.house
}
}
AND = {
@ -301,14 +302,15 @@ court_maintenance.0011 = {
this = dynasty.dynast # Dynasty Head
any_parent = { # Parent landless
employer = prev
dynasty ?= prev.dynasty
dynasty = prev.dynasty
this = dynasty.dynast
}
}
# Dynasty banner does not exist
NOT = {
any_character_artifact = {
var:banner_dynasty ?= root.dynasty
has_variable = banner_dynasty
var:banner_dynasty = root.dynasty
}
}
}

View file

@ -30,16 +30,12 @@
#I united the western slavs
east_europe.0001 = { #by Mathilda Bjarnehed
type = character_event
window = big_event_window
title = east_europe.0001.t
desc = east_europe.0001.desc
theme = crown
override_effect_2d = { reference = legend_glow }
override_background = ep2_travel_farms
theme = realm
left_portrait = {
character = scope:western_slav_uniter
animation = sword_coup_degrace
camera = camera_event_center_very_large
animation = personality_honorable
}
immediate = {
@ -120,14 +116,10 @@ east_europe.0010 = { #by Mathilda Bjarnehed
type = character_event
title = east_europe.0010.t
desc = east_europe.0010.desc
theme = crown
window = big_event_window
override_effect_2d = { reference = legend_glow }
override_background = courtyard
theme = realm
left_portrait = {
character = scope:slav_uniter
animation = jockey_wave
camera = camera_event_horse_right
animation = personality_honorable
}
immediate = {
@ -558,12 +550,6 @@ east_europe.0034 = {
NOT = { religion = religion:magyar_religion }
}
set_character_faith_with_conversion = faith:magyar_pagan
if = {
limit = {
faith:magyar_pagan = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
}
#Those who aren't pagans are probably horrified.
@ -1494,12 +1480,6 @@ east_europe.0116 = {
#I'll just quietly convert by myself.
set_character_faith = scope:hof.faith
if = {
limit = {
scope:hof.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
#Costs you some piety, but easier to flip back from.
add_piety = minor_piety_loss
#Set up scope:accuser loc.
@ -1547,12 +1527,6 @@ east_europe.0116 = {
#The realm must join me!
set_character_faith_with_conversion = scope:hof.faith
if = {
limit = {
scope:hof.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
#A pious act, from the POV of your new faith.
add_piety = medium_piety_gain
#Set up scope:accuser loc.
@ -2610,7 +2584,7 @@ east_europe.0125 = {
#Default to yes.
100 = {
trigger_event = {
id = east_europe.0113
id = east_europe.113
days = { 7 14 }
}

View file

@ -1459,12 +1459,6 @@ iberia_north_africa.0122 = {
}
set_character_faith_with_conversion = scope:religious_leader.faith
if = {
limit = {
scope:religious_leader.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
show_as_tooltip = {
scope:religious_leader = {
favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes

View file

@ -1043,7 +1043,7 @@ mpo_greatest_of_khans.0001 = {
add_dynasty_prestige = fought_gok_alone_value
}
}
mpo_add_golden_lineage_effect = yes
mpo_add_golden_lineage_effect = { CHARACTER = root }
}
option = {
@ -1143,7 +1143,7 @@ mpo_greatest_of_khans.0002 = {
custom_tooltip = gok_threatening_powers_tt
custom_tooltip = mongol_invasion.1002.genghis_khan_tt
custom_tooltip = gok_time_limit_end_decision_other_players_tt
mpo_add_golden_lineage_effect = yes
mpo_add_golden_lineage_effect = { CHARACTER = scope:genghis_khan }
}
if = {
limit = {
@ -2493,7 +2493,7 @@ mpo_greatest_of_khans.1001 = {
custom_tooltip = genghis_khan_mongol_troops_tt
custom_tooltip = gok_threatening_powers_tt
custom_tooltip = mongol_invasion.1002.genghis_khan_tt
mpo_add_golden_lineage_effect = yes
mpo_add_golden_lineage_effect = { CHARACTER = scope:temujin }
}
if = {

View file

@ -1218,12 +1218,6 @@ roman_restoration.0101 = {
}
}
set_character_faith = scope:mending_faith
if = {
limit = {
scope:mending_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
every_held_title = {
title_tier = county
set_county_faith = scope:mending_faith

View file

@ -4128,8 +4128,10 @@ scripted_trigger ach_coronation_0016_eligible_artifact = {
NOR = {
artifact_slot_type = helmet
artifact_slot_type = regalia
has_variable = banner_house
has_variable = banner_dynasty
has_variable = 1025_treasure_map
}
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:host }
artifact_durability > 10
}
@ -4340,7 +4342,6 @@ ach_coronation.0016 = {
}
}
ordered_character_artifact = { # Try and give away the worst one first
limit = { artifact_can_be_gift_to_trigger = { RECIPIENT = scope:host } }
order_by = {
value = 1
if = {
@ -5370,7 +5371,6 @@ scripted_trigger ach_coronation_0018_eligible_family_member_trigger = {
scripted_trigger ach_coronation_0018_grantable_title_trigger = {
tier = tier_county
this != scope:host.capital_county
is_landless_type_title = no
}
scripted_effect ach_coronation_0018_choose_title_effect = {
@ -6356,13 +6356,6 @@ ach_coronation.0020 = {
trigger = {
involved_activity = {
activity_host = {
any_held_title = {
tier = tier_county
this != prev.capital_county
is_landless_type_title = no
}
}
any_attending_character = {
ach_coronation_0018_eligible_family_member_trigger = yes
}
@ -6715,9 +6708,11 @@ ach_coronation.0022 = {
# Ongoing plague
any_sub_realm_county = {
count >= 3
any_county_province_epidemic = {
count >= 1
outbreak_intensity > minor
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity > minor
}
}
}
}
@ -6743,9 +6738,11 @@ ach_coronation.0022 = {
# Ongoing plague
any_sub_realm_county = {
count >= 10
any_county_province_epidemic = {
count >= 1
outbreak_intensity > minor
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity > minor
}
}
}
}
@ -6758,9 +6755,11 @@ ach_coronation.0022 = {
# Ongoing plague
any_sub_realm_county = {
count >= 3
any_county_province_epidemic = {
count >= 1
outbreak_intensity > major
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity > major
}
}
}
}
@ -6789,9 +6788,11 @@ ach_coronation.0022 = {
limit = {
any_sub_realm_county = {
count >= 4
any_county_province_epidemic = {
count >= 1
outbreak_intensity = apocalyptic
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity = apocalyptic
}
}
}
}
@ -6912,6 +6913,7 @@ ach_coronation.0022 = {
}
}
}
custom_tooltip = available_because_intent_tt
flavor = ach_coronation.0022.a.coronation_disrupt_loyalists.flavor
reason = activity_intent
skill = diplomacy
@ -7020,7 +7022,7 @@ ach_coronation.0022 = {
option = { # It's not our goodly Host's fault!
name = ach_coronation.0022.a.offer_support
trigger = { has_activity_intent = coronation_offer_support }
reason = activity_intent
custom_tooltip = available_because_intent_tt
flavor = ach_coronation.0022.a.offer_support.flavor
add_piety = medium_piety_loss

View file

@ -684,7 +684,7 @@ ach_maintenance_events.0105 = { #Host excommunicated, notify guests
}
immediate = {
scope:host.faith.religious_head = { save_scope_as = hof }
faith.religious_head = { save_scope_as = hof }
}
option = {
@ -710,7 +710,7 @@ ach_maintenance_events.0106 = { #Host excommunicated, notify host
}
immediate = {
scope:hof.faith.religious_head = { save_scope_as = hof }
faith.religious_head = { save_scope_as = hof }
}
option = {

View file

@ -5791,6 +5791,7 @@ bp3_journey.2200 = {
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
}
is_valid_to_hire_court_position_type = master_of_spoils_camp_officer
}
random_pool_character = {
province = scope:location

View file

@ -202,13 +202,16 @@ bp3_survey.0010 = {
scope:inspection_location = {
random_neighboring_county = {
limit = {
holder = {
NOR = {
is_vassal_or_below_of = root
this = root
exists = holder
holder.top_liege = root.location.county.holder.top_liege
NOT = {
holder = {
OR = {
is_vassal_of = root
this = root
}
}
}
holder.top_liege = root.location.county.holder.top_liege
}
save_scope_as = claim_location
}
@ -283,8 +286,7 @@ bp3_survey.0010 = {
}
}
}
else_if = { # Not focused on Claims
limit = { exists = scope:claim_location }
else = { # Not focused on Claims
scope:claim_location.duchy = {
if = {
limit = {
@ -683,35 +685,35 @@ bp3_survey.0010 = {
value = major_merit_gain
house ?= {
if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_5 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_5 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_5_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_4 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_4 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_4_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_3 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_3 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_3_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_2 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_2 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_2_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_1 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_1 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_1_value
@ -727,7 +729,7 @@ bp3_survey.0010 = {
# If you have the governance aspiration, you gain some gold and a higher salary
if = {
limit = {
house ?= { has_house_aspiration_parameter = inspection_activity_increases_salary }
house ?= { has_house_power_parameter = inspection_activity_increases_salary }
}
scope:activity = {
add_activity_log_entry = {
@ -850,35 +852,35 @@ bp3_survey.0010 = {
value = minor_merit_gain
house ?= {
if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_5 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_5 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_5_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_4 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_4 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_4_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_3 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_3 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_3_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_2 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_2 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_2_value
}
}
else_if = {
limit = { has_house_aspiration_parameter = inspection_activity_merit_bonus_1 }
limit = { has_house_power_parameter = inspection_activity_merit_bonus_1 }
multiply = {
value = 1
add = inspection_activity_merit_bonus_1_value
@ -894,7 +896,7 @@ bp3_survey.0010 = {
# If you have the governance aspiration, you gain some gold and a higher salary - but less than if you were successful
if = {
limit = {
house ?= { has_house_aspiration_parameter = inspection_activity_increases_salary }
house ?= { has_house_power_parameter = inspection_activity_increases_salary }
}
scope:activity = {
add_activity_log_entry = {

View file

@ -90,16 +90,6 @@ epidemic_events.0100 = {
title = epidemic_events.0100.t
desc = epidemic_events.0100.desc
theme = plague
override_background = {
trigger = {
NOT = {
capital_county = {
has_province_with_epidemic = { intensity = any }
}
}
}
reference = tavern
}
left_portrait = {
character = root
animation = fear
@ -120,16 +110,6 @@ epidemic_events.0101 = {
title = epidemic_events.0101.t
desc = epidemic_events.0101.desc
theme = plague
override_background = {
trigger = {
NOT = {
capital_county = {
has_province_with_epidemic = { intensity = any }
}
}
}
reference = courtyard
}
left_portrait = {
character = root
animation = personality_content
@ -1853,7 +1833,7 @@ epidemic_events.1060 = {
20 = {
trigger = {
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -2534,7 +2514,7 @@ epidemic_events.1063 = {
AND = {
is_witch_trigger = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -2542,7 +2522,7 @@ epidemic_events.1063 = {
AND = {
is_incestuous_trigger = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:incestuous
TRAIT = incestuous
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -6739,7 +6719,7 @@ epidemic_events.5007 = {
trigger = {
is_available = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
FAITH = root.faith
GENDER_CHARACTER = root
}
@ -6780,7 +6760,7 @@ epidemic_events.5007 = {
is_available_healthy_ai_adult = yes
is_ai = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
FAITH = this.faith
GENDER_CHARACTER = this
}

View file

@ -473,95 +473,13 @@ legend_events.0010 = {
character = root
animation = personality_honorable
}
right_portrait = {
center_portrait = {
character = scope:chronicler
animation = chancellor
}
lower_center_portrait = scope:potential_promoter
trigger = {
OR = {
scope:chronicler ?= {
is_alive = yes
has_court_position = chronicler_court_position
employer = root
}
employs_court_position = chronicler_court_position
}
OR = {
# Vassals
any_vassal_or_below = {
# No barons
highest_held_title_tier >= tier_county
# Not promoting their own legend
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
# Neighbourinos
any_neighboring_and_across_water_top_liege_realm_owner = {
# Not promoting their own legend
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
}
immediate = {
if = {
limit = {
NOT = {
scope:chronicler ?= {
is_alive = yes
has_court_position = chronicler_court_position
employer = root
}
}
}
court_position:chronicler_court_position ?= { save_scope_as = chronicler }
}
random_list = {
# Vassals
75 = {
trigger = {
any_vassal_or_below = {
highest_held_title_tier >= tier_county
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
random_vassal_or_below = {
limit = {
highest_held_title_tier >= tier_county
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
save_scope_as = potential_promoter
}
}
# Neighbourinos
25 = {
trigger = {
any_neighboring_and_across_water_top_liege_realm_owner = {
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
random_neighboring_and_across_water_top_liege_realm_owner = {
limit = {
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
save_scope_as = potential_promoter
}
}
}
right_portrait = {
character = scope:potential_promoter
animation = chancellor
}
option = { # Diplo duel option
@ -579,10 +497,8 @@ legend_events.0010 = {
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.success
right_icon = scope:potential_promoter
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
@ -598,10 +514,8 @@ legend_events.0010 = {
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.failure
right_icon = scope:potential_promoter
add_prestige = minor_prestige_loss
}
}
@ -630,10 +544,8 @@ legend_events.0010 = {
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.success
right_icon = scope:potential_promoter
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
@ -649,10 +561,8 @@ legend_events.0010 = {
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.failure
right_icon = scope:potential_promoter
add_prestige = minor_prestige_loss
}
}

View file

@ -4460,7 +4460,7 @@ legend_spread_events.5230 = {
}
# Just to ensure people are actually freaked out by this
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = {
TRAIT = trait:cannibal
TRAIT = cannibal
GENDER_CHARACTER = root
}
}
@ -6307,8 +6307,10 @@ legend_spread_events.5320 = {
random_character_artifact = {
limit = {
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:vassal }
NOR = {
#Ensure it's not trash
has_variable = unwanted_artifact
#And doesn't have a claim on it
any_artifact_claimant = {
is_alive = no

View file

@ -1248,8 +1248,6 @@ physician_epidemic_events.1050 = {
character = scope:enemy
}
cooldown = { years = 20 }
trigger = {
is_at_war = yes
exists = court_position:court_physician_court_position

View file

@ -114,7 +114,7 @@ court_position.9001 = {
# FOR TARGET: Food taster dies to poison
court_position.9002 = {
type = character_event
window = scheme_conclusion_event_no_header
window = scheme_target_event
title = court_position.9001.t
desc = {
desc = court_position.9002.desc
@ -291,7 +291,7 @@ court_position.9011 = {
# FOR TARGET: Cup-bearer dies to poison
court_position.9012 = {
type = character_event
window = scheme_conclusion_event_no_header
window = scheme_target_event
title = court_position.9011.t
desc = {
desc = court_position.9012.desc
@ -472,7 +472,7 @@ court_position.9021 = {
# FOR TARGET: Bodyguard dies to assassin
court_position.9022 = {
type = character_event
window = scheme_conclusion_event_no_header
window = scheme_target_event
title = court_position.9021.t
desc = {
desc = court_position.9022.desc

View file

@ -186,7 +186,7 @@ scripted_effect ep1_flavour_0001_reveal_secret_child_effect = {
# Then, do the actual reveal.
## First the effects of the extra-marital sex.
### We regard this as the same as cheating actively for simplicity and the sake of the scale of the lie.
extramarital_sex_exposure_consequences_with_had_recent_sex_var_effect = { SPOUSE_EVENT = no }
extramaritial_sex_exposure_consequences_with_had_recent_sex_var_effect = { SPOUSE_EVENT = no }
# Finally, deal with scope:scion_actual's transformation.
scope:scion_actual = {
# Then make scope:scion_actual a bastard.
@ -253,7 +253,6 @@ ep1_flavor.0001 = {
cooldown = { years = 100 }
trigger = {
is_ai = no
# Standard checks.
has_royal_court = yes
has_dlc_feature = royal_court

View file

@ -1033,16 +1033,6 @@ scripted_trigger fund_inspiration_0031_title_based_option_trigger = {
global_var:flag_created_siam_kingdom = root
NOT = { exists = scope:book_topic_creation }
}
AND = {
exists = global_var:flag_created_brunei_kingdom
global_var:flag_created_brunei_kingdom = root
NOT = { exists = scope:book_topic_creation }
}
AND = {
exists = global_var:flag_created_brunei_empire
global_var:flag_created_brunei_empire = root
NOT = { exists = scope:book_topic_creation }
}
AND = {
exists = global_var:flag_formed_rum_sultanate
global_var:flag_formed_rum_sultanate = root
@ -2392,7 +2382,7 @@ fund_inspiration.0031 = {
if = {
limit = {
NOT = { is_witch_trigger = yes }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = root.faith GENDER_CHARACTER = root }
}
if = {
limit = {
@ -2499,19 +2489,19 @@ fund_inspiration.0031 = {
add = -70
exists = scope:lifestyle_option_witch
NOT = { has_trait = witch }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = root.faith GENDER_CHARACTER = root }
}
modifier = { # If it's hidden secrets it's rare that they write about it
add = -70
exists = scope:lifestyle_option_deviant
NOT = { has_trait = deviant }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = root.faith GENDER_CHARACTER = root }
}
modifier = { # If it's hidden secrets it's rare that they write about it
add = -70
exists = scope:lifestyle_option_cannibal
NOT = { has_trait = cannibal }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = root.faith GENDER_CHARACTER = root }
}
modifier = { #However, the might if they're arrogant
add = 50
@ -3596,7 +3586,11 @@ fund_inspiration.0043 = {
}
NOR = {
any_artifact = {
var:banner_dynasty ?= root.dynasty
trigger_if = {
limit = { exists = var:banner_dynasty }
var:banner_dynasty = root.dynasty
}
trigger_else = { always = no }
OR = {
artifact_owner = root
artifact_owner = { in_diplomatic_range = root }
@ -6817,15 +6811,15 @@ fund_inspiration.1031 = {
OR = {
AND = {
scope:newly_created_artifact = { has_artifact_feature = book_subject_witch }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = root.faith GENDER_CHARACTER = root }
}
AND = {
scope:newly_created_artifact = { has_artifact_feature = book_subject_cannibal }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = root.faith GENDER_CHARACTER = root }
}
AND = {
scope:newly_created_artifact = { has_artifact_feature = book_subject_deviant }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = root.faith GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = root.faith GENDER_CHARACTER = root }
}
}
}
@ -15008,7 +15002,7 @@ scripted_trigger fund_inspiration_3001_witch_topic_trigger = {
exists = scope:inspiration_owner.var:book_subject
scope:inspiration_owner.var:book_subject = flag:witch
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
GENDER_CHARACTER = root
FAITH = root.faith
}
@ -15017,7 +15011,7 @@ scripted_trigger fund_inspiration_3001_cannibal_topic_trigger = {
exists = scope:inspiration_owner.var:book_subject
scope:inspiration_owner.var:book_subject = flag:cannibal
trait_is_criminal_in_faith_trigger = {
TRAIT = trait:cannibal
TRAIT = cannibal
GENDER_CHARACTER = root
FAITH = root.faith
}
@ -15026,7 +15020,7 @@ scripted_trigger fund_inspiration_3001_deviant_topic_trigger = {
exists = scope:inspiration_owner.var:book_subject
scope:inspiration_owner.var:book_subject = flag:deviant
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:deviant
TRAIT = deviant
GENDER_CHARACTER = root
FAITH = root.faith
}
@ -18433,8 +18427,8 @@ scripted_trigger homosexual_poet_trigger = {
has_sexuality = bisexual
}
OR = {
trait_is_shunned_in_faith_trigger = { TRAIT = trait:sodomite FAITH = root.faith GENDER_CHARACTER = scope:inspiration_owner }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = root.faith GENDER_CHARACTER = scope:inspiration_owner }
trait_is_shunned_in_faith_trigger = { TRAIT = sodomite FAITH = root.faith GENDER_CHARACTER = scope:inspiration_owner }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = root.faith GENDER_CHARACTER = scope:inspiration_owner }
}
}
@ -18754,7 +18748,7 @@ fund_inspiration.6301 = {
}
triggered_desc = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = root.faith GENDER_CHARACTER = scope:inspiration_owner }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = root.faith GENDER_CHARACTER = scope:inspiration_owner }
}
desc = fund_inspiration.6301.crime_desc
}
@ -19904,7 +19898,7 @@ fund_inspiration.6513 = {
if = {
limit = {
sex_same_as = scope:adventurer_lover
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = trait:sodomite GENDER_CHARACTER = scope:inspiration_owner }
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = sodomite GENDER_CHARACTER = scope:inspiration_owner }
}
if = {
limit = {
@ -19925,7 +19919,7 @@ fund_inspiration.6513 = {
if = {
limit = {
sex_same_as = scope:inspiration_owner
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = trait:sodomite GENDER_CHARACTER = scope:adventurer_lover }
trait_is_shunned_or_criminal_in_my_or_lieges_faith_trigger = { TRAIT = sodomite GENDER_CHARACTER = scope:adventurer_lover }
}
if = {
limit = {

View file

@ -12,6 +12,7 @@
scripted_trigger ep2_accolade_events_0100_hunting_knight_trigger = {
accolade ?= {
is_accolade_active = yes
has_accolade_parameter = acclaimed_knight_trains_hunting
}
is_healthy = yes
@ -244,6 +245,7 @@ ep2_accolade_events.0100 = {
scripted_trigger ep2_accolade_events_0200_blademaster_knight_trigger = {
accolade ?= {
is_accolade_active = yes
has_accolade_parameter = acclaimed_knight_trains_swordfighting
}
is_healthy = yes
@ -941,6 +943,7 @@ ep2_accolade_events.0200 = {
scripted_trigger ep2_accolade_events_0300_reveler_knight_trigger = {
accolade ?= {
is_accolade_active = yes
has_accolade_parameter = acclaimed_knight_trains_reveling
}
is_healthy = yes
@ -1164,7 +1167,7 @@ ep2_accolade_events.0300 = {
culture = {
OR = {
has_cultural_tradition = tradition_festivities
has_cultural_tradition = tradition_welcoming
has_cultural_tradition = tradition_esteemed_hospitality
}
}
faith = {

File diff suppressed because it is too large Load diff

View file

@ -50,11 +50,7 @@ ep2_wedding.0101 = {
text = ep2_wedding.0101.a_lowborn
}
custom_tooltip = ep2_wedding.0101.a.tt
set_variable = {
name = bloody_wedding_murder
value = flag:family
years = 1
}
set_variable = bloody_wedding_murder_family_var
ai_chance = {
base = 100
modifier = {
@ -86,12 +82,8 @@ ep2_wedding.0101 = {
option = { #kill only the spouse
name = ep2_wedding.0101.b
custom_tooltip = ep2_wedding.0101.a.tt
set_variable = {
name = bloody_wedding_murder
value = flag:solo
years = 1
}
ai_chance = {
set_variable = bloody_wedding_murder_solo_var
ai_chance = {
base = 100
modifier = {
OR = {
@ -121,12 +113,8 @@ ep2_wedding.0101 = {
}
}
}
set_variable = {
name = bloody_wedding_murder
value = flag:spouse
years = 1
}
ai_chance = {
set_variable = bloody_wedding_murder_spouse_var
ai_chance = {
base = 100
modifier = {
OR = {
@ -315,7 +303,7 @@ ep2_wedding.0202 = {
trigger = {
exists = scope:activity
var:bloody_wedding_murder ?= flag:family
has_variable = bloody_wedding_murder_family_var
}
immediate = {
@ -596,7 +584,7 @@ ep2_wedding.0203 = {
trigger = {
exists = scope:activity
var:bloody_wedding_murder ?= flag:solo
has_variable = bloody_wedding_murder_solo_var
}
immediate = {
@ -983,19 +971,19 @@ ep2_wedding.0301 = {
first_valid = {
triggered_desc = { #Your mercenaries killed everyone
trigger = {
var:bloody_wedding_murder ?= flag:family
has_variable = bloody_wedding_murder_family_var
}
desc = ep2_wedding.0301.desc.family
}
triggered_desc = { #Agent killed the spouse
trigger = {
var:bloody_wedding_murder ?= flag:solo
has_variable = bloody_wedding_murder_solo_var
}
desc = ep2_wedding.0301.desc.agent
}
triggered_desc = { #Spouse died during the wedding night
trigger = {
var:bloody_wedding_murder ?= flag:spouse
has_variable = bloody_wedding_murder_spouse_var
}
desc = ep2_wedding.0301.desc.wedding_night
}
@ -1004,7 +992,7 @@ ep2_wedding.0301 = {
triggered_desc = { #You're the spouse - wedding night kill
trigger = {
scope:spouse_1 = root
var:bloody_wedding_murder ?= flag:spouse
has_variable = bloody_wedding_murder_spouse_var
}
desc = ep2_wedding.0301.spouse_wnight
}
@ -1124,19 +1112,19 @@ ep2_wedding.0302 = {
first_valid = {
triggered_desc = { #Host killed everyone
trigger = {
scope:host = { var:bloody_wedding_murder ?= flag:family }
scope:host = { has_variable = bloody_wedding_murder_family_var }
}
desc = ep2_wedding.0302.desc.family
}
triggered_desc = { #Agent killed the spouse
trigger = {
scope:host = { var:bloody_wedding_murder ?= flag:solo }
scope:host = { has_variable = bloody_wedding_murder_solo_var }
}
desc = ep2_wedding.0302.desc.agent
}
triggered_desc = { #Spouse died during the wedding night
trigger = {
scope:host = { var:bloody_wedding_murder ?= flag:spouse }
scope:host = { has_variable = bloody_wedding_murder_spouse_var }
}
desc = ep2_wedding.0302.desc.wedding_night
}
@ -1197,7 +1185,7 @@ ep2_wedding.0302 = {
scope:activity.var:spouse_2_var = { save_scope_as = spouse_2 }
if = {
limit = {
scope:host = { var:bloody_wedding_murder ?= flag:family }
scope:host = { has_variable = bloody_wedding_murder_family_var }
}
show_as_tooltip = {
scope:activity = {
@ -1220,8 +1208,8 @@ ep2_wedding.0302 = {
limit = {
scope:host = {
OR = {
var:bloody_wedding_murder ?= flag:solo
var:bloody_wedding_murder ?= flag:spouse
has_variable = bloody_wedding_murder_solo_var
has_variable = bloody_wedding_murder_spouse_var
}
}
}
@ -1500,9 +1488,9 @@ ep2_wedding.0955 = {
ep2_wedding.0958 = { #variable clean up - done in an event so they persist for the guests
hidden = yes
immediate = {
remove_variable ?= bloody_wedding_murder
remove_variable ?= bloody_wedding_backed_down_var
remove_variable ?= bloody_murder_fail
remove_variable ?= bloody_wedding_murder_family_var
remove_variable ?= bloody_wedding_murder_solo_var
remove_variable ?= bloody_wedding_murder_spouse_var
}
}
@ -1606,13 +1594,13 @@ ep2_wedding.0204 = {
#we assume you're the spouse otherwise
triggered_desc = {
trigger = {
scope:host = { var:bloody_wedding_murder ?= flag:family }
scope:host = { has_variable = bloody_wedding_murder_family_var }
}
desc = ep2_wedding.0204.desc.family
}
triggered_desc = {
trigger = {
scope:host = { var:bloody_wedding_murder ?= flag:solo }
scope:host = { has_variable = bloody_wedding_murder_solo_var }
}
desc = ep2_wedding.0204.desc.solo
}
@ -1634,7 +1622,7 @@ ep2_wedding.0204 = {
lower_center_portrait = {
trigger = {
root != scope:spouse_2
NOT = { scope:host = { var:bloody_wedding_murder ?= flag:solo } }
NOT = { scope:host = { has_variable = bloody_wedding_murder_solo_var } }
}
character = scope:spouse_2
}
@ -1642,7 +1630,7 @@ ep2_wedding.0204 = {
trigger = {
exists = scope:entourage_1
root != scope:entourage_1
NOT = { scope:host = { var:bloody_wedding_murder ?= flag:solo } }
NOT = { scope:host = { has_variable = bloody_wedding_murder_solo_var } }
}
character = scope:entourage_1
}
@ -1650,7 +1638,7 @@ ep2_wedding.0204 = {
trigger = {
exists = scope:entourage_2
root != scope:entourage_2
NOT = { scope:host = { var:bloody_wedding_murder ?= flag:solo } }
NOT = { scope:host = { has_variable = bloody_wedding_murder_solo_var } }
}
character = scope:entourage_2
}

View file

@ -85,113 +85,43 @@ ep2_wedding.0001 = {
lower_center_portrait = scope:spouse_2
trigger = {
var:promised_grand_wedding_marriage_countdown ?= {
is_alive = yes
is_available_allow_travelling = yes
age >= 19
save_temporary_scope_as = spouse_1
betrothed = {
is_alive = yes
is_available_allow_travelling = yes
age >= 19
can_marry_character_trigger = { CHARACTER = scope:spouse_1 }
}
}
exists = var:promised_grand_wedding_marriage_countdown
has_variable = promised_grand_wedding_marriage_countdown
var:promised_grand_wedding_marriage_countdown = { is_alive = yes }
exists = var:promised_grand_wedding_marriage_countdown.betrothed
NOT = {
involved_activity ?= {
has_activity_type = activity_wedding
activity_host = root
}
}
var:promised_grand_wedding_marriage_countdown = { age >= 19 }
var:promised_grand_wedding_marriage_countdown.betrothed = { age >= 19 }
}
# This event shouldn't trigger unless the spouses have been adult and marriable for at least 3 years in any case, but to prevent edge cases, we check that they are adult, and if they are not or have not been for at least 3 years, we try again one year later
on_trigger_fail = {
if = {
limit = {
# you are not in this GW
NOT = {
involved_activity ?= {
has_activity_type = activity_wedding
activity_host = root
}
}
}
var:promised_grand_wedding_marriage_countdown ?= {
save_scope_as = spouse_1
betrothed ?= { save_scope_as = spouse_2 }
}
if = {
limit = {
exists = scope:spouse_1
exists = scope:spouse_2
}
if = {
limit = {
# no longer valid marriage, e.g. devoted
scope:spouse_1 ?= {
NOT = {
can_marry_character_trigger = { CHARACTER = scope:spouse_2 }
}
}
}
# TODO informing event
clean_grand_wedding_betrothal_variables = yes
}
else_if = {
limit = {
scope:spouse_1 ?= {
OR = {
age < 19
scope:spouse_2.age < 19
# grace period for illness
AND = {
is_available_allow_travelling = no
age < 25
}
scope:spouse_2 = {
is_available_allow_travelling = no
age < 25
}
}
}
}
trigger_event = {
id = ep2_wedding.0001
days = 365
}
set_variable = {
name = promised_grand_wedding_marriage_countdown
value = scope:spouse_1
years = grand_wedding_timeout
}
}
# both adult, but can't attend for a reallly long time
else_if = {
limit = {
scope:spouse_1 ?= {
age >= 25
scope:spouse_2.age >= 25
OR = {
is_available_allow_travelling = no
scope:spouse_2 = {
is_available_allow_travelling = no
}
}
}
}
# TODO: add an event
clean_grand_wedding_betrothal_variables = yes
}
else_if = {
limit = {
has_variable = promised_grand_wedding_marriage_countdown
}
clean_grand_wedding_betrothal_variables = yes
}
}
}
}
if = {
limit = {
has_variable = promised_grand_wedding_marriage_countdown
}
if = {
limit = { exists = var:promised_grand_wedding_marriage_countdown }
trigger_event = {
id = ep2_wedding.0001
days = 365
}
set_variable = {
name = promised_grand_wedding_marriage_countdown
value = var:promised_grand_wedding_marriage_countdown
years = grand_wedding_timeout
}
}
else = {
remove_variable = promised_grand_wedding_marriage_countdown
}
}
}
immediate = {
var:promised_grand_wedding_marriage_countdown = {
@ -228,7 +158,7 @@ ep2_wedding.0002 = {
option = {
name = ep2_wedding.0002.a
clean_grand_wedding_betrothal_variables = yes
remove_variable = promised_grand_wedding_marriage_countdown
}
}
@ -272,10 +202,8 @@ ep2_wedding.0100 = {
root = scope:spouse_2
}
}
desc = {
desc = ep2_wedding.0100.desc_host
desc = ep2_wedding.0100.desc_host_outro
}
desc = ep2_wedding.0100.desc_host
desc = ep2_wedding.0100.desc_host_outro
}
triggered_desc = {
trigger = {
@ -461,8 +389,12 @@ ep2_wedding.0150 = {
scope:activity.special_guest:spouse_2 = {
save_scope_as = spouse_2
}
check_officiant_effect = yes
scope:activity.var:officiant ?= { save_scope_as = officiant }
if = {
limit = {
exists = scope:activity.special_guest:officiant
}
scope:activity.special_guest:officiant = { save_scope_as = officiant }
}
scope:spouse_1 = {
show_as_tooltip = {
marry = scope:spouse_2
@ -506,7 +438,13 @@ ep2_wedding.0151 = {
first_valid = {
triggered_desc = {
trigger = {
is_bloody_wedding = yes
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
scope:host = { NOT = { has_variable = bloody_wedding_backed_down_var } }
}
desc = ep2_wedding.0151.desc.murder
}
@ -771,8 +709,10 @@ ep2_wedding.0151 = {
}
}
}
scope:spouse_1 = { remove_variable = promised_grand_wedding_by }
scope:spouse_2 = { remove_variable = promised_grand_wedding_by }
scope:host = {
clean_grand_wedding_betrothal_variables = yes
remove_variable = promised_grand_wedding_marriage_countdown
}
# The marriage should not be consummated before the Wedding Night!
hidden_effect = {
@ -889,7 +829,12 @@ ep2_wedding.0200 = {
triggered_desc = {
trigger = { #spouse and bloody wedding
this = scope:host
is_bloody_wedding = yes
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
root = scope:spouse_1
}
desc = ep2_wedding.0200.desc.murder_spouse
@ -897,7 +842,12 @@ ep2_wedding.0200 = {
triggered_desc = { #bloody wedding
trigger = {
this = scope:host
is_bloody_wedding = yes
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
root != scope:spouse_1
}
desc = ep2_wedding.0200.desc.murder
@ -1053,13 +1003,25 @@ ep2_wedding.0200 = {
option = {
name = {
trigger = {
is_bloody_wedding = yes
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
}
text = ep2_wedding.0200.a.murder
}
name = {
trigger = {
is_bloody_wedding = no
NOT = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
}
}
text = ep2_wedding.0200.a
}
@ -1085,7 +1047,12 @@ ep2_wedding.0300 = {
first_valid = {
triggered_desc = {
trigger = {
is_bloody_wedding = yes
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
root = scope:spouse_1
}
desc = ep2_wedding.0300.desc.murder_spouse
@ -1294,6 +1261,9 @@ ep2_wedding.0910 = {
remove_variable = gwedding_gold_recoup_value
}
remove_variable = promised_grand_wedding_by
scope:previous_host = {
remove_variable = promised_grand_wedding_marriage_countdown
}
if = {
limit = {
has_character_modifier = wedding_fertility_delay_modifier
@ -1385,6 +1355,10 @@ ep2_wedding.0920 = {
}
remove_variable = gwedding_gold_recoup_value
}
remove_variable = promised_grand_wedding_by
scope:previous_host = {
remove_variable = promised_grand_wedding_marriage_countdown
}
if = {
limit = {
has_character_modifier = wedding_fertility_delay_modifier
@ -1441,6 +1415,12 @@ ep2_wedding.0921 = {
}
remove_variable = gwedding_gold_recoup_value
}
if = {
limit = {
has_variable = promised_grand_wedding_by
}
remove_variable = promised_grand_wedding_by
}
if = {
limit = {
has_character_modifier = wedding_fertility_delay_modifier
@ -1624,6 +1604,23 @@ ep2_wedding.0997 = {
animation = sadness
}
immediate = {
# we should never get this far. If it happens, just get a free pass out of the Grand Wedding Promise since something has gone wrong
if = {
limit = {
this = scope:host
}
remove_variable = promised_grand_wedding_marriage_countdown
}
if = {
limit = {
has_variable = promised_grand_wedding_by
var:promised_grand_wedding_by = scope:host
}
remove_variable = promised_grand_wedding_by
}
}
option = {
name = ep2_wedding.0998.a
}
@ -1643,6 +1640,19 @@ ep2_wedding.0998 = {
immediate = {
# we should never get this far. If it happens, just get a free pass out of the Grand Wedding Promise since something has gone wrong
if = {
limit = {
this = scope:host
}
remove_variable = promised_grand_wedding_marriage_countdown
}
if = {
limit = {
has_variable = promised_grand_wedding_by
var:promised_grand_wedding_by = scope:host
}
remove_variable = promised_grand_wedding_by
}
if = {
limit = {
exists = scope:spouse_1
@ -1988,7 +1998,7 @@ ep2_wedding.1000 = {
trigger = {
has_activity_intent = reduce_stress_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
stress_impact = {
base = minor_stress_impact_loss
}
@ -3192,7 +3202,7 @@ ep2_wedding.1100 = {
has_activity_intent = reduce_stress_intent
this = scope:bride
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
stress_impact = {
base = minor_stress_impact_loss
}
@ -3807,21 +3817,12 @@ ep2_wedding.1030 = {
# Spouse: your child from a previous partner makes a fuss
scripted_trigger ep2_wedding_1120_valid_child_trigger = {
NOR = {
has_trait = child_of_concubine_female
has_trait = child_of_concubine_male
NOT = {
any_parent = { this = root.betrothed }
this = scope:activity.special_guest:spouse_1
this = scope:activity.special_guest:spouse_2
}
any_parent = {
even_if_dead = yes
this != root
# polygamy case
trigger_if = {
limit = { is_alive = yes }
NOT = { any_consort = { this = root.betrothed } }
}
save_temporary_scope_as = other_parent
}
age >= 6
@ -4240,15 +4241,10 @@ scripted_trigger ep2_wedding_1121_valid_child_trigger = {
any_parent = {
even_if_dead = yes
this != root.betrothed
# polygamy case
trigger_if = {
limit = { is_alive = yes }
NOT = { any_consort = { this = root.betrothed } }
}
save_temporary_scope_as = other_parent
}
age >= 6
involved_activity ?= scope:activity
involved_activity ?= { this = scope:activity }
save_temporary_scope_as = trouble_child
}
@ -5875,7 +5871,7 @@ ep2_wedding.1140 = {
key = made_a_misstep_log
tags = { bad }
score = 50
character = scope:fumbling_spouse
character = scope:spouse_1
scope:fumbling_spouse = {
add_opinion = {
@ -5930,7 +5926,7 @@ ep2_wedding.1140 = {
key = made_a_misstep_log
tags = { bad }
score = 50
character = scope:fumbling_spouse
character = scope:spouse_1
}
}
ai_chance = {
@ -5944,7 +5940,7 @@ ep2_wedding.1140 = {
trigger = {
has_activity_intent = reduce_stress_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
scope:fumbling_spouse = {
add_opinion = {
target = root
@ -5961,7 +5957,7 @@ ep2_wedding.1140 = {
tags = { good }
score = 50
character = root
target = scope:fumbling_spouse
target = scope:spouse_1
}
}
ai_chance = {
@ -6850,7 +6846,7 @@ ep2_wedding.1170 = {
trigger = {
has_activity_intent = reduce_stress_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
stress_impact = {
base = medium_stress_impact_loss
humble = major_stress_impact_loss
@ -6870,7 +6866,7 @@ ep2_wedding.1170 = {
trigger = {
has_activity_intent = banquet_mischief_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
add_character_modifier = {
modifier = wedding_parade_mayhem_modifier
years = 5
@ -6890,7 +6886,7 @@ ep2_wedding.1170 = {
has_activity_intent = murder_attendee_intent
}
flavor = ep2_wedding.1170.e.tt
reason = activity_intent
custom_tooltip = available_because_intent_tt
duel = {
skills = { intrigue prowess }
target = scope:murderee
@ -7150,7 +7146,7 @@ ep2_wedding.1180 = {
trigger = {
has_activity_intent = reduce_stress_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
scope:other_spouse = {
add_opinion = {
target = root
@ -7437,7 +7433,7 @@ ep2_wedding.1190 = {
has_activity_intent = banquet_mischief_intent
}
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
scope:grumbler = {
add_opinion = {
target = root
@ -7797,7 +7793,7 @@ ep2_wedding.1200 = {
trigger = {
has_activity_intent = woo_attendee_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
duel = {
skill = intrigue
target = scope:listener
@ -7873,7 +7869,7 @@ ep2_wedding.1200 = {
trigger = {
has_activity_intent = diplomatic_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
duel = {
skill = diplomacy
target = scope:listener
@ -7961,7 +7957,7 @@ ep2_wedding.1200 = {
trigger = {
has_activity_intent = matchmaking_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
duel = {
skills = { diplomacy intrigue }
target = scope:listener
@ -8805,7 +8801,7 @@ ep2_wedding.1220 = {
has_activity_intent = diplomatic_intent
}
flavor = ep2_wedding.1220.c.tt
reason = activity_intent
custom_tooltip = available_because_intent_tt
duel = {
skill = diplomacy
target = scope:relative
@ -8919,7 +8915,7 @@ ep2_wedding.1220 = {
trigger = {
has_activity_intent = banquet_mischief_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
if = {
limit = {
has_lifestyle = intrigue_lifestyle
@ -10377,7 +10373,7 @@ ep2_wedding.1070 = {
exists = scope:1070_target
has_activity_intent = murder_attendee_intent
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
scope:1070_target = {
duel = {
skill = prowess
@ -10751,7 +10747,7 @@ ep2_wedding.1090 = {
has_ep2_dlc_trigger = yes
has_activity_intent = matchmaking_intent
intent_target.location ?= root.location
intent_target.location = root.location
location = scope:activity.activity_location
intent_target = { NOT = { has_character_flag = busy_in_banquet_event } }
@ -12259,7 +12255,11 @@ ep2_wedding.1111 = {
}
trigger_if = {
limit = {
this = scope:host
OR = {
this = scope:host
scope:host = scope:activity.special_guest:spouse_1
scope:host = scope:activity.special_guest:spouse_2
}
}
scope:activity = {
any_attending_character = {
@ -15038,10 +15038,14 @@ ep2_wedding.1330 = {
option = {
name = ep2_wedding.1330.d
trigger = {
is_deviant_trigger = yes
OR = {
has_trait = deviant
any_secret = { type = secret_deviant }
}
NOR = {
faith = { has_doctrine_parameter = deviancy_accepted }
scope:spouse = { is_deviant_trigger = yes }
faith = { has_doctrine = doctrine_deviancy_accepted }
scope:spouse = { has_trait = deviant }
scope:spouse = { any_secret = { type = secret_deviant NOT = { is_known_by = root } } }
}
}
@ -15731,46 +15735,47 @@ ep2_wedding.1340 = {
}
ai_chance = {
base = 100
base = 1
modifier = {
has_trait = lifestyle_gardener
add = 70
}
modifier = {
has_trait = lifestyle_reveler
add = 70
}
modifier = {
has_trait = lifestyle_hunter
add = 70
}
modifier = {
has_trait = lifestyle_poet
add = 70
}
modifier = {
has_trait = lifestyle_blademaster
add = 40
}
modifier = {
has_trait = lifestyle_herbalist
add = 40
}
modifier = {
has_trait = lifestyle_mystic
add = 40
}
modifier = {
has_trait = lifestyle_physician
add = 40
}
modifier = {
has_trait = athletic
add = 40
}
modifier = {
has_trait = journaller
add = 40
}
has_trait = lifestyle_gardener
add = 70
}
modifier = {
has_trait = lifestyle_reveler
add = 70
}
modifier = {
has_trait = lifestyle_hunter
add = 70
}
modifier = {
has_trait = lifestyle_poet
add = 70
}
modifier = {
has_trait = lifestyle_blademaster
add = 40
}
modifier = {
has_trait = lifestyle_herbalist
add = 40
}
modifier = {
has_trait = lifestyle_mystic
add = 40
}
modifier = {
has_trait = lifestyle_physician
add = 40
}
modifier = {
has_trait = athletic
add = 40
}
modifier = {
has_trait = journaller
add = 40
}
}
}
@ -15808,7 +15813,10 @@ ep2_wedding.1340 = {
add = 20
}
modifier = {
is_witch_trigger = yes
OR = {
any_secret = { type = secret_witch }
has_trait = witch
}
add = 20
}
send_interface_toast = {
@ -15847,7 +15855,10 @@ ep2_wedding.1340 = {
add = 20
}
modifier = {
is_witch_trigger = yes
OR = {
any_secret = { type = secret_witch }
has_trait = witch
}
add = 20
}
}
@ -17700,14 +17711,12 @@ ep2_wedding.3030 = {
any_character_artifact = {
artifact_slot_type = miscellaneous
this != scope:love_memento
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:my_spouse }
}
}
random_character_artifact = {
limit = {
artifact_slot_type = miscellaneous
this != scope:love_memento
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:my_spouse }
}
save_scope_as = my_love_memento
}
@ -18243,7 +18252,7 @@ ep2_wedding.3040 = {
scope:my_spouse = { is_ai = yes }
intent_target = scope:my_spouse
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
random_list = {
50 = { #spouse saves themselves
desc = ep2_wedding.3040.d.success
@ -19249,10 +19258,15 @@ ep2_wedding.3300 = {
else = {
scope:activity.special_guest:spouse_1 = { save_scope_as = my_spouse }
}
check_officiant_effect = yes
scope:activity.var:officiant ?= { save_scope_as = officiant }
# Save witnesses
ep2_wedding_bedding_ceremony_witness_effect = yes
# Save officiant
if = {
limit = {
scope:host.cp:councillor_court_chaplain ?= { is_participant_in_activity = scope:activity }
}
scope:host.cp:councillor_court_chaplain = { save_scope_as = officiant }
}
# Save jester
if = {
limit = {
@ -19855,7 +19869,7 @@ scripted_trigger wedding_3400_suitor_trigger = {
is_participant_in_activity = scope:activity
is_attracted_to_gender_of = $SUITOR$
age >= $SUITOR$.age_minus_25
age < $SUITOR$.age_plus_25
age < $SUITOR$.age_plus_25
OR = {
is_married = no
allowed_more_spouses = yes
@ -19864,7 +19878,7 @@ scripted_trigger wedding_3400_suitor_trigger = {
faith = { has_doctrine = doctrine_adultery_women_accepted }
root.faith = { has_doctrine = doctrine_adultery_women_accepted }
$SUITOR$.faith = { has_doctrine = doctrine_adultery_women_accepted }
}
trigger_else = {
faith = { has_doctrine = doctrine_adultery_men_accepted }
@ -23401,7 +23415,7 @@ ep2_wedding.2020 = {
}
}
}
reason = activity_intent
custom_tooltip = available_because_intent_tt
duel = {
skill = prowess
target = scope:drunk_guest

View file

@ -1081,7 +1081,7 @@ ep2_wedding_ewan.0001 = {
name = ep2_wedding_ewan.0001.c
flavor = ep2_wedding_ewan.0001.c.tt
trigger = { has_activity_intent = murder_attendee_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
scope:intent_target = {
# They're unsettled by your staring.
@ -1899,7 +1899,7 @@ ep2_wedding_ewan.0011 = {
name = ep2_wedding_ewan.0011.c
# Check for target directly, rather than just the intent, because there isn't a pre-defined intent target and we may have failed to acquire someone suitable.
trigger = { exists = scope:intent_target }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# You try to trip a server onto someone.
duel = {
@ -2744,7 +2744,7 @@ ep2_wedding_ewan.0021 = {
option = {
name = ep2_wedding_ewan.0021.c
trigger = { has_activity_intent = woo_attendee_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# Sprinkle a bit of opinion in there.
reverse_add_opinion = {
@ -3246,7 +3246,7 @@ ep2_wedding_ewan.0031 = {
option = {
name = ep2_wedding_ewan.0031.g
trigger = { has_activity_intent = reduce_stress_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# Decent middling prestige.
add_prestige = medium_prestige_gain
@ -3463,7 +3463,7 @@ ep2_wedding_ewan.0041 = {
option = {
name = ep2_wedding_ewan.0041.b
trigger = { has_activity_intent = reduce_stress_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# If you're the host, gain prestige.
if = {
@ -3499,7 +3499,7 @@ ep2_wedding_ewan.0041 = {
option = {
name = ep2_wedding_ewan.0041.c
trigger = { has_activity_intent = murder_attendee_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
scope:intent_target = {
# They're a bit freaked out.
@ -3531,7 +3531,7 @@ ep2_wedding_ewan.0041 = {
option = {
name = ep2_wedding_ewan.0041.d
trigger = { has_activity_intent = woo_attendee_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# You try to keep it juuuuust about down-low.
duel = {
@ -3624,7 +3624,7 @@ ep2_wedding_ewan.0041 = {
option = {
name = ep2_wedding_ewan.0041.e
trigger = { has_activity_intent = diplomatic_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# Try to give a big, impressive speech.
duel = {
@ -3694,7 +3694,7 @@ ep2_wedding_ewan.0041 = {
option = {
name = ep2_wedding_ewan.0041.f
trigger = { has_activity_intent = matchmaking_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# Gain opinion with scope:activity_intent.
reverse_add_opinion = {
@ -3729,7 +3729,7 @@ ep2_wedding_ewan.0041 = {
option = {
name = ep2_wedding_ewan.0041.g
trigger = { has_activity_intent = banquet_mischief_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# We take your highest of diplomacy or intrigue and let you duel against it.
if = {
@ -3840,7 +3840,7 @@ scripted_trigger ep2_wedding_ewan_0051_legal_rake_trigger = {
save_temporary_scope_as = char_temp
NOT = {
trait_is_criminal_in_faith_trigger = {
TRAIT = trait:adulterer
TRAIT = adulterer
FAITH = scope:char_temp.faith
GENDER_CHARACTER = scope:char_temp
}
@ -5707,7 +5707,7 @@ ep2_wedding_ewan.0061 = {
option = {
name = ep2_wedding_ewan.0061.d
trigger = { has_activity_intent = banquet_mischief_intent }
reason = activity_intent
custom_tooltip = available_because_intent_tt
# Same as the .e rolls, but we remove the minor result and just roll between success & crit success.
duel = {

View file

@ -3034,7 +3034,7 @@ ep3_contract_event.0013 = {
scope:task_contract_employer = {
pay_treasury_or_gold = {
target = scope:task_contract_taker
value = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value
value = ep3_hire_laamp_mercs_payment_value
}
}
scope:laamp_temp = {
@ -7412,11 +7412,10 @@ ep3_contract_event.0095 = {
}
}
#lead an independence peasant war, become landed ruler after winning
#lead an independence peasant war
option = {
name = ep3_contract_event.0095.a
#start a freedom war!
custom_tooltip = ep3_contract_event.0095.a_become_landed
start_war = {
cb = ep3_laamp_peasant_war
target = scope:task_contract_councillor_liege.top_liege
@ -7472,75 +7471,7 @@ ep3_contract_event.0095 = {
}
ai_chance = {
base = 20
}
}
#lead an independence peasant war, but remain laamp after winning
option = {
name = ep3_contract_event.0095.a_2
#start a freedom war!
custom_tooltip = {
text = ep3_contract_event.0095.a_remain_laamp
set_variable = {
name = ep3_laamp_peasant_war_remain_laamp
value = yes
}
}
start_war = {
cb = ep3_laamp_peasant_war
target = scope:task_contract_councillor_liege.top_liege
}
#try to capture the marshal, as they standing right next to you
duel = {
skills = { prowess intrigue }
target = scope:task_contract_councillor
25 = {
desc = ep3_contract_event.0095.a_win
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
}
prisoner_of_war_capture_effect = {
TARGET = scope:task_contract_councillor
IMPRISONER = root
}
scope:task_contract_councillor_liege = {
add_opinion = {
modifier = fp3_wrongful_imprisonment_opinion
opinion = -30
target = root
}
}
}
25 = {
desc = ep3_contract_event.0095.a_lose
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = 5
}
scope:task_contract_councillor = {
add_opinion = {
target = root
modifier = attempted_imprisonment_opinion
}
}
}
}
#fail the contract, obivously
scope:task_contract = {
complete_task_contract = failure_standard
}
return_home = yes
stress_impact = {
craven = minor_stress_impact_gain
lazy = minor_stress_impact_gain
brave = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
arrogant = minor_stress_impact_loss
}
ai_chance = {
base = 0
}
}

View file

@ -2650,7 +2650,7 @@ ep3_decisions_event.2090 = {
remove_variable = confirmation_grace
}
# Refund any costs
add_prestige = standard_activity_base_cost
add_prestige = standard_activity_cost
}
trigger_event = ep3_decisions_event.2080
}
@ -4429,12 +4429,6 @@ ep3_decisions_event.4022 = {
participants = { missionary = scope:evangelizer sender = scope:sender }
}
set_character_faith_with_conversion = scope:evangelizer.faith
if = {
limit = {
scope:evangelizer.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
custom_tooltip = ep3_decisions_event.4022.a.tt
custom_tooltip = negotiated_alliance_delay_tt
show_as_tooltip = {
@ -5177,23 +5171,6 @@ ep3_decisions_event.4060 = {
}
add_character_modifier = { modifier = first_admin_emperor }
}
# NF tooltip
if = {
limit = { exists = scope:new_title } # some gov types don't need to create a new title
get_title = scope:new_title
}
# Adopting vassal tooltip
every_powerful_vassal = {
limit = { has_same_government = root }
switch = {
trigger = has_government
japan_administrative_government = { change_government = japan_administrative_government }
celestial_government = { change_government = celestial_government }
meritocratic_government = { change_government = meritocratic_government }
steppe_admin_government = { change_government = steppe_admin_government }
fallback = { change_government = administrative_government }
}
}
}
hidden_effect = {
ordered_vassal = {
@ -6161,17 +6138,6 @@ ep3_decisions_event.4090 = {
desc = appointment_timeout_desc_retired_governor
}
}
else_if = {
limit = {
government_is_japanese_trigger = yes
}
add_gold = major_gold_value
change_influence = major_influence_value
add_character_modifier = {
modifier = renounced_governorship_japan
years = 15
}
}
else = {
add_gold = massive_gold_value
add_character_modifier = {
@ -6800,14 +6766,14 @@ ep3_decisions_event.5020 = {
ordered_in_list = {
list = available_heresies
order_by = num_county_followers
position = 0
position = 1
save_scope_as = heresy_1
}
ordered_in_list = {
list = available_heresies
limit = { this != scope:heresy_1 }
order_by = num_county_followers
position = 0
position = 1
save_scope_as = heresy_2
}
ordered_in_list = {
@ -6817,7 +6783,7 @@ ep3_decisions_event.5020 = {
this != scope:heresy_2
}
order_by = num_county_followers
position = 0
position = 1
save_scope_as = heresy_3
}
}
@ -6825,12 +6791,6 @@ ep3_decisions_event.5020 = {
option = {
name = ep3_decisions_event.5020.a
set_character_faith_with_conversion = scope:heresy_1
if = {
limit = {
scope:heresy_1 = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_heresiarch_trait_effect = yes
# Otherwise the conversion event will remove the trait
add_character_flag = converted_by_heresy_decision
@ -6870,12 +6830,6 @@ ep3_decisions_event.5020 = {
exists = scope:heresy_2
}
set_character_faith_with_conversion = scope:heresy_2
if = {
limit = {
scope:heresy_2 = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_heresiarch_trait_effect = yes
# Otherwise the conversion event will remove the trait
add_character_flag = converted_by_heresy_decision
@ -6915,12 +6869,6 @@ ep3_decisions_event.5020 = {
exists = scope:heresy_3
}
set_character_faith_with_conversion = scope:heresy_3
if = {
limit = {
scope:heresy_3 = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_heresiarch_trait_effect = yes
# Otherwise the conversion event will remove the trait
add_character_flag = converted_by_heresy_decision
@ -7047,12 +6995,6 @@ ep3_decisions_event.5021 = {
root = {
primary_title = { set_state_faith = scope:heresy }
set_character_faith_with_conversion = scope:heresy
if = {
limit = {
scope:heresy = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_opinion = {
target = scope:heretic
modifier = forced_state_heresy_opinion
@ -7434,22 +7376,9 @@ ep3_decisions_event.6001 = {
}
}
scope:liege = { save_scope_as = new_liege }
location.duchy.holder ?= {
if = {
limit = {
this != scope:new_liege
can_set_relation_rival_trigger = { CHARACTER = root }
}
set_relation_rival = {
target = root
reason = seized_my_realm_crime
}
}
}
set_variable = separatist_uprising_decision_var
set_variable = became_landed_through_separatist_uprising_var
location.duchy = {
save_scope_as = target
add_to_list = transfer_titles
# All De Jure Counties held by the liege will be moved over
every_de_jure_county = {
@ -7546,12 +7475,11 @@ ep3_decisions_event.6001 = {
resolve_title_and_vassal_change = scope:heir_change
}
}
ep3_become_landed_transfer_effect = {
ep3_become_landed_transfer_no_ennobled_modifier_effect = {
TITLE_RECEIVER = root
TITLE_LIST = transfer_titles
TYPE = granted
REASON = flag:culture_champion
ENNOBLED_ADVENTURER = flag:no
}
hidden_effect = {
scope:old_heir ?= {
@ -7608,14 +7536,7 @@ ep3_decisions_event.6001 = {
option = { # Let me think about it
name = ep3_decisions_event.6001.d
hidden_effect = {
send_interface_toast = {
title = champion_culture_costs_refunded
left_icon = root
add_prestige_no_experience = 2000
add_short_term_gold = 500
}
}
ai_chance = {
base = 0
}

View file

@ -2,8 +2,8 @@
##############################
# EP3 Admin (Emperor) Events #
# by Claudia Baldassi #
# 2000 - 2999 #
# by Claudia Baldassi #
# 2000 - 2999 #
##############################
# Byzantine-only: you have reconquered an important city of the long-lost Empire
@ -161,13 +161,13 @@ ep3_emperor_yearly.2000 = {
limit = {
scope:county = title:c_tourraine
}
NOT = { exists = global_var:ep3_reconquered_tourraine }
NOT = { exists = var:ep3_reconquered_tourraine }
}
trigger_else_if = {
limit = {
scope:county = title:c_chandax
}
NOT = { exists = global_var:ep3_reconquered_chandax }
NOT = { exists = var:ep3_reconquered_chandax }
}
trigger_else_if = {
limit = {
@ -176,91 +176,91 @@ ep3_emperor_yearly.2000 = {
scope:county = title:c_northumberland
}
}
NOT = { exists = global_var:ep3_reconquered_hadrian }
NOT = { exists = var:ep3_reconquered_hadrian }
}
trigger_else_if = {
limit = {
scope:county = title:c_trier
}
NOT = { exists = global_var:ep3_reconquered_trier }
NOT = { exists = var:ep3_reconquered_trier }
}
trigger_else_if = {
limit = {
scope:county = title:c_lombardia
}
NOT = { exists = global_var:ep3_reconquered_lombardia }
NOT = { exists = var:ep3_reconquered_lombardia }
}
trigger_else_if = {
limit = {
scope:county = title:c_murcia
}
NOT = { exists = global_var:ep3_reconquered_murcia }
NOT = { exists = var:ep3_reconquered_murcia }
}
trigger_else_if = {
limit = {
scope:county = title:c_tangiers
}
NOT = { exists = global_var:ep3_reconquered_tangiers }
NOT = { exists = var:ep3_reconquered_tangiers }
}
trigger_else_if = {
limit = {
scope:county = title:c_tunis
}
NOT = { exists = global_var:ep3_reconquered_tunis }
NOT = { exists = var:ep3_reconquered_tunis }
}
trigger_else_if = {
limit = {
scope:county = title:c_ravenna
}
NOT = { exists = global_var:ep3_reconquered_ravenna }
NOT = { exists = var:ep3_reconquered_ravenna }
}
trigger_else_if = {
limit = {
scope:county = title:c_roma
}
NOT = { exists = global_var:ep3_reconquered_roma }
NOT = { exists = var:ep3_reconquered_roma }
}
trigger_else_if = {
limit = {
scope:county = title:c_siracusa
}
NOT = { exists = global_var:ep3_reconquered_siracusa }
NOT = { exists = var:ep3_reconquered_siracusa }
}
trigger_else_if = {
limit = {
scope:county = title:c_bari
}
NOT = { exists = global_var:ep3_reconquered_bari }
NOT = { exists = var:ep3_reconquered_bari }
}
trigger_else_if = {
limit = {
scope:county = title:c_edessa
}
NOT = { exists = global_var:ep3_reconquered_edessa }
NOT = { exists = var:ep3_reconquered_edessa }
}
trigger_else_if = {
limit = {
scope:county = title:c_abbadan
}
NOT = { exists = global_var:ep3_reconquered_abbadan }
NOT = { exists = var:ep3_reconquered_abbadan }
}
trigger_else_if = {
limit = {
scope:county = title:c_alexandria
}
NOT = { exists = global_var:ep3_reconquered_alexandria }
NOT = { exists = var:ep3_reconquered_alexandria }
}
trigger_else_if = {
limit = {
scope:county = title:c_jerusalem
}
NOT = { exists = global_var:ep3_reconquered_jerusalem }
NOT = { exists = var:ep3_reconquered_jerusalem }
}
trigger_else_if = {
limit = {
scope:county = title:c_antiocheia
}
NOT = { exists = global_var:ep3_reconquered_antiocheia }
NOT = { exists = var:ep3_reconquered_antiocheia }
}
trigger_else = {
always = no
@ -268,60 +268,6 @@ ep3_emperor_yearly.2000 = {
}
immediate = {
switch = {
trigger = scope:county
title:c_antiocheia = {
set_global_variable = ep3_reconquered_antiocheia
}
title:c_jerusalem = {
set_global_variable = ep3_reconquered_jerusalem
}
title:c_alexandria = {
set_global_variable = ep3_reconquered_alexandria
}
title:c_abbadan = {
set_global_variable = ep3_reconquered_abbadan
}
title:c_edessa = {
set_global_variable = ep3_reconquered_edessa
}
title:c_bari = {
set_global_variable = ep3_reconquered_bari
}
title:c_siracusa = {
set_global_variable = ep3_reconquered_siracusa
}
title:c_roma = {
set_global_variable = ep3_reconquered_roma
}
title:c_ravenna = {
set_global_variable = ep3_reconquered_ravenna
}
title:c_tunis = {
set_global_variable = ep3_reconquered_tunis
}
title:c_tangiers = {
set_global_variable = ep3_reconquered_tangiers
}
title:c_murcia = {
set_global_variable = ep3_reconquered_murcia
}
title:c_lombardia = {
set_global_variable = ep3_reconquered_lombardia
}
title:c_trier = {
set_global_variable = ep3_reconquered_trier
}
title:c_northumberland = {
set_global_variable = ep3_reconquered_hadrian
}
title:c_chandax = {
set_global_variable = ep3_reconquered_chandax
}
title:c_tourraine = {
set_global_variable = ep3_reconquered_tourraine
}
}
change_influence = massive_influence_gain
add_prestige = major_prestige_gain
}
@ -462,6 +408,112 @@ ep3_emperor_yearly.2000 = {
}
after = {
if = {
limit = {
scope:county = title:c_antiocheia
}
set_global_variable = ep3_reconquered_antiocheia
}
else_if = {
limit = {
scope:county = title:c_jerusalem
}
set_global_variable = ep3_reconquered_jerusalem
}
else_if = {
limit = {
scope:county = title:c_alexandria
}
set_global_variable = ep3_reconquered_alexandria
}
else_if = {
limit = {
scope:county = title:c_abbadan
}
set_global_variable = ep3_reconquered_abbadan
}
else_if = {
limit = {
scope:county = title:c_edessa
}
set_global_variable = ep3_reconquered_edessa
}
else_if = {
limit = {
scope:county = title:c_bari
}
set_global_variable = ep3_reconquered_bari
}
else_if = {
limit = {
scope:county = title:c_siracusa
}
set_global_variable = ep3_reconquered_siracusa
}
else_if = {
limit = {
scope:county = title:c_roma
}
set_global_variable = ep3_reconquered_roma
}
else_if = {
limit = {
scope:county = title:c_ravenna
}
set_global_variable = ep3_reconquered_ravenna
}
else_if = {
limit = {
scope:county = title:c_tunis
}
set_global_variable = ep3_reconquered_tunis
}
else_if = {
limit = {
scope:county = title:c_tangiers
}
set_global_variable = ep3_reconquered_tangiers
}
else_if = {
limit = {
scope:county = title:c_murcia
}
set_global_variable = ep3_reconquered_murcia
}
else_if = {
limit = {
scope:county = title:c_lombardia
}
set_global_variable = ep3_reconquered_lombardia
}
else_if = {
limit = {
scope:county = title:c_trier
}
set_global_variable = ep3_reconquered_trier
}
else_if = {
limit = {
OR = {
scope:county = title:c_cumberland
scope:county = title:c_northumberland
}
}
set_global_variable = ep3_reconquered_hadrian
}
else_if = {
limit = {
scope:county = title:c_chandax
}
set_global_variable = ep3_reconquered_chandax
}
else_if = {
limit = {
scope:county = title:c_tourraine
}
set_global_variable = ep3_reconquered_tourraine
}
if = {
limit = {
NOT = {
@ -712,7 +764,7 @@ ep3_emperor_yearly.2020 = {
random_character_trait = {
limit = {
save_temporary_scope_as = temp_trait
trait_is_criminal_in_faith_trigger = { TRAIT = scope:temp_trait FAITH = root.faith GENDER_CHARACTER = root }
scoped_trait_is_criminal_in_faith_trigger = { TRAIT = scope:temp_trait FAITH = root.faith GENDER_CHARACTER = root }
}
save_scope_as = target_criminal_trait
}
@ -1466,7 +1518,7 @@ ep3_emperor_yearly.2050 = {
house = root.house
this != root
}
position = 0
position = 1
save_scope_as = last_emperor
}
}
@ -4312,10 +4364,7 @@ ep3_emperor_yearly.2170 = {
years = 50
}
}
if = {
limit = { government_has_flag = government_has_influence }
change_influence = major_influence_gain
}
change_influence = major_influence_gain
stress_impact = {
greedy = major_stress_impact_gain
paranoid = medium_stress_impact_gain
@ -6165,12 +6214,6 @@ ep3_emperor_yearly.2300 = {
faith != liege.primary_title.state_faith
}
set_character_faith = liege.primary_title.state_faith
if = {
limit = {
liege.primary_title.state_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
stress_impact = {
zealous = major_stress_impact_gain
disloyal = major_stress_impact_gain
@ -6321,12 +6364,6 @@ ep3_emperor_yearly.2310 = {
faith != top_liege.primary_title.state_faith
}
set_character_faith = top_liege.primary_title.state_faith
if = {
limit = {
top_liege.primary_title.state_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
change_influence = medium_influence_gain
stress_impact = {
zealous = major_stress_impact_gain
@ -6720,12 +6757,6 @@ ep3_emperor_yearly.2340 = {
option = {
name = ep3_emperor_yearly.2340.a
set_character_faith = top_liege.primary_title.state_faith
if = {
limit = {
top_liege.primary_title.state_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
if = {
limit = {
top_liege = this
@ -6927,7 +6958,7 @@ ep3_emperor_yearly.2410 = {
}
send_interface_message = {
title = 2410_noble_family_tt
type = msg_new_noble_family
type = msg_new_powerful_family
left_icon = scope:noble_family_head
right_icon = scope:new_title
desc = 2410_noble_family_tt_desc
@ -6984,7 +7015,6 @@ ep3_emperor_yearly.2420 = {
title = 2420_noble_family_tt
type = msg_new_powerful_family
left_icon = scope:noble_family_head
right_icon = scope:noble_family_head.house
desc = 2420_noble_family_tt_desc
}
}

View file

@ -1469,12 +1469,6 @@ ep3_emperor_yearly.8040 = {
name = ep3_emperor_yearly.8040.a
add_piety = major_piety_gain
set_character_faith_with_conversion = faith:iconoclast
if = {
limit = {
faith:iconoclast = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_character_modifier = {
modifier = ep3_iconoclast_modifier
years = 15

View file

@ -2236,8 +2236,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { is_incestuous_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
has_trait = kinslayer
@ -2250,8 +2250,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { has_trait = adulterer }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
has_trait = fornicator
@ -2263,24 +2263,24 @@ ep3_governor_yearly.3020 = {
}
}
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:fornicator FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:fornicator FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
has_trait = deviant
NOT = {
root = { is_deviant_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
has_trait = witch
NOT = {
root = { is_witch_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
has_trait = sodomite
@ -2292,16 +2292,16 @@ ep3_governor_yearly.3020 = {
}
}
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
has_trait = cannibal
NOT = {
root = { is_cannibal_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = scope:emperor_temp.faith GENDER_CHARACTER = scope:emperor_temp }
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = root.faith GENDER_CHARACTER = scope:emperor_temp }
}
AND = {
root.culture = {
@ -2346,8 +2346,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { is_incestuous_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -2380,8 +2380,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { has_trait = adulterer }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -2401,8 +2401,8 @@ ep3_governor_yearly.3020 = {
}
}
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:fornicator FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:fornicator FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -2417,8 +2417,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { is_deviant_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -2433,8 +2433,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { is_witch_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -2454,8 +2454,8 @@ ep3_governor_yearly.3020 = {
}
}
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -2470,8 +2470,8 @@ ep3_governor_yearly.3020 = {
NOT = {
root = { is_cannibal_trigger = yes }
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = root.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = scope:emperor.faith GENDER_CHARACTER = scope:emperor }
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = root.faith GENDER_CHARACTER = scope:emperor }
}
random_character_trait = {
limit = {
@ -5215,6 +5215,7 @@ ep3_governor_yearly.3050 = {
# by Jason Cantalini #
# 3060 #
#####################################
#Admin Imperial Succession event
ep3_governor_yearly.3060 = {
type = character_event
@ -5465,12 +5466,21 @@ ep3_governor_yearly.3060 = {
camera = camera_event_right_forward
}
lower_right_portrait = scope:previous_holder
trigger = {
exists = scope:emperor
scope:emperor = {
is_alive = yes
}
top_liege ?= {
this = scope:emperor
}
}
immediate = {
play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Byzantine_Flavor/ep3_mx_sting_byzantineflavor_become_emperor"
tgp_save_realm_ceremonial_liege_effect = yes
if = {
limit = {
scope:ceremonial_liege ?= scope:emperor
scope:ceremonial_liege = scope:emperor
}
clear_saved_scope = ceremonial_liege
}
@ -5484,7 +5494,7 @@ ep3_governor_yearly.3060 = {
is_in_army = yes
}
#Is not at sea
location.county = {
location = {
exists = holder
}
}
@ -6886,6 +6896,7 @@ ep3_governor_yearly.3070 = {
limit = {
ep3_governor_yearly_3070_close_governor_trigger = yes
save_temporary_scope_as = temp_vassal
ep3_governor_yearly_3070_close_governor_trigger = yes
"scope:liege.capital_province.squared_distance(scope:temp_vassal.capital_province)" < 25000
}
save_scope_as = close_governor
@ -6948,16 +6959,10 @@ ep3_governor_yearly.3070 = {
trigger = {
is_landed = no
}
custom_tooltip = {
text = domicile_move_to_province.tt
}
change_influence = medium_influence_gain
hidden_effect = {
domicile = {
move_domicile = scope:liege.capital_province
}
domicile = {
move_domicile = scope:liege.capital_province
}
house = {
every_house_member = {
custom = custom.every_house_member

View file

@ -767,7 +767,6 @@ ep3_interactions_events.0031 = { # By Jason Cantalini
has_graphical_mena_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_building_gfx = indian_building_gfx
has_building_gfx = tibetan_building_gfx
}
}
NOT = { government_has_flag = government_is_tribal }
@ -783,7 +782,6 @@ ep3_interactions_events.0031 = { # By Jason Cantalini
has_graphical_mena_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_building_gfx = indian_building_gfx
has_building_gfx = tibetan_building_gfx
}
}
government_has_flag = government_is_tribal
@ -1551,13 +1549,6 @@ ep3_interactions_events.0111 = {
scope:actor.primary_title ?= this
scope:actor.capital_county.de_jure_liege ?= this
}
any_de_jure_county = {
holder.top_liege = scope:actor
NOR = {
scope:actor.capital_county ?= this
scope:actor.primary_title ?= this
}
}
is_noble_family_title = no
is_landless_type_title = no
}
@ -1571,26 +1562,16 @@ ep3_interactions_events.0111 = {
scope:actor.primary_title ?= this
scope:actor.capital_county.de_jure_liege ?= this
}
any_de_jure_county = {
holder.top_liege = scope:actor
NOR = {
scope:actor.capital_county ?= this
scope:actor.primary_title ?= this
}
}
is_noble_family_title = no
is_landless_type_title = no
}
add_to_list = purchased_titles
every_de_jure_county = {
limit = {
holder.top_liege = scope:actor
NOR = {
scope:actor.capital_county ?= this
scope:actor.primary_title ?= this
}
if = {
limit = { tier = tier_duchy }
every_de_jure_county = {
limit = { ep3_purchase_land_valid_county_trigger = yes }
add_to_list = purchased_titles
}
add_to_list = purchased_titles
}
}
}
@ -1613,13 +1594,7 @@ ep3_interactions_events.0111 = {
if = {
limit = { tier = tier_duchy }
every_de_jure_county = {
limit = {
holder.top_liege = scope:actor
NOR = {
scope:actor.capital_county ?= this
scope:actor.primary_title ?= this
}
}
limit = { ep3_purchase_land_valid_county_trigger = yes }
add_to_list = purchased_titles
}
}
@ -1633,7 +1608,6 @@ ep3_interactions_events.0111 = {
is_landless_type_title = no
}
save_scope_as = new_primary_title
save_scope_as = target
}
scope:actor = {
@ -1643,7 +1617,6 @@ ep3_interactions_events.0111 = {
random_character_artifact = {
limit = {
scope:recipient = { can_equip_artifact = prev }
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:recipient }
}
save_scope_as = actor_artifact
}
@ -1698,7 +1671,6 @@ ep3_interactions_events.0111 = {
TITLE_LIST = purchased_titles
TYPE = granted
REASON = flag:purchased
ENNOBLED_ADVENTURER = flag:yes
}
}
scope:actor = {
@ -2053,34 +2025,6 @@ ep3_interactions_events.0111 = {
}
}
#Refuse all for 5 years
option = {
name = ep3_interactions_events.0111.refuse_5_years
scope:actor = {
send_interface_toast = {
left_icon = scope:actor
right_icon = scope:recipient
title = ep3_interactions_events.0111.refuse
scope:actor = {
add_opinion = {
target = scope:recipient
modifier = rejected_hiring_as_mercenaries
}
}
}
}
custom_tooltip = ep3_interactions_events.0111.refuse_5_years.tt
add_character_flag = {
flag = ai_hire_blocker
years = 5
}
ai_chance = {
base = 0
}
}
#Refuse
option = {
name = ep3_interactions_events.0111.f
@ -2166,7 +2110,6 @@ ep3_interactions_events.0112 = {
TITLE_LIST = purchased_titles
TYPE = granted
REASON = flag:purchased
ENNOBLED_ADVENTURER = flag:yes
}
# Extra purchase land specific
scope:actor = {
@ -2236,10 +2179,7 @@ ep3_interactions_events.0112 = {
add_defender = scope:recipient
}
scope:recipient = {
set_variable = {
name = joined_as_mercenary
value = scope:actor
}
add_character_flag = joined_as_mercenary
}
ai_chance = {
@ -2433,10 +2373,7 @@ ep3_interactions_events.0112 = {
add_defender = scope:recipient
}
scope:recipient = {
set_variable = {
name = joined_as_mercenary
value = scope:actor
}
add_character_flag = joined_as_mercenary
}
ai_chance = {
base = 1000
@ -2499,11 +2436,11 @@ ep3_interactions_events.0121 = {
limit = {
is_alive = yes
}
save_scope_as = laamp_temp
save_temporary_scope_as = laamp_temp
scope:employer = {
pay_treasury_or_gold = {
target = prev
value = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value
value = ep3_hire_laamp_mercs_payment_value
}
}
if = {
@ -2538,16 +2475,16 @@ ep3_interactions_events.0121 = {
limit = {
is_alive = yes
}
save_temporary_scope_as = laamp_temp_b
save_temporary_scope_as = laamp_temp
save_scope_value_as = {
name = war_contribution_value
value = "scope:war.war_contribution(scope:laamp_temp_b)"
value = "scope:war.war_contribution(scope:laamp_temp)"
}
scope:employer = {
pay_treasury_or_gold = {
target = prev
value = {
add = scope:laamp_temp_b.ep3_hire_laamp_mercs_payment_value
add = ep3_hire_laamp_mercs_payment_value
divide = 2
}
}
@ -2688,7 +2625,7 @@ ep3_interactions_events.0122 = {
scope:employer = {
pay_treasury_or_gold = {
target = prev
value = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value
value = ep3_hire_laamp_mercs_payment_value
}
}
}
@ -2699,7 +2636,7 @@ ep3_interactions_events.0122 = {
pay_treasury_or_gold = {
target = prev
value = {
add = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value
add = ep3_hire_laamp_mercs_payment_value
divide = 2
}
}
@ -2962,10 +2899,10 @@ ep3_interactions_events.0500 = {
show_as_unavailable = { always = yes }
custom_description_no_bullet = {
text = evict_adventurer_consequences_tt
object = scope:actor
subject = scope:recipient
object = scope:recipient
subject = scope:actor
}
scope:actor = { custom_tooltip = evict_adventurer_casus_belli_tt }
custom_tooltip = evict_adventurer_casus_belli_tt
show_as_tooltip = {
reverse_add_opinion = {
target = scope:actor
@ -2981,20 +2918,17 @@ ep3_interactions_events.0500 = {
}
custom_description_no_bullet = {
text = evict_adventurer_consequences_tt
object = scope:actor
subject = scope:recipient
object = scope:recipient
subject = scope:actor
}
scope:actor = { custom_tooltip = evict_adventurer_casus_belli_tt }
custom_tooltip = evict_adventurer_forced_tt
custom_tooltip = evict_adventurer_forced_tt.part_2
show_as_tooltip = {
reverse_add_opinion = {
target = scope:actor
modifier = eviction_ignored_opinion
}
}
scope:actor = {
custom_tooltip = evict_adventurer_forced_tt
custom_tooltip = evict_adventurer_forced_tt.part_2
}
}
after = { trigger_event = ep3_interactions_events.0502 }
@ -3072,7 +3006,7 @@ ep3_interactions_events.0501 = {
interaction = imprison_interaction
actor = scope:expeller
recipient = scope:adventurer
send_threshold = decline
execute_threshold = decline
}
}
}
@ -4350,7 +4284,9 @@ ep3_interactions_events.0610 = {
ordered_succession_appointment_investors = {
candidate = root
limit = {
NOT = { house ?= root.house }
NOT = {
house ?= root.house
}
is_alive = yes
is_imprisoned = no
NOR = {
@ -4363,18 +4299,34 @@ ep3_interactions_events.0610 = {
}
if = {
limit = {
NOT = { exists = scope:new_landed_admin }
NOT = {
exists = scope:new_landed_admin
}
}
save_scope_as = new_landed_admin
}
if = {
limit = { scope:recipient.top_liege != this }
scope:recipient.top_liege = { save_scope_as = emperor }
limit = {
scope:recipient = {
top_liege != this
}
}
scope:recipient.top_liege = {
save_scope_as = emperor
}
}
else = {
scope:recipient = { save_scope_as = emperor }
scope:recipient = {
save_scope_as = emperor
}
}
show_as_tooltip = {
get_title = primary_title
domicile = {
add_domicile_building = estate_main_01
}
}
show_as_tooltip = { get_title = primary_title }
}
#I'm a new kinda landless now

View file

@ -5356,20 +5356,6 @@ scripted_effect 1025_set_contract_location_effect = {
}
1025_save_random_county_province_effect = { REGION = world_africa_east }
}
#Sahara
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_africa_sahara }
}
1025_save_random_county_province_effect = { REGION = world_africa_sahara }
}
#Siberia
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_siberia }
}
1025_save_random_county_province_effect = { REGION = world_siberia }
}
#West Steppe
10 = {
trigger = {
@ -5377,13 +5363,6 @@ scripted_effect 1025_set_contract_location_effect = {
}
1025_save_random_county_province_effect = { REGION = world_steppe_west }
}
#Central Steppe
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_steppe_central }
}
1025_save_random_county_province_effect = { REGION = world_steppe_central }
}
#East Steppe
10 = {
trigger = {
@ -5391,76 +5370,6 @@ scripted_effect 1025_set_contract_location_effect = {
}
1025_save_random_county_province_effect = { REGION = world_steppe_east }
}
#Tarim
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_steppe_tarim }
}
1025_save_random_county_province_effect = { REGION = world_steppe_tarim }
}
#Tibet
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_tibet }
}
1025_save_random_county_province_effect = { REGION = world_tibet }
}
# Burma
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_burma }
}
1025_save_random_county_province_effect = { REGION = world_burma }
}
# Mainland SE Asia
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_southeast_mainland }
}
1025_save_random_county_province_effect = { REGION = world_asia_southeast_mainland }
}
# Maritime SE Asia
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_southeast_islands }
}
1025_save_random_county_province_effect = { REGION = world_asia_southeast_islands }
}
#China
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_china }
}
1025_save_random_county_province_effect = { REGION = world_asia_china }
}
#Japan
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_japan }
}
1025_save_random_county_province_effect = { REGION = world_asia_japan }
}
#Korea
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_korea }
}
1025_save_random_county_province_effect = { REGION = world_asia_korea }
}
#Sakhalin-Hokkaido
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_sakhalin_hokkaido }
}
1025_save_random_county_province_effect = { REGION = world_asia_sakhalin_hokkaido }
}
#North East Asia
10 = {
trigger = {
scope:visiting_location = { geographical_region = world_asia_north_east }
}
1025_save_random_county_province_effect = { REGION = world_asia_north_east }
}
}
}
@ -15202,12 +15111,6 @@ ep3_laamp_decision_event.1045 = {
faith != scope:visiting_location.faith
}
set_character_faith = scope:visiting_location.faith
if = {
limit = {
scope:visiting_location.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
stress_impact = {
base = minor_stress_impact_loss
zealous = major_stress_impact_gain
@ -20909,7 +20812,7 @@ ep3_laamp_decision_event.1120 = {
ep3_laamp_decision_event.1130 = { #begin city construction
type = character_event
title = ep3_laamp_decision_event.1130.t
window = big_event_window
window = visit_settlement_window
desc = ep3_laamp_decision_event.1130.desc
theme = stewardship
@ -20923,7 +20826,6 @@ ep3_laamp_decision_event.1130 = { #begin city construction
immediate = {
location = {
set_variable = laamp_city_construction
save_scope_as = city_location
}
}
@ -20933,15 +20835,10 @@ ep3_laamp_decision_event.1130 = { #begin city construction
custom_tooltip = ep3_laamp_decision_event.1130.a.desc
add_character_flag = laamp_city_builder
scope:city_location = {
if = {
limit = {
root = { has_variable = city_construction_is_temple_citadel }
}
begin_create_holding = { type = temple_citadel_holding }
}
else = {
begin_create_holding = { type = castle_holding }
begin_create_holding = {
type = castle_holding
}
set_variable = laamp_city_construction
}
trigger_event = {
@ -20971,19 +20868,10 @@ ep3_laamp_decision_event.1130 = { #begin city construction
ep3_laamp_decision_event.1131 = { #city is finished, wat do
type = character_event
title = ep3_laamp_decision_event.1131.t
window = big_event_window
desc = ep3_laamp_decision_event.1131.desc
theme = stewardship
override_background = {
trigger = {
location = {
culture = { has_building_gfx = southeast_asian_building_gfx }
}
}
reference = mpo_rural_village_asian
}
override_background = { reference = alley_day }
left_portrait = {
@ -20993,10 +20881,7 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
trigger = {
scope:city_location = {
OR = {
has_holding_type = temple_citadel_holding
has_holding_type = castle_holding
}
has_holding_type = castle_holding
}
}
@ -21006,54 +20891,30 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
value = current_year
}
if = {
limit = {
scope:city_location = { has_holding_type = temple_citadel_holding }
}
laamp_city_builder_construction_effect = {
FLAG = mill
BUILDING = watermills
}
laamp_city_builder_construction_effect = {
FLAG = temple_citadel
BUILDING = temple_citadel
}
laamp_city_builder_construction_effect = {
FLAG = manor
BUILDING = farm_estates
}
laamp_city_builder_construction_effect = {
FLAG = spice_plantation
BUILDING = spice_plantation
}
laamp_city_builder_construction_effect = {
FLAG = vihara_halls
BUILDING = vihara_halls
}
laamp_city_builder_construction_effect = {
FLAG = mill
BUILDING = watermills
}
else = {
laamp_city_builder_construction_effect = {
FLAG = mill
BUILDING = watermills
}
laamp_city_builder_construction_effect = {
FLAG = castle
BUILDING = castle
}
laamp_city_builder_construction_effect = {
FLAG = manor
BUILDING = farm_estates
}
laamp_city_builder_construction_effect = {
FLAG = workshops
BUILDING = workshops
}
laamp_city_builder_construction_effect = {
FLAG = prayer_hall
BUILDING = monastic_schools
}
laamp_city_builder_construction_effect = {
FLAG = castle
BUILDING = castle
}
laamp_city_builder_construction_effect = {
FLAG = manor
BUILDING = farm_estates
}
laamp_city_builder_construction_effect = {
FLAG = guilds
BUILDING = guild_halls
}
laamp_city_builder_construction_effect = {
FLAG = prayer_hall
BUILDING = monastic_schools
}
}
on_trigger_fail = {
@ -21061,7 +20922,9 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
limit = {
scope:city_location = { #somehow, the city is still being built
has_ongoing_construction = yes
has_holding = no
NOT = {
has_holding = yes
}
}
}
trigger_event = {
@ -21074,13 +20937,8 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
option = { #well, actually imma get the whole county
name = ep3_laamp_decision_event.1131.a
set_variable = {
name = holding_barony
value = scope:city_location.barony
}
add_pressed_claim = scope:city_location.county
add_pressed_claim = scope:city_location.barony
add_character_flag = temp_no_claim_war_cost
start_war = {
cb = claim_cb
target = scope:city_location.county.holder
@ -21088,7 +20946,6 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
target_title = scope:city_location.county
target_title = scope:city_location.barony
}
remove_character_flag = temp_no_claim_war_cost
ai_chance = {
base = 0
@ -21105,8 +20962,6 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
months = { 1 1 }
}
remove_character_flag = laamp_city_builder
remove_variable = city_construction_is_temple_citadel
remove_variable = city_construction_is_castle
ai_chance = {
base = 10
@ -21114,36 +20969,20 @@ ep3_laamp_decision_event.1131 = { #city is finished, wat do
}
after = {
remove_character_flag = laamp_city_builder_mill
remove_character_flag = laamp_city_builder_mill_upgrade
remove_character_flag = laamp_city_builder_temple_citadel
remove_character_flag = laamp_city_builder_temple_citadel_upgrade
remove_character_flag = laamp_city_builder_guilds
remove_character_flag = laamp_city_builder_guilds_upgrade
remove_character_flag = laamp_city_builder_castle
remove_character_flag = laamp_city_builder_castle_upgrade
remove_character_flag = laamp_city_builder_manor
remove_character_flag = laamp_city_builder_manor_upgrade
remove_character_flag = laamp_city_builder_spice_plantation
remove_character_flag = laamp_city_builder_spice_plantation_upgrade
remove_character_flag = laamp_city_builder_workshops
remove_character_flag = laamp_city_builder_workshops_upgrade
remove_character_flag = laamp_city_builder_vihara_halls
remove_character_flag = laamp_city_builder_vihara_halls_upgrade
remove_character_flag = laamp_city_builder_prayer_hall
remove_character_flag = laamp_city_builder_prayer_hall_upgrade
remove_character_flag = laamp_city_builder_mill
remove_character_flag = laamp_city_builder_mill_upgrade
}
}
scripted_trigger 1133_holding_still_under_construction_trigger = {
scope:city_location = {
has_ongoing_construction = yes
NOR = {
has_holding_type = temple_citadel_holding
has_holding_type = castle_holding
}
}
}
ep3_laamp_decision_event.1133 = { #get a mill
type = character_event
title = ep3_laamp_decision_event.1133.t
@ -21160,7 +20999,12 @@ ep3_laamp_decision_event.1133 = { #get a mill
}
trigger = {
1133_holding_still_under_construction_trigger = yes
scope:city_location = {
has_ongoing_construction = yes
NOT = {
has_holding_type = castle_holding
}
}
OR = {
stewardship >= 18
has_trait = architect
@ -21238,7 +21082,12 @@ ep3_laamp_decision_event.1134 = { #get more settlers, main building upgrade
}
trigger = {
1133_holding_still_under_construction_trigger = yes
scope:city_location = {
has_ongoing_construction = yes
NOT = {
has_holding_type = castle_holding
}
}
OR = {
piety_level >= 3
prestige_level >= 3
@ -21254,25 +21103,11 @@ ep3_laamp_decision_event.1134 = { #get more settlers, main building upgrade
option = { #cool
name = ep3_laamp_decision_event.1134.a
if = {
limit = { has_variable = city_construction_is_temple_citadel }
add_character_flag = laamp_city_builder_temple_citadel
scope:city_location = {
show_as_tooltip = { add_building = temple_citadel_02 }
}
add_character_flag = laamp_city_builder_castle
scope:city_location = {
show_as_tooltip = { add_building = castle_02 }
}
else = {
add_character_flag = laamp_city_builder_castle
scope:city_location = {
show_as_tooltip = { add_building = castle_02 }
}
}
remove_short_term_gold = {
value = {
add = medium_gold_value
multiply = 2
}
}
remove_short_term_gold = 20
if = {
limit = {
piety_level >= 3
@ -21291,25 +21126,11 @@ ep3_laamp_decision_event.1134 = { #get more settlers, main building upgrade
option = { #go for it!
name = ep3_laamp_decision_event.1134.b
if = {
limit = { has_variable = city_construction_is_temple_citadel }
add_character_flag = laamp_city_builder_temple_citadel_upgrade
scope:city_location = {
show_as_tooltip = { add_building = temple_citadel_03 }
}
}
else = {
add_character_flag = laamp_city_builder_castle_upgrade
scope:city_location = {
show_as_tooltip = { add_building = castle_03 }
}
}
remove_short_term_gold = {
value = {
add = major_gold_value
multiply = 2
}
add_character_flag = laamp_city_builder_castle_upgrade
scope:city_location = {
show_as_tooltip = { add_building = castle_03 }
}
remove_short_term_gold = 40
if = {
limit = {
piety_level >= 3
@ -21363,12 +21184,17 @@ ep3_laamp_decision_event.1135 = { #argue for more favorable land assigment from
}
trigger = {
1133_holding_still_under_construction_trigger = yes
scope:city_location = {
has_ongoing_construction = yes
NOT = {
has_holding_type = castle_holding
}
}
scope:city_location.county.holder = {
reverse_opinion = {
target = root
value >= 40
}
target = root
value >= 40
}
}
NOR = {
scope:city_location = {
@ -21426,7 +21252,7 @@ ep3_laamp_decision_event.1135 = { #argue for more favorable land assigment from
}
ep3_laamp_decision_event.1136 = { #utilize connections, get merchant building
ep3_laamp_decision_event.1136 = { #utilize connections, get guildhall
type = character_event
title = ep3_laamp_decision_event.1136.t
window = visit_settlement_window
@ -21444,7 +21270,12 @@ ep3_laamp_decision_event.1136 = { #utilize connections, get merchant building
}
trigger = {
1133_holding_still_under_construction_trigger = yes
scope:city_location = {
has_ongoing_construction = yes
NOT = {
has_holding_type = castle_holding
}
}
prestige_level >= 3
}
@ -21457,17 +21288,10 @@ ep3_laamp_decision_event.1136 = { #utilize connections, get merchant building
option = { #cool
name = ep3_laamp_decision_event.1136.a
if = {
limit = { has_variable = city_construction_is_temple_citadel }
add_character_flag = laamp_city_builder_spice_plantation
add_character_flag = laamp_city_builder_guilds
show_as_tooltip = {
scope:city_location = {
show_as_tooltip = { add_building = spice_plantation_01 }
}
}
else = {
add_character_flag = laamp_city_builder_workshops
scope:city_location = {
show_as_tooltip = { add_building = workshops_01 }
add_building = guild_halls_01
}
}
add_prestige = -400
@ -21481,17 +21305,10 @@ ep3_laamp_decision_event.1136 = { #utilize connections, get merchant building
option = { #go for it!
name = ep3_laamp_decision_event.1136.b
if = {
limit = { has_variable = city_construction_is_temple_citadel }
add_character_flag = laamp_city_builder_spice_plantation_upgrade
add_character_flag = laamp_city_builder_guilds_upgrade
show_as_tooltip = {
scope:city_location = {
show_as_tooltip = { add_building = spice_plantation_03 }
}
}
else = {
add_character_flag = laamp_city_builder_workshops_upgrade
scope:city_location = {
show_as_tooltip = { add_building = workshops_03 }
add_building = guild_halls_03
}
}
add_prestige = -600
@ -21535,23 +21352,21 @@ ep3_laamp_decision_event.1137 = { #utilize connections, get prayer hall
}
trigger = {
1133_holding_still_under_construction_trigger = yes
scope:city_location = {
has_ongoing_construction = yes
NOT = {
has_holding_type = castle_holding
}
}
piety_level >= 3
}
option = { #cool
name = ep3_laamp_decision_event.1137.a
if = {
limit = { has_variable = city_construction_is_temple_citadel }
add_character_flag = laamp_city_builder_vihara_halls
add_character_flag = laamp_city_builder_prayer_hall
show_as_tooltip = {
scope:city_location = {
show_as_tooltip = { add_building = vihara_halls_01 }
}
}
else = {
add_character_flag = laamp_city_builder_prayer_hall
scope:city_location = {
show_as_tooltip = { add_building = monastic_schools_01 }
add_building = monastic_schools_01
}
}
add_piety = -400
@ -21565,17 +21380,10 @@ ep3_laamp_decision_event.1137 = { #utilize connections, get prayer hall
option = { #go for it!
name = ep3_laamp_decision_event.1137.b
if = {
limit = { has_variable = city_construction_is_temple_citadel }
add_character_flag = laamp_city_builder_vihara_halls_upgrade
add_character_flag = laamp_city_builder_prayer_hall_upgrade
show_as_tooltip = {
scope:city_location = {
show_as_tooltip = { add_building = vihara_halls_03 }
}
}
else = {
add_character_flag = laamp_city_builder_prayer_hall_upgrade
scope:city_location = {
show_as_tooltip = { add_building = monastic_schools_03 }
add_building = monastic_schools_03
}
}
add_piety = -600

View file

@ -107,12 +107,10 @@ ep3_laamps.0001 = {
}
immediate = {
play_music_cue = adventure_begin_cue
add_character_flag = {
flag = become_laamp_event_cooldown
days = 5
}
clear_saved_scope = lost_primary_title
# Save highest lost title for loc
ordered_in_list = {
list = target_titles
@ -126,7 +124,6 @@ ep3_laamps.0001 = {
NOT = { exists = scope:lost_primary_title }
exists = scope:conquered
}
clear_saved_scope = lost_primary_title
scope:conquered = { save_scope_as = lost_primary_title }
}
# Find alternative rulers to play as
@ -224,7 +221,6 @@ ep3_laamps.0002 = {
random = {
chance = scope:ai_laamp_chance
# Plus for our memory variable.
clear_saved_scope = lost_primary_title
ordered_in_list = {
list = target_titles
order_by = tier
@ -282,9 +278,11 @@ ep3_laamps.0003 = {
limit = {
NOT = { has_relation_rival = scope:adventurer }
}
set_relation_rival = {
target = scope:adventurer
reason = rival_conquered_me
scope:adventurer = {
set_relation_rival = {
target = root
reason = rival_conquered_me
}
}
}
scope:adventurer = { create_landless_adventurer_title_tooltip_effect = yes }
@ -328,12 +326,10 @@ ep3_laamps.0004 = {
}
immediate = {
play_music_cue = adventure_begin_cue
add_character_flag = {
flag = become_laamp_event_cooldown
days = 5
}
clear_saved_scope = lost_primary_title
var:deposed_primary_title ?= {
# Save highest lost title for loc
save_scope_as = conquered
@ -434,12 +430,10 @@ ep3_laamps.0005 = {
}
immediate = {
play_music_cue = adventure_begin_cue
add_character_flag = {
flag = become_laamp_event_cooldown
days = 5
}
clear_saved_scope = lost_primary_title
var:deposed_primary_title ?= {
# Save highest lost title for loc
save_scope_as = conquered
@ -606,7 +600,6 @@ ep3_laamps.0010 = {
}
immediate = {
play_music_cue = adventure_begin_cue
add_character_flag = {
flag = become_laamp_event_cooldown
days = 5
@ -792,7 +785,6 @@ ep3_laamps.0020 = {
}
immediate = {
play_music_cue = adventure_begin_cue
add_character_flag = {
flag = become_laamp_event_cooldown
days = 5
@ -800,7 +792,6 @@ ep3_laamps.0020 = {
save_scope_as = adventurer
liege = { save_scope_as = liege }
# Save highest lost title for loc
clear_saved_scope = lost_primary_title
ordered_held_title = {
order_by = tier
position = 0
@ -954,7 +945,6 @@ ep3_laamps.0021 = {
immediate = {
save_scope_as = adventurer
liege = { save_scope_as = liege }
clear_saved_scope = lost_primary_title
# Save highest lost title for loc
ordered_held_title = {
order_by = tier
@ -1096,7 +1086,6 @@ ep3_laamps.0030 = {
trigger = { exists = scope:laamp_inheritor }
immediate = {
play_music_cue = adventure_begin_cue
# Save scopes for loc
primary_title = { save_scope_as = old_primary_title }
capital_province = { save_scope_as = old_capital_province }
@ -1351,7 +1340,6 @@ ep3_laamps.0040 = {
}
immediate = {
play_music_cue = adventure_begin_cue
add_character_flag = {
flag = become_laamp_event_cooldown
days = 5
@ -1748,13 +1736,7 @@ ep3_laamps.0100 = {
type = character_event
title = ep3_laamps.0100.t
desc = {
first_valid = {
triggered_desc = {
trigger = { government_has_flag = government_is_nomadic }
desc = ep3_laamps.0100.desc_nomadic
}
desc = ep3_laamps.0100.desc
}
desc = ep3_laamps.0100.desc
first_valid = {
triggered_desc = {
trigger = { scope:new_liege ?= scope:recipient }
@ -1768,21 +1750,13 @@ ep3_laamps.0100 = {
}
first_valid = {
triggered_desc = {
trigger = {
NOT = { government_has_flag = government_is_nomadic }
exists = scope:new_liege
}
trigger = { exists = scope:new_liege }
desc = ep3_laamps.0100.unpopular
}
triggered_desc = {
trigger = {
NOT = { government_has_flag = government_is_nomadic }
}
desc = ep3_laamps.0100.fallback
}
desc = ep3_laamps.0100.fallback
}
}
theme = crown
theme = realm
left_portrait = {
character = root
animation = war_over_tie
@ -2920,7 +2894,6 @@ ep3_laamps.0800 = { # Player adventurer has gained a landed title
TITLE_LIST = landed_titles
TYPE = granted
REASON = flag:granted
ENNOBLED_ADVENTURER = flag:yes
}
if = {
limit = {
@ -6438,7 +6411,6 @@ ep3_laamps.5035 = {
NOT = {
has_artifact_modifier = artifact_guide_map_modifier
}
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:guide }
}
}
random_character_artifact = {
@ -6446,7 +6418,6 @@ ep3_laamps.5035 = {
NOT = {
has_artifact_modifier = artifact_guide_map_modifier
}
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:guide }
}
weight = {
base = 1
@ -8853,7 +8824,6 @@ ep3_laamps.7004 = {
TITLE_LIST = landed_titles
TYPE = granted
REASON = flag:granted
ENNOBLED_ADVENTURER = flag:yes
}
every_in_list = {
list = zichia_names

View file

@ -822,7 +822,6 @@ ep3_laamps.8040 = {
name = ep3_laamps.8040.c
trigger = {
domicile = {
free_external_domicile_building_slots >= 1
NOT = {
has_domicile_building = baggage_train_kennel
}
@ -2128,9 +2127,7 @@ ep3_laamps.8101 = {
trigger = {
any_claim = {
count > 1
exists = holder
tier >= tier_kingdom
holder != scope:petitioned_ruler
}
NOT = {
has_variable = legitimist_claimed_title
@ -2140,9 +2137,7 @@ ep3_laamps.8101 = {
immediate = {
ordered_claim = {
limit = {
exists = holder
tier >= tier_kingdom
holder != scope:petitioned_ruler
}
order_by = tier
max = 4
@ -2278,9 +2273,7 @@ ep3_laamps.8102 = {
}
random_claim = {
limit = {
exists = holder
tier >= tier_kingdom
holder != scope:petitioned_ruler
}
save_scope_as = claimed_title
}

View file

@ -23,7 +23,6 @@ scripted_trigger suitable_follower_marriage_character_trigger = {
is_concubine = no
age <= 50
health >= fine_health
is_faith_dominant_gender = no
NOR = {
house = root.house
is_close_family_of = root

View file

@ -954,7 +954,7 @@ ep3_laamp_flavour_ewan.0011 = {
title = ep3_laamp_flavour_ewan.0011.a.tt.failure
left_icon = scope:mockee
scope:mockee = {
add_opinion = {
reverse_add_opinion = {
target = root
modifier = humiliated_opinion
opinion = -30
@ -1021,7 +1021,7 @@ ep3_laamp_flavour_ewan.0011 = {
title = ep3_laamp_flavour_ewan.0011.b.tt.failure
left_icon = scope:mocker
scope:mocker = {
add_opinion = {
reverse_add_opinion = {
target = root
modifier = humiliated_opinion
opinion = -30
@ -8980,29 +8980,48 @@ ep3_laamp_flavour_ewan.2002 = {
}
immediate = {
# Sort our courtiers.
## First, get our scope:follower_1 candidate.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2001_courtier_1_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2001_courtier_2_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:follower_2 }
}
# Sort our courtiers.
## First, get our scope:follower_1 candidate.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2001_courtier_1_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = follower_1
add_to_list = checked_courtier_1_candidates_list
}
## Now, find a scope:follower_2 from their opinion of the scope:follower_1 candidates.
if = {
limit = { exists = scope:follower_1 }
ordered_courtier = {
limit = {
ep3_laamp_flavour_ewan_2001_courtier_2_trigger = { TARGET = scope:follower_1 }
}
order_by = "opinion(scope:follower_1)"
save_scope_as = follower_2
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:follower_2 }
}
clear_saved_scope = follower_1
}
}
save_scope_as = follower_1
}
## Now, find a scope:follower_2 from their opinion of the scope:follower_1 candidates.
ordered_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2001_courtier_2_trigger = { TARGET = scope:follower_1 }
exists = scope:follower_1
exists = scope:follower_2
}
order_by = "opinion(scope:follower_1)"
save_scope_as = follower_2
trigger_event = ep3_laamp_flavour_ewan.2001
}
trigger_event = ep3_laamp_flavour_ewan.2001
}
}
@ -9029,7 +9048,7 @@ scripted_trigger ep3_laamp_flavour_ewan_2011_secret_lover_would_be_affair_trigge
NOT = {
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = root
}
}
@ -10477,7 +10496,9 @@ scripted_trigger ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_pre
# Must have matching sexualities & the right legalities in place.
is_attracted_to_gender_of = $TARGET$
$TARGET$ = { is_attracted_to_gender_of = prev }
could_marry_character_trigger = { CHARACTER = $TARGET$ }
allowed_to_marry_character_gender_trigger = { CHARACTER = $TARGET$ }
# Avoid pairing up people that are already somehow related to each other
NOT = { is_close_or_extended_family_of = $TARGET$ }
# Ensure our ages aren't too far apart — not that this couldn't happen, but huge age gaps are a big verisimilitude problem for many players.
age >= {
value = $TARGET$.age
@ -10828,39 +10849,58 @@ ep3_laamp_flavour_ewan.2022 = {
}
immediate = {
# Alright, let's select our lovebirds.
## First, pick a scope:follower_1 candidate.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:follower_2 }
}
# Alright, let's select our lovebirds.
## First, pick a scope:follower_1 candidate.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = follower_1
add_to_list = checked_courtier_1_candidates_list
}
## Now, nab a suitable pair.
if = {
limit = { exists = scope:follower_1 }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
}
weight = {
opinion_modifier = {
opinion_target = scope:follower_1
multiplier = 0.5
}
opinion_modifier = {
who = scope:follower_1
opinion_target = this
multiplier = 0.5
}
}
save_scope_as = follower_2
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:follower_2 }
}
clear_saved_scope = follower_1
}
}
save_scope_as = follower_1
}
## Now, nab a suitable pair.
random_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
exists = scope:follower_1
exists = scope:follower_2
}
weight = {
opinion_modifier = {
opinion_target = scope:follower_1
multiplier = 0.5
}
opinion_modifier = {
who = scope:follower_1
opinion_target = this
multiplier = 0.5
}
}
save_scope_as = follower_2
trigger_event = ep3_laamp_flavour_ewan.2021
}
trigger_event = ep3_laamp_flavour_ewan.2021
}
}
@ -11216,7 +11256,7 @@ scripted_trigger ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_genera
OR = {
trait_is_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = this
}
AND = {
@ -11506,49 +11546,68 @@ ep3_laamp_flavour_ewan.2042 = {
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:char_temp }
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_precise_trigger = { TARGET = scope:char_temp }
}
}
}
}
immediate = {
# Alright, let's select our lovebirds.
## First up, pick an appropriate character.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:follower_2 }
}
# Alright, let's select our lovebirds.
## First up, pick an appropriate character.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = follower_1
add_to_list = checked_courtier_1_candidates_list
}
## Now, nab a suitable pair.
if = {
limit = { exists = scope:follower_1 }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
}
weight = {
modifier = {
add = attraction
always = yes
}
modifier = {
add = 50
has_trait = lustful
}
modifier = {
add = -50
has_trait = chaste
}
}
save_scope_as = follower_2
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:follower_2 }
}
clear_saved_scope = follower_1
}
}
save_scope_as = follower_1
}
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
}
weight = {
modifier = {
add = attraction
always = yes
}
modifier = {
add = 50
has_trait = lustful
}
modifier = {
add = -50
has_trait = chaste
}
}
save_scope_as = follower_2
}
# If we've actually got our dudes, proceed to the event.
trigger_event = ep3_laamp_flavour_ewan.2041
if = {
limit = {
exists = scope:follower_1
exists = scope:follower_2
}
trigger_event = ep3_laamp_flavour_ewan.2041
}
}
}
@ -11994,66 +12053,85 @@ ep3_laamp_flavour_ewan.2062 = {
}
immediate = {
# Find our best courtiers.
## First, grabbing a valid annoyed char.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:thief }
}
# Find our best courtiers.
## First, grabbing a valid annoyed char.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = victim
add_to_list = checked_courtier_1_candidates_list
}
## Then processing out a good thief.
if = {
limit = { exists = scope:victim }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_precise_trigger = { TARGET = scope:victim }
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
}
save_scope_as = thief
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:thief }
}
clear_saved_scope = victim
}
}
save_scope_as = victim
}
## Then processing out a good thief.
random_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_precise_trigger = { TARGET = scope:victim }
exists = scope:victim
exists = scope:thief
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
}
save_scope_as = thief
trigger_event = ep3_laamp_flavour_ewan.2061
}
trigger_event = ep3_laamp_flavour_ewan.2061
}
}
@ -12631,7 +12709,6 @@ ep3_laamp_flavour_ewan.2081 = {
scripted_trigger ep3_laamp_flavour_ewan_2091_valid_angry_courtier_general_trigger = {
ep3_laamp_flavour_ewan_available_courtier_trigger = yes
is_of_major_or_minor_interest_trigger = { CHARACTER = root }
# Mustn't have a deescalatory personality.
NOR = {
has_trait = patient
@ -12683,14 +12760,12 @@ ep3_laamp_flavour_ewan.2091 = {
left_portrait = {
character = scope:attacker
animation = random_weapon_aggressive
camera = camera_event_very_left
}
right_portrait = {
character = scope:defender
animation = shock
}
override_background = { reference = ep3_campfire }
override_effect_2d = { reference = smoke }
immediate = {
if = {
@ -12964,70 +13039,90 @@ ep3_laamp_flavour_ewan.2093 = {
}
immediate = {
# Find our best courtiers.
## First, grab a suitable candidate.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:attacker }
}
# Find our best courtiers.
## First, grab a suitable candidate.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = defender
add_to_list = checked_courtier_1_candidates_list
}
## Then processing out a good one.
if = {
limit = { exists = scope:defender }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_precise_trigger = { TARGET = scope:defender }
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
opinion_modifier = {
who = this
opinion_target = scope:defender
multiplier = -0.5
}
}
save_scope_as = attacker
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:attacker }
}
clear_saved_scope = defender
}
}
save_scope_as = defender
}
random_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_precise_trigger = { TARGET = scope:defender }
exists = scope:defender
exists = scope:attacker
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
opinion_modifier = {
who = this
opinion_target = scope:defender
multiplier = -0.5
}
}
save_scope_as = attacker
trigger_event = ep3_laamp_flavour_ewan.2091
}
trigger_event = ep3_laamp_flavour_ewan.2091
}
}
@ -17746,41 +17841,39 @@ ep3_laamp_flavour_ewan.4041 = {
value = flag:earthquake
}
# If this isn't the direct holding of a player, cause some serious damage.
location.county = {
holder = {
if = {
limit = {
is_ai = yes
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
prev = {
change_development_level = {
integer_range = {
min = -35
max = -10
}
location.county.holder = {
if = {
limit = {
NOT = { is_ai = yes }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
prev = {
change_development_level = {
integer_range = {
min = -35
max = -10
}
change_county_control = -100
}
random = {
chance = 20
death = { death_reason = death_consumed_by_earthquake }
}
change_county_control = -100
}
random = {
chance = 20
death = { death_reason = death_consumed_by_earthquake }
}
}
}

View file

@ -72,12 +72,6 @@ ep3_roman_restoration.0100 = {
}
}
set_character_faith = faith:hellenic_pagan
if = {
limit = {
faith:hellenic_pagan = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
primary_title = { set_state_faith = faith:hellenic_pagan }
every_held_title = {
custom = custom.every_held_county
@ -134,12 +128,6 @@ ep3_roman_restoration.0100 = {
}
}
set_character_faith = faith:hellenic_pagan
if = {
limit = {
faith:hellenic_pagan = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
primary_title = { set_state_faith = faith:hellenic_pagan }
every_held_title = {
custom = custom.every_held_county

View file

@ -3405,7 +3405,6 @@ ep3_story_cycle_admin_eunuch.2060 = {
court_position_generator_effect = {
VAR = target
EMPLOYER = root
ONLY_EMPTY = no
}
}
}
@ -3521,7 +3520,6 @@ ep3_story_cycle_admin_eunuch.2061 = {
court_position_generator_effect = {
VAR = target
EMPLOYER = root
ONLY_EMPTY = no
}
}
}

View file

@ -526,7 +526,6 @@ grand_ambitions.0003 = {
immediate = {
# Create Adventurer
save_scope_as = adventurer
clear_saved_scope = lost_primary_title
hidden_effect = {
# Plus for our memory variable.
scope:story.var:target_title = { save_scope_as = lost_primary_title }

View file

@ -944,24 +944,31 @@ ep3_story_cycle_harrying.1011 = {
if = { #Ugly if/else block starts here!
limit = {
scope:captured = {
can_marry_common_trigger = yes
is_married = no
is_betrothed = no
}
}
if = { #Grab a courtier
limit = {
any_courtier = {
can_marry_character_trigger = { CHARACTER = scope:captured }
sex_opposite_of = scope:captured
culture = culture:norman
age > scope:captured.age_plus_10
age < scope:captured.age_minus_10
AND = {
scope:captured = { is_female = yes }
any_courtier = {
is_female = no
is_married = no
is_betrothed = no
is_adult = yes
culture = culture:norman
age > scope:captured.age_plus_10
age < scope:captured.age_minus_10
}
}
}
random_courtier = {
limit = {
sex_opposite_of = scope:captured
can_marry_character_trigger = { CHARACTER = scope:captured }
is_female = no
is_married = no
is_betrothed = no
is_adult = yes
culture = culture:norman
age > scope:captured.age_plus_10
age < scope:captured.age_minus_10
@ -980,6 +987,45 @@ ep3_story_cycle_harrying.1011 = {
save_scope_as = spouse_courtier
}
}
else_if = { #Gender reverse
limit = {
AND = {
scope:captured = { is_female = no }
any_courtier = {
is_female = yes
is_married = no
is_betrothed = no
is_adult = yes
culture = culture:norman
age > scope:captured.age_plus_10
age < scope:captured.age_minus_10
}
}
}
random_courtier = {
limit = {
is_female = yes
is_married = no
is_betrothed = no
is_adult = yes
culture = culture:norman
age > scope:captured.age_plus_10
age < scope:captured.age_minus_10
}
weight = {
base = 1
modifier = {
factor = 10
is_lowborn = no
}
modifier = {
factor = 5
is_close_or_extended_family_of = root
}
}
save_scope_as = spouse_courtier
}
}
else = { #Just in case
hidden_effect = {
create_character = {
@ -1141,19 +1187,6 @@ ep3_story_cycle_harrying.1011 = {
}
}
scripted_trigger harrying_1015_trigger = {
culture = culture:anglo_saxon
highest_held_title_tier > tier_county
any_held_title = {
tier = tier_county
is_landless_type_title = no
any_county_province = {
has_holding = yes
num_buildings > 0
}
}
}
# Punish a village
ep3_story_cycle_harrying.1015 = {
type = character_event
@ -1174,34 +1207,29 @@ ep3_story_cycle_harrying.1015 = {
trigger = {
any_vassal = {
harrying_1015_trigger = yes
culture = culture:anglo_saxon
highest_held_title_tier > tier_county
any_county = {
any_province = {
has_holding = yes
num_buildings > 0
}
}
}
}
immediate = {
random_vassal = {
limit = {
harrying_1015_trigger = yes
}
limit = { culture = culture:anglo_saxon }
save_scope_as = vassal
random_held_title = {
random_realm_province = {
limit = {
tier = tier_county
is_landless_type_title = no
any_county_province = {
has_holding = yes
num_buildings > 0
}
}
random_county_province = {
limit = {
has_holding = yes
num_buildings > 0
}
save_scope_as = offending_village
every_neighboring_province = { add_to_list = resettlement_villages }
hidden_effect = { destroy_random_building_variable_effect = yes }
has_holding = yes
num_buildings >= 1
}
save_scope_as = offending_village
every_neighboring_province = { add_to_list = resettlement_villages }
hidden_effect = { destroy_random_building_variable_effect = yes }
}
}
save_scope_as = root_scope #for tooltip
@ -1240,12 +1268,6 @@ ep3_story_cycle_harrying.1015 = {
option = { #Resettle the residents
name = ep3_story_cycle_harrying.1015.b
trigger = {
any_in_list = {
list = resettlement_villages
count >= 1
}
}
scope:offending_village = {
add_province_modifier = {

View file

@ -47,10 +47,6 @@ ep3_story_cycle_violet_poet.0001 = {
modifier = double_moon_modifier
save_scope_as = double_moon_book
}
random_owned_story = {
type = story_cycle_violet_poet
set_variable = { name = artifact value = scope:double_moon_book }
}
hidden_effect = {
scope:double_moon_book = {
set_artifact_rarity = illustrious

View file

@ -1385,7 +1385,7 @@ ep3_wedding.0002 = {
has_trait = lifestyle_reveler
}
add_trait_xp = {
trait = trait:lifestyle_reveler
trait = lifestyle_reveler
value = 20
}
}
@ -1664,7 +1664,7 @@ ep3_wedding.0003 = {
is_incestuous_trigger = yes
is_deviant_trigger = yes
NOT = {
trait_is_shunned_or_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = scope:other_family_spouse.faith GENDER_CHARACTER = scope:other_family_spouse }
trait_is_shunned_or_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:other_family_spouse.faith GENDER_CHARACTER = scope:other_family_spouse }
}
has_trait = lustful
has_trait = drunkard
@ -1690,7 +1690,7 @@ ep3_wedding.0003 = {
is_incestuous_trigger = yes
is_deviant_trigger = yes
NOT = {
trait_is_shunned_or_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = scope:flirting_in_law.faith GENDER_CHARACTER = scope:flirting_in_law }
trait_is_shunned_or_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:flirting_in_law.faith GENDER_CHARACTER = scope:flirting_in_law }
}
has_trait = lustful
has_trait = drunkard
@ -2041,7 +2041,7 @@ ep3_wedding.0003 = {
has_trait = lifestyle_mystic
}
add_trait_xp = {
trait = trait:lifestyle_mystic
trait = lifestyle_mystic
value = 25
}
}
@ -2295,7 +2295,7 @@ ep3_wedding.0003 = {
is_male = yes
}
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:sodomite
TRAIT = sodomite
GENDER_CHARACTER = root
FAITH = root.faith
}
@ -2314,7 +2314,7 @@ ep3_wedding.0003 = {
limit = {
is_married = yes
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = root
FAITH = root.faith
}
@ -2326,7 +2326,7 @@ ep3_wedding.0003 = {
limit = {
is_married = no
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:fornicator
TRAIT = fornicator
GENDER_CHARACTER = root
FAITH = root.faith
}
@ -2340,7 +2340,7 @@ ep3_wedding.0003 = {
is_married = yes
}
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = scope:flirting_in_law
FAITH = scope:flirting_in_law.faith
}
@ -2356,7 +2356,7 @@ ep3_wedding.0003 = {
is_married = no
}
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:fornicator
TRAIT = fornicator
GENDER_CHARACTER = scope:flirting_in_law
FAITH = scope:flirting_in_law.faith
}
@ -2373,7 +2373,7 @@ ep3_wedding.0003 = {
is_male = yes
}
trait_is_shunned_or_criminal_in_faith_trigger = {
TRAIT = trait:sodomite
TRAIT = sodomite
GENDER_CHARACTER = scope:flirting_in_law
FAITH = scope:flirting_in_law.faith
}

View file

@ -644,7 +644,7 @@ scripted_trigger fp1_jomsviking_raid_source_one_wales_trigger = {
this.leader.capital_province = {
squared_distance = {
target = scope:target_county.title_province
value <= squared_distance_small
value = squared_distance_small
}
}
}
@ -653,7 +653,7 @@ scripted_trigger fp1_jomsviking_raid_source_one_ireland_trigger = {
this.leader.capital_province = {
squared_distance = {
target = scope:target_county.title_province
value <= squared_distance_medium
value = squared_distance_medium
}
}
}
@ -662,7 +662,7 @@ scripted_trigger fp1_jomsviking_raid_source_one_france_trigger = {
this.leader.capital_province = {
squared_distance = {
target = scope:target_county.title_province
value <= squared_distance_large
value = squared_distance_large
}
}
}
@ -671,7 +671,7 @@ scripted_trigger fp1_jomsviking_raid_source_one_hre_trigger = {
this.leader.capital_province = {
squared_distance = {
target = scope:target_county.title_province
value <= squared_distance_huge
value = squared_distance_huge
}
}
}
@ -834,7 +834,7 @@ fp1_jomsvikings.0011 = {
}
}
## About an Ireland away.
else_if = {
if = {
limit = { fp1_jomsviking_raid_source_one_ireland_trigger = yes }
random_leased_title = {
limit = { fp1_jomsviking_raid_source_one_ireland_trigger = yes }
@ -842,7 +842,7 @@ fp1_jomsvikings.0011 = {
}
}
## About a France away.
else_if = {
if = {
limit = { fp1_jomsviking_raid_source_one_france_trigger = yes }
random_leased_title = {
limit = { fp1_jomsviking_raid_source_one_france_trigger = yes }
@ -850,7 +850,7 @@ fp1_jomsvikings.0011 = {
}
}
## About an HRE away.
else_if = {
if = {
limit = { fp1_jomsviking_raid_source_one_hre_trigger = yes }
random_leased_title = {
limit = { fp1_jomsviking_raid_source_one_hre_trigger = yes }
@ -1509,7 +1509,7 @@ fp1_jomsvikings.0041 = {
}
trait_is_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = this
}
}

View file

@ -1252,7 +1252,6 @@ scripted_effect fp1_1011_gib_pretty_hair_effect = {
# Tanglehair becomes Fairhair.
fp1_major_decisions.1011 = {
type = character_event
window = big_event_window
title = fp1_major_decisions.1011.t
desc = {
desc = fp1_major_decisions.1011.desc.intro
@ -1276,65 +1275,46 @@ fp1_major_decisions.1011 = {
}
override_background = { reference = fp1_ocean_norse }
trigger = {
# This character is Harald Fairhair.
exists = character:144000
this = character:144000
# The title they've acquired is Norway.
scope:title = title:k_norway
# Norway has been created by them.
scope:transfer_type = flag:created
# Norway has not been created previously.
NOT = { exists = global_var:norway_created }
}
immediate = {
play_music_cue = "mx_cue_succession"
# Check to see if Gyda is still around and kicking, and if so, treat this as a romance.
character:166044 = {
hidden_effect = {
if = {
limit = {
betrothed ?= {
NOR = {
this = character:144000
is_ai = no
}
}
}
break_betrothal = betrothed
}
else_if = {
limit = {
is_adult = yes
is_married = yes
any_spouse = {
NOR = {
this = character:144000
is_ai = no
}
}
}
every_spouse = {
prev = {
divorce = prev
}
}
}
else_if = {
limit = {
exists = concubinist
concubinist = {
NOR = {
this = character:144000
is_ai = no
}
}
}
concubinist = {
remove_concubine = prev
}
}
if = {
limit = {
is_alive = yes
could_marry_character_trigger = { CHARACTER = root }
has_any_bad_relationship_with_root_trigger = no
is_ai = yes
}
save_scope_as = gyda
if = {
limit = {
is_alive = yes
can_marry_character_trigger = { CHARACTER = root }
has_any_bad_relationship_with_root_trigger = no
is_ai = yes
}
save_scope_as = gyda
}
}
}
# My vow fulfilled!
option = {
name = fp1_major_decisions.1011.a
# Apply standard haircut effects.
fp1_1011_gib_pretty_hair_effect = yes
ai_chance = {
# AI should only default to this if Gyda is unavailable.
base = 0
}
}
# Gyda, my love!
option = {
@ -1343,41 +1323,13 @@ fp1_major_decisions.1011 = {
# Gyda must have been valid.
exists = scope:gyda
# And, for MP, remain valid.
could_marry_character_trigger = { CHARACTER = scope:gyda }
}
if = {
limit = {
is_married = yes
primary_spouse ?= {
NOT = {
this = character:144000
}
}
}
divorce = primary_spouse
}
else_if = {
limit = {
betrothed ?= {
NOT = {
this = character:144000
}
}
}
break_betrothal = betrothed
can_marry_character_trigger = { CHARACTER = scope:gyda }
}
# Apply standard haircut effects.
fp1_1011_gib_pretty_hair_effect = yes
# Harald & Gyda are wed.
if = {
limit = {
scope:gyda = { is_adult = no }
}
create_betrothal = scope:gyda
}
else_if = {
limit = {
has_ep2_dlc_trigger = yes
}
@ -1393,34 +1345,19 @@ fp1_major_decisions.1011 = {
add_opinion = {
target = scope:gyda
modifier = love_opinion
opinion = 150
opinion = 50
}
reverse_add_opinion = {
target = scope:gyda
modifier = love_opinion
opinion = 150
opinion = 50
}
add_stress = -200
ai_chance = {
# AI should always select this option if it's present.
base = 100
}
}
# My vow fulfilled!
option = {
name = fp1_major_decisions.1011.a
# Apply standard haircut effects.
fp1_1011_gib_pretty_hair_effect = yes
ai_chance = {
# AI should only default to this if Gyda is unavailable.
base = 0
}
}
# Leave it; it is a mark of the struggles I have been through.
option = {
@ -1448,6 +1385,13 @@ fp1_major_decisions.1011 = {
fp1_major_decisions.1012 = {
hidden = yes
# If Norway has just been created for the first time...
trigger = {
scope:title = title:k_norway
scope:transfer_type = flag:created
NOT = { exists = global_var:norway_created }
}
# ... flag that.
immediate = {
set_global_variable = {

View file

@ -907,12 +907,6 @@ fp1_other_decisions.0003 = {
faith = { save_scope_as = old_faith }
# Next, we convert your faith.
set_character_faith_with_conversion = scope:gf_faith
if = {
limit = {
scope:gf_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
scope:activity = {
add_activity_log_entry = {
@ -2236,15 +2230,7 @@ fp1_other_decisions.0101 = {
name = fp1_other_decisions.0101.d
# Give 'em their deposit back.
if = {
limit = {
has_treasury = yes
}
add_treasury = var:raise_stele_refund
}
else = {
add_gold = var:raise_stele_refund
}
add_gold = var:raise_stele_refund
# Clear the cooldown.
remove_decision_cooldown = raise_stele_decision

View file

@ -890,7 +890,7 @@ fp1_shieldmaiden.0021 = {
# Shieldmaiden saves you from murder
fp1_shieldmaiden.0022 = {
type = character_event
window = scheme_conclusion_event_no_header
window = scheme_target_event
title = fp1_shieldmaiden.0022.t
desc = {
# This block is only for the setup of child_pushed.

View file

@ -1684,9 +1684,7 @@ fp1_trade_events.0051 = {
# And again for every one that has _also_ been raided recently, since that's a good indicator of raid-density.
if = {
limit = {
any_county_province = { has_province_modifier = recently_looted_modifier }
}
limit = { has_county_modifier = recently_looted_modifier }
add = 1
}
}
@ -2100,10 +2098,7 @@ fp1_trade_events.1131 = {
custom_tooltip = fp1_trade_events.1131.c.tt
remove_treasury_or_gold = monumental_treasury_or_gold_value
# ... thereby winning the war.
scope:sa_war = {
set_variable = no_gold_reparations
end_war = defender
}
scope:sa_war = { end_war = defender }
reverse_add_opinion = {
target = scope:attacker
modifier = humiliated_opinion
@ -2247,12 +2242,6 @@ scripted_effect fp1_trade_events_1171_marry_partner_child_effect = {
}
# Convert to scope:partner's faith.
set_character_faith_with_conversion = scope:partner.faith
if = {
limit = {
scope:partner.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
# Do so in a very public and celebrated manner, gaining piety.
add_piety = massive_piety_gain
# Paid a dowry by scope:partner.

View file

@ -416,7 +416,7 @@ fp1_yearly.0001 = {
scripted_trigger offensive_courtier_candidate_trigger = {
#Filter out the basic miscs.
is_available_ai_adult = yes
#Have committed some genuine malfeasance, or just be irritating to at least some people.
#Have some commited some genuine malfeasance, or just be irritating to at least some people.
OR = {
#Having committed murder by poison is a solid way to become a nithing; this might be a secret, but we assume local rumours about a shady buyer of poisons abound...
has_character_flag = murdered_by_poison
@ -2124,12 +2124,6 @@ fp1_yearly.0041 = {
add_courtier = scope:explorer
#Sort conversion.
set_character_faith_with_conversion = scope:explorer.faith
if = {
limit = {
scope:explorer.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
#Get scope:sponsoring_liege as a friend, if possible.
if = {
limit = {
@ -14227,12 +14221,6 @@ fp1_yearly.1012 = {
#Perform the conversion.
set_character_faith_with_conversion = scope:ms_faith
if = {
limit = {
scope:ms_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
#Recoup lost piety, and get paid a little extra.
custom_tooltip = fp1_yearly.1012.a.recoup_lost_piety.tt
@ -15004,9 +14992,8 @@ fp1_yearly.1061 = {
# Germanic faith.
religion = religion:germanic_religion
# Shouldn't ever happen, but just in case, exempt sky burials so that the character is never buried twice.
NOR = {
NOT = {
faith = { has_doctrine_parameter = sky_burials_active }
has_dead_character_variable = body_has_been_disposed
}
# And we shouldn't really be erecting glorious mounds to long lives that were actually cut short too early.
age >= 30
@ -15209,10 +15196,6 @@ fp1_yearly.1062 = {
is_available_even_at_war_adult = yes
# Must still be the same faith as scope:ship_funeral_candidate, for ease of loc and such.
faith = scope:ship_funeral_candidate.faith
# Check that they haven't been buried already (e.g. via funeral activity)
scope:ship_funeral_candidate = {
NOT = { has_dead_character_variable = body_has_been_disposed }
}
}
# A small stone ship.
@ -16089,11 +16072,6 @@ fp1_yearly.1063 = {
is_available_even_at_war_adult = yes
# Must still be the same faith as scope:ship_funeral_candidate, for ease of loc and such.
faith = scope:ship_funeral_candidate.faith
# Check that they haven't been buried already (e.g. via funeral activity)
scope:ship_funeral_candidate = {
NOT = { has_dead_character_variable = body_has_been_disposed }
}
}
on_trigger_fail = {
@ -16347,14 +16325,6 @@ fp1_yearly.1063 = {
}
after = {
scope:ship_funeral_candidate = {
set_dead_character_variable = {
name = body_has_been_disposed
value = yes
years = 5
}
}
# Clear up remaining values on the character.
fp1_funeral_longship_clear_variables_effect = yes
}

View file

@ -1912,7 +1912,7 @@ scripted_trigger fp1_yearly_2500_guest_trigger = {
}
}
save_temporary_scope_as = deviant_guest
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = scope:deviant_guest.faith GENDER_CHARACTER = scope:deviant_guest }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:deviant_guest.faith GENDER_CHARACTER = scope:deviant_guest }
}
scripted_trigger fp1_yearly_2500_court_target_trigger = {
@ -1956,7 +1956,7 @@ fp1_yearly.2500 = {
fp1_yearly_2500_guest_trigger = yes
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = root.faith GENDER_CHARACTER = scope:deviant_guest }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = root.faith GENDER_CHARACTER = scope:deviant_guest }
any_held_title = {
title_tier = county

View file

@ -3087,12 +3087,6 @@ fp2_lyonese_monk.0641 = {
days = 1
}
set_character_faith_with_conversion = faith:adoptionist
if = {
limit = {
faith:adoptionist = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_heresiarch_trait_effect = yes
## The hidden character's list gets used.
every_in_list = {

View file

@ -321,7 +321,10 @@ fp2_other_decisions.0001 = {
trigger = {
# can replace the court chaplain
faith = {
has_doctrine_parameter = clerical_appointment_fixed
OR = {
has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment
has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
}
}
}

View file

@ -554,7 +554,7 @@ fp2_struggle.0900 = { # Hostility
immediate = {
# Add all involved rulers to a list, for ping event
play_music_cue = "mx_Struggle_ending_hostility"
fp2_struggle_ending_involved_list_effect = yes
fp2_stuggle_ending_involved_list_effect = yes
give_nickname = nick_the_conquistador
dynasty = { add_dynasty_prestige = 10000 }
}
@ -838,7 +838,7 @@ fp2_struggle.0901 = { # Compromise
value = yes
}
# Add all involved rulers to a list, for ping event
fp2_struggle_ending_involved_list_effect = yes
fp2_stuggle_ending_involved_list_effect = yes
}
# Ok
@ -993,7 +993,7 @@ fp2_struggle.0902 = { # Conciliation
value = yes
}
# Add all involved rulers to a list, for ping event
fp2_struggle_ending_involved_list_effect = yes
fp2_stuggle_ending_involved_list_effect = yes
# Add all involved cultures with counties to a list, for marriage and holy war checks
fp2_struggle_ending_culture_list_effect = yes
@ -1763,7 +1763,7 @@ fp2_struggle.1001 = {
fp2_struggle.1001_weird_option_traits = no
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = dummy_female
}
}
@ -2054,7 +2054,6 @@ scripted_trigger neighboring_ruler_proper_culture_trigger = {
culture = culture:baranis
culture = culture:butr
culture = culture:levantine
culture = culture:sephardi
}
}
@ -4094,10 +4093,7 @@ fp2_struggle.1020 = {
every_close_or_extended_family_member = {
custom = all_family_members
if = {
limit = {
is_ai = yes
this != root
}
limit = { is_ai = yes }
add_opinion = {
target = root
opinion = -20
@ -6182,8 +6178,8 @@ fp2_struggle.2003 = {
add_prestige = medium_prestige_loss
scope:fp2_2003_county_town.title_province = {
add_province_modifier = {
scope:fp2_2003_county_town = {
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
}
@ -6316,11 +6312,9 @@ fp2_struggle.2003 = {
modifier = fp2_local_garrison_slaughtered_modifier
years = 5
}
title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
}
}
}
@ -6337,11 +6331,9 @@ fp2_struggle.2003 = {
years = 5
}
hidden_effect = {
title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
}
}
}
@ -6476,11 +6468,9 @@ fp2_struggle.2003 = {
title = fp2_struggle.2003.e.notif.a
scope:fp2_2003_county_town = {
title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
}
}
}
@ -7370,13 +7360,13 @@ fp2_struggle.2006 = {
if = {
limit = {
trait_is_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
GENDER_CHARACTER = scope:fp2_2006_vassal_in_crisis
FAITH = scope:fp2_2006_vassal_in_crisis.faith
}
NOT = {
trait_is_criminal_in_faith_trigger = {
TRAIT = trait:witch
TRAIT = witch
GENDER_CHARACTER = scope:fp2_2006_vassal_in_crisis
FAITH = scope:fp2_2006_foreign_faith
}
@ -10138,14 +10128,12 @@ fp2_struggle.2014 = {
any_character_artifact = {
NOT = { has_variable = historical_unique_artifact }
artifact_high_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
}
random_character_artifact = {
limit = {
NOT = { has_variable = historical_unique_artifact }
artifact_high_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
set_owner = root # If it breaks, use set_artifact_owner
}
@ -10210,14 +10198,12 @@ fp2_struggle.2014 = {
any_character_artifact = {
NOT = { has_variable = historical_unique_artifact }
artifact_low_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
}
random_character_artifact = {
limit = {
NOT = { has_variable = historical_unique_artifact }
artifact_low_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
set_owner = root
}

View file

@ -5,7 +5,7 @@
## 1001 - 1001 Chess Two by Daniel Moore
## 1002 - 1002 Compromising Position by Daniel Moore
## 1003 - 1003 Tilting at Giants by Daniel Moore
## 1004 - 1004 The Hawk of Quraysh by Daniel Moore
## 1004 - 1004 The Hawk of Quarysh by Daniel Moore
## 1005 - 1005 Lost Viking by Daniel Moore
## 1006 - 1007 Viking Cheese by Daniel Moore
## 1008 - 1008 Consuming the Cheese by Daniel Moore
@ -364,7 +364,7 @@ fp2_yearly.1003 = {
}
###################################
# The Hawk of Quraysh
# The Hawk of Quarysh
# By Daniel Moore
###################################
fp2_yearly.1004 = {
@ -429,7 +429,7 @@ fp2_yearly.1004 = {
option = { #How he inspired soldiers
name = fp2_yearly.1004.a
add_character_modifier = {
modifier = fp2_hawk_of_quraysh_martial_modifier
modifier = fp2_hawk_of_quarysh_martial_modifier
years = 10
}
@ -445,7 +445,7 @@ fp2_yearly.1004 = {
option = { #How diplomatic he was
name = fp2_yearly.1004.b
add_character_modifier = {
modifier = fp2_hawk_of_quraysh_diplomacy_modifier
modifier = fp2_hawk_of_quarysh_diplomacy_modifier
years = 10
}
@ -5915,709 +5915,6 @@ fp2_yearly.8006 = {
# Conversos and Jewish events
# By James Beaumont
###################################
scripted_trigger valid_grantable_county_barony = {
title_province = {
geographical_region = world_europe_west_iberia
}
title_province = { has_building_or_higher = common_tradeport_01 }
is_holy_site = no
county.holder = {
any_held_title = { # Make sure it isn't revoking their last title
title_tier = county
count >= 2
}
}
}
fp2_yearly.9000 = {
type = character_event
title = fp2_james.0001.t
desc = fp2_james.0001.desc
theme = secret
override_background = {
reference = docks
}
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_james_0001_jewish_trader
animation = personality_bold
}
trigger = {
NOT = { root.religion = religion:judaism_religion }
highest_held_title_tier >= tier_county
any_sub_realm_barony = {
valid_grantable_county_barony = yes
}
}
immediate = {
random_sub_realm_barony = {
limit = {
valid_grantable_county_barony = yes
}
save_scope_as = fp2_james_0001_thriving_community
}
create_character = {
template = spanish_jewish_merchant_character
location = root.capital_province
save_scope_as = fp2_james_0001_jewish_trader
}
}
option = {
name = fp2_james.0001.a
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_jewish_community_denied_modifier
years = 10
}
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
callous = minor_stress_impact_loss
greedy = minor_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_greed = -0.5
ai_zeal = 1.5
}
}
}
option = {
name = fp2_james.0001.b
trigger = {
NOT = { # Prevent all of Iberia from converting
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0001_thriving_community.county = {
change_title_holder = {
holder = scope:fp2_james_0001_jewish_trader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_0001_jewish_trader
modifier = received_title_county
}
}
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
set_county_culture = scope:fp2_james_0001_jewish_trader.culture
set_county_faith = scope:fp2_james_0001_jewish_trader.faith
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_greed = 1.5
ai_zeal = -0.5
}
}
}
option = {
name = fp2_james.0001.c
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_greed = 1.5
ai_zeal = -0.5
}
}
}
}
scripted_effect fp2_polish_should_heritage_israelite_get_upset_effect = {
if = {
limit = {
scope:fp2_james_0002_conversos_character = { culture = { has_cultural_pillar = heritage_israelite } }
}
scope:fp2_james_0002_conversos_character.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_loss_conversos_tolerance
}
}
}
}
# Suspect Conversos of secretly praciticing Judaism
fp2_yearly.9001 = {
type = character_event
title = fp2_james.0002.t
desc = fp2_james.0002.desc
theme = secret
override_background = {
reference = temple
}
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_0002_conversos_character
animation = personality_cynical
}
trigger = {
root.religion = religion:christianity_religion
is_landed = yes
NOT = { faith = faith:conversos }
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
}
}
immediate = {
every_sub_realm_county = {
limit = {
faith = faith:conversos
holder = {
liege = { # Don't convert player-Conversos territory
OR = {
is_ai = yes
NOT = { faith = faith:conversos }
}
}
}
}
add_to_list = fp2_james_0002_conversos_county
}
# Try to find a Conversos vassal if one exists
if = {
limit = {
any_vassal = {
faith = faith:conversos
is_available_ai = yes
}
}
random_vassal = {
limit = {
faith = faith:conversos
is_available_ai = yes
}
save_scope_as = fp2_james_0002_conversos_character
}
}
# Otherwise find a pool character
else_if = {
limit = {
any_pool_character = {
province = root.capital_province
faith = faith:conversos
}
}
random_pool_character = {
province = root.capital_province
limit = {
faith = faith:conversos
}
save_scope_as = fp2_james_0002_conversos_character
}
}
# Otherwise create one
else = {
create_character = {
template = spanish_conversos_character
location = root.capital_province
save_scope_as = fp2_james_0002_conversos_character
}
}
scope:fp2_james_0002_conversos_character = {
random_list = {
50 = {
add_character_flag = is_secretly_jewish_flag
}
50 = {
}
}
}
# Get a religion for them to potentially be secretly praciticing
religion:judaism_religion = {
random_faith = {
limit = { is_mainstream_jewish_faith = yes }
save_scope_as = fp2_james_0002_jewish_faith
}
}
}
option = {
name = fp2_james.0002.a
custom_tooltip = fp2_james.0002.a.tt
hidden_effect = {
if = {
limit = {
scope:fp2_james_0002_conversos_character = { has_character_flag = is_secretly_jewish_flag }
}
send_interface_toast = {
type = event_toast_effect_good
title = fp2_james.0002.a.jewish_communities_thrive
every_in_list = {
list = fp2_james_0002_conversos_county
set_county_faith = scope:fp2_james_0002_jewish_faith
}
scope:fp2_james_0002_conversos_character = {
set_character_faith = scope:fp2_james_0002_jewish_faith
every_vassal = {
limit = {
faith = faith:conversos
is_available_ai = yes
}
set_character_faith = scope:fp2_james_0002_jewish_faith
}
}
}
}
else = {
send_interface_toast = {
type = event_toast_effect_good
title = fp2_james.0002.a.nothing_happened_toast
}
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
stress_impact = {
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_zeal = 1.5
}
}
}
option = {
name = fp2_james.0002.b
duel = {
skill = intrigue
target = scope:fp2_james_0002_conversos_character
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
}
desc = fp2_james.0002.b.succesful_interrogation
if = {
limit = { scope:fp2_james_0002_conversos_character = { has_character_flag = is_secretly_jewish_flag } }
send_interface_message = { # Begrudgingly added "unecessary" polish
type = event_prison_good
title = fp2_james.0002.t
right_icon = scope:fp2_james_0002_conversos_character
rightfully_imprison_character_effect = {
TARGET = scope:fp2_james_0002_conversos_character
IMPRISONER = root
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
else = {
send_interface_message = {
type = event_intrigue_bad
title = fp2_james.0002.a.offended_conversos
right_icon = scope:fp2_james_0002_conversos_character
reverse_add_opinion = {
target = scope:fp2_james_0002_conversos_character
modifier = hate_opinion
opinion = -30
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
}
desc = fp2_james.0002.b.failed_interrogation
send_interface_message = {
type = event_intrigue_bad
title = fp2_james.0002.a.offended_conversos
right_icon = scope:fp2_james_0002_conversos_character
every_sub_realm_county = {
custom = fp2_james_0002.b.failed_interrogation.tt
limit = {
faith = {
religion = {
OR = {
this = religion:christianity_religion
this = religion:judaism_religion
}
}
}
}
add_county_modifier = {
modifier = fp2_conversos_persecution_modifier
years = 10
}
}
reverse_add_opinion = {
target = scope:fp2_james_0002_conversos_character
modifier = hate_opinion
opinion = -30
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
}
stress_impact = { compassionate = medium_stress_impact_gain }
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 0.5
}
}
}
option = { # Imprison the suspect without trial
name = fp2_james.0002.c
send_interface_message = {
type = event_prison_neutral
title = fp2_james.0002.t
right_icon = scope:fp2_james_0002_conversos_character
imprison_character_effect = {
TARGET = scope:fp2_james_0002_conversos_character
IMPRISONER = root
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
stress_impact = {
compassionate = medium_stress_impact_gain
diligent = medium_stress_impact_gain
just = medium_stress_impact_gain
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
}
ai_chance = {
base = 10
modifier = {
factor = 0
OR = {
has_trait = compassionate
has_trait = diligent
has_trait = just
}
}
modifier = {
factor = 2
OR = {
has_trait = callous
has_trait = sadistic
}
has_trait = zealous
}
}
}
}
# Jewish people come fleeing persecution from a nearby realm
fp2_yearly.9002 = {
type = character_event
title = fp2_james.0003.t
desc = fp2_james.0003.desc
theme = secret
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_003_jewish_refugee_leader
animation = beg
}
trigger = {
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
any_neighboring_and_across_water_top_liege_realm = { # There is someone to do persecuting
holder = {
is_ai = yes
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
}
}
highest_held_title_tier >= tier_county
any_held_county = {
is_landless_type_title = no
title_province = {
geographical_region = world_europe_west_iberia
}
NOT = { # Don't give away the capital
this = this.holder.top_liege.capital_county
}
holder = {
any_held_title = {
title_tier = county
count >= 2
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
}
modifier = {
factor = 0.1
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
immediate = {
# Grab the neighbour for loc purposes
random_neighboring_and_across_water_top_liege_realm = {
limit = {
holder = {
is_ai = yes
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
}
}
holder = { save_scope_as = fp2_james_003_intolerant_ruler }
}
# find a pool character
if = {
limit = {
any_pool_character = {
province = root.capital_province
religion = religion:judaism_religion
}
}
random_pool_character = {
province = root.capital_province
limit = {
religion = religion:judaism_religion
}
save_scope_as = fp2_james_003_jewish_refugee_leader
}
}
# Otherwise create one
else = {
create_character = {
template = spanish_jewish_merchant_character # May as well reuse the template
location = root.capital_province
save_scope_as = fp2_james_003_jewish_refugee_leader
}
}
# Get a religion for them to potentially be secretly praciticing
religion:judaism_religion = {
random_faith = {
limit = { is_mainstream_jewish_faith = yes }
save_scope_as = fp2_james_0003_jewish_faith
}
}
random_held_county = {
limit = {
is_landless_type_title = no
title_province = {
geographical_region = world_europe_west_iberia
}
NOT = { # Don't give away the capital
this = this.holder.top_liege.capital_county
}
holder = {
any_held_title = {
title_tier = county
count >= 2
}
}
}
weight = {
modifier = { # Low-dev counties should be more highly considered
add = 50
development_level <= medium_development_level
}
}
save_scope_as = fp2_james_0003_province_to_convert
}
}
option = { # Offer the community protection in your realm
name = fp2_james.0003.a
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0003_province_to_convert.county = {
change_title_holder = {
holder = scope:fp2_james_003_jewish_refugee_leader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_003_jewish_refugee_leader
modifier = received_title_county
}
}
scope:fp2_james_0003_province_to_convert.county = {
change_development_level = 1
if = {
limit = {
root = {
is_ai = no
}
NOT = {
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
set_county_culture = scope:fp2_james_003_jewish_refugee_leader.culture
set_county_faith = scope:fp2_james_003_jewish_refugee_leader.faith
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
else = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
}
scope:fp2_james_003_jewish_refugee_leader.culture = {
change_cultural_acceptance = {
target = root.culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
callous = minor_stress_impact_gain
greedy = minor_stress_impact_gain
compassionate = medium_stress_impact_loss
zealous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_zeal = -0.5
}
}
}
option = {
name = fp2_james.0003.b
scope:fp2_james_003_jewish_refugee_leader = { silent_disappearance_effect = yes }
stress_impact = {
paranoid = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_zeal = 1.5
}
}
}
}
###################################
# Toledan Nights
# By James Beaumont

View file

@ -187,7 +187,7 @@ fp3_dynasty_decision.0004 = {
send_interface_toast = {
title = splurge_above_expectations_toast
left_icon = scope:chosen_architect
dynasty ?= { add_dynasty_prestige = major_dynasty_prestige_value }
dynasty = { add_dynasty_prestige = major_dynasty_prestige_value }
house = {
every_house_member = {
custom = every_house_member

View file

@ -2455,7 +2455,7 @@ fp3_yearly.8032 = {
option = { #think of my dynasty
name = fp3_yearly.8032.c
dynasty ?= { add_dynasty_prestige = minor_dynasty_prestige_value }
dynasty = { add_dynasty_prestige = minor_dynasty_prestige_value }
stress_impact = {
arrogant = minor_stress_impact_loss

View file

@ -204,7 +204,7 @@ fp3_misc_decisions.0015 = {
ordered_in_list = {
list = realm_zoroastrian_faiths
order_by = fervor
position = 0
position = 1
save_scope_as = zoroastrian_faith_2
}
}

View file

@ -85,7 +85,7 @@ fp3_decision.0001 = {
add_piety = massive_piety_loss
dynasty ?= { add_dynasty_prestige = medium_dynasty_prestige_value }
dynasty = { add_dynasty_prestige = medium_dynasty_prestige_value }
add_character_modifier = {
modifier = fp3_royal_fire_modifier

View file

@ -136,18 +136,15 @@ fp3_clan.1000 = {
option = { # take this artifact
name = fp3_clan.1000.b
trigger = {
any_character_artifact = {
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:target_tax_collector }
}
any_character_artifact = { }
}
show_as_unavailable = {
always = yes
any_character_artifact = {
count < 1
}
}
random_character_artifact = {
limit = {
artifact_can_be_gift_to_trigger = { RECIPIENT = scope:target_tax_collector }
}
save_scope_as = target_artifact
set_owner = scope:target_tax_collector
add_artifact_history = {

View file

@ -336,7 +336,6 @@ fp3_yearly.2001 = {
scripted_effect fp3_yearly_2010_create_baker_effect = {
create_character = {
age = { 35 50 }
dynasty = none
location = root.capital_province
gender_female_chance = root_faith_dominant_gender_female_chance
faith = root.capital_province.faith
@ -818,7 +817,6 @@ fp3_yearly.2020 = {
has_religion = religion:islam_religion
employs_tax_collector = yes
any_tax_collector = {
this != root
any_tax_collector_vassal = { this = root }
fp3_yearly_2020_is_valid_tax_collector = yes
}
@ -844,7 +842,6 @@ fp3_yearly.2020 = {
}
random_tax_collector = {
limit = {
this != root
any_tax_collector_vassal = { this = root }
fp3_yearly_2020_is_valid_tax_collector = yes
}

View file

@ -949,12 +949,6 @@ fp3_yearly.8002 = { #Faith at the Frontier
add_piety = medium_piety_loss
set_character_faith_with_conversion = scope:regional_heresy
if = {
limit = {
scope:regional_heresy = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
scope:frontier_fort_county = {
add_county_modifier = {
@ -2218,7 +2212,7 @@ fp3_yearly.8007 = {
}
}
dynasty ?= { add_dynasty_prestige = minor_dynasty_prestige_value }
root.dynasty = { add_dynasty_prestige = minor_dynasty_prestige_value }
scope:fp3_child_to_leave = {
add_character_modifier = {
@ -3904,8 +3898,7 @@ fp3_yearly.8018 = {
}
}
NOR = {
title:h_china.holder ?= root
NOT = {
culture = culture:han
}

View file

@ -400,26 +400,14 @@ mpo_decisions_events.0005 = {
desc = mpo_decisions_events.0005.desc
theme = crown
override_background = { reference = courtyard }
left_portrait = {
character = scope:new_king_ruler
animation = standing_horse
camera = camera_event_standing_with_horse_left
}
right_portrait = {
character = scope:vassal
animation = throne_room_kneel_1
camera = camera_event_right_to_the_right
character = scope:new_king_ruler
animation = jockey_wave
camera = camera_event_horse_left
}
immediate = {
ordered_vassal = {
order_by = "opinion(root)"
limit = {
age > 5
basic_is_available_ai = yes
}
save_scope_as = vassal
}
}
option = {
@ -3099,6 +3087,7 @@ mpo_decisions_events.0023 = {
}
}
theme = nomads
#TODO_CD_MPO how about a new positive music sting?
override_background = {
reference = relaxing_room
}
@ -4187,228 +4176,13 @@ mpo_decisions_events.0101 = { #the merchant is back
immediate = {
mpo_paiza_deal_grade_effect = yes
if = {
limit = {
domicile ?= {
OR = {
has_domicile_building_or_higher = fertility_trade_yurt_01
has_domicile_building_or_higher = herd_trade_yurt_01
has_domicile_building_or_higher = knight_trade_yurt_01
has_domicile_building_or_higher = merchant_yurt_01
has_domicile_building_or_higher = char_trade_yurt_01
}
}
}
domicile ?= {
if = {
limit = {
has_domicile_building_or_higher = fertility_trade_yurt_01
}
switch = {
trigger = has_domicile_parameter
nomad_yurt_paiza_fertility_gain_lvl_1 = {
root = {
every_held_county = {
limit = {
uses_county_fertility = yes
}
add_county_modifier = {
modifier = paiza_fertility_modifier_1
years = 2
}
}
}
}
nomad_yurt_paiza_fertility_gain_lvl_2 = {
root = {
every_held_county = {
limit = {
uses_county_fertility = yes
}
add_county_modifier = {
modifier = paiza_fertility_modifier_2
years = 4
}
}
}
}
nomad_yurt_paiza_fertility_gain_lvl_3 = {
root = {
every_held_county = {
limit = {
uses_county_fertility = yes
}
add_county_modifier = {
modifier = paiza_fertility_modifier_3
years = 6
}
}
}
}
}
}
if = {
limit = {
has_domicile_building_or_higher = herd_trade_yurt_01
}
switch = {
trigger = has_domicile_parameter
nomad_yurt_paiza_herd_gain_lvl_1= {
change_herd = {
value = root.var:trade_gold_value
multiply = 0.05
}
}
nomad_yurt_paiza_herd_gain_lvl_2 = {
change_herd = {
value = root.var:trade_gold_value
multiply = 0.05
}
}
nomad_yurt_paiza_herd_gain_lvl_3 = {
change_herd = {
value = root.var:trade_gold_value
multiply = 0.2
}
}
}
}
if = {
limit = {
has_domicile_building_or_higher = knight_trade_yurt_01
}
switch = {
trigger = has_domicile_parameter
nomad_yurt_paiza_maa_gain_lvl_1 = {
root = {
spawn_army = {
name = paiza_troops
men_at_arms = {
type = accolade_maa_archers
stacks = 1
}
location = root.location
origin = scope:merchant_origin
inheritable = yes
}
}
}
nomad_yurt_paiza_maa_gain_lvl_2 = {
root = {
spawn_army = {
name = paiza_troops
men_at_arms = {
type = accolade_maa_archers
stacks = 4
}
location = root.location
origin = scope:merchant_origin
inheritable = yes
}
}
}
nomad_yurt_paiza_maa_gain_lvl_3 = {
root = {
spawn_army = {
name = paiza_troops
men_at_arms = {
type = accolade_maa_archers
stacks = 4
}
men_at_arms = {
type = accolade_maa_vanguards
stacks = 4
}
location = root.location
origin = scope:merchant_origin
inheritable = yes
}
}
}
}
}
if = {
limit = {
has_domicile_building_or_higher = char_trade_yurt_01
}
switch = {
trigger = has_domicile_parameter
nomad_yurt_paiza_char_gain_lvl_1 = {
root = {
hidden_effect = {
create_character = {
location = root.location
culture = scope:merchant_origin.county.culture
faith = scope:merchant_origin.county.faith
gender_female_chance = 50
template = peasant_character
save_scope_as = yurt_merchant_char
}
scope:yurt_merchant_char = {
add_trait = lifestyle_traveler
}
add_courtier = scope:yurt_merchant_char
}
}
}
nomad_yurt_paiza_char_gain_lvl_2 = {
root = {
hidden_effect = {
create_character = {
location = root.location
culture = scope:merchant_origin.county.culture
faith = scope:merchant_origin.county.faith
gender_female_chance = 50
template = merchant_template
save_scope_as = yurt_merchant_char
}
scope:yurt_merchant_char = {
add_trait = lifestyle_traveler
}
add_courtier = scope:yurt_merchant_char
}
}
}
nomad_yurt_paiza_char_gain_lvl_3 = {
root = {
hidden_effect = {
create_character = {
location = root.location
culture = scope:merchant_origin.county.culture
faith = scope:merchant_origin.county.faith
gender_female_chance = 50
template = merchant_template
save_scope_as = yurt_merchant_char
}
scope:yurt_merchant_char = {
add_random_skill_point_effect = yes
add_random_skill_point_effect = yes
add_random_skill_point_effect = yes
add_random_skill_point_effect = yes
add_random_skill_point_effect = yes
add_random_skill_point_effect = yes
random_list = {
1 = { add_trait = avaricious }
1 = { add_trait = diplomat }
1 = { add_trait = overseer }
}
add_trait = lifestyle_traveler
}
add_courtier = scope:yurt_merchant_char
}
}
}
}
}
}
}
mpo_yurts_paiza_bonuses_effect = yes
}
option = { #rejoice!
name = mpo_decisions_events.0101.a
ai_chance = {
base = 10
}
@ -4425,12 +4199,6 @@ mpo_decisions_events.0101 = { #the merchant is back
}
after = {
if = {
limit = {
domicile = { has_domicile_building_or_higher = char_trade_yurt_01 }
}
show_as_tooltip = { add_courtier = scope:yurt_merchant_char }
}
switch = {
trigger = scope:merchant_goods
flag:artifact_material = {
@ -8189,6 +7957,7 @@ mpo_decisions_events.0300 = {
has_domicile_parameter = nomad_yurt_improved_fertility_dance
}
}
custom_tooltip = mpo_decisions_events.0300.a.tt.yurt
scope:fertility_county = {
every_neighboring_county = {
limit = {

View file

@ -62,11 +62,10 @@ mpo_events_ariana.0001 = {
has_eagle_trigger = yes
var:eagle_personality_trait_2 ?= flag:observant
}
hunt_activity_deer_game_effect = { PROVINCE = root.location }
location.county = {
hunt_create_sighting_effect = {
TYPE = legendary
ANIMAL = root.var:animal_type
ANIMAL = flag:deer
OWNER = root
}
}
@ -124,7 +123,7 @@ mpo_events_ariana.0001 = {
show_as_tooltip = {
add_prestige = medium_prestige_gain
add_trait_xp = {
trait = trait:lifestyle_hunter
trait = lifestyle_hunter
track = falconer
value = 10
}
@ -1248,12 +1247,6 @@ mpo_events_ariana.0010 = {
}
set_character_faith = scope:new_faith
if = {
limit = {
scope:new_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
stress_impact = {
zealous = major_stress_impact_gain
eccentric = minor_stress_impact_loss
@ -1334,12 +1327,6 @@ mpo_events_ariana.0010 = {
hidden_effect = {
set_character_faith = scope:new_faith
}
if = {
limit = {
scope:new_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
show_as_tooltip = {
add_secret = {
type = secret_crypto_religionist
@ -2699,13 +2686,13 @@ mpo_events_ariana.0041 = {
}
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = root
}
}
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:fornicator
TRAIT = fornicator
GENDER_CHARACTER = root
}
}
@ -2778,13 +2765,13 @@ mpo_events_ariana.0041 = {
}
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = root
}
}
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:fornicator
TRAIT = fornicator
GENDER_CHARACTER = root
}
}
@ -2916,7 +2903,7 @@ scripted_effect mpo_events_ariana_0050_win_effect = {
target = scope:criminal_family
type = loyalty_hook
}
dynasty ?= { add_dynasty_prestige = medium_dynasty_prestige_value }
dynasty = { add_dynasty_prestige = medium_dynasty_prestige_value }
scope:criminal_family = {
add_opinion = {
target = root
@ -4822,4 +4809,4 @@ mpo_events_ariana.0111 = {
add_learning_skill = 1
}
}
}
}

View file

@ -267,10 +267,7 @@ mpo_flavor_events_settled.0010 = {
trigger = {
has_mpo_dlc_trigger = yes
NOR = {
government_has_flag = government_is_nomadic
any_primary_war_enemy = { government_has_flag = government_is_nomadic }
}
NOT = { government_has_flag = government_is_nomadic }
any_neighboring_top_liege_realm_owner = {
mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes
}

View file

@ -369,7 +369,7 @@ mpo_jamukha_flavor.0020 = {
outfit_tags = { nightgown }
camera = camera_event_very_right
}
window = scheme_conclusion_event_no_header
window = scheme_successful_event_no_text
immediate = {
play_music_cue = "mx_cue_murder"

View file

@ -1611,6 +1611,7 @@ migration_events.1020 = {
}
is_available_allow_travelling = yes
is_acclaimed = no
is_accolade_successor = no
}
save_scope_as = knight_1
}
@ -1627,6 +1628,7 @@ migration_events.1020 = {
}
is_available_allow_travelling = yes
is_acclaimed = no
is_accolade_successor = no
}
save_scope_as = knight_2
}

View file

@ -916,14 +916,6 @@ mpo_migration_travel_events.0050 = {
random_courtier = {
limit = {
is_eligible_courtier_0050 = yes
save_temporary_scope_as = courtier_temp_im
location = {
any_character_in_location = {
is_eligible_local_0050 = yes
can_set_relation_lover_trigger = { CHARACTER = scope:courtier_temp_im }
is_similar_age_trigger = { CHARACTER = scope:courtier_temp_im }
}
}
}
weight = {
base = 10

View file

@ -389,33 +389,62 @@ mpo_nomad_events.1000 = {
name = mpo_nomad_events.1000.c
trigger = {
has_variable = beheaded_warrior_accolade
var:beheaded_warrior_accolade = {
exists = acclaimed_knight
}
}
var:beheaded_warrior_accolade = {
add_glory = medium_glory_gain
acclaimed_knight = {
save_scope_as = beheaded_accolade_knight
#Give artifact to accolade knight
scope:head_artifact = {
set_owner = {
target = scope:book_recipient
history = {
location = root.capital_province
actor = root
recipient = scope:beheaded_accolade_knight
type = given
#Accolade gains glory if it is active
if = {
limit = {
var:beheaded_warrior_accolade = {
is_accolade_active = yes
exists = acclaimed_knight
}
}
var:beheaded_warrior_accolade = {
add_glory = medium_glory_gain
acclaimed_knight = {
save_scope_as = beheaded_accolade_knight
#Give artifact to accolade knight
scope:head_artifact = {
set_owner = {
target = scope:book_recipient
history = {
location = root.capital_province
actor = root
recipient = scope:beheaded_accolade_knight
type = given
}
}
}
#gain opinion with accolade knight
add_opinion = {
target = root
modifier = respect_opinion
opinion = 25
}
}
#gain opinion with accolade knight
}
}
#Accolade successors appear if it isn't active
else = {
save_scope_as = accolade_owner
scope:beheaded_warrior = {
save_scope_as = knight_in_need
}
var:beheaded_warrior_accolade = {
save_scope_as = accolade_in_need
}
every_knight = {
custom = custom.every_knight
add_opinion = {
target = root
modifier = respect_opinion
opinion = 25
opinion = 10
}
}
custom_tooltip = beheaded_accolade_successor_tt
trigger_event = {
id = accolade.0006
}
destroy_artifact = scope:head_artifact
}
stress_impact = {
content = minor_stress_impact_gain
@ -2667,7 +2696,6 @@ mpo_nomad_events.1020 = {
if = {
limit = {
has_relation_soulmate = scope:rowdy_boy
is_alive = yes
}
add_stress = major_stress_impact_gain
remove_relation_soulmate = scope:rowdy_boy
@ -2784,12 +2812,12 @@ mpo_nomad_events.1020 = {
add = -100
}
modifier = {
trait_is_criminal_in_faith_trigger = { FAITH = root.faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = root }
trait_is_criminal_in_faith_trigger = { FAITH = root.faith TRAIT = kinslayer_3 GENDER_CHARACTER = root }
add = -25
}
modifier = {
NOT = {
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = root.faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = root }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = root.faith TRAIT = kinslayer_3 GENDER_CHARACTER = root }
}
add = 50
}
@ -4582,13 +4610,6 @@ mpo_nomad_events.1040 = {
type = character_event
title = mpo_nomad_events.1040.t
desc = {
#Duchy overrunning wars need different desc
triggered_desc = {
trigger = {
exists = scope:duchy_war
}
desc = mpo_nomad_events.1040.desc_duchy
}
desc = mpo_nomad_events.1040.desc
#TRIGGERED DESC FOR GOVERNMENT TYPE GAINED
first_valid = {
@ -6171,7 +6192,7 @@ mpo_nomad_events.1080 = {
random_list = {
1 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = witch
}
@ -6180,49 +6201,49 @@ mpo_nomad_events.1080 = {
}
1 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = incestuous
}
1 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:kinslayer_1 FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_1 FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = kinslayer_1
}
1 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:kinslayer_2 FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_2 FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = kinslayer_2
}
1 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:kinslayer_3 FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_3 FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = kinslayer_3
}
3 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = deviant
}
3 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:fornicator FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = fornicator
}
3 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = adulterer
}
3 = {
trigger = {
trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:neighbor_ruler.faith GENDER_CHARACTER = scope:escaped_warrior }
}
add_trait = sodomite
}

View file

@ -44,6 +44,15 @@ scripted_trigger is_valid_nomad_events_0001_councillor = {
is_spouse_of = root
is_child_of = root
}
NAND = { # Not your Shaman unless they can be fired
has_council_position = councillor_court_chaplain
faith = {
OR = {
has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment
has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
}
}
}
}
scripted_trigger is_valid_nomad_events_0001_courtier = {
@ -1601,12 +1610,6 @@ nomad_events.0008 = {
NOT = { faith = scope:achmach_scope.faith }
}
set_character_faith_with_conversion = scope:achmach_scope.faith
if = {
limit = {
scope:achmach_scope.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
add_piety = medium_piety_gain
ai_chance = {
base = 0 #AI should never choose this

View file

@ -485,7 +485,7 @@ mpo_temujin_flavor.0020 = {
animation = horse_conversing_left
camera = camera_event_horse_right
}
window = scheme_conclusion_event_no_header
window = scheme_successful_event_no_text
trigger = {
NOT = { has_variable = had_mpo_temujin_flavor_0020 }

View file

@ -58,18 +58,6 @@ error_suppression.0001 = {
}
exists = var:reichskrone
exists = var:pope_hat
exists = var:debug_test_story_enemy
exists = var:debug_test_story_liege
exists = var:debug_test_story_counter
exists = var:debug_test_story_test_title
exists = var:debug_test_story_test_artifact
exists = var:debug_test_story_courtiers
exists = var:debug_test_story_title_list
exists = var:debug_test_story_artifact_list
exists = var:stewardship_duty_special_vassal_1
exists = var:stewardship_duty_special_vassal_2
exists = var:gok_final_date
has_variable = show_historical_gui
has_variable = nerge_activity
@ -128,6 +116,7 @@ error_suppression.0001 = {
scope:poem_tune = flag:crows_cry_at_night
scope:poem_tune = flag:phoenix_perched_on_the_parasol_tree
scope:poem_tune = flag:imperial_avenue_procession
scope:poem_tune = flag:rain_hits_a_bell
scope:poem_tune = flag:divination_song
scope:poem_tune = flag:attached_to_her_skirt
scope:poem_tune = flag:partridge_sky
@ -207,16 +196,3 @@ error_suppression.0004 = {
}
}
}
# misc vars
error_suppression.0005 = {
hidden = yes
orphan = yes
immediate = {
set_variable = enable_raiding_without_restrictions
set_variable = can_not_marry
set_variable = block_death_event
set_variable = can_be_councillor_override
set_variable = artifact_prevent_transfer
}
}

View file

@ -106,7 +106,7 @@ game_rule.1001 = { #by Mathilda Bjarnehed
hidden = yes
trigger = {
is_from_ruler_designer = no # Do not modify the family of someone from the ruler designer
is_from_ruler_designer = no # Do not modify the family of somoene from the ruler designer
#Is in need of family
NOT = {
exists = player_heir
@ -127,10 +127,8 @@ game_rule.1001 = { #by Mathilda Bjarnehed
is_holy_order = no
}
NOR = {
government_has_flag = government_is_republic
government_has_flag = government_is_theocracy
has_character_flag = do_not_generate_starting_family
government_has_flag = government_is_herder
}
}
@ -402,7 +400,7 @@ game_rule.1012 = {
AND = {
top_liege != this
liege = {
culture != culture:mogyer
NOT = { culture = culture:mogyer }
highest_held_title_tier = tier_kingdom
}
}

View file

@ -626,7 +626,7 @@ global_religion.1000 = {
name = global_religion.1000.serenity_aspect
reason = serenity_aspect
trigger = {
house ?= { has_house_aspiration_parameter = aspect_of_serenity }
house ?= { has_house_power_parameter = aspect_of_serenity }
}
add_courtier = scope:local_character
@ -784,7 +784,7 @@ global_religion.1000 = {
name = global_religion.1000.violent
trigger = {
NOT = { exists = scope:from_decision }
NOT = { house = { has_house_aspiration_parameter = aspect_of_serenity } }
NOT = { house = { has_house_power_parameter = aspect_of_serenity } }
OR = {
has_trait = callous
has_trait = sadistic
@ -858,12 +858,6 @@ global_religion.1000 = {
}
show_as_tooltip = {
set_character_faith_with_conversion = scope:target_faith
if = {
limit = {
scope:target_faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
}
add_courtier = scope:local_character
if = {

View file

@ -8058,7 +8058,6 @@ harm.2001 = {
cooldown = { years = 30 }
trigger = {
is_commanding_army = yes
# Standard checks.
harm_game_rule_enablement_trigger = yes
# Medicine checks.

View file

@ -33,12 +33,6 @@ namespace = health
# 7000 You've become infirm
# 7100 You become depressed while infirm
#ELDERLY HEALTH EVENTS: by Alexander Oltner
# 7200 Your mind starts to wither
# 7300 Your eyes start to cloud
# 7400 Your heart starts faltering
# 7500 Your bones start weakening
#PULSE MANAGEMENT:
# 9998-9999: Pulse management
@ -2427,29 +2421,6 @@ health.1007 = {
age >= 70
factor = 2
}
modifier = { #More common if you have an elder trait
age >= 45
any_character_trait = {
has_trait_flag = age_related_ailment
}
factor = 3
}
modifier = { #Parent had cancer
age >= 45
any_parent = {
even_if_dead = yes
has_trait = cancer
}
factor = 3
}
modifier = { #Grandparent had cancer
age >= 45
any_grandparent = {
even_if_dead = yes
has_trait = cancer
}
factor = 2
}
}
immediate = {
@ -11875,13 +11846,9 @@ health.7000 = {
theme = physical_health
trigger = {
NOR = {
has_trait = infirm
has_game_rule = off_elderly_health
has_trait_with_flag = is_immortal
}
NOT = { has_trait = infirm }
OR = {
age >= 45
age >= 50
AND = {
age >= 30
OR = {
@ -11898,18 +11865,12 @@ health.7000 = {
modifier = { #Shouldn't happen randomly for healthy characters
health >= good_health
age < 60
factor = 0
}
modifier = {
health >= fine_health
age < 60
factor = 0.8
}
modifier = {
health < fine_health
factor = 2
}
modifier = {
health <= poor_health
factor = 5
@ -11944,43 +11905,28 @@ health.7000 = {
}
modifier = {
has_trait = whole_of_body
factor = 0.5
}
modifier = {
has_trait = physique_good_1
factor = 0.8
}
modifier = {
has_trait = physique_good
factor = 0.8
has_trait = physique_good_2
factor = 0.5
}
modifier = {
has_trait = physique_good_3
factor = 0.3
}
modifier = {
has_trait = cancer
factor = 3
}
modifier = { # More likely if you have 2+ elderly traits
any_character_trait = {
count >= 2
has_trait_flag = age_related_ailment
}
factor = 3
}
modifier = {
faith = { has_doctrine_parameter = less_likely_to_become_infirm }
factor = 0.5
}
modifier = {
culture = { has_cultural_parameter = less_likely_to_gain_elder_health_traits }
factor = 0.5
}
modifier = { # Less likely before developing another age-related trait
trigger_if = {
limit = {
has_game_rule = infirm_only_elderly_health
}
always = no
}
NOT = {
has_trait_with_flag = age_related_ailment
}
factor = 0.25
}
}
option = {
@ -12018,7 +11964,6 @@ health.7100 = {
OR = {
has_trait = infirm
has_trait = incapable
has_trait = withering_mind
}
NOR = {
has_trait = depressed
@ -12061,733 +12006,3 @@ health.7100 = {
}
}
# Your mind starts to wither
health.7200 = {
type = character_event
title = health.7200.t
desc = health.7200.desc
left_portrait = {
character = root
animation = delirium
}
theme = mental_health
override_background = {
trigger = {
is_imprisoned = yes
}
reference = dungeon
}
override_background = { reference = terrain }
override_effect_2d = { reference = fog }
widget = { gui = event_window_widget_vfx_fog container = foreground_shader_vfx_container }
trigger = {
static_group_filter = {
group = does_not_get_withering_mind
match = 0.8
}
is_incapable = no
NOR = {
has_trait = withering_mind
has_game_rule = off_elderly_health
has_game_rule = infirm_only_elderly_health
has_trait_with_flag = is_immortal
}
OR = {
age >= 50
AND = {
age >= 45
stress_level >= 1
}
AND = {
age >= 30
stress_level >= 2
}
}
}
weight_multiplier = {
base = 1
modifier = { #Can happen randomly for healthy characters, but very rare
health >= good_health
age < 60
factor = 0.1
}
modifier = {
health >= fine_health
age < 60
factor = 0.8
}
modifier = {
health < fine_health
factor = 2
}
modifier = {
health <= poor_health
factor = 5
}
modifier = {
age < 50
factor = 0.7
}
modifier = {
age < 40
factor = 0.5
}
modifier = {
age > 60
factor = 2
}
modifier = {
age > 70
factor = 2
}
modifier = {
age > 80
factor = 3
}
# Genetics
modifier = {
any_parent = {
even_if_dead = yes
has_trait = withering_mind
}
factor = 2
}
modifier = {
OR = {
any_grandparent = {
even_if_dead = yes
has_trait = withering_mind
}
any_great_grandparent = {
even_if_dead = yes
has_trait = withering_mind
}
}
factor = 1.5
}
# Social understimulation / mental stress
modifier = {
has_trait = reclusive
factor = 2
}
modifier = {
has_trait = drunkard
factor = 2
}
modifier = {
stress_level >= 1
factor = 2
}
modifier = {
stress_level >= 2
factor = 2
}
modifier = {
stress_level >= 3
factor = 3
}
modifier = {
is_imprisoned = yes
is_in_prison_type = dungeon
factor = 3
}
# Poor diet, in either direction
modifier = {
OR = {
has_character_modifier = obese_modifier
has_character_modifier = malnourished_modifier
}
factor = 2
}
# Social stimulation / good mental health
modifier = {
stress_level < 1
factor = 0.5
}
modifier = {
has_trait = family_first
factor = 0.25
}
modifier = {
has_trait = seducer
factor = 0.25
}
modifier = {
has_trait = lifestyle_reveler
factor = 0.75
}
modifier = { # Out and about
is_travelling = yes
factor = 0.75
}
modifier = { # Actively socializing
exists = involved_activity
factor = 0.75
}
modifier = {
culture = {
has_cultural_parameter = withering_mind_less_likely
}
factor = 0.5
}
modifier = {
culture = { has_cultural_parameter = less_likely_to_gain_elder_health_traits }
factor = 0.5
}
modifier = {
any_relation = { type = lover }
factor = 0.75
}
modifier = {
any_relation = { type = friend }
factor = 0.5
}
modifier = {
num_of_relation_lover >= 3
factor = 0.5
}
modifier = {
num_of_relation_friend >= 3
factor = 0.25
}
modifier = {
current_extra_languages >= 1
factor = {
value = 1
subtract = {
value = 0.1
multiply = current_extra_languages
}
}
}
modifier = {
num_of_relation_lover <= 0
num_of_relation_friend <= 0
factor = 1.5
}
}
option = {
name = health.7200.a
add_trait = withering_mind
}
}
# Your eyes start to cloud
health.7300 = {
type = character_event
title = health.7300.t
desc = health.7300.desc
left_portrait = {
character = root
animation = interested
}
theme = physical_health
override_background = {
trigger = {
is_imprisoned = yes
}
reference = dungeon
}
override_background = { reference = garden }
widget = { gui = event_window_widget_vfx_godray container = foreground_shader_vfx_container }
trigger = {
static_group_filter = {
group = does_not_get_clouded_eyes
match = 0.8
}
is_incapable = no
age >= 45
NOR = {
has_trait = clouded_eyes
has_trait = blind
has_game_rule = off_elderly_health
has_game_rule = infirm_only_elderly_health
has_trait_with_flag = is_immortal
}
}
weight_multiplier = {
base = 1
modifier = { # This _can_ happen for healthy characters, it's not that bad
health >= good_health
age < 60
factor = 0.7
}
modifier = {
health >= fine_health
age < 60
factor = 0.5
}
modifier = {
health < fine_health
factor = 2
}
modifier = {
age > 60
factor = 2
}
modifier = {
age > 70
factor = 2
}
modifier = {
age > 80
factor = 3
}
# Genetics
modifier = {
any_parent = {
even_if_dead = yes
has_trait = clouded_eyes
}
factor = 1.5
}
modifier = {
OR = {
any_grandparent = {
even_if_dead = yes
has_trait = clouded_eyes
}
any_great_grandparent = {
even_if_dead = yes
has_trait = clouded_eyes
}
}
factor = 1.25
}
# Location
modifier = {
is_travelling = yes
factor = 1.25
}
modifier = {
culture = { has_cultural_parameter = less_likely_to_gain_elder_health_traits }
factor = 0.5
}
modifier = { # Glare
is_ruler = yes # For performance reasons we limit this as checking modifiers is expensive
location = {
OR = {
has_province_modifier = winter_normal_modifier
has_province_modifier = winter_harsh_modifier
}
}
factor = 1.5
}
modifier = { # Bright sunlight
location = {
OR = {
terrain = desert
terrain = desert_mountains
}
}
factor = 1.25
}
modifier = { # Shade
location = {
OR = {
terrain = jungle
terrain = forest
}
}
factor = 0.75
}
# Lifestyle
modifier = {
has_trait = drunkard
factor = 2
}
}
option = {
name = health.7300.a
add_trait = clouded_eyes
}
}
# Your heart starts faltering
health.7400 = {
type = character_event
title = health.7400.t
desc = health.7400.desc
left_portrait = {
character = root
animation = poison
}
theme = physical_health
override_background = {
trigger = {
is_imprisoned = yes
}
reference = dungeon
}
trigger = {
static_group_filter = {
group = does_not_get_faltering_heart
match = 0.8
}
is_incapable = no
NOR = {
has_trait = faltering_heart
has_game_rule = off_elderly_health
has_game_rule = infirm_only_elderly_health
has_trait_with_flag = is_immortal
}
OR = {
age >= 45
AND = {
age >= 30
OR = {
has_trait = physique_bad
has_trait = spindly
has_trait = weak
}
}
}
}
weight_multiplier = {
base = 1
modifier = { #Shouldn't happen randomly for healthy characters
health >= good_health
age < 60
factor = 0
}
modifier = {
health >= fine_health
age < 60
factor = 0.8
}
modifier = {
health < fine_health
factor = 2
}
modifier = {
health <= poor_health
factor = 5
}
modifier = {
has_trait = physique_bad_2
factor = 1.2
}
modifier = {
has_trait = physique_bad_3
factor = 1.5
}
modifier = {
age < 50
factor = 0.7
}
modifier = {
age > 60
factor = 2
}
modifier = {
age > 70
factor = 2
}
modifier = {
age > 80
factor = 3
}
modifier = {
culture = { has_cultural_parameter = less_likely_to_gain_elder_health_traits }
factor = 0.5
}
# Genetics
modifier = {
any_parent = {
even_if_dead = yes
has_trait = faltering_heart
}
factor = 2
}
modifier = {
OR = {
any_grandparent = {
even_if_dead = yes
has_trait = faltering_heart
}
any_great_grandparent = {
even_if_dead = yes
has_trait = faltering_heart
}
}
factor = 1.5
}
modifier = {
is_male = yes
factor = 1.5
}
modifier = {
is_female = yes
fertility <= 0
factor = 1.25
}
# Lifestyle
modifier = {
has_trait = drunkard
factor = 2
}
modifier = {
has_trait = hashishiyah
factor = 1.25
}
modifier = {
has_trait = impatient
factor = 1.25
}
modifier = {
has_trait = irritable
factor = 2
}
modifier = {
has_trait = wrathful
factor = 1.5
}
modifier = {
has_trait = stubborn
factor = 1.5
}
modifier = {
stress_level >= 1
factor = 1.5
}
modifier = {
stress_level >= 2
factor = 1.5
}
modifier = {
stress_level >= 3
factor = 2
}
modifier = {
stress_level < 1
factor = 0.5
}
modifier = {
has_trait = athletic
factor = 0.5
}
modifier = {
has_trait = whole_of_body
factor = 0.8
}
modifier = {
has_trait = physique_good
factor = 0.8
}
modifier = {
has_trait = temperate
factor = 0.5
}
modifier = {
has_trait = calm
factor = 0.25
}
modifier = {
has_trait = patient
factor = 0.5
}
modifier = {
has_character_modifier = obese_modifier
factor = 2
}
}
option = {
name = health.7400.a
add_trait = faltering_heart
}
}
# Your bones start weakening
health.7500 = {
type = character_event
title = health.7500.t
desc = health.7500.desc
left_portrait = {
character = root
animation = pain
outfit_tags = { nightgown }
}
theme = physical_health
override_background = {
trigger = {
is_imprisoned = yes
}
reference = dungeon
}
override_background = { reference = bedchamber }
trigger = {
static_group_filter = {
group = does_not_get_fragile_bones
match = 0.8
}
is_incapable = no
age >= 45
NOR = {
has_trait = fragile_bones
has_game_rule = off_elderly_health
has_game_rule = infirm_only_elderly_health
has_trait_with_flag = is_immortal
}
}
weight_multiplier = {
base = 1
modifier = { #Shouldn't happen randomly for healthy characters
health >= good_health
age < 60
factor = 0
}
modifier = {
health >= fine_health
age < 60
factor = 0.8
}
modifier = {
health < fine_health
factor = 2
}
modifier = {
health <= poor_health
factor = 5
}
modifier = {
has_trait = physique_bad_2
factor = 1.2
}
modifier = {
has_trait = physique_bad_3
factor = 1.5
}
modifier = {
age < 50
factor = 0.7
}
modifier = {
age > 60
factor = 2
}
modifier = {
age > 70
factor = 2
}
modifier = {
age > 80
factor = 3
}
modifier = {
culture = { has_cultural_parameter = less_likely_to_gain_elder_health_traits }
factor = 0.5
}
# Genetics / unchangeable factors
modifier = {
any_parent = {
even_if_dead = yes
has_trait = fragile_bones
}
factor = 1.5
}
modifier = {
any_sibling = {
even_if_dead = yes
has_trait = fragile_bones
}
factor = 1.25
}
modifier = {
is_female = yes
factor = 1.5
}
modifier = {
has_trait = cancer
factor = 2
}
modifier = {
fertility <= 0
factor = 1.5
}
# Lifestyle
modifier = {
has_trait = drunkard
factor = 1.5
}
modifier = {
has_trait = hashishiyah
factor = 1.25
}
modifier = { # Weight-bearing excercise
has_trait = athletic
factor = 0.5
}
modifier = {
has_trait = whole_of_body
factor = 0.8
}
modifier = {
has_trait = physique_good
factor = 0.8
}
modifier = { # Being underweight weakens bone
has_character_modifier = malnourished_modifier
factor = 3
}
modifier = { # Assume good eating habits
has_trait = temperate
factor = 0.5
}
modifier = { # Assume sedentary lifestyle
has_character_modifier = obese_modifier
factor = 1.5
}
modifier = { # Assume sedentary lifestyle
has_trait = reclusive
factor = 1.25
}
modifier = { # Assume high calcium intake
has_trait = gluttonous
factor = 0.75
}
modifier = { # Assume high calcium intake
has_trait = comfort_eater
factor = 0.75
}
}
option = {
name = health.7500.a
add_trait = fragile_bones
}
}

View file

@ -459,13 +459,10 @@ jester.500 = { # Clothes Thief
}
trigger = {
NOR = {
NOT = {
faith = {
has_doctrine = tenet_natural_primitivism #Nakedness is not a notable thing
}
culture = {
has_cultural_parameter = naked_culture_active
}
}
any_courtier_or_guest = {
is_available_ai_adult = yes

View file

@ -998,7 +998,6 @@ learning_medicine.2021 = { #by Mathilda Bjarnehed
sender = scope:physician
immediate = {
save_scope_as = liege # for salary tooltips
random_pool_character = {
province = root.capital_province
limit = { learning >= medium_skill_rating }
@ -1012,7 +1011,6 @@ learning_medicine.2021 = { #by Mathilda Bjarnehed
}
}
save_scope_as = physician
save_scope_as = candidate # for aptitude tooltips
}
if = {
limit = { NOT = { exists = scope:physician } }
@ -1022,16 +1020,12 @@ learning_medicine.2021 = { #by Mathilda Bjarnehed
location = root.capital_province
save_scope_as = physician
}
scope:physician = {
save_scope_as = candidate # for aptitude tooltips
}
}
}
#Yes I want your services
option = {
name = learning_medicine.2021.a
custom_tooltip = learning_medicine.2021.a.tt
pay_treasury_or_gold = {
value = high_skill_court_physician_cost
target = scope:physician
@ -1040,22 +1034,11 @@ learning_medicine.2021 = { #by Mathilda Bjarnehed
EMPLOYER = root
PHYSICIAN = scope:physician
}
custom_tooltip = health.3001.a.tt
custom_tooltip = court_physician_aptitude_tooltip
custom_tooltip = learning_medicine.2021.a.tt
trigger_event = {
id = learning_medicine.2022
days = { 7 10 }
}
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = -0.5
ai_rationality = 0.25
}
modifier = {
add = age
}
}
}
#Maybe there is something else you can help me with
@ -1070,28 +1053,12 @@ learning_medicine.2021 = { #by Mathilda Bjarnehed
EMPLOYER = root
PHYSICIAN = scope:physician
}
custom_tooltip = health.3001.a.tt
custom_tooltip = court_physician_aptitude_tooltip
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = -0.25
ai_rationality = 0.5
}
}
}
#Nah thanks
option = {
name = learning_medicine.2021.c
add_prestige = miniscule_prestige_gain
ai_chance = {
base = 25
ai_value_modifier = {
ai_greed = 0.5
ai_rationality = -0.25
}
}
}
}

View file

@ -95,15 +95,6 @@ martial_authority.1031 = {
}
}
remove_short_term_gold = 5
add_character_modifier = {
modifier = generous_to_mercenaries
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
@ -115,6 +106,14 @@ martial_authority.1031 = {
}
}
}
remove_short_term_gold = major_gold_value
add_character_modifier = {
modifier = generous_to_mercenaries
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
greedy = minor_stress_impact_gain
}
}
option = {
@ -125,12 +124,6 @@ martial_authority.1031 = {
years = 10
}
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
just = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
@ -141,6 +134,10 @@ martial_authority.1031 = {
}
}
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
just = minor_stress_impact_gain
}
}
option = {
name = martial_authority.1031.c
@ -174,14 +171,6 @@ martial_authority.1031 = {
modifier = respected_by_mercenaries
}
}
add_martial_lifestyle_xp = medium_lifestyle_xp
stress_impact = {
calm = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
@ -194,6 +183,12 @@ martial_authority.1031 = {
}
}
}
add_martial_lifestyle_xp = medium_lifestyle_xp
stress_impact = {
calm = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
}
}
@ -1334,7 +1329,7 @@ martial_authority_special.1100 = {
location = root.capital_province
template = soldier_friend_character
save_scope_as = soldier_friend
dynasty = none
dynasty = generate
}
}
else = {
@ -1343,7 +1338,7 @@ martial_authority_special.1100 = {
location = root.location
template = soldier_friend_character
save_scope_as = soldier_friend
dynasty = none
dynasty = generate
}
}
}

View file

@ -90,7 +90,6 @@ martial_chivalry.0001 = {
faith = root.faith
gender_female_chance = root_soldier_female_chance
prowess = 15
dynasty = none
}
}
}

View file

@ -86,7 +86,7 @@ martial_strategy.1051 = {
}
}
#More available event options make a more interesting event, so we increase the chance of this occurring.
#More available event options make a more interesting event, so we increase the chance of this occuring.
modifier = {
has_trait = brave
add = 0.2
@ -3555,7 +3555,6 @@ martial_strategy_special.1405 = {
location = scope:capital.title_province
gender_female_chance = root_faith_clergy_gender_female_chance
age = { 16 60 }
dynasty = none
culture = root.culture
faith = root.faith
trait = zealous

View file

@ -238,6 +238,44 @@ pregnancy.1002 = {
}
}
scripted_trigger former_consort_was_father = {
OR = {
any_former_spouse = {
even_if_dead = yes
this = scope:father
this = scope:real_father
trigger_if = {
limit = {
is_alive = yes
}
NOT = { any_consort = { this = root } }
}
}
any_former_concubinist = {
even_if_dead = yes
this = scope:father
this = scope:real_father
trigger_if = {
limit = {
is_alive = yes
}
NOT = { any_consort = { this = root } }
}
}
any_former_concubine = {
even_if_dead = yes
this = scope:father
this = scope:real_father
trigger_if = {
limit = {
is_alive = yes
}
NOT = { any_consort = { this = root } }
}
}
}
}
# Pregnant with late husband or ex-husband's child
# by Sean Hughes
pregnancy.1101 = {
@ -435,8 +473,9 @@ pregnancy.2001 = {
NOR = {
# If we are married or have concubines (or are a concubine) this event is not valid, as there is a (assumed) father.
any_consort = { }
# Same for if a former spouse/concubine got us pregant.
former_consort_was_father = yes
}
pregnancy_is_bastard = yes
}
immediate = {
@ -578,8 +617,14 @@ pregnancy.2002 = {
any_consort = {
is_male = yes
}
pregnancy_real_father = {
NOT = { is_consort_of = root }
}
pregnancy_is_bastard = yes
# OBJECTION! If a former spouse/concubine is both the real and assumed father, it's not actually a bastard!
NOT = {
former_consort_was_father = yes
}
}
immediate = {
@ -646,26 +691,6 @@ pregnancy.2002 = {
add = 100
accepts_adultery_without_penalty_trigger = yes
}
modifier = {
add = 50
accepts_adultery_without_penalty_trigger = yes
scope:father = { is_lowborn = yes }
scope:real_father = { is_lowborn = no }
}
modifier = {
accepts_adultery_without_penalty_trigger = yes
add = {
value = scope:real_father.highest_held_title_tier
multiply = 10
}
}
modifier = {
accepts_adultery_without_penalty_trigger = yes
add = {
value = scope:father.highest_held_title_tier
multiply = -10
}
}
}
}
@ -697,9 +722,6 @@ pregnancy.2002 = {
days = 22
}
married_mother_pregnancy_effect = yes
stress_impact = {
honest = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
@ -707,28 +729,14 @@ pregnancy.2002 = {
ai_compassion = 1
ai_rationality = 0.5
}
modifier = {
add = 50
scope:father = { is_lowborn = no }
scope:real_father = { is_lowborn = yes }
}
modifier = {
add = {
value = scope:real_father.highest_held_title_tier
multiply = 10
}
}
modifier = {
add = {
value = scope:father.highest_held_title_tier
multiply = -10
}
}
modifier = { # Less likely to hide the truth in faiths with the Polyamory tenet.
add = 100
modifier = { # Never hide the truth in faiths with the Polyamory tenet.
factor = 0
accepts_adultery_without_penalty_trigger = yes
}
}
stress_impact = {
honest = medium_stress_impact_gain
}
}
option = { #Keep it secret!
@ -743,25 +751,8 @@ pregnancy.2002 = {
ai_value_modifier = {
ai_rationality = 0.5
}
modifier = {
add = 50
scope:father = { is_lowborn = no }
scope:real_father = { is_lowborn = yes }
}
modifier = {
add = {
value = scope:father.highest_held_title_tier
multiply = 10
}
}
modifier = {
add = {
value = scope:real_father.highest_held_title_tier
multiply = -10
}
}
modifier = { # Less likely to hide the truth in faiths with the Polyamory tenet.
add = -100
modifier = { # Never hide the truth in faiths with the Polyamory tenet.
factor = 0
accepts_adultery_without_penalty_trigger = yes
}
}
@ -907,11 +898,16 @@ pregnancy.2050 = {
trigger = {
# If we are married and/or have concubines, but all of them are women as well, it's a bastard!
any_consort = {
is_female = yes
count = all
NOT = { is_male = yes }
}
pregnancy_real_father = {
NOT = { is_consort_of = root }
}
pregnancy_is_bastard = yes
# OBJECTION! If a former spouse/concubine is both the real and assumed father, it's not actually a bastard!
NOT = {
former_consort_was_father = yes
}
}
immediate = {
@ -1507,16 +1503,7 @@ pregnancy.6001 = {
character = scope:mother
animation = personality_callous
}
right_portrait = {
character = scope:real_father
animation = war_over_win
}
lower_center_portrait = {
character = scope:father
trigger = {
NOT = { this = scope:real_father }
}
}
right_portrait = scope:real_father
option = {
name = pregnancy.6001.a
@ -1629,7 +1616,7 @@ pregnancy.6004 = {
CHARACTER = scope:real_father
}
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = root.faith GENDER_CHARACTER = scope:mother }
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = root.faith GENDER_CHARACTER = scope:mother }
}
desc = pregnancy.6004.incest
}

View file

@ -220,30 +220,27 @@ holy_order.0200 = {
desc = holy_order.0200.desc
sender = scope:recipient
immediate = {
set_variable = {
name = amount_to_loan
value = holy_order_gold_value
days = 1
}
}
option = {
name = holy_order.0200.a
show_as_tooltip = {
scope:recipient = {
pay_treasury_or_gold = {
target = root
value = root.var:amount_to_loan
value = root.holy_order_gold_value
}
}
}
add_character_flag = borrow_from_holy_order
set_up_loan_effect = {
LENDER = scope:recipient
AMOUNT = holy_order_gold_value
}
remove_variable = amount_to_loan
#Set up extra variable to track time
scope:recipient = {
set_variable = {
name = years_since_loan
value = 0
}
}
}
option = { #Your piety level is too low :( sinner!
@ -259,16 +256,23 @@ holy_order.0200 = {
#by Linnéa Thimrén
holy_order.0201 = {
hidden = yes
orphan = yes # deprecated
immediate = {
remove_variable = loan_holder
scope:order.leader = { save_scope_as = new_leader }
scope:order ={
leader = {
save_scope_as = new_leader
}
}
set_variable = {
name = loan_holder
value = scope:new_leader
}
scope:new_leader = {
set_variable = {
name = loan_amount_owed
value = root.var:loan_amount_owed
}
set_variable = {
name = owes_me_money
value = root
@ -283,20 +287,14 @@ holy_order.0206 = {
hidden = yes
trigger = {
any_in_list = {
variable = owes_me_money
exists = var:years_since_loan
}
exists = var:owes_me_money
exists = var:years_since_loan
}
immediate = {
every_in_list = {
variable = owes_me_money
limit = { exists = var:years_since_loan }
change_variable = {
name = years_since_loan
add = 1
}
change_variable = {
name = years_since_loan
add = 1
}
}
}
@ -332,7 +330,8 @@ holy_order.0202 = {
trigger = {
has_character_flag = borrow_from_holy_order
var:loan_holder ?= {
exists = var:loan_holder
var:loan_holder = {
exists = var:years_since_loan
var:years_since_loan >= 10
}

View file

@ -104,12 +104,12 @@ local_rites.1 = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
title:b_qianfeng = {
title:b_xuchang = {
this != root.capital_barony
holder.top_liege = root
}
}
title:b_qianfeng = {
title:b_xuchang = {
title_province = { save_scope_as = mount_tai_location }
}
}
@ -313,7 +313,7 @@ local_rites.1 = {
option = {
trigger = {
exists = scope:mount_tai_location
scope:mount_tai_location.barony = title:b_qianfeng
scope:mount_tai_location.barony = title:b_xuchang
}
name = local_rites.1.mount_tai
local_shrine_at_location_effect = { SHRINE = mount_tai }
@ -423,7 +423,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
triggered_desc = {
trigger = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
desc = local_rites.3.t.fengshan #Fang Shan
}
@ -458,7 +458,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
triggered_desc = {
trigger = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
desc = local_rites.3.desc_mt_tai_huangdi
}
@ -520,7 +520,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
override_background = { #Fengshan
trigger = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
reference = mpo_steppe_evening
}
@ -652,7 +652,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
if = {
limit = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
hidden_effect = {
dynasty = { set_variable = fengshan_performed }
@ -664,7 +664,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
name = fengshan_option
trigger = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
add_treasury = {
value = major_treasury_value
@ -680,7 +680,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
scope:at_home = no
NOR = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
}
#Pay Gold - Get Piety
@ -714,7 +714,7 @@ local_rites.3 = { #Destination - Making a Sacrifice
scope:at_home = no
NOR = {
has_title = title:h_china
var:shrine_location.barony = title:b_qianfeng
var:shrine_location.barony = title:b_xuchang
}
}
#Pay Prestige - Get Piety

View file

@ -1732,7 +1732,17 @@ religious_decision.0211 = {
20 = {
trigger = {
scope:at_home = no
num_sinful_traits > 0
# Must have a negative trait to replace.
OR = {
has_trait = greedy
has_trait = lustful
has_trait = gluttonous
has_trait = deceitful
has_trait = ambitious
has_trait = impatient
has_trait = sadistic
has_trait = wrathful
}
}
# Greater chance when meditating in one of these terrains.
@ -1981,7 +1991,48 @@ religious_decision.0211 = {
}
else_if = {
limit = { has_character_flag = meditation_reflection }
replace_sinful_trait_effect = yes
random_list = {
1 = {
trigger = { has_trait = gluttonous }
remove_trait = gluttonous
add_trait_force_tooltip = temperate
}
1 = {
trigger = { has_trait = greedy }
remove_trait = greedy
add_trait_force_tooltip = generous
}
1 = {
trigger = { has_trait = ambitious }
remove_trait = ambitious
add_trait_force_tooltip = content
}
1 = {
trigger = { has_trait = lustful }
remove_trait = lustful
add_trait_force_tooltip = chaste
}
1 = {
trigger = { has_trait = deceitful }
remove_trait = deceitful
add_trait_force_tooltip = honest
}
1 = {
trigger = { has_trait = sadistic }
remove_trait = sadistic
add_trait_force_tooltip = compassionate
}
1 = {
trigger = { has_trait = impatient }
remove_trait = impatient
add_trait_force_tooltip = patient
}
1 = {
trigger = { has_trait = wrathful }
remove_trait = wrathful
add_trait_force_tooltip = calm
}
}
improve_meditation_skill = yes
}
else_if = {
@ -2852,12 +2903,6 @@ religious_decision.0602 = {
# Convert to scope:old_caliph's faith.
set_character_faith_with_conversion = scope:old_caliph.faith
if = {
limit = {
scope:old_caliph.faith = { has_doctrine = doctrine_monotheist }
}
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
}
# Make a note that a major character chose to convert rather than toe the line.
scope:founder = {
if = {

View file

@ -425,13 +425,6 @@ religious_interaction.5 = {
desc = religious_interaction.5.fallback
}
desc = religious_interaction.5.outro
first_valid = {
triggered_desc = {
trigger = { scope:actor = scope:recipient } # If the Pope grants himself a Claim
desc = religious_interaction.5.self
}
desc = religious_interaction.5.outro_different_recipient
}
}
sender = {
character = scope:recipient
@ -808,19 +801,6 @@ religious_interaction.2002 = {
else = {
show_as_tooltip = { demand_conversion_vassal_ruler_interaction_effect = yes }
}
if = {
limit = {
has_title = title:e_minister_of_rites
}
change_influence = {
value = minor_influence_gain
multiply = scope:recipient.primary_title.tier
}
add_piety = {
value = minor_piety_gain
multiply = scope:recipient.primary_title.tier
}
}
}
option = {
@ -914,7 +894,7 @@ religious_interaction.2003 = {
}
scope:recipient = {
add_opinion = {
modifier = compelled_me_to_convert_opinion
modifier = demanded_my_conversion_opinion
target = root
opinion = -10
}
@ -983,19 +963,6 @@ religious_interaction.2003 = {
limit = {
is_landless_adventurer = no
}
if = {
limit = {
has_title = title:e_minister_of_rites
top_liege.faith != scope:recipient.faith
}
top_liege = {
add_opinion = {
target = scope:recipient
modifier = illegal_resisted_conversion_opinion
years = 10
}
}
}
add_opinion = {
target = scope:recipient
modifier = illegal_resisted_conversion_opinion
@ -1075,7 +1042,7 @@ religious_interaction.2011 = {
}
scope:recipient = {
add_opinion = {
modifier = compelled_me_to_convert_opinion
modifier = demanded_my_conversion_opinion
target = root
opinion = -10
}
@ -1085,32 +1052,15 @@ religious_interaction.2011 = {
#Accept
option = {
name = religious_interaction.2011.a
pay_treasury_or_gold = {
pay_short_term_gold = {
target = scope:recipient
value = demand_conversion_bribe_size
gold = demand_conversion_bribe_size
}
demand_conversion_interaction_effect = yes
stress_impact = {
greedy = medium_stress_impact_gain
}
if = {
limit = {
has_title = title:e_minister_of_rites
}
change_influence = {
value = minor_influence_gain
multiply = scope:recipient.primary_title.tier
}
add_piety = {
value = minor_piety_gain
multiply = scope:recipient.primary_title.tier
}
}
ai_chance = {
base = 100
ai_value_modifier = {
@ -1122,7 +1072,6 @@ religious_interaction.2011 = {
OR = {
has_trait = greedy
short_term_gold <= major_gold_value
short_term_treasury <= major_treasury_value
has_variable = conqueror
ai_should_focus_on_building_in_their_capital = yes
}
@ -1140,19 +1089,6 @@ religious_interaction.2011 = {
CHARACTER = scope:recipient
}
}
if = {
limit = {
has_title = title:e_minister_of_rites
top_liege.faith != scope:recipient.faith
}
top_liege = {
add_opinion = {
target = scope:recipient
modifier = illegal_resisted_conversion_opinion
years = 15
}
}
}
add_opinion = {
target = scope:recipient
modifier = illegal_resisted_conversion_opinion
@ -1173,10 +1109,7 @@ religious_interaction.2011 = {
base = 10
modifier = {
add = 100
OR = {
treasury < demand_conversion_bribe_size
gold < demand_conversion_bribe_size
}
gold < demand_conversion_bribe_size
}
}
}
@ -1224,7 +1157,7 @@ religious_interaction.2012 = {
}
scope:recipient = {
add_opinion = {
modifier = compelled_me_to_convert_opinion
modifier = demanded_my_conversion_opinion
target = root
opinion = -10
}
@ -1255,21 +1188,6 @@ religious_interaction.2012 = {
stress_impact = {
greedy = medium_stress_impact_gain
}
if = {
limit = {
has_title = title:e_minister_of_rites
}
change_influence = {
value = minor_influence_gain
multiply = scope:recipient.primary_title.tier
}
add_piety = {
value = minor_piety_gain
multiply = scope:recipient.primary_title.tier
}
}
ai_chance = {
base = 100
}
@ -1285,19 +1203,6 @@ religious_interaction.2012 = {
CHARACTER = scope:recipient
}
}
if = {
limit = {
has_title = title:e_minister_of_rites
top_liege.faith != scope:recipient.faith
}
top_liege = {
add_opinion = {
target = scope:recipient
modifier = illegal_resisted_conversion_opinion
years = 15
}
}
}
add_opinion = {
target = scope:recipient
modifier = illegal_resisted_conversion_opinion

View file

@ -353,8 +353,9 @@ court_ongoing.0502 = { #by Mathilda Bjarnehed
}
trigger = {
any_targeting_scheme = {
scope:scheme ?= this
exists = scope:scheme
scope:scheme = {
scheme_type = courting
}
}

View file

@ -893,75 +893,6 @@ governor_contract_event.1013 = {
hungry_times = {
scope:contract_taker = { trigger_event = governor_contract_event.2111 }
}
jail_inspection = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0001 }
}
potent_physick = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0002 }
}
irregular_accounting = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0003 }
}
salt_smugglers = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0004 }
}
hoarding_grain = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0005 }
}
hoarding_grain = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0005 }
}
doddering_magistrate = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0006 }
}
burdensome_taxes = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0007 }
}
unsafe_highways = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0008 }
}
dam_in_disrepair = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0009 }
}
lines_in_the_soil = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0010 }
}
fraud_in_broad_daylight = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0011 }
}
crumbling_bridge = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0012 }
}
confusion_of_tongues = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0013 }
}
seditious_storytelling = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0014 }
}
quaking_in_panic = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0015 }
}
monopoly_in_the_marketplace = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0033 }
}
contested_inheritance = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.0035 }
}
unsanctioned_deity = {
scope:contract_taker = { trigger_event = governor_contract_events_tova.0051 }
}
escaped_justice = {
scope:contract_taker = { trigger_event = governor_contract_events_tova.0056 }
}
forced_conscription = {
scope:contract_taker = { trigger_event = governor_contract_events_tova.0061 }
}
combat_train_monks = {
scope:contract_taker = { trigger_event = governor_contract_events_tova.0066 }
}
missing_equipment = {
scope:contract_taker = { trigger_event = tgp_governor_contract_event.2001 }
}
}
}
}

View file

@ -2332,7 +2332,6 @@ scripted_effect finalise_combat_results_effect = {
}
has_dlc_feature = legends
NOT = { has_game_rule = historical_legends_only }
is_ruler = yes
}
create_legend_seed = {
type = heroic
@ -2350,7 +2349,7 @@ scripted_effect finalise_combat_results_effect = {
scope:sc_victor = {
if = {
limit = {
is_acclaimed = yes
accolade ?= { is_accolade_active = yes }
}
# Glory is relative to the prowess difference between two characters. Beating someone equally matched or better is worth more.
## Massively outclassed.
@ -11430,16 +11429,6 @@ single_combat.0041 = {
}
}
}
#Lose some stress if you kill your rival
if = {
limit = {
has_relation_rival = scope:sc_loser
}
stress_impact = {
base = major_stress_impact_loss
}
}
# Damage equipped artifacts
may_damage_artifact_effect = {

View file

@ -12,8 +12,9 @@ mpo_the_great_steppe.0001 = { # Fullscreen Intro Event
theme = realm
trigger = { # we need to prevent this from firing for all players when a new player joins in MP
is_ai = no
NOT = { has_character_flag = mpo_the_great_steppe_events_0001_var }
NOT = { has_variable = mpo_the_great_steppe_events_0001_var }
}
hidden = yes
override_background = { reference = mpo_fullscreen_the_great_steppe }
override_sound = { reference = "event:/DLC/FP2/SFX/UI/fp2_struggle_ui_intro_animate" }
@ -29,7 +30,7 @@ mpo_the_great_steppe.0001 = { # Fullscreen Intro Event
}
immediate = {
play_music_cue = mx_cue_conquest_of_the_golden_horde
add_character_flag = mpo_the_great_steppe_events_0001_var
set_variable = mpo_the_great_steppe_events_0001_var
save_scope_value_as = {
name = start
value = yes
@ -45,6 +46,7 @@ mpo_the_great_steppe.0001 = { # Fullscreen Intro Event
mpo_the_great_steppe.0002 = {
type = character_event
title = mpo_the_great_steppe.0002.t
hidden = yes
desc = {
first_valid = {
triggered_desc = {
@ -148,7 +150,6 @@ mpo_the_great_steppe.0002 = {
}
}
theme = nomads
cooldown = { years = 1 }
override_background = {
trigger = {
has_zud_season_nomadic_capital_root_trigger = yes

Some files were not shown because too many files have changed in this diff Show more