Scripted effect
destroy_random_estate_building_effect
destroy_random_estate_building_effect = yesgame/common/scripted_effects/00_building_effects.txt, line 1988 (176 lines). No parameters.
destroy_random_estate_building_effect is a scripted effect in Crusader Kings III, written at line 1988 of its file. It takes no parameters: destroy_random_estate_building_effect = yes. The game's script calls it in 3 places, among them ep3_governor_8020_fail_effect (local effect), raid_estate_success_public_effect (local effect) and on_title_lost (on action). Patch 1.20.1.2, from game/common/scripted_effects/00_building_effects.txt.
What it does
- If has “destroyed building variable” (a variable the game's script sets) › Depending on destroyed building variable:
- When destroyed building variable is 0:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = barracks }
- When destroyed building variable is 1:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = watchtower }
- When destroyed building variable is 2:
destroy_or_downgrade_estate_building_4_effect = { BUILDING = guardhouse }
- When destroyed building variable is 3:
If
has_domicile_building_or_higher = garden_leisure_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = garden_leisure }
Else if
has_domicile_building_or_higher = garden_fruit_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = garden_fruit }
Otherwise
destroy_or_downgrade_estate_building_3_effect = { BUILDING = garden }
- When destroyed building variable is 4:
If
has_domicile_building_or_higher = stable_grand_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = stable_grand }
Else if
has_domicile_building_or_higher = stable_kennel_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = stable_kennel }
Else if
has_domicile_building_or_higher = stable_chariot_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = stable_chariot }
Otherwise
destroy_or_downgrade_estate_building_3_effect = { BUILDING = stable }
- When destroyed building variable is 5:
If
has_domicile_building_or_higher = workshop_carpenter_03
Then
destroy_or_downgrade_estate_building_2_6_replacement_effect = { BUILDING = workshop_carpenter }
Else if
has_domicile_building_or_higher = workshop_mason_03
Then
destroy_or_downgrade_estate_building_2_6_replacement_effect = { BUILDING = workshop_mason }
Else if
has_domicile_building_or_higher = workshop_textile_03
Then
destroy_or_downgrade_estate_building_2_6_replacement_effect = { BUILDING = workshop_textile }
Otherwise
destroy_or_downgrade_estate_building_2_effect = { BUILDING = workshop }
- When destroyed building variable is 6:
If
has_domicile_building_or_higher = storage_warehouse_03
Then
destroy_or_downgrade_estate_building_2_4_replacement_effect = { BUILDING = storage_warehouse }
Else if
has_domicile_building_or_higher = storage_granary_03
Then
destroy_or_downgrade_estate_building_2_4_replacement_effect = { BUILDING = storage_granary }
Otherwise
destroy_or_downgrade_estate_building_2_effect = { BUILDING = storage }
- When destroyed building variable is 7:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = market }
- When destroyed building variable is 8:
If
has_domicile_building_or_higher = horse_pasture_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = horse_pasture }
Else if
has_domicile_building_or_higher = camel_pasture_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = camel_pasture }
Else if
has_domicile_building_or_higher = elephant_pasture_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = elephant_pasture }
Otherwise
destroy_or_downgrade_estate_building_6_effect = { BUILDING = grazing_land }
- When destroyed building variable is 9:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = grain_field }
- When destroyed building variable is 10:
destroy_or_downgrade_estate_building_4_effect = { BUILDING = living_quarters }
- When destroyed building variable is 11:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = vineyard }
- When destroyed building variable is 12:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = olive }
- When destroyed building variable is 13:
If
has_domicile_building_or_higher = temple_crypt_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = temple_crypt }
Else if
has_domicile_building_or_higher = temple_large_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = temple_large }
Else if
has_domicile_building_or_higher = temple_monastery_04
Then
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = temple_monastery }
Otherwise
destroy_or_downgrade_estate_building_3_effect = { BUILDING = temple_small }
- When destroyed building variable is 14:
destroy_or_downgrade_estate_building_4_effect = { BUILDING = grand_solar }
- When destroyed building variable is 15:
destroy_or_downgrade_estate_building_3_effect = { BUILDING = cabinet_of_curiosities }
- When destroyed building variable is 16:
destroy_or_downgrade_estate_building_5_effect = { BUILDING = reception_hall }
- When destroyed building variable is 17:
destroy_or_downgrade_estate_building_4_effect = { BUILDING = prison }
- When destroyed building variable is 18:
destroy_or_downgrade_estate_building_4_effect = { BUILDING = courtyard }
- When destroyed building variable is 19:
destroy_or_downgrade_estate_building_3_effect = { BUILDING = wine_cellar }
- When destroyed building variable is 20:
destroy_or_downgrade_estate_building_6_effect = { BUILDING = guest_room }
- When destroyed building variable is 21:
destroy_or_downgrade_estate_building_4_effect = { BUILDING = bath }
- When destroyed building variable is 22:
If
has_domicile_building_or_higher = library_observatory_03
Then
destroy_or_downgrade_estate_building_2_4_replacement_effect = { BUILDING = library_observatory }
Else if
- … (more in the script below)
- … (more in the script below)
- … (more in the script below)
- When destroyed building variable is 0:
• 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)
destroy_random_estate_building_effect = {
if = {
limit = { has_variable = destroyed_building_variable }
switch = {
trigger = var:destroyed_building_variable
0 = { # barracks : Cheap
destroy_or_downgrade_estate_building_6_effect = { BUILDING = barracks }
}
1 = { # watchtower : Cheap
destroy_or_downgrade_estate_building_6_effect = { BUILDING = watchtower }
}
2 = { # guardhouse : Cheap
destroy_or_downgrade_estate_building_4_effect = { BUILDING = guardhouse }
}
3 = { # garden : Cheap
if = {
limit = { has_domicile_building_or_higher = garden_leisure_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = garden_leisure }
}
else_if = {
limit = { has_domicile_building_or_higher = garden_fruit_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = garden_fruit }
}
else = {
destroy_or_downgrade_estate_building_3_effect = { BUILDING = garden }
}
}
4 = { # stable : Cheap
if = {
limit = { has_domicile_building_or_higher = stable_grand_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = stable_grand }
}
else_if = {
limit = { has_domicile_building_or_higher = stable_kennel_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = stable_kennel }
}
else_if = {
limit = { has_domicile_building_or_higher = stable_chariot_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = stable_chariot }
}
else = {
destroy_or_downgrade_estate_building_3_effect = { BUILDING = stable }
}
}
5 = { # workshop : Cheap
if = {
limit = { has_domicile_building_or_higher = workshop_carpenter_03 }
destroy_or_downgrade_estate_building_2_6_replacement_effect = { BUILDING = workshop_carpenter }
}
else_if = {
limit = { has_domicile_building_or_higher = workshop_mason_03 }
destroy_or_downgrade_estate_building_2_6_replacement_effect = { BUILDING = workshop_mason }
}
else_if = {
limit = { has_domicile_building_or_higher = workshop_textile_03 }
destroy_or_downgrade_estate_building_2_6_replacement_effect = { BUILDING = workshop_textile }
}
else = {
destroy_or_downgrade_estate_building_2_effect = { BUILDING = workshop }
}
}
6 = { # storage : Cheap
if = {
limit = { has_domicile_building_or_higher = storage_warehouse_03 }
destroy_or_downgrade_estate_building_2_4_replacement_effect = { BUILDING = storage_warehouse }
}
else_if = {
limit = { has_domicile_building_or_higher = storage_granary_03 }
destroy_or_downgrade_estate_building_2_4_replacement_effect = { BUILDING = storage_granary }
}
else = {
destroy_or_downgrade_estate_building_2_effect = { BUILDING = storage }
}
}
7 = { # market : Cheap
destroy_or_downgrade_estate_building_6_effect = { BUILDING = market }
}
8 = { # grazing_land : Cheap
if = {
limit = { has_domicile_building_or_higher = horse_pasture_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = horse_pasture }
}
else_if = {
limit = { has_domicile_building_or_higher = camel_pasture_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = camel_pasture }
}
else_if = {
limit = { has_domicile_building_or_higher = elephant_pasture_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = elephant_pasture }
}
else = {
destroy_or_downgrade_estate_building_6_effect = { BUILDING = grazing_land }
}
}
9 = { # grain_field : Cheap
destroy_or_downgrade_estate_building_6_effect = { BUILDING = grain_field }
}
10 = { # living_quarters : Cheap
destroy_or_downgrade_estate_building_4_effect = { BUILDING = living_quarters }
}
11 = { # vineyard : Cheap
destroy_or_downgrade_estate_building_6_effect = { BUILDING = vineyard }
}
12 = { # olive : Cheap
destroy_or_downgrade_estate_building_6_effect = { BUILDING = olive }
}
13 = { # temple : Cheap
if = {
limit = { has_domicile_building_or_higher = temple_crypt_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = temple_crypt }
}
else_if = {
limit = { has_domicile_building_or_higher = temple_large_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = temple_large }
}
else_if = {
limit = { has_domicile_building_or_higher = temple_monastery_04 }
destroy_or_downgrade_estate_building_3_6_replacement_effect = { BUILDING = temple_monastery }
}
else = {As written in game/common/scripted_effects/00_building_effects.txt.
The first 120 of its 176 lines; the rest is in game/common/scripted_effects/00_building_effects.txt from line 1988.
Where it is used
Every place in common/, events/ and history/ that calls destroy_random_estate_building_effect.
Scripted effects inside an event file (2)
- ep3_governor_8020_fail_effect
- raid_estate_success_public_effect
On actions (the game's own hooks) (1)
- on_title_lost
Source: game/common/scripted_effects/00_building_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.