###########################################
#                                         #
# Way of Life carousing events            #
#                                         #
# ID WoL.4000-WoL.4999                    #
#                                         #
###########################################

# Written by Tobias Bodlund

namespace = WoL

# Invitee receives invitation
letter_event = {
	id = WoL.4000
	desc = EVTDESC_WoL_4000

	is_triggered_only = yes # invite_to_party, way_of_life_decisions.txt

	option = {
		name = EVTOPTA_WoL_4000 # Accept

		FROMFROM = {
			letter_event = {
				id = WoL.4001
				days = 7
			}

			hidden_effect = {
				opinion = {
					name = opinion_carousing
					who = ROOT
					years = 1
				}

				reverse_opinion = {
					name = opinion_carousing
					who = ROOT
					years = 1
				}
			}
		}

		add_character_modifier = {
			name = do_not_disturb
			months = 5
			hidden = yes
		}

		clr_character_flag = carousing_invite

		ai_chance = {
			factor = 1

			trigger = {
				war = no
				NOT = { is_rival = FROMFROM }

				trigger_if = {
					limit = { religion_group = muslim }

					OR = {
						trait = decadent
						trait = hedonist
						trait = drunkard
					}
				}
			}

			mult_modifier = {
				factor = 0.1

				opinion = {
					who = FROMFROM
					value < -25
				}
			}

			mult_modifier = {
				factor = 5

				vassal_of = FROMFROM
				is_ruler = no
			}

			mult_modifier = {
				factor = 2

				vassal_of = FROMFROM
				is_ruler = yes
			}

			mult_modifier = {
				factor = 0.5
				trait = stressed
			}

			mult_modifier = {
				factor = 0.1
				trait = depressed
			}

			mult_modifier = {
				factor = 10
				trait = drunkard
			}

			mult_modifier = {
				factor = 0.1

				OR = {
					trait = leper
					has_epidemic_disease_trigger = yes
				}
			}

			mult_modifier = {
				factor = 0.5
				trait = celibate
			}

			mult_modifier = {
				factor = 0.5
				trait = chaste
			}

			mult_modifier = {
				factor = 2
				trait = lustful
			}

			mult_modifier = {
				factor = 10
				trait = hedonist
			}

			mult_modifier = {
				factor = 0.2
				trait = temperate
			}

			mult_modifier = {
				factor = 2
				trait = gluttonous
			}

			mult_modifier = {
				factor = 2
				trait = gregarious
			}

			mult_modifier = {
				factor = 0.3
				trait = shy
			}

			mult_modifier = {
				factor = 0.5
				trait = paranoid
			}

			mult_modifier = {
				factor = 10
				trait = decadent
			}

			mult_modifier = {
				factor = 10
				has_character_flag = fake_guru
			}
		}
	}

	option = {
		name = EVTOPTB_WoL_4000 # Decline

		FROMFROM = {
			show_scope_change = no

			opinion = {
				name = opinion_declined_party
				who = ROOT
				years = 2
			}

			letter_event = {
				id = WoL.4002
				days = 7
			}
		}

		clr_character_flag = carousing_invite
	}

	option = {
		name = EVTOPTC_WoL_4000 # Decline and condemn decadence

		piety = 30
		prestige = 30

		trigger = {
			trigger_if = {
				limit = { religion_group = muslim }
				trait = zealous
			}
			trigger_else = {
				has_minor_title = title_guru
				NOT = { has_character_flag = fake_guru }
			}
		}

		FROMFROM = {
			show_scope_change = no

			opinion = {
				name = opinion_declined_party
				who = ROOT
				years = 2
			}

			opinion = {
				name = opinion_angry
				who = ROOT
				years = 2
			}

			letter_event = {
				id = WoL.4003
				days = 7
			}
		}

		clr_character_flag = carousing_invite

		ai_chance = {
			factor = 1

			mult_modifier = {
				factor = 5

				OR = {
					trait = brave

					opinion = {
						who = FROMFROM
						value < -50
					}
				}
			}
		}
	}

	option = {
		name = EVTOPTD_WoL_4000 # I've had enough of these shenanigans!

		trigger = { ai = no }

		FROMFROM = {
			show_scope_change = no

			opinion = {
				name = opinion_declined_party
				who = ROOT
				years = 2
			}

			opinion = {
				name = opinion_angry
				who = ROOT
				years = 2
			}

			letter_event = {
				id = WoL.4003
				days = 7
			}
		}

		clr_character_flag = carousing_invite

		custom_tooltip = {
			text = bugger_off_carousers

			add_character_modifier = {
				name = i_hate_carousing
				years = 5
				hidden = yes
			}
		}
	}
}

