﻿#hire courtesan
hire_a_courtesan_interaction = {
	icon = icon_hire_courtesan
	category = interaction_category_friendly

	interface_priority = 90

	desc = hire_a_courtesan_interaction_desc

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			is_courtier_of = scope:actor
			is_female = yes
			NOT = { has_trait = deviants_slut_hired_maiden }
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			is_married = no
			age >= 18
			NOT = { has_character_modifier = refused_to_be_whore_modifier }
		}
		custom_description = {
			text = potential_courtesan_go
			scope:recipient = { 
				is_available_ai_adult = yes
				is_female = yes
				is_courtier_of = scope:actor
				NOT = { has_trait = deviants_slut_hired_maiden }
			}
		}
	}

	on_accept = {
		scope:actor = {
			trigger_event = courtesango_deviant_events.6000
		}
	}

	auto_accept = yes

	#AI will do
}

#fire courtesan
fire_a_courtesan_interaction = {
	category = interaction_category_friendly
	icon = icon_scheme_slander

	interface_priority = 90

	desc = fire_a_courtesan_interaction_desc

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_trait = deviants_slut_hired_maiden
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_trait = deviants_slut_hired_maiden
		}
	}

	on_accept = {
		scope:recipient = {
			remove_trait = deviants_slut_hired_maiden
		}
	}

	auto_accept = yes

	#AI will do
	
}

send_courtesans_interaction = {
	icon = icon_deviant_courtesan_sluts
	interface_priority = 90
	category = interaction_category_friendly
	use_diplomatic_range = yes
	desc = send_courtesans_interaction_desc

	send_name = START_SCHEME

	scheme = deviant_send_courtesans
	ignores_pending_interaction_block = yes

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			age >= 18
			OR = {	is_female = no	has_trait = futanari_genetic }
			is_landed = yes
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			NOT = { has_character_modifier = deviant_boredofwhores_modifier }
			NOT = { has_trait = chaste }
			NOT = { has_trait = shy }
			NOT = { has_trait = celibate }
		}
		custom_description = {
			text = potential_courtesan_clientgo
			scope:recipient = { 
				OR = {
					has_trait = sadistic
					has_trait = lustful
					has_trait = special_courtesan_client 
				}
			}
		}	
	}
	

	# Scheme Start
	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = send_courtesans_interaction_notification

				left_icon = scope:actor					
				right_icon = scope:recipient

				begin_scheme_with_agents_effect = {
					SCHEME_TYPE = deviant_send_courtesans
					TARGET_TYPE = target_character
					TARGET_SCOPE = scope:recipient
					AGENT_1 = agent_deviants_courtesan
					AGENT_2 = agent_deviants_courtesan
					AGENT_3 = agent_deviants_courtesan
					AGENT_4 = agent_deviants_courtesan
					AGENT_5 = agent_deviants_courtesan
				}
			}
		}
	}
	auto_accept = yes
}

whore_commoners_courtesan_interaction = {
	icon = icon_whore_for_coin
	category = interaction_category_friendly
	use_diplomatic_range = yes
	interface_priority = 90

	desc = whore_commoners_courtesan_interaction_desc

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_trait = deviants_slut_hired_maiden
			NOT = { has_character_modifier = deviants_courtesan_whoring_commoners_modifier }
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_trait = deviants_slut_hired_maiden
			is_courtier_of = scope:actor
			NOT = { has_character_modifier = deviants_courtesan_whoring_commoners_modifier }
		}
	}

	on_accept = {
		scope:actor = {
			send_interface_toast = {
				title = whore_commoners_courtesan_interaction_notification
				left_icon = scope:actor					
				right_icon = scope:recipient
				scope:recipient = {
					add_character_modifier = deviants_courtesan_whoring_commoners_modifier
				}
			}
		}
	}

	auto_accept = yes

	#AI will do
}

stopwhore_commoners_courtesan_interaction = {
	icon = icon_scheme_slander
	category = interaction_category_friendly
	use_diplomatic_range = yes
	interface_priority = 90

	desc = stopwhore_commoners_courtesan_interaction_desc

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_character_modifier = deviants_courtesan_whoring_commoners_modifier
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_character_modifier = deviants_courtesan_whoring_commoners_modifier
		}
	}

	on_accept = {
		scope:actor = {
			send_interface_toast = {
				title = stopwhore_commoners_courtesan_interaction_notification
				left_icon = scope:actor					
				right_icon = scope:recipient
				scope:recipient = {
					remove_character_modifier = deviants_courtesan_whoring_commoners_modifier
				}
			}
		}
	}

	auto_accept = yes

	#AI will do
}

whore_merchants_interaction = {
	icon = icon_whore_for_coin
	interface_priority = 100
	category = interaction_category_friendly
	use_diplomatic_range = yes
	desc = whore_merchants_interaction_desc

	send_name = START_SCHEME

	scheme = deviant_whore_merchants
	ignores_pending_interaction_block = yes

	is_shown = {
		scope:actor = {
			has_trait = deviant_courtesan_slut
			is_ai = no
		}
		scope:recipient = { 
			has_trait = deviant_courtesan_slut
			is_ai = no
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviant_courtesan_slut
			is_ai = no
		}
		scope:recipient = { 
			has_trait = deviant_courtesan_slut
			is_ai = no
		}	
	}
	

	# Scheme Start
	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = whore_merchants_interaction_notification

				left_icon = scope:actor					

				begin_scheme_basic_effect = {
					SCHEME_TYPE = deviant_whore_merchants
					TARGET_TYPE = target_character
					TARGET_SCOPE = scope:recipient
				}
			}
		}
	}
	auto_accept = yes
}

