﻿
ucp_attempt_to_cure_dysentery = {

	effect = {

		# decide who is going to be the reference actor

		if = {
			limit = {
				scope:actor = { is_alive = yes }
			}

			set_variable = {
				name = reference_actor
				value = scope:actor
			}
		}

		else_if = {
			limit = {
				scope:recipient = { is_ai = no }
			}

			set_variable = {
				name = reference_actor
				value = scope:recipient
			}
		}

		else_if = {
			limit = {
				exists = scope:recipient.liege
			}

			set_variable = {
				name = reference_actor
				value = scope:recipient.liege
			}
		}

		else = {
			# this character is hopeless
			scope:recipient = {
				remove_trait = ucp_bedridden
			}
		}

		# calculate outcome

		if = {

			# double-check whether we still have a court physician
			limit = {
				root.var:reference_actor = {
					any_court_position_holder = {
						type = court_physician_court_position
					}
				}
			}

			# save new court physician scope
			root.var:reference_actor = {
				random_court_position_holder = {
					type = court_physician_court_position
					save_scope_as = new_court_physician
				}
			}

			# assume negative outcome
			set_variable = {
				name = ucp_cure_outcome
				value = 0
			}

			scope:new_court_physician = {
				if = {
					limit = {
						has_trait_xp = {
							trait = lifestyle_physician
							value >= 100
						}
					}

					random = {
						chance = 0

						modifier = {
							add = {
								value = learning
							}
						}

						modifier = {
							factor = 4
						}

						modifier = {
							factor = 2
							root = { exists = var:use_best_treatment }
						}

						root = {
							set_variable = {
								name = ucp_cure_outcome
								value = 1
							}
						}
					}

					if = {
						limit = {
							root = {
								var:ucp_cure_outcome = 1
							}
						}

						root.var:reference_actor = {
							trigger_event = event_cure_dysentery.0002
						}
					}

					else = {
						root.var:reference_actor = {
							trigger_event = treatment_outcomes.0003
						}
					}
				}

				# court physician does not have the required skills
				else = {
					root.var:reference_actor = {
						trigger_event = treatment_outcomes.0002
					}
				}
			}

		}

		else = {

			# no court physician available
			root.var:reference_actor = {
				remove_variable = court_physician
				trigger_event = treatment_outcomes.0001
			}

		}

		remove_variable = use_best_treatment

	}

}