# Host receives positive answer to invitation
letter_event = {
	id = WoL.4001
	desc = EVTDESC_WoL_4001

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_WoL_4001

		tooltip = {
			reverse_opinion = {
				name = opinion_carousing
				who = FROM
				years = 1
			}

			opinion = {
				name = opinion_carousing
				who = FROM
				years = 1
			}
		}
	}
}

# Host receives negative answer to invitation
letter_event = {
	id = WoL.4002
	desc = EVTDESC_WoL_4002

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4002

		prestige = -3
	}
}

# Host receives negative answer and condemnation
letter_event = {
	id = WoL.4003
	desc = EVTDESC_WoL_4003

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4003
		tooltip_info = zealous

		trigger = { trait = zealous }
	}

	option = {
		name = EVTOPTB_WoL_4003

		trigger = {
			NOT = { trait = zealous }
		}
	}

	after = {
		prestige = -10

		reverse_opinion = {
			name = opinion_condemned_decadence
			who = FROM
			years = 2
		}
	}
}

# Check if party can start or not and send on to appropriate event
character_event = {
	id = WoL.4010

	is_triggered_only = yes # invite_to_party, way_of_life_decisions.txt
	hide_window = yes

	war = no
	only_capable = yes

	trigger = {
		has_any_opinion_modifier = opinion_carousing
	}

	fail_trigger_effect = {
		clr_character_flag = inviting_guests_to_party_timer

		if = {
			limit = {
				OR = {
					war = yes
					is_incapable = yes
				}
			}

			character_event = { id = WoL.4011 } # Cancel carousing due to unforeseen circumstances
		}
		else = {
			character_event = { id = WoL.4015 } # Cancel carousing due to no one accepting invitation
		}
	}

	immediate = {
		clr_character_flag = inviting_guests_to_party_timer
		character_event = { id = WoL.4030 } # ... or start the party!
	}
}

# Cancel due to unforeseen circumstances
character_event = {
	id = WoL.4011
	desc = EVTDESC_WoL_4011
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes
	hide_from = yes

	option = {
		name = CURSES

		remove_do_not_disturb_effect = yes
		remove_character_modifier = organizing_party

		hidden_effect = {
			any_opinion_modifier_target = {
				limit = {
					has_opinion_modifier = {
						name = opinion_carousing
						who = ROOT
					}
				}

				remove_do_not_disturb_effect = yes
				letter_event = { id = WoL.4012 } # Notify by letter

				remove_opinion = {
					name = opinion_carousing
					who = ROOT
				}

				reverse_remove_opinion = {
					name = opinion_carousing
					who = ROOT
				}
			}
		}
	}
}

# Invitee notified of cancellation
letter_event = {
	id = WoL.4012
	desc = EVTDESC_WoL_4012

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA63054
	}
}

# Cancel due to no one accepting invitation
character_event = {
	id = WoL.4015
	desc = EVTDESC_WoL_4015
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes
	hide_from = yes

	immediate = {
		remove_do_not_disturb_effect = yes

		change_variable = {
			which = lifestyle_diplomacy
			value = 1
		}
	}

	option = {
		name = EVTOPTA_WoL_4015

		remove_character_modifier = organizing_party
	}
}

# Party begins
character_event = {
	id = WoL.4030
	desc = EVTDESC_WoL_4030
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes
	hide_from = yes

	immediate = {
		set_character_flag = party_host
	}

	option = {
		name = EVTOPTA_WoL_4030

		remove_character_modifier = organizing_party

		add_character_modifier = {
			name = party_carousing
			days = 40
		}

		any_opinion_modifier_target = {
			show_scope_change = no

			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}
			}

			character_event = { id = WoL.4031 } # Notify guests that carousing starts

			character_event = {
				id = WoL.4800
				days = 30 # End of party
			}
		}

		character_event = { id = WoL.4035 days = 15 } # Select outcome/events
		character_event = { id = WoL.4800 days = 30 } # End of party
	}
}