#send courtesans
deviant_send_courtesan_interaction = {
	category = interaction_category_friendly
	icon = icon_sent_courtesans
	use_diplomatic_range = yes

	interface_priority = 90

	desc = deviant_send_courtesan_interaction_desc

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			is_landed = yes
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
			custom_description = {
				text = no_aviable_courtesan_go
				any_courtier = {
					has_trait = deviants_slut_hired_maiden
				}
			}
		}
		scope:recipient = { 
			is_landed = yes
		}
	}
	populate_recipient_list = {
		scope:actor = {
			every_courtier = {
				limit = {
					has_trait = deviants_slut_hired_maiden
				}
				add_to_list = characters
			}
		}	
	}	

	on_accept = {
		scope:actor = {
			trigger_event = courtesango_deviant_events.6100
		}
	}

	auto_accept = yes

	#AI will do
	
}

deviant_innslut_whore_interaction = {
	icon = icon_whore_for_coin
	interface_priority = 100
	category = interaction_category_friendly
	desc = deviant_innslut_whore_interaction_desc

	send_name = START_SCHEME

	scheme = deviant_innslut_whore
	ignores_pending_interaction_block = yes

	is_shown = {
		scope:actor = {
			has_trait = lustful_inn_slut
			is_ai = no
			has_character_flag = given_deviant_innslut_snake_bracelet
		}
		scope:recipient = { 
			has_trait = lustful_inn_slut
			is_ai = no
			has_character_flag = given_deviant_innslut_snake_bracelet
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = lustful_inn_slut
			is_ai = no
			has_character_flag = given_deviant_innslut_snake_bracelet
		}
		scope:recipient = { 
			has_trait = lustful_inn_slut
			is_ai = no
		}	
		custom_description = {
			text = innslut_not_wearing_bracelet
			scope:recipient = { 
				any_character_artifact = {
					has_artifact_modifier = deviant_innslut_snake_bracelet_modifier
				}
			}
		}
	}
	

	# Scheme Start
	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = deviant_innslut_whore_interaction_notification

				left_icon = scope:actor					

				begin_scheme_basic_effect = {
					SCHEME_TYPE = deviant_innslut_whore
					TARGET_TYPE = target_character
					TARGET_SCOPE = scope:recipient
				}
			}
		}
	}
	auto_accept = yes
}

deviant_sadistic_joyrides_interaction = {
	icon = icon_deviant_sadistic_joyrides
	interface_priority = 100
	category = interaction_category_friendly
	desc = deviant_sadistic_joyrides_interaction_desc

	send_name = START_SCHEME

	scheme = deviant_sadistic_joyrides
	ignores_pending_interaction_block = yes

	is_shown = {
		scope:actor = {
			has_trait = sadistic
			has_trait = deviants_mask
			is_ai = no
		}
		scope:recipient = { 
			has_trait = sadistic
			has_trait = deviants_mask
			is_ai = no
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = sadistic
			has_trait = deviants_mask
			is_ai = no
		}
		scope:recipient = { 
			has_trait = sadistic
			has_trait = deviants_mask
			is_ai = no
		}	
	}
	

	# Scheme Start
	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = deviant_sadistic_joyrides_interaction_notification

				left_icon = scope:actor					

				begin_scheme_with_agents_effect = {
					SCHEME_TYPE = deviant_sadistic_joyrides
					TARGET_TYPE = target_character
					TARGET_SCOPE = scope:recipient
					AGENT_1 = agent_deviants_sadistic_knight
					AGENT_2 = agent_deviants_sadistic_knight
					AGENT_3 = agent_deviants_sadistic_knight
					AGENT_4 = agent_deviants_sadistic_knight
					AGENT_5 = agent_deviants_sadistic_knight
				}
			}
		}
	}
	auto_accept = yes
}

#call back courtesan
call_back_courtesan_interaction = {
	category = interaction_category_friendly
	icon = icon_scheme_slander

	interface_priority = 90

	desc = call_back_courtesan_interaction_desc

	is_shown = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_character_flag = sent_deviant_courtesan
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_hiredcampslut
		}
		scope:recipient = { 
			has_character_flag = sent_deviant_courtesan
		}
	}

	on_accept = {
		scope:recipient = {
			return_to_court = yes
			remove_character_flag = sent_deviant_courtesan
		}
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = call_back_courtesan_interaction_notification

				left_icon = scope:recipient				

			}
		}
	}

	auto_accept = yes

	#AI will do
	
}


deviant_hobby_streaking_interaction = {
	icon = icon_go_streaking_deviant
	interface_priority = 100
	category = interaction_category_friendly
	desc = deviant_hobby_streaking_interaction_desc

	send_name = START_SCHEME

	scheme = deviant_hobby_streaking
	ignores_pending_interaction_block = yes

	is_shown = {
		scope:actor = {
			has_trait = deviants_mask
			is_ai = no
		}
		scope:recipient = { 
			has_trait = deviants_mask
			is_ai = no
		}
	}

	is_valid_showing_failures_only = {
		scope:actor = {
			has_trait = deviants_mask
			is_ai = no
		}
		scope:recipient = { 
			has_trait = deviants_mask
			is_ai = no
		}	
		custom_description = {
			text = deviant_not_wearing_mask
			scope:recipient = { 
				any_character_artifact = {
					has_artifact_modifier = deviantsmask_artifact_modifier
				}
			}
		}
	}
	# Scheme Start
	on_accept = {
		scope:actor = {
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = deviant_hobby_streaking_interaction_notification

				left_icon = scope:actor					

				begin_scheme_basic_effect = {
					SCHEME_TYPE = deviant_hobby_streaking
					TARGET_TYPE = target_character
					TARGET_SCOPE = scope:recipient
				}
			}
		}
	}
	auto_accept = yes
}	