CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Scripted effect

diarch_swing_scales_guts_effect

diarch_swing_scales_guts_effect = yes

game/common/scripted_effects/00_diarchy_scripted_effects.txt, line 981 (141 lines). No parameters.

diarch_swing_scales_guts_effect is a scripted effect in Crusader Kings III, written at line 981 of its file. It takes no parameters: diarch_swing_scales_guts_effect = yes. The game's script calls it in 2 places, among them diarch_swing_scales_currency_interaction (interaction) and Swing the Scales of Power (interaction). Its body carries 3 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/00_diarchy_scripted_effects.txt.

What it does

  • Depending on yes:
    • When yes is scope:swing influence:
      • change_influence = { … }
    • When yes is scope:swing movement power: Personal Movement Power: … (+20/year)
    • When yes is scope:swing prestige:
      • add_prestige = { … }
    • When yes is scope:swing piety:
      • add_piety = { … }
    • When yes is scope:swing gold:
      • pay_short_term_gold = { target = scope:recipient gold = scope:swing_gold_value }
    • When yes is scope:swing hook:
      • use_hook = scope:recipient
    • When yes is scope:swing hof:
      • add_piety = { value = swing_scales_piety_cost_value multiply = -1 }
      • pay_short_term_gold = { target = scope:actor.faith.religious_head gold = swing_scales_cash_cost_value }
  • If

    • scope:actor:
      • is_diarch_of_target = scope:recipient
    • One of these

      • scope:swing_influence = yes
      • or

        scope:swing_prestige = yes
      • or

        scope:swing_piety = yes
      • or

        scope:swing_gold = yes
    • scope:recipient: Has Legitimacy

    Then

    • If

      • scope:recipient.legitimacy_level <= 2

      Then

      Otherwise

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.

The script as written (120 lines of game script)
diarch_swing_scales_guts_effect = {
	# Influence.
	switch = {
		trigger = yes
		scope:swing_influence = {
			show_as_tooltip = {
				change_influence = {
					value = swing_scales_influence_cost_value
					# LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS
					multiply = legitimacy_regent_swing_scale_multipler_value
					multiply = -1
					round = yes
				}
			}
		}
		# Movement Power.
		scope:swing_movement_power = {
			custom_tooltip = {
				text = swing_scales_decrease_movement_power
				if = {
					limit = {
						exists = var:movement_power_decreased_diarchy
					}
					set_variable = {
					    name = movement_power_decreased_diarchy
					    value = {
					    	value = var:movement_power_decreased_diarchy
					    	add = {
					    		value = movement_power_decreased_diarchy_value
								multiply = legitimacy_regent_swing_scale_multipler_value
							}
					    }
					}
				}
				else = {
					set_variable = {
					    name = movement_power_decreased_diarchy
				    	value = {
				    		value = movement_power_decreased_diarchy_value
							multiply = legitimacy_regent_swing_scale_multipler_value
						}
					}
				}
				#force the update of variables to immediately show changes
				update_character_movement_power_effect = yes
				top_participant_group:dynastic_cycle ?= {
					update_movement_power_effect = yes
				}
			}
		}
		# Prestige.
		scope:swing_prestige = {
			show_as_tooltip = {
				add_prestige = {
					value = swing_scales_prestige_cost_value
					# LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS
					multiply = legitimacy_regent_swing_scale_multipler_value
					multiply = -1
					round = yes
				}
			}
		}
		# Piety.
		scope:swing_piety = {
			show_as_tooltip = {
				add_piety = {
					value = swing_scales_piety_cost_value
					# LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS
					multiply = legitimacy_regent_swing_scale_multipler_value
					multiply = -1
					round = yes
				}
			}
		}
		# Cash.
		scope:swing_gold = {
			save_scope_value_as = {
				name = swing_gold_value
				value = {
					value = swing_scales_cash_cost_value
					# LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS
					multiply = legitimacy_regent_swing_scale_multipler_value
					round = yes
				}
			}
			show_as_tooltip = {
				pay_short_term_gold = {
					target = scope:recipient
					gold = scope:swing_gold_value
				}
			}
			# Scope:actor actually loses their gold when paying the admission price for the interaction, so we silently give scope:recipient gold from nowhere instead.
			hidden_effect = {
				scope:recipient = { add_gold = scope:swing_gold_value }
			}
		}
		# Hook.
		scope:swing_hook = {
			use_hook = scope:recipient
		}
		# HoF.
		scope:swing_hof = {
			show_as_tooltip = {
				add_piety = {
					value = swing_scales_piety_cost_value
					multiply = -1
				}
				pay_short_term_gold = {
					target = scope:actor.faith.religious_head
					gold = swing_scales_cash_cost_value
				}
			}
			# The HoF doesn't need *another* source of cash unless they're fairly minor, so we only actually pay this if they're already very low on cash.
			hidden_effect = {
				scope:actor.faith.religious_head = {
					if = {
						limit = { gold <= 1000 }
						add_gold = scope:actor.swing_scales_cash_cost_value
					}
				}

As written in game/common/scripted_effects/00_diarchy_scripted_effects.txt.

The first 120 of its 141 lines; the rest is in game/common/scripted_effects/00_diarchy_scripted_effects.txt from line 981.

Where it is used

Every place in common/, events/ and history/ that calls diarch_swing_scales_guts_effect.

Character interactions (2)

Source: game/common/scripted_effects/00_diarchy_scripted_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.

Spotted a mistake on this page?