# Party begins, notify guests
character_event = {
	id = WoL.4031
	desc = EVTDESC_WoL_4031
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	immediate = {
		set_character_flag = party_guest
	}

	option = {
		name = EVTOPTA_WoL_4031

		add_character_modifier = {
			name = party_carousing
			days = 40
		}
	}
}

# Carousing - select outcome/events (host)
character_event = {
	id = WoL.4035

	is_triggered_only = yes
	hide_window = yes

	trigger = {
		# Ensure at least one invitee is still alive
		any_opinion_modifier_target = {
			has_opinion_modifier = {
				name = opinion_carousing
				who = ROOT
			}
		}
	}

	immediate = {
		# Select interesting party event
		random_list = {
			2 = { # Cannibal, eat your guest? (or guest may eat host)
				trigger = {
					OR = {
						trait = lunatic
						trait = possessed
						trait = impaler
						any_artifact = { artifact_type = the_omnivore }

						any_opinion_modifier_target = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							OR = {
								trait = lunatic
								trait = possessed
								trait = impaler
								any_artifact = { artifact_type = the_omnivore }
							}
						}
					}

					# Don't eat other players!
					trigger_if = {
						limit = { ai = no }

						any_opinion_modifier_target = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							ai = yes
						}
					}
				}

				mult_modifier = {
					factor = 20
					trait = cannibal
				}

				mult_modifier = {
					factor = 1.5
					trait = gluttonous
				}

				# Select potential cannibal
				if = {
					limit = {
						OR = {
							trait = lunatic
							trait = possessed
							trait = impaler
							any_artifact = { artifact_type = the_omnivore }
						}
					}

					character_event = { id = WoL.4101 }
				}
				else_if = {
					limit = { ai = yes } # Don't eat players!

					random_opinion_modifier_target = {
						limit = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							OR = {
								trait = lunatic
								trait = possessed
								trait = impaler
								any_artifact = { artifact_type = the_omnivore }
							}
						}

						character_event = { id = WoL.4101 }
					}
				}
			}

			20 = { # Party fling if both lustful
				trigger = {
					OR = {
						trait = lustful
						trait = hedonist
					}

					any_opinion_modifier_target = {
						has_opinion_modifier = {
							name = opinion_carousing
							who = ROOT
						}

						OR = {
							trait = lustful
							trait = hedonist
						}

						is_valid_romance_target = ROOT
					}
				}

				# Who takes initiative?
				random_list = {
					50 = {
						character_event = { id = WoL.4111 }
					}

					50 = {
						random_opinion_modifier_target = {
							limit = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								OR = {
									trait = lustful
									trait = hedonist
								}

								is_valid_romance_target = ROOT
							}

							character_event = { id = WoL.4111 }
						}
					}
				}
			}

			30 = {
				trigger = {
					any_opinion_modifier_target = {
						has_opinion_modifier = {
							name = opinion_carousing
							who = ROOT
						}

						NOT = { is_friend = ROOT }
					}
				}

				character_event = { id = WoL.4120 } # Makes new friend
			}

			10 = { # Fight breaks out, might make new enemy
				trigger = {
					any_opinion_modifier_target = {
						has_opinion_modifier = {
							name = opinion_carousing
							who = ROOT
						}

						NOT = { is_rival = ROOT }
					}

					OR = {
						trait = wroth
						trait = lunatic
						trait = paranoid

						any_opinion_modifier_target = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							OR = {
								trait = wroth
								trait = lunatic
								trait = paranoid
							}
						}
					}
				}

				# Who starts the fight?
				random_list = {
					50 = {
						trigger = {
							OR = {
								trait = wroth
								trait = lunatic
								trait = paranoid
							}
						}

						character_event = { id = WoL.4131 }
					}

					50 = {
						trigger = {
							any_opinion_modifier_target = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								OR = {
									trait = wroth
									trait = lunatic
									trait = paranoid
								}
							}
						}

						random_opinion_modifier_target = {
							limit = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								OR = {
									trait = wroth
									trait = lunatic
									trait = paranoid
								}
							}

							character_event = { id = WoL.4131 }
						}
					}
				}
			}

			20 = { # Lunatic starts raising hell, in a good way
				trigger = {
					OR = {
						trait = lunatic

						any_opinion_modifier_target = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							trait = lunatic
						}
					}
				}

				# Select lunatic
				random_list = {
					50 = {
						trigger = {
							trait = lunatic
						}

						character_event = { id = WoL.4141 }
					}

					50 = {
						trigger = {
							any_opinion_modifier_target = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								trait = lunatic
							}
						}

						random_opinion_modifier_target = {
							limit = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								trait = lunatic
							}

							character_event = { id = WoL.4141 }
						}
					}
				}
			}

			10 = { # Drunkard drinks waaaaay too much
				trigger = {
					OR = {
						trait = drunkard

						any_opinion_modifier_target = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							trait = drunkard
						}
					}
				}

				# Select drunkard
				random_list = {
					50 = {
						trigger = {
							trait = drunkard
						}

						character_event = { id = WoL.4151 }
					}

					50 = {
						trigger = {
							any_opinion_modifier_target = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								trait = drunkard
							}
						}

						random_opinion_modifier_target = {
							limit = {
								has_opinion_modifier = {
									name = opinion_carousing
									who = ROOT
								}

								trait = drunkard
							}

							character_event = { id = WoL.4151 }
						}
					}
				}
			}

			10 = {
				mult_modifier = {
					factor = 3

					OR = {
						trait = game_master

						any_opinion_modifier_target = {
							has_opinion_modifier = {
								name = opinion_carousing
								who = ROOT
							}

							trait = game_master
						}
					}
				}

				random_opinion_modifier_target = {
					limit = {
						has_opinion_modifier = {
							name = opinion_carousing
							who = ROOT
						}
					}

					preferred_limit = {
						trait = game_master
					}

					save_event_target_as = player_2
				}

				character_event = { id = WoL.4161 }
			}
		}
	}
}

# Cannibal - eat?
character_event = {
	id = WoL.4101
	desc = EVTDESC_WoL_4101
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4101 # No

		if = {
			limit = {
				NOR = {
					trait = craven
					trait = berserker
				}
			}

			remove_trait_silently_brave_effect = yes
			add_trait = craven
		}
		else_if = {
			limit = {
				NOT = { trait = stressed }
			}

			add_trait = stressed
		}
		else_if = {
			limit = {
				NOT = { trait = depressed }
			}

			add_trait = depressed
		}

		ai_chance = { factor = 0 }
	}

	option = {
		name = EVTOPTB_WoL_4101 # Eat, for host

		trigger = { has_character_flag = party_host }

		if = {
			limit = {
				NOT = { trait = cannibal }
			}

			add_trait = cannibal
		}

		random_opinion_modifier_target = {
			show_scope_change = no

			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}

				ai = yes # Don't eat other players!
			}

			death = {
				death_reason = death_murder_unknown_butchered
				killer = ROOT
			}

			if = {
				limit = {
					religion_openly_bon_or_reformed_trigger = yes

					ROOT = {
						ai = no
						is_ironman = yes
					}
				}

				ROOT = { set_character_flag = achievement_bon_appetit }
			}
		}
	}

	option = {
		name = EVTOPTB_WoL_4101 # Eat, for guest

		trigger = { has_character_flag = party_guest }

		if = {
			limit = {
				NOT = { trait = cannibal }
			}

			add_trait = cannibal
		}

		FROM = {
			show_scope_change = no

			death = {
				death_reason = death_murder_unknown_butchered
				killer = ROOT
			}

			if = {
				limit = {
					religion_openly_bon_or_reformed_trigger = yes

					ROOT = {
						ai = no
						is_ironman = yes
					}
				}

				ROOT = { set_character_flag = achievement_bon_appetit }
			}
		}
	}
}

# Fling - propose carnal knowledge?
character_event = {
	id = WoL.4111
	desc = EVTDESC_WoL_4111
	picture = GFX_evt_brothel
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4111 # Host initiative

		trigger = { has_character_flag = party_host }

		random_opinion_modifier_target = {
			show_scope_change = no

			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}

				is_valid_romance_target = ROOT

				OR = {
					trait = lustful
					trait = hedonist
				}
			}

			character_event = { id = WoL.4112 }
		}
	}

	option = {
		name = EVTOPTA_WoL_4111 # Guest initiative

		trigger = { has_character_flag = party_guest }

		FROM = {
			character_event = { id = WoL.4112 }
		}
	}

	option = {
		name = EVTOPTC_WoL_4111 # No

		if = {
			limit = {
				NOR = {
					trait = chaste
					trait = lustful
				}
			}

			add_trait = chaste
		}
		else_if = {
			limit = {
				trait = lustful
				NOT = { trait = depressed }
			}

			random = {
				chance = 50
				add_trait_depressed_effect = yes
			}
		}
		else_if = {
			limit = {
				trait = lustful
				trait = depressed
				NOT = { trait = stressed }
			}

			random = {
				chance = 50
				add_trait_stressed_effect = yes
			}
		}

		ai_chance = { factor = 0 }
	}
}

# Fling - accept or decline proposal of carnal knowledge
character_event = {
	id = WoL.4112
	desc = EVTDESC_WoL_4112
	picture = GFX_evt_brothel
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4112 # Yes

		add_character_modifier = {
			name = good_times
			years = 2
		}

		hidden_effect = {
			unprotected_sex_effect = yes
		}

		FROM = {
			character_event = { id = WoL.4113 }
		}
	}

	option = {
		name = EVTOPTB_WoL_4112 # No

		reverse_opinion = {
			name = opinion_spurned
			who = FROM
			years = 5
		}

		add_trait_silently_chaste_effect = yes

		FROM = {
			character_event = { id = WoL.4114 }
		}
	}
}

# Carnal knowledge accepted - do it
character_event = {
	id = WoL.4113
	desc = EVTDESC_WoL_4113
	picture = GFX_evt_lovers
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4113

		add_character_modifier = {
			name = good_times
			years = 2
		}
	}
}

# Carnal knowledge declined - notify
character_event = {
	id = WoL.4114
	desc = EVTDESC_WoL_4114
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4114

		tooltip = {
			opinion = {
				name = opinion_spurned
				who = FROM
				years = 5
			}
		}

		prestige = -5
	}
}

# Makes friend
character_event = {
	id = WoL.4120
	picture = GFX_evt_feast
	desc = EVTDESC_WoL_4120
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	immediate = {
		random_opinion_modifier_target = {
			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}

				NOT = { is_friend = ROOT }
			}

			save_event_target_as = scoped_friend
		}
	}

	option = {
		name = EVTOPTA_WoL_4120

		event_target:scoped_friend = {
			show_scope_change = no

			add_friend = ROOT
			character_event = { id = WoL.4121 }
		}
	}
}

# Notify new friend
character_event = {
	id = WoL.4121
	picture = GFX_evt_feast
	desc = EVTDESC_WoL_4120
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA_WoL_4120

		tooltip = {
			add_friend = FROM
		}
	}
}

# Fight starts - you can't control your rage
character_event = {
	id = WoL.4131
	desc = EVTDESC_WoL_4131
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4131

		trigger = { has_character_flag = party_host }

		random_opinion_modifier_target = {
			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}
			}

			character_event = { id = WoL.4132 }
		}
	}

	option = {
		name = EVTOPTA_WoL_4131

		trigger = { has_character_flag = party_guest }

		FROM = {
			character_event = { id = WoL.4132 }
		}
	}
}

# He's coming at me - avoid or fight back?
character_event = {
	id = WoL.4132
	picture = GFX_evt_feast
	desc = EVTDESC_WoL_4132
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4132 # Fight!

		FROM = {
			set_character_flag = party_fight_fight
			character_event = { id = WoL.4133 }
		}

		random_list = {
			89 = {
				add_character_modifier = {
					name = beaten_up
					months = 6
				}
			}

			10 = { add_trait_wounded_effect = yes }
			 1 = { add_maimed_trait_effect = yes }
		}

		random = {
			chance = 30

			add_rival = FROM
			set_character_flag = party_fight_became_rivals
		}
	}

	option = {
		name = EVTOPTB_WoL_4132 # Talk - best option
		tooltip_info = diplomacy

		trigger = { diplomacy >= 15 }

		FROM = {
			set_character_flag = party_fight_talk
			character_event = { id = WoL.4133 }
		}

		random = {
			chance = 20
			change_diplomacy = 1
		}

		if = {
			limit = {
				NOT = { is_friend = FROM }
			}

			random = {
				chance = 20

				add_friend = FROM
				set_character_flag = party_fight_made_friend
			}
		}
	}

	option = {
		name = EVTOPTC_WoL_4132 # Hide!

		if = {
			limit = { trait = brave }
			remove_trait = brave
		}
		else = {
			random = {
				chance = 30
				add_trait_craven_effect = yes
			}
		}

		FROM = {
			set_character_flag = party_fight_hide
			character_event = { id = WoL.4133 }
		}
	}
}

# Aggressor gets results
character_event = {
	id = WoL.4133
	picture = GFX_evt_scandal
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	desc = {
		text = EVTDESC_WoL_4133_fight
		trigger = { has_character_flag = party_fight_fight }
	}
	desc = {
		text = EVTDESC_WoL_4133_talk
		trigger = { has_character_flag = party_fight_talk }
	}
	desc = {
		text = EVTDESC_WoL_4133_hide
		trigger = { has_character_flag = party_fight_hide }
	}

	option = {
		name = EVTOPTA_WoL_4133 # Fought (both are at risk of injury)

		trigger = { has_character_flag = party_fight_fight }

		random_list = {
			89 = {
				add_character_modifier = {
					name = beaten_up
					months = 6
				}
			}

			10 = { add_trait_wounded_effect = yes }
			 1 = { add_maimed_trait_effect = yes }
		}

		if = {
			limit = { has_character_flag = party_fight_became_rivals }

			tooltip = {
				add_rival = FROM
			}

			clr_character_flag = party_fight_became_rivals
		}

		if = {
			limit = { has_nickname = no }

			random = {
				chance = 20
				give_nickname = nick_the_quarreller
			}
		}

		clr_character_flag = party_fight_fight
	}

	option = {
		name = EVTOPTB_WoL_4133 # Talked

		trigger = { has_character_flag = party_fight_talk }

		if = {
			limit = { has_character_flag = party_fight_made_friend }

			clr_character_flag = party_fight_made_friend

			tooltip = {
				add_friend = FROM
			}
		}

		clr_character_flag = party_fight_talk
	}

	option = {
		name = EVTOPTC_WoL_4133 # Hid

		trigger = { has_character_flag = party_fight_hide }

		reverse_opinion = {
			name = opinion_cautious
			who = FROM
			years = 3
		}

		clr_character_flag = party_fight_hide
	}
}

# Lunatic goes wild at party
character_event = {
	id = WoL.4141
	desc = EVTDESC_WoL_4141
	picture = GFX_evt_pope_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4141

		trigger = { has_character_flag = party_host }

		add_character_modifier = {
			name = good_times
			years = 2
		}

		if = {
			limit = { has_nickname = no }

			random = {
				chance = 20
				give_nickname = nick_the_merry
			}
		}

		any_opinion_modifier_target = {
			show_scope_change = no

			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}
			}

			opinion = {
				name = opinion_approves
				who = ROOT
				years = 4
			}

			character_event = { id = WoL.4142 }
		}
	}

	option = {
		name = EVTOPTA_WoL_4141

		trigger = { has_character_flag = party_guest }

		add_character_modifier = {
			name = good_times
			years = 2
		}

		FROM = {
			show_scope_change = no

			opinion = {
				name = opinion_approves
				who = ROOT
				years = 4
			}

			character_event = { id = WoL.4142 }
		}
	}
}

# Other person perspective on lunatic behavior
character_event = {
	id = WoL.4142
	desc = EVTDESC_WoL_4142
	picture = GFX_evt_pope_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4142

		add_character_modifier = {
			name = good_times
			years = 2
		}
	}
}

# Drunkard
character_event = {
	id = WoL.4151
	desc = EVTDESC_WoL_4151
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4151

		trigger = { has_character_flag = party_host }

		add_character_modifier = {
			name = epic_hangover
			years = 1
		}

		if = {
			limit = { has_nickname = no }

			random = {
				chance = 20
				give_nickname = nick_the_drunkard
			}
		}

		any_opinion_modifier_target = {
			show_scope_change = no

			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}
			}

			if = {
				limit = { trait = drunkard }

				opinion = {
					name = opinion_gained_respect
					who = ROOT
					years = 4
				}

				character_event = { id = WoL.4152 }
			}
			else = {
				opinion = {
					name = despise_drunkard
					who = ROOT
					years = 4
				}

				character_event = { id = WoL.4152 }
			}
		}
	}

	option = {
		name = EVTOPTA_WoL_4151

		trigger = { has_character_flag = party_guest }

		add_character_modifier = {
			name = epic_hangover
			years = 1
		}

		FROM = {
			show_scope_change = no

			if = {
				limit = { trait = drunkard }

				opinion = {
					name = opinion_gained_respect
					who = ROOT
					years = 4
				}
			}
			else = {
				opinion = {
					name = despise_drunkard
					who = ROOT
					years = 4
				}
			}

			character_event = { id = WoL.4152 }
		}
	}
}

# Other person perspective on drunkard behavior
character_event = {
	id = WoL.4152
	picture = GFX_evt_feast
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_WoL_4152_non_drunkard
		trigger = { NOT = { trait = drunkard } }
	}
	desc = {
		text = EVTDESC_WoL_4152_drunkard
		trigger = { trait = drunkard }
	}

	is_triggered_only = yes

	option = {
		name = EVTOPTA_WoL_4152

		trigger = {
			NOT = { trait = drunkard }
		}

		tooltip = {
			opinion = {
				name = despise_drunkard
				who = FROM
				years = 4
			}
		}
	}

	option = {
		name = EVTOPTA_WoL_4152

		trigger = { trait = drunkard }

		tooltip = {
			opinion = {
				name = opinion_gained_respect
				who = FROM
				years = 4
			}
		}
	}
}

# Player 1 (host)
character_event = {
	id = WoL.4161
	picture = GFX_evt_war_planning
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_WoL_4161_gamer
		trigger = {
			OR = {
				trait = game_master
				has_character_modifier = apprentice_boardgamer
			}
		}
	}
	desc = {
		text = EVTDESC_WoL_4161_non_gamer
		trigger = {
			NOR = {
				trait = game_master
				has_character_modifier = apprentice_boardgamer
			}
		}
	}

	is_triggered_only = yes

	option = { # Play for money
		name = EVTOPTA_WoL_4161

		set_character_flag = game_play_for_money

		hidden_effect = {
			event_target:player_2 = { set_character_flag = game_play_for_money }
		}
	}

	option = { # Play just for fun
		name = EVTOPTB_WoL_4161
	}

	after = {
		event_target:player_2 = {
			character_event = { id = WoL.4162 }
		}
	}
}

# Player 2
character_event = {
	id = WoL.4162
	picture = GFX_evt_war_planning
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	desc = {
		text = EVTDESC_WoL_4162_money_i_suggest
		trigger = {
			FROM = { has_character_flag = game_play_for_money }

			OR = {
				trait = game_master
				has_character_modifier = apprentice_boardgamer
			}
		}
	}
	desc = {
		text = EVTDESC_WoL_4162_not_money_i_suggest
		trigger = {
			FROM = { NOT = { has_character_flag = game_play_for_money } }

			OR = {
				trait = game_master
				has_character_modifier = apprentice_boardgamer
			}
		}
	}
	desc = {
		text = EVTDESC_WoL_4162_money_they_suggest
		trigger = {
			FROM = { has_character_flag = game_play_for_money }

			NOR = {
				trait = game_master
				has_character_modifier = apprentice_boardgamer
			}
		}
	}
	desc = {
		text = EVTDESC_WoL_4162_not_money_they_suggest
		trigger = {
			NOR = {
				FROM = { has_character_flag = game_play_for_money }
				trait = game_master
				has_character_modifier = apprentice_boardgamer
			}
		}
	}

	option = { # Accept and get results
		name = EVTOPTA_WoL_4162

		hidden_effect = {
			random_list = {
				10 = { # Player 2 wins
					mult_modifier = {
						factor = 3
						is_smart_trigger = yes # MORE
					}

					set_character_flag = game_player_winner
				}

				10 = { # Player 1 wins
					mult_modifier = {
						factor = 3
						FROM = { is_smart_trigger = yes } # MORE
					}

					FROM = { set_character_flag = game_player_winner }
				}
			}
		}

		# Game results
		character_event = { id = WoL.4163 }
		FROM = { character_event = { id = WoL.4163 } }
	}
}

# Game results
character_event = {
	id = WoL.4163
	picture = GFX_evt_war_planning
	border = GFX_event_normal_frame_diplomacy

	desc = {
		text = EVTDESC_WoL_4163_win
		trigger = { has_character_flag = game_player_winner }
	}
	desc = {
		text = EVTDESC_WoL_4163_loss
		trigger = { NOT = { has_character_flag = game_player_winner } }
	}

	is_triggered_only = yes

	option = { # Win
		name = EVTOPTA_WoL_4163

		trigger = { has_character_flag = game_player_winner }

		set_character_flag = played_games_today

		if = {
			limit = { has_character_flag = game_play_for_money }
			wealth = 5
		}

		if = {
			limit = {
				NOR = {
					has_character_modifier = apprentice_boardgamer
					trait = game_master
				}
			}

			add_character_modifier = {
				name = apprentice_boardgamer
				duration = -1
			}
		}

		clr_character_flag = game_play_for_money
		clr_character_flag = game_player_winner
	}

	option = { # Loss
		name = EVTOPTB_WoL_4163

		trigger = {
			NOT = { has_character_flag = game_player_winner }
		}

		set_character_flag = played_games_today

		if = {
			limit = { has_character_flag = game_play_for_money }
			wealth = -5
		}

		clr_character_flag = game_play_for_money
	}
}

# Party's over, had a good time
character_event = {
	id = WoL.4800
	picture = GFX_evt_feast
	desc = EVTDESC_WoL_4800
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	immediate = {
		remove_do_not_disturb_effect = yes
		clr_character_flag = party_host
		clr_character_flag = party_guest

		if = {
			limit = { ai = no }

			add_character_modifier = {
				name = party_timer
				days = 200
			}
		}
		else = {
			add_character_modifier = {
				name = party_timer
				days = 350
			}
		}
	}

	option = {
		name = EVTOPTA_WoL_4800 # This was fun

		prestige = 20

		if = {
			limit = { has_focus = focus_carousing }

			if = {
				limit = {
					has_character_modifier = carouser
					NOT = { has_character_modifier = dedicated_carouser }
				}

				remove_character_modifier = carouser

				add_character_modifier = {
					name = dedicated_carouser
					duration = -1
				}
			}
			else_if = {
				limit = {
					NOR = {
						has_character_modifier = dedicated_carouser
						trait = socializer
						trait = hedonist
					}
				}

				add_character_modifier = {
					name = carouser
					duration = -1
				}
			}
		}
	}

	option = {
		name = EVTOPTB_WoL_4800 # Party and carousing is all I wanna do...

		trigger = {
			has_focus = focus_carousing
			lifestyle_traits < 1
			has_character_modifier = dedicated_carouser
		}

		prestige = 20
		remove_character_modifier = dedicated_carouser
		add_trait = hedonist

		if = {
			limit = {
				ai = no
				is_ironman = yes
			}

			set_character_flag = achievement_lets_play
		}
	}

	option = {
		name = EVTOPTC_WoL_4800 # Great way to meet new people...

		trigger = {
			has_focus = focus_carousing
			lifestyle_traits < 1
			has_character_modifier = dedicated_carouser
		}

		prestige = 20
		remove_character_modifier = dedicated_carouser
		add_trait = socializer
	}

	option = {
		name = EVTOPTD_WoL_4800 # Gamer Lifestyle...

		trigger = {
			has_character_flag = played_games_today
			has_character_modifier = apprentice_boardgamer
			lifestyle_traits < 1
		}

		remove_character_modifier = apprentice_boardgamer
		add_trait = game_master
	}

	after = {
		clr_character_flag = played_games_today
		clr_character_flag = game_play_for_money

		random = {
			chance = 30
			remove_trait_stressed_effect = yes
		}

		random = {
			chance = 30
			remove_trait_depressed_effect = yes
		}
	}
}

# Clear guest DND if dead
character_event = {
	id = WoL.4801

	is_triggered_only = yes # on_death
	hide_window = yes

	trigger = {
		has_character_modifier = organizing_party

		any_opinion_modifier_target = {
			has_opinion_modifier = {
				name = opinion_carousing
				who = ROOT
			}

			has_character_modifier = do_not_disturb
		}
	}

	immediate = {
		any_opinion_modifier_target = {
			limit = {
				has_opinion_modifier = {
					name = opinion_carousing
					who = ROOT
				}

				has_character_modifier = do_not_disturb
			}

			remove_do_not_disturb_effect = yes
		}
	}
}