From 0617ea4995aadf88240c7de92ad7c8d78471b58d Mon Sep 17 00:00:00 2001 From: Jaaldabaoth Date: Sun, 26 May 2024 23:41:32 +0200 Subject: [PATCH] succubi are back --- Common/Assemblies/Rjw-Genes.dll | Bin 75776 -> 120320 bytes Common/Defs/AbilityDefs/Ability_CockEater.xml | 33 +++ .../Defs/AbilityDefs/Ability_NakedProwess.xml | 47 ++++ .../AbilityDefs/Ability_ParalysingKiss.xml | 44 ++++ Common/Defs/AbilityDefs/Ability_PussyHeal.xml | 49 ++++ Common/Defs/AbilityDefs/Ability_Seduce.xml | 43 ++++ Common/Defs/DutyDefs/Duties_Succubus.xml | 67 +++++ Common/Defs/Effects/Fleck_Lifeforce.xml | 14 ++ Common/Defs/GeneDefs/GeneCategories.xml | 6 + Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml | 108 ++++++++ Common/Defs/GeneDefs/GeneDefs_LifeForce.xml | 237 ++++++++++++++++++ Common/Defs/GeneDefs/Xenotype_Lifeforce.xml | 144 +++++++++++ Common/Defs/HediffDefs/Hediffs_Fertilin.xml | 166 ++++++++++++ .../InteractionDef/Interactions_Flirt.xml | 33 +++ Common/Defs/JobDefs/Jobs_LifeForce.xml | 32 +++ Common/Defs/JobDefs/Jobs_SexOnSpot.xml | 17 ++ .../MentalStateDefs/MentalState_Lifeforce.xml | 31 +++ .../ThinkTreeDefs/ThinkTrees_LifeForce.xml | 53 ++++ .../Defs/ThoughtDefs/Thoughts_LifeForce.xml | 56 +++++ .../RJW_Genes_Succubus_Tail_east.dds | Bin 262292 -> 0 bytes .../RJW_Genes_Succubus_Tail_east.png | Bin 14798 -> 0 bytes .../RJW_Genes_Succubus_Tail_north.dds | Bin 262292 -> 0 bytes .../RJW_Genes_Succubus_Tail_south.dds | Bin 262292 -> 0 bytes .../Succubus_Tail_L1_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L1_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L1_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L2_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L2_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L2_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R1_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R1_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R1_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R2_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R2_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R2_south.dds | Bin 65684 -> 0 bytes .../RJW_Genes_Succubus_Tail_east.png | Bin 0 -> 18383 bytes .../RJW_Genes_Succubus_Tail_north.png | Bin .../RJW_Genes_Succubus_Tail_south.png | Bin .../RJW_Genes_Succubus_Wings_east.dds | Bin 262292 -> 0 bytes .../RJW_Genes_Succubus_Wings_north.dds | Bin 262292 -> 0 bytes .../RJW_Genes_Succubus_Wings_south.dds | Bin 262292 -> 0 bytes .../Succubus_Wings_east.dds | Bin 16532 -> 0 bytes .../Succubus_Wings_north.dds | Bin 16532 -> 0 bytes .../Succubus_Wings_south.dds | Bin 16532 -> 0 bytes .../RJW_Genes_Succubus_Wings_east.png | Bin .../RJW_Genes_Succubus_Wings_north.png | Bin .../RJW_Genes_Succubus_Wings_south.png | Bin .../Succubus_Tail_L1_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L1_east.png | Bin 1405 -> 0 bytes .../Succubus_Tail_L1_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L1_north.png | Bin 1380 -> 0 bytes .../Succubus_Tail_L1_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L1_south.png | Bin 1342 -> 0 bytes .../Succubus_Tail_L2_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L2_east.png | Bin 1481 -> 0 bytes .../Succubus_Tail_L2_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L2_north.png | Bin 1362 -> 0 bytes .../Succubus_Tail_L2_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_L2_south.png | Bin 1359 -> 0 bytes .../Succubus_Tail_R1_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R1_east.png | Bin 1227 -> 0 bytes .../Succubus_Tail_R1_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R1_north.png | Bin 1342 -> 0 bytes .../Succubus_Tail_R1_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R1_south.png | Bin 1378 -> 0 bytes .../Succubus_Tail_R2_east.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R2_east.png | Bin 1483 -> 0 bytes .../Succubus_Tail_R2_north.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R2_north.png | Bin 1342 -> 0 bytes .../Succubus_Tail_R2_south.dds | Bin 65684 -> 0 bytes .../Succubus_Tail_R2_south.png | Bin 1374 -> 0 bytes .../Succubus_Wings_east.dds | Bin 16532 -> 0 bytes .../Succubus_Wings_east.png | Bin 1263 -> 0 bytes .../Succubus_Wings_north.dds | Bin 16532 -> 0 bytes .../Succubus_Wings_north.png | Bin 1426 -> 0 bytes .../Succubus_Wings_south.dds | Bin 16532 -> 0 bytes .../Succubus_Wings_south.png | Bin 1426 -> 0 bytes Source/GeneDefOf.cs | 25 +- Source/Genes/GeneUtility.cs | 80 +++++- .../Life_Force/Abilities/AbilityUtility.cs | 71 ++++++ .../CompAbilityEffect_CasterIsNaked.cs | 59 +++++ .../Abilities/CompAbilityEffect_CockEater.cs | 121 +++++++++ .../CompAbilityEffect_LifeForceCost.cs | 107 ++++++++ .../Abilities/CompAbilityEffect_PussyHeal.cs | 95 +++++++ .../Abilities/CompAbilityEffect_Seduce.cs | 90 +++++++ .../CompProperties_AbilityCockEater.cs | 18 ++ .../CompProperties_AbilityLifeForceCost.cs | 28 +++ .../CompProperties_AbilityPussyHeal.cs | 20 ++ .../Abilities/CompProperties_CasterIsNaked.cs | 19 ++ .../Abilities/CompProperties_Seduce.cs | 21 ++ .../Defs/LifeForceEmpathExtension.cs | 16 ++ .../Genes/Life_Force/Genes/Gene_LifeForce.cs | 140 +++++++++++ .../Life_Force/Genes/Gene_LifeForceDrain.cs | 68 +++++ .../Life_Force/Genes/Gene_LifeForce_Empath.cs | 118 +++++++++ ...diffCompProperties_SeverityFromFertilin.cs | 23 ++ .../HediffComp_SeverityFromFertilin.cs | 66 +++++ .../IngestionOutcomeDoer_LifeForceOffset.cs | 24 ++ .../JobDriver_CastAbilityAfterSex.cs | 90 +++++++ .../Life_Force/JobDrivers/JobDriver_Flirt.cs | 57 +++++ .../JobDrivers/JobDriver_Seduced.cs | 55 ++++ .../JobDrivers/JobDriver_SexOnSpot.cs | 108 ++++++++ .../JobDrivers/JobDriver_SexOnSpotReceiver.cs | 80 ++++++ .../Life_Force/JobGivers/JobGiver_Flirt.cs | 24 ++ .../JobGivers/JobGiver_GetLifeForce.cs | 87 +++++++ .../JobGiver_LifeForce_RandomRape.cs | 38 +++ .../JobGivers/JobGiver_TryQuickieWith.cs | 175 +++++++++++++ Source/Genes/Life_Force/LordToil_Flirt.cs | 34 +++ .../LifeForceMentalBreakWorker.cs | 32 +++ .../MentalStates/LifeForceMentalState.cs | 23 ++ .../LifeForceMentalStateWorker.cs | 14 ++ .../Patch_SatisfyPersonal_LifeForceGain.cs | 203 +++++++++++++++ .../Patches/Patch_SexTicks_ChangePsyfocus.cs | 62 +++++ .../Patch_Vanilla_Inheritance_Fertilin.cs | 79 ++++++ .../ThinkNode_ConditionalCannotInteract.cs | 22 ++ .../ThinkNode_ConditionalCritcalLifeForce.cs | 14 ++ .../ThinkNode_ConditionalLowLifeForce.cs | 14 ++ .../ThinkNodes/ThinkNode_NewFlirtTarget.cs | 37 +++ .../Genes/Life_Force/UI/Alert_LowFertilin.cs | 68 +++++ .../UI/GeneGizmo_ResourceLifeForce.cs | 83 ++++++ Source/HediffDefOf.cs | 5 +- Source/JobDefOf.cs | 19 ++ Source/Rjw-Genes.csproj | 41 +++ Source/Settings/RJW_Genes_Settings.cs | 46 ++++ Source/ThoughtDefOf.cs | 7 +- 124 files changed, 3894 insertions(+), 12 deletions(-) create mode 100644 Common/Defs/AbilityDefs/Ability_CockEater.xml create mode 100644 Common/Defs/AbilityDefs/Ability_NakedProwess.xml create mode 100644 Common/Defs/AbilityDefs/Ability_ParalysingKiss.xml create mode 100644 Common/Defs/AbilityDefs/Ability_PussyHeal.xml create mode 100644 Common/Defs/AbilityDefs/Ability_Seduce.xml create mode 100644 Common/Defs/DutyDefs/Duties_Succubus.xml create mode 100644 Common/Defs/Effects/Fleck_Lifeforce.xml create mode 100644 Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml create mode 100644 Common/Defs/GeneDefs/GeneDefs_LifeForce.xml create mode 100644 Common/Defs/GeneDefs/Xenotype_Lifeforce.xml create mode 100644 Common/Defs/HediffDefs/Hediffs_Fertilin.xml create mode 100644 Common/Defs/InteractionDef/Interactions_Flirt.xml create mode 100644 Common/Defs/JobDefs/Jobs_LifeForce.xml create mode 100644 Common/Defs/JobDefs/Jobs_SexOnSpot.xml create mode 100644 Common/Defs/MentalStateDefs/MentalState_Lifeforce.xml create mode 100644 Common/Defs/ThinkTreeDefs/ThinkTrees_LifeForce.xml create mode 100644 Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L1_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L1_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L1_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_south.dds create mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png rename Common/Textures/Things/Pawn/Humanlike/BodyAttachments/{RJW_Genes_Succubus_Tail => }/RJW_Genes_Succubus_Tail_north.png (100%) rename Common/Textures/Things/Pawn/Humanlike/BodyAttachments/{RJW_Genes_Succubus_Tail => }/RJW_Genes_Succubus_Tail_south.png (100%) delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/Succubus_Wings_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/Succubus_Wings_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/Succubus_Wings_south.dds rename Common/Textures/Things/Pawn/Humanlike/BodyAttachments/{RJW_Genes_Succubus_Wings => }/RJW_Genes_Succubus_Wings_east.png (100%) rename Common/Textures/Things/Pawn/Humanlike/BodyAttachments/{RJW_Genes_Succubus_Wings => }/RJW_Genes_Succubus_Wings_north.png (100%) rename Common/Textures/Things/Pawn/Humanlike/BodyAttachments/{RJW_Genes_Succubus_Wings => }/RJW_Genes_Succubus_Wings_south.png (100%) delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_east.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_south.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.dds delete mode 100644 Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png create mode 100644 Source/Genes/Life_Force/Abilities/AbilityUtility.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompAbilityEffect_CasterIsNaked.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompAbilityEffect_PussyHeal.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompProperties_AbilityCockEater.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompProperties_AbilityLifeForceCost.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompProperties_AbilityPussyHeal.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompProperties_CasterIsNaked.cs create mode 100644 Source/Genes/Life_Force/Abilities/CompProperties_Seduce.cs create mode 100644 Source/Genes/Life_Force/Defs/LifeForceEmpathExtension.cs create mode 100644 Source/Genes/Life_Force/Genes/Gene_LifeForce.cs create mode 100644 Source/Genes/Life_Force/Genes/Gene_LifeForceDrain.cs create mode 100644 Source/Genes/Life_Force/Genes/Gene_LifeForce_Empath.cs create mode 100644 Source/Genes/Life_Force/HediffCompProperties_SeverityFromFertilin.cs create mode 100644 Source/Genes/Life_Force/HediffComp_SeverityFromFertilin.cs create mode 100644 Source/Genes/Life_Force/IngestionOutcomeDoer_LifeForceOffset.cs create mode 100644 Source/Genes/Life_Force/JobDrivers/JobDriver_CastAbilityAfterSex.cs create mode 100644 Source/Genes/Life_Force/JobDrivers/JobDriver_Flirt.cs create mode 100644 Source/Genes/Life_Force/JobDrivers/JobDriver_Seduced.cs create mode 100644 Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpot.cs create mode 100644 Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpotReceiver.cs create mode 100644 Source/Genes/Life_Force/JobGivers/JobGiver_Flirt.cs create mode 100644 Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs create mode 100644 Source/Genes/Life_Force/JobGivers/JobGiver_LifeForce_RandomRape.cs create mode 100644 Source/Genes/Life_Force/JobGivers/JobGiver_TryQuickieWith.cs create mode 100644 Source/Genes/Life_Force/LordToil_Flirt.cs create mode 100644 Source/Genes/Life_Force/MentalStates/LifeForceMentalBreakWorker.cs create mode 100644 Source/Genes/Life_Force/MentalStates/LifeForceMentalState.cs create mode 100644 Source/Genes/Life_Force/MentalStates/LifeForceMentalStateWorker.cs create mode 100644 Source/Genes/Life_Force/Patches/Patch_SatisfyPersonal_LifeForceGain.cs create mode 100644 Source/Genes/Life_Force/Patches/Patch_SexTicks_ChangePsyfocus.cs create mode 100644 Source/Genes/Life_Force/Patches/Patch_Vanilla_Inheritance_Fertilin.cs create mode 100644 Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCannotInteract.cs create mode 100644 Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCritcalLifeForce.cs create mode 100644 Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalLowLifeForce.cs create mode 100644 Source/Genes/Life_Force/ThinkNodes/ThinkNode_NewFlirtTarget.cs create mode 100644 Source/Genes/Life_Force/UI/Alert_LowFertilin.cs create mode 100644 Source/Genes/Life_Force/UI/GeneGizmo_ResourceLifeForce.cs create mode 100644 Source/JobDefOf.cs diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index 73b206a47cd369b1b4a7a3ae0dd804e5e77788c7..4a66aa43c4df43ce5afa10eab5e3dfb52e7c4dce 100644 GIT binary patch literal 120320 zcmdqK2Y6h?^)^0xcXfAlRcsaSs<_CqC9b!~MYfS-T(NP%#y0LY7~9xX<7-wn0hV0^ zp~nz@NoMq7HzRtJPqR+L$I{c<0=S-xZvJce?`KbFlrtxs zw)EZbY_z4BM(5aW*ponHqfXX9ar=KlTnFRUj_B=vJ)q1MBl{+5&=So4310jH!@dDn zBh$$oPDYN&N+WX^qEe<|R{@S+WY}GZ)FhcH2*%p`(m-A%>I29elB)7i*0qh&kkM<_ zfLZqe%w}qyU7dXjux{?tfNpie(-F@7jRj4`T66Cr&}+Vff_Be9L`x52oS6t(X41PxGZAQAmf~`A|97FL^IcksK0eu%uN|YbuQcoh zlICy}EE&~l-8_ks3dSLCQ=#azqgAzD4hJJ)nc+*4TL?_J+R&wp)H;g*XUWFM(3L8; zn#nr133QdsLY2{%429Ct=2aQphcNkOCbwD595gcIASz)QW-8pY;SB^$GqWD(>?V={ z3uZmjh&_T>n2Qj)m-Mf5;Panh!y3AEXnGm_%U%LFIoil<0d;byTO)fUl05NTBgUdn~x_$o3x=2d%t+ki2BqO|B z*hzE`XbZ*?0o}ZbO|Hb*)^+WpbB}|0a!C3C_FUbsmLtZtSZsSZ+{8FvidcKIm%gMLmDcv{B&88&Ehv%II(VsF zdn>C|Z*&m4kuwB{mkoP_R8s{oh8k*-I{C*6oec5&)H~)gA2EMllY0N7xZdv->dlx> ztv4;l|26fVkKqdQ4Y$2*bbSjwhF#Hy8YDU|f_zMA#j?cK>VUMOYfD{|-J%;MH=1d_ z2J8na&1;X@deb^=p(mv2K5Lfj#>h_?0Fr^E$h-obgC+pndMw?bzLw7Wx4G*ZZ(60O! z>^u#jpcr}w#?0#4DliO~MUh)OZ$W{(R`o%`js?1A^+BR{1-epwkT5}kuDU+RTZs(z zL4K3Sw^*i3A@|#ee5nueb|Qb&2f2sHZ}mX}4s>192l;Ix&+db~1ISdjKkGY*+33gI zMa*J92J@vrYN{V|4>1Wp=3Zjz{h03%6An6%q7{$HSchRl&l_b-%C$rDWmvOA=p*hJ zW$J+@rQ6;)3aOJ#ZpS$qfO8C-5w#P_4SN()8TM$nP`F0u5k(j&=#flw{)J4$KK~Pe zUh`iCJH;5Eo$5FfsXY@N77Z)c7HTUp;=i}2PaGa@-ZS@%=^Ees)RPORuC|Y5sc3W) zZINUm(vmq2;pQ(syz_w7Sq38-q122SlgquqvIV7%B&$JvJgJX5>YV9ovkbbHyDRe{C`{)15dUH<97Ar-2>zItf4GG?koXeMSY46RH%!+O>kw6}p*YFIGi zz|U-F9w)+yM!VDWoNlC)4$2Tx6RHZ? z&_XlSjKEHiChHLhV#q0vBr9Fr2)cR^)I-4|P>P^`C_vtNEFZ3B9^vUkP@RghluVb=!Nt}aJ98KE9T zu|oc0Me^lpQFD&d<;wZjLq-N2CuHx(P8`dkSBK))d5a-JsXE>3`=PtnPnR67=}@zt z>6&<*<{H&p7Z`|Ynwe#GdTJf-QxNpKd_j&YDhQ!MLH41`7ld?u3PR$1L4>OmWX243 zbFUz$`XwT5;|T=H9ExA#Rg_RFmaiyg@vhv246ETTG)UaH+yQK|nu~$g$(qKYIkjN?c7r_QkSpuV@$P#!aO9@(*-uNuE`2`#~^jW|Wr5A9t4X2=975RGE`8kCv4SOT9 zEHm6GhPzxP2O~q*>x6X?U2;9ah)4_VyIf_8FnXofjZ$~Diu@_xIq>;U^GQKEt}JA9 z`T!|qbb23wUh_j*X_Op`aK_k}lqPJlwFV^{ z$4gycT-g2b;)HX))rjrWYDBrMHc*>!q2;w1N2R_xPZqi~|C!D+UH@&?f8XOm_kUYC z?lh#M)!JFq*bU|wEH!HF(-BBU5a>Z59xd3a75!=e27A!}%<+A;>NC*h8;%_MG#pW% zY^y#^UgTh8=>BKz#uWXx+o##8kC9UPS}y{md}nV8vxV)bpT@ls!-G=j*Ctf+@WYt4EVqUC|<}){}84wO>z2(nk}B+D8-m z(E|=?MS4);RXHS8E-O@-F@8N@7W?W!@&3Oz`GGH0!<^9M5kcQJ#Nbdw(tkZk(x;w8 zeU^H17$~Y|*sG^0^{gz^lQI5!GK){Er#C*rmwIA!?_1A)N&2rRx%8(vGmH>oi6-#1cx2HN~cK@NRJ3ZlG;*?&96lZTO^ z`=5;!O!4216=j~JEs=CBB@J${pp4mPta!`N6Qefl-Jc0E=ksuK6&{mvVG<*gvxEs_ zc!HO}Qo~IfD^6QkoVKozmN8yh*bdshceUwLMv5yH=&O~%@rji?7f#z~Kju7Qs{NSr zfoTuKgRyoOox1>-EYl}O2kY9gcSVM|FL+oZvy1SBgfD{QGW#NenTz2hkL!yGwyn}A z`x3jXP5iLE8v9TeNa4rL!8kxS7XCBVwjKm>rZKA}v0%7|~I{U+k>wUAk zQ2)Ukt5U(*glWk51X1KpMf)d59quz#3rZ@ zS38)O(CC;lmhl=Ot;879`7#1H6qyB2mY!j~?8F`jwzY}XJKClbML6}dz1Y|>O?{jZ zclSQJ)ufxb^}_Zv6c$7B@0n|{H)4MUsceL-^jRpHa~(nsM*l<)tJjz0x?&R6gQtcv zC~@Wp>2#9c?U>Fcy_1~z!0@E8Kox)5wH{LtRR{ghAP#Dw-UA%eVm!2O1Y0);luiyT zHPf>{Q`V#^$~xxH8p^v**7}ggJ5nt==J|IaOR3-lw{KQJc3kfS)d7%l74^pX8mgIW z*S@oxK&uOU9e}07Ee?U;YUdm9usMbQZAgK~7=0<>jd z5hKyXoAD*s??nr#9b2XlDzgiM|vzBhGDrfxaDH>NS0sQwI~E`;r;g`-r2} z=y`g-ZoS8!n-)-9E9mTj8=qk07PEuHW|;(FN(#U{KLEuk#LV#nn1mE!Fu^PUOZ>n= zeqf~^Sm6hj`+-CAz@3>m)VAm(aUu1Kz*#lFdSRliBMVC zxgOY5MVS5049D1`O+;ddu~NU%2O9Nxl|%p1I#;FQQ?$-KVdynjl{d-_MxfUm%293x zn6&gTM$RvSA^ZE_9`}+|7bh83NWz$YlhhO^8D2=jn0}Mg7AF}|NWz$+Bs`OXo~t2Z zBkvYTHJQ#m2o&y7go10ft_^NoeLQ5h7BTKH_hRud=gKLplI?n&JIAk_Iat(C?p~zM zp=mAq9~28H3R*c3g^VsTq~*|HpTc7R3Lg)2q)*{70ELeS>}Dtj3l|!&E(1{bc))Ic zN;w9g@bSQ4^(j0Cpz!h7{i!?#pz!fP*S0>nZ3m$6@jw^;6dnUm_;|pUda016+E2UrA51?0T2-*OB<;p6c`CV!aDBXIhw%K#KU z9zSC8AAb^$0VsSt9%b^!K8eQw6h0o0Gx<;GJOQV_x(qIo7g}1U%P0h&KY>aNXmv|@QlW{j?(Dfy$7iMC8 zVUj7mbWi)!5liNuA>BV={F8HCdVezev_2&*@yB}MeF`JlvS7)j9t|OHD`9xV!&27! z9F+MZt1yr^bG*dDL0?pbu-75nby6>GJ4`P=*iOHQ`H|a#KVyPt==>axi+mQr+%Mq7 z>|er-$7c@Zog+-A@OKGX>j(J5>`MM^GcwPCNNyuL&m)wM2C*7^feByVC$7nhOEvBj z*XG4x^MUJUL)Jktj`5;t?sY#bCcNu@vyh3t(&ygpNc~RFga#F6LV6xlu12PGk-26# z0VS^^-^`2PV7~+>>ih~WZ z67?ezj@Ta}&>D7O(}htb*%R3g9}~5zC>XN*vNF%SO4ecLHF&W#<%xyii1QnScS2VK zsY(w*YXy=?7m7N+1x0e03l0j{zXJ^K_hjPyfvyz+w@7sCx6L@^xdM4NNWEWY(m6(k zzVk;oR$@40_&*5kJP3{5QkJX?JJ_W(GpA!%DBn8*v428r>Lo4VVR;ERgQ<%1T7o;5 zs#S^UTGm+EzJWA57J{R$e^C7kbdA!cZ!%l66GcESe+Jgyb+Pnnvh&8@<+al$f}U@H+Z?f!)b2{n)__gq`RPGvQM)#79S|}d!H$F zRVcQa_N^}$2a`l=`X*d6io{lzN5T&5hBZ9}I9R(h%2g3Wz_p&14OVg@o5pdK3Y&Tg zU9HN%4E*09GBWSO&3pid4GX=3l3)WVEcal_p=vvTswkCvFkR3NRVtkX(xH_4-aYBM z1W5P#N$1%Jqv?94(V1RVBIgOK*VdR}`y((-T2&?ot`IP$eLk9~%Cs+l7tZw}y18fZ zBXgV8L#NDU@&{{miE5*@u~=QK`(sczIODNe!x^0HSQ#8`SQ#8=SQ+g2TR9k<5Uv50 zAiQ^|d()-s5PdPL=&}oxM)%)Y>boC!{Wqk*UqJz@T$wR19Qd zTsW2LC&k4BrofIyt(}9EQWHYS{*wOo6OvLpu-l7GM(!2OMa_p(X9`u5Ed|SzO-IwI zfZa}w3Z{F((nn-NU3{h=-N92&>r8{YuIfc2AA$Q_myOJZQsEEq0vD3^wMi8r&gcn}(}OGT3Z~DcE@+ z`bT*rrSH#FBpM?bY*kw|=&SMx16n?eZj1hGR+QG@s3NcZa!EFMO0*`NSlJhy!OnnH z6?U*6U}dnvwd+?T?O(os!{*^|7L_(LJ+K`z!X_I{2Rj2;*B=E@rMICeo3FY0*cmpa zOVT$CIqMz;exW`itraaxjKwwi-yoqo#Cnhnv4dPl53$&EiLEXRn=(32cwE{nq%awf zvgXT}+-%yI;|VijA^5n{x5D8)4m27B?qwP z(;(IXn_fnsfl_|^6H?|?VI|ss-zHp-i`=NU@yr~wp&Zs^@wuWE&*Kj&#!thycB8O} zz_)g2l~92WBTS$4Ey8#90Qh;uc(ed*T)uDHtw_z=jCyC*8>eI+IN98HulIN(vmfX) zHXJ>W#NycP9m5iwhB-_q{X9ezb9Z~E8G7)MGlJewoOMd*IzdlD7=rZ0O&dJTWTRoD zCb-RP7&iEuTbk8||AfIK(ohl~j?mX9AW`pv%b74(GNAJu6!x4h zZYS!Kp;~;i$?9OVqVE;+0mGR9&gp-7s+8_!s2wYmDT~L614|yFExMq;uBTQG)$Eu~G;Z z`vcORMJ&t1GBm=jo&djf6K z1C_vGY}h^kSa&P>jXqn^?p$}CYS^UrqECYQPSolP{p9DbP{B}3C<|3%VJZI%%DNxR zD!OU~F;oU+((Md}?DTTM=|IuK4#aHjU#(~JMuyFzRXyy+cNN7`OvUl2kTnVO39bf= z3d1E=AfznG0M7pjpirI%nN#T!ET} zc+RCmvNp9vmdvVf=BP8(@Xct)S)7>a;x+xK)V=-Pc|VZ&JmtLu?3pM`=bk)`R5S-E zgyfhn)#j^N4l;AmF+X~_hfW@wTZgd4Vp_?=G>tYzi(TMA#H41q0M|3ANv1O!zKfc} zl+Aurx}1GpOaS{lHkUxsN=r2t0h#ZoQ2Z+VAJk{Fqk|km%;eA#SmY~FptX?iEP0y0Ru;-B%P4H~3!!RTv<}si6w2@f=-#Hjg%vlK6UIb?c=M!-&Cg~RH zbm&+iupLLvpSRF{~VT|+OHT}uzO0;p@1UFTvDV|E_~z&YH-AV$+T>xt1kD1ajXazNYwU(a$k zBIIm>!&Mi$ph$TOS{Zmio@o+{Qph;qw z=WPY7$B3}Z>!E)5KIsIKZi92014nj9te`2=&4&6Y4uQ7=ogAg-mGVhq=0sppRovJQ zX+oKo#%n3fG~!&_!nx!a$>U6jz?-FrA%amgYU5$28I8hFx`Vx`8)-Ygk5u6d$Mw!{ zBWMiCssq=XT(IQr)9gAV%)h9My z8e3ga+BeQQ3kfHDOQU6gc7s%FUodkv=pxQJa9#dXo~V5;5Y6gkintm*10)n{|n9OBx&_}tX z;~!M~a$=BY&A5o->Ii%K1N0-^Y08536-ZKUidW%vuDaNe+NgacVv?ttLD8*P6qqj& zb4*zFp2D(ik*v^u<|;&`W`hANh@1?`IGL=1lB7uOUJg@d)4Me)@Zi+l@H)ew17OA#T!Vi;{+UyfAfbSz@Tpz@tKQ`7#KjZXxw` zl#64uBtc)Zzm81SV#o@xgfPGKW%D&zj~QDYa=rmPYdU@PS}T^Eh5I%)FvVaq7^CHu z9?v+VPDeBm(=#19?#AMd&y7ey%Ogw*CNNowotm2vw-z6PB3AJeF=!n3E1m*~c?H@6 zClTlwdf)mUV1vmuW)8!`;Cpo9Um@#%O8B6teiT-xvh|5h^ zp^qD(?A7peePOI=ORJ(*;(***#%4$(y~W6ou6qxX;=1Fv;AOrI2N!=BJONHPyN!t0 zYMiPdhyKb0&(6J~Di$BgY7V_%4_l!7iXTDE7ru~2{EkC_ENM>p)d$><2OAE4QQD|!%qg0;5yrp z&^?oK524TAW_i`*$v8RJE9(Bffr4K=ss!m7ophQARx^9 zd22;q*h&neHSU>i%F)!CwPo%{=VAT9c{m6&9kwxj!v4J0hmXKB*{&rvI{oEhiOFe} z9!j8R+D=FG5to;q5{l?Gt&Go$(3Z5Xy0lUl8|y<#kxL(q&fO0Q*bh+QBBDYwXn|Qh z=RqKyhuj!3>z2FEVQ|i%Z8vY0wdFa5(%-|UCJzOB|xIH;|_ z0-fzEYzVQxWRcjRsbcN1psY9Lf~hZlxsIiQ0zfxQ<1RK4VBp(V+aLrY{wxy+QVoSYO~qAQcstvWQ_VX5uG zCH?l5Fo-elHE}*F0!Vy@G{GfdorX5(Toi_D7N+m!|;^7A7wM-t|gzx5G+f~!qw%+5h~ZkO%Bn1M0P9W ze)CTdt8XeNaoP7w6uD0%I6MKG)IIw0GZs$Xqe2s@J5o?9QIAUqENGde4vQF)p;-CeMnp*de3b|9G8OWV@@9fQ zLk_D}_YTNjkwHri<8#Pi-CFcIO$V11u&caa55&)f4Ar^**c4 zA>Qmczcl3EzZ&87@kjYoq5|}^LQMM7&u7{rp z)Z+Lx>RS`*W0$N0*7non&*${c#Y_epiP(|gM&b&1%>HML#+MdY@L;lW9V?4`ng4wF z{Abu$Bbm-KAdIyq(sntz0ft^Hy?~)f2pO5LB3;z^Il{jE?ZfaVvtE*$ z^K71h^9!b*1qXw_{Y&`Hb8xK0sc7Wq5yCwgF|02joZJ$YQ-1qJ0PU;8qMKM=^Lv|! zjAM9SV`iz|Anz=d(}7Zb`#+&`4%;swsq-s1x&mS6*9g~ya4+Fy#=HUtIq!wnb!z_c zm}FkVAt_a;MshU3Qk1wr?9NuhkpgJt#QQprZM^H)Trs&zVz2?LW{;9_oqjX*bn?pB)V zTUlpJ4$z2kGyQbFBtBZ_ZKN)P8F>f3EToXzy9_r#x4W=YAtR>3P))4!H#ilENf_(? zju7wRIPW2l#Oq(IGtQ_(&Od2vfc zmB>s7CzPlE!Ln1)6IR-)aKoa>H6@J~;?ytD5;b?X#L`Jb?ry28D%ssqFP&m{OGA1B zkh+!;siFNoIN2Z2!NL?L_1KQ5mhHAbgo`RmgMEZBPUg2)hwWYlBSjg_&>2-n?2i%Y z;AWm~&HnQRSpXDUboK^`gLL}K9{Gh3mpT`M3HL@ZE%aWu6UEUdTqR6xl5Dyum3CWk zKNKdzNEhxz{n865u`pBMyXHc5bpy*>C@>VZMZKnGHS2fF4D~=DJH@D^?r<;aJO=PD zy^^fBithOu8aTZz5AG(|lLxUV4yCWkgP4zp(s$><8wfs;2X7?!avp@%hSKlmLG1O1 z(veCp-&+96n(1Pcr-S_~IZV&=I4a5<1`}KQ`Zzxj*RhZYk!2=dw$$I_P)|AIE6m`k z@^hy_?O1zU2BQ%E%=D(v!NHBeU+qj8qs-LT2hf#eK1y%xeX<-G)AeW8F*gy zc3{ecgpXwbu?Gm8A!6{ga%;V1@EQbq%}coqo`Hy#9>&N=8SdjtC!$xaMhv^6Tw%p^ zm5|Kbx8e+p|M1M$(5jHU^X0~v{zty>9ul5uDv?LM!jlG7mFNe*O#RpwA_a9kvWOJF z+;ooa#)IV9wKsN7$?J7YnGYVr;f#+wC@JEozqtk|E$?GxQ1onIvETkc?h@;+$$ z94>dFJ<7uFt5?@teKqE2oVoRV$ZY=>%|hQwHSMct+pmPOBjo z^be6n^+K`ktsvb4H=f} zhQx43BZ`vZ&L#r#Patt>wOd<@$HDZM%62)@a_NdGZ)0TNKp3>R4uY*l{*&ax&=Df>|E!wAl4P;Pc8jv@|*1up0m-$Kc3#G7!;dth*5ijdt+ymSy8}EX&3R zR+cjY4l~`wVq^Q#%rZobL(G?nVMy#Q=XQ_)?^t7geL2uOKZn6Axl98)2w3UOXw{(o zRiu>hyUcW&kV#lyW^qRP!nl8K@%{*I_&B5CVFxEDqQwMUv()REA0W@E%(J@%RQU4o z^T^u$w6YcBKi0WmAwx|?&}jut#MuvSs?;ovIyOS2LT|QGKS#&M>z#G^j$gzq;WDE^ z5_UBunjef08DjlgRT3-a_+(#>rZWblrW0qrrjrmauE(qz)qaq+FNWHnI<6|%nr`Yl z{u$j#BxngbDR@qs4v%FR6JX$Z25<3}0>kGpOb6ldh|bbMcml(85Z+E2ItaHDPY3*Q zNx*U@!HFMYbWavsW`B5DI+S~f!VI6^%vE(?1{-eaNBMLQ$9%d2WVjyyw{RU@?0R_z zhD23uh-t6rz5;0}&r+w0+z-PT0O8V09%0C=Tz?NgG&2S9&H-@vZNiltHl`9Y4G!-y zCYM!}V2A;fnqMj(5E!_aOuL2)$W^dpVg0^LmHS#?Vw6jzjbBY9Tou`e2*q3n4qc1% zEZy)wn`i20px2?O;l6cDOmHh$gA0v2$K$X8mmEuXFrdF}n1OO8E6fa2SCz`6vu<9g zA46k`GV*c9q0!~ufa%Nx4_t@diUP`Qe=Xj`XfJE4%5r8gpXw@3oO`B=6LtQ81YTyp z*e5frZEen<#;WiA$?#XBUD? z3c=Nd;4y{Z_CoOFLa@gRVu6pzaYBqRhNfW%+Y7w*G0;9U&_2OrIFt+pL+#NJ-y^&M&_6xKLq1p2y*m`XNQ^ zatkm~&^wP_wz`Zs_(lwFas@GaC^L2W?ZrqOK7L}O3%e((OQh5>T~oL4*uGc_H19gR z0oC4-Mu*^@#-T)BV015opS_E79D6x}#xo~^fIEbiz7UziaTM{gitXnC3JfnW*BB4g zOpaSJD=3UwR$?x82RLfs7+cmrV-Zg8Vk5qQP}26JuP1sXa!cZZbt~mss-yKDmJDm( zMlZ)6R$*AfRRM1gt4b~3;*B#fEzp5kEK|zNtpZc5H<&plw-5w|?A5@Pg-6t{nPUPz z6@Ml8!xUO}Umk{kKK?rHhhvVg>@^@SkBm5S&72T0G5ldlB1u}|cVGdJpLVzxHL&p( ziIqB{<1E4aIgeSE*lDJl2YUny5=WWo)p>AkVwIV`C=X6Z%rn!E=E1Qz_fNl{2U`>I z+>@wFJol)$KN9z+;{H(F2gJqf6EsqJt{01CaxWwQ-;&8wQs2kK{js>1P(cD{Ot=q< z`x9}c^83oa))n;~3o-e=6I(MU z0xicxT7JDC3!i;xn+yL6K8^`h$8&J{??WAkVUjTE?flZo1uSzDy<)pF$x`$B|+&h4)DGw)x zG7BoK3VDwk_J-HD-B%#15m--qz&9X|KmcD_!I+*27W%oV^_Vru`-X=j&}&}JDG@9O z_7E5&Pe$=NxXHcneZM9>26fS2lhO`{6s^!~mO;ODz5sT;a5EVBa@)y$>-+@ac*cx%mfmSG-MUKI``^pJ zFp!rM_A&_mhkF?%JfGxy!c{VAcW*&4p4p#Qj?g!)^u<(|qkywo%vkyws^igsoMYfX zsMJYpL92t1UZxtj5laDLc{##zjs;O79LjL|VTCex!z&AA?txd{eH`K{a>tVw?vi5T ztm9Jf!Lh>$gi7pf@UTh>It~JzCm{|?q?f?D#>979rn8-75gdv|>=PL*tunDVNh6pn ziPePnGNKz$iicv6-sqJ4I=L#`iJ6KDcXId-XLf+d*+~{WVzca%7%T&~GW}6>39 zJl^YZvwEXb{oGJ0@Hv@$PGRD5@F}-XWv~K#Dx3^cx_rv*(+IIt<-Jj?F}&S(d7vuN ze{m|orqcN}YVWZbxH!p0k^ajv2uub!+0Rgxs&EoF&q|yeXwf34!|U3_Z|UVV_O5)H zOXD-Kbz-3UJMhP8(lz+2#2^0=|1kcD{~!GM@f>A{#};=HeyNN9Tpv6(5rzH-eejT< zx&b&G4dwaJRy)9>Z_2lH-$D0+Q5=p11TQ0+{H+>%8X(HlC>m4V-GeH^MzO!bMx9JA zY@Y#SmiyE#k?ffyh-5!cFPc4zUO4-rraPN-=fH`#rFXNxSQylJ2g<~Ojr?X>RWr(? z;JiI^kh0GODZKOG32IIE`3SaFlfXUbajAglnYpGwd*y+vZPIpM0H-V*%YFfV7&CCP zY;JE4&RFN{BFc0wq=)nm&2%neF#RKxOfGx?`S`50Tch?DfiK7E`eOL$UKados4Vk* zFl|($r(c4I*07gIiZ)}0b1ASrm}P~?{`wg%`^`vj`V+vW&q4?>Lf$jo!H$c({}JlE z891f^4_zcYJGT9F%xXjF;Ry9fQ$+bDDKR4sr3cl1GUd^TKOOVLP&)G|ls_fq)1N?@ zuiGo6{F&rFq~F~0ly^o!iCK9l{R~2VYvf=C2^)1Q=|8Or8sM9IU^s1QKKry=s z8migcKqMK)Z1kUmmhcNiQr0d~L|9q}BttGzq_vDlhFqiw=3F8fa*-l~`-x=8MM`zw zA(A1DYp?1_E}$qjoXs?r*7 zNbg^dpU%U1|M$^Faefn!`vvpaZ)JFu`)_BWlld2%QFp<)6Z?z?&ipa^xDm;Ly&aUP z-}GHSy5}JcYSdJ1B4{7ZgX}Ri{g2PE?90%#lY?tE0Ip|A| z>ug6;BVv=a8ZnnGcQv`y*8TnpS973H`M>~Hu}id zMrfZH+UY-OqtDPFr!;yvtS6jvp$@8g-Y->l&CzhKgQAB2;s$+-vgU_70z0IW_18M zGVY6G;=->FOEbSiM9ls=m7N!^kn9@>ryhdY!cO|E{M<@cYGL}IVTGRO=6C}VNMArB zhh@);E$!S`K-WwDa^2JIg_H$qq}OLd)$9%07V>*f%w_o-6IDU?o>>D-soXQuMmU`N z4Xdfop4^LOuV^DXCSO`~50`gX?bqhn*^t62jo&L(`Zvw<; z5cXqiM0}c$HZbvNig=P$%()FDDV*Ph?4MF~WZifXin18>Fp~ResqhCTSr$!>_gd3B zYtucYgU0RWUML))eN73)nWri79BoWAA64w1uXM=19i{V9Lj16Q zr=V<0P&RuHqMUEBg4k zQ0{6$MYvR&AMXiK3v~Ke_FfcEhtpUvY|nlNFv_?WW$aqg??pJ>w}zh%ZAh^UEJo{YkHpPXR2mr@7g_?CUJJhUVtmqr0U0XX$XvUU-S#f#`!K{qT^f5TsQY&_(Q#E1bR*Aj@kV^ zM7H!WhQEK8zz1=htNsmR-ZJp$hHCN0R?0wyj{sxo$&icNf5mwI01;SUg){dfAa*Ic z6TE;J3kA;ZKvMqAy((_S)(_e$6(rXa%%Hyt=N$IXBThfmqUdD4E3k!GN7QGnR^q2%-igpB6+{-dza{0X`%)Ixw(BTc{Bzf~uQ9>q(WnDM?&^}I zNS{R{L+*lC3h_N68FDElzg{94a@V0Jp_o0>dn9cS*+zSqB-%q7-#XJqN98&**`n8( z7-7u(XZoC{xj*xjcp=9RRSOH!-c$>QS>aB@LVZZ#!mY2Wz?ka$BWTAtVsx2&H4 zgh}5|;pLu$(_R@)mKvp*rx0EmkCn+Yc&76-zzNU5p6Yi9SLu9~`13i?&1Xt+K8a?m zaG4A41r>5BH6m^n?(aX+s&dKIRt@~aiJCA%fE9^dG2(I;QZ(yZJj=tiJVE}(~|?J++Ljbv*DQCF)wNgaNk*;{+9)Rpm?i7dTj~3d zmA+NDM84@uwM3$_nVcLNX^`#UWR0d>k$%ggP0R;xY^YfHMS&&yJE9g)2kGOvoR6IY!{5crp@tNjzXuf^k1~;_NAS{9UZJNG~qCd;#@ZP66LTHGF+;hk} z<%-5ickJiZF&YoW+ESs$wlN_HUQf$?g3l*7xsbrHpQk3Z2DLxj6@tz`{SXQBLcpn@ z{Q`521jSF*p)_rIu7mA-F%0`f()HnX2nl@Lg2hz&8}9T~eW{}MODtkOpVtccbpHx5 z?sYf0d{wP#9kfZpbY4bGYRr@CX@2L?vwUIVKn*1+%z8ufZ1 zfnooa6ln5`k$q~go3J^k@eR4(6{TDq_hlt1k(Kx(bHCSF{h=tqFAE6_c?3e{RKY^f zex1o$bAN;}>0 zSrCMbX!bAk@I3}R=PxYTTSPpAm6pB$m99#v?X|V`Ta5dwCVqp&4X9)GZ6Zc|Bs@Eg zB7cML@P?ciW8YzHhB+it2A}2)W&R2_xwqli@4(>?ZVCEb07iycJAY%)EtfCN-}7n0 zcoxkqHPdEahXWL47qea|Wg*-W`SW})pB`UzNuK`zMuxX^3RRQ~OPybV)WD0f>A09- zUcnB@OSpy&I7tn{w^(7HbA29J7L zp4x4&T34td`8{|AxG(@BVaW z-zb4&pf~h`_fZ7<{)}hAnl+G6+CDoJLGA&DIIrYg73c_~(GP~f!-JnNXl+w42o1?f zvh;A2Hk>&f6>XLUo4iKE?X`C>K*;!>Z6yDg(8s)ld=etV2--u=qxXl8vkf;tt&=QG zK_?|YD^U}brz@$GERsB6DS9{tGWFT$;mlRns>#iVHo6h{z_K785{QisnXz_lq1(U$ z7FzEyRVky!v(JW{p&gM=hb}e}$?>33Bphp-jh=b}BqCWx_{bx^oj{{zn^^|f6GkLj zjSOLD1Y#M6r!kzfy)Qrm+h%cy^6iuU02({&kX10;XR zgf>7j^K1Y!ll2(oydhr?EoaK7AZOtsa!w#C%9&No(h)gN0M;kxQNX)$Zb6XkSuAG~ z^pW%atV4ft4k~1$HcI)J4%M*XLC%%o*pz3%8^a&l54DwyjZ7=zGasQ_IlXkAgW6>i zz)_wgk^NTVG@@kBwW72Wr(P-|x5qlqMX*$d+j6D)9(AdH?9nN87J_5y=u&+sw+KLT zZK-^fFL#?$i;T<|u+_=r7IP$n>0;>kiFi<@5Tp6oOPIa^4L_Qti%H?o@RPiPx@Fvp z3Un>Ro~vO~Od8ueBnh!<1(-zP$$8Dpp~wss;J-Qug@4|daFiz@sd;ad>E+@YJ044b zhGM_NKEK+Om$%jjwqrpbM9!iQ6Ol9ZflZR7gK(T-))nFX7-oBjo=gEXZAm5dO&uwD zBoS$3QgG$dJoj}R!tz|5ez)vn2nq%#kCm5bO!sZzfPNb|jJJXD>DWlrDw2O1_#9s% zd2BGFf*it`Yj1#e4yl{^?cmK)o$RxFcSo+|0fmZ zVIvGfBKC^qX8O)Fbd-kc10oc=oS4E0*G9qXu>i)|9dk<5kI`SYh#rst%{v}mnJG8u4afxJk-83louI?P zfw~xfGV}>Qe&u9lCy;eUyG)*CiNbaT3J?xwD&g_rTN;1Tr&!iJenwGNdGt&V?Zn8;<1#CcUXNlM5nZ+V;-VS)flM#WfnFM^ zj9X)!u%S=FSY6bvV+}-Njm5DtpI`*XA8$SZrNlT-foi+PwlCN<5wzH~*(e0-_32PM@U9L`LQv-uRG1L*+e+j^0_f0Wc+er*Vd_vT{^sKE82n*uP`BXk7x)uB zVv=yoZW9HG*$u4SMBtzgj1qm2e4C&$DrPt43F`U~gta{#nkT3)CeY0B`!Mn%DcVM| zX(%SbuEW7JLlW0m9Oo-RMXAfBR8tNurj({2i~M{8b$8{X+kx^cw1ZSo+5y9@v;#$$ zr6cWdDBIyWBeOpcQcE3_7hB!8TJ>9mH1Mzjc{+O-q)~*?&!Nhggq#x+a^E9@T(K)A2{K!kO5IB0H&<^DSWUJ-W*Uq%Scu*U9df# z+D$gDf~*AozKK7q*R+lagYM-JVixz5P(1B2NtPvr{^7tf z(Td-2U`(&M0;Jj)j4Q&g900$n7_ZrcqjD3>P@b~ z$uT}QeTu~sWbEWuh49$~vgE7E`5gTdF_v3T#NPE$WPEe4e6m6g-rP%~IQx-4P?)z6 z@7e_k7R_6T(OGF}!>XXa5ZL+>kPe%?ZoedaBBj+nQo8SZ38kokFwr1R!2 z0(kQlq2t`I@4RIOORwiGvk=r{PKnB)lW!G0Apz=hAUxl^1v_X8Dy&Y!-(b+r$DfQh z!moQHlsY?`tTWnW@+=FH8wK$u8^ZQz_U zz2+u%SD92yD8e5(0DkiT_$|eFL(i%_D>4&#VYp@f^m}c^~LFnXJ!3P$26~_ z^ELLSV;X-_&cv9)Pnee6&wF9h zNC4fR2hTV5y#U?EV59Y&B<@^X-ZIx(;Iu%ywT{SHw~K8BHafNn%6ufmIAX$Tezs*L z#`I4);(+mkJkt6#Lh5ycc2W0muelPFDcu9GNr({^C=73XQLBqlc}2tv%ln~7*@I9C zXgKR48m=p~9H}^+TZ=NHZH1_=m`Iw45!!C(JvJvVJKaWilwY|akjfT9|?LH9AC!@cFvLy%Ow}~*T4B7bRTi&UU zg29<&u#gOf2j$@)U&Aj2+HLq{q(CPv+P7nTpZ%l@z^>o@q!PtFqwP{>ro&M`H1R%i6n_l#%Y9Q7YVC*v~DPQNF;f%4o2E$MGAwK zetI4YXHrG*Mvc5fEuRofZa{k-3N#v(e6a^KfqOtw44uPX2rhMrVY6O3Q~w6gd8{or zfVfY|{hy!wL~r|W&!@np&z=u+bo=UoNONLdCRz_D>Vh5!7uo+m7n!lILUBV`RtDh} z3_}66PFw^EH0dSqde#7mw*}?(3_My4ImQnSW)koXc{)Ubn5MUNUq$l6Nsf(vY#iww z@bsx1Zq{Os;!}ttK;$11(qSitt(Y}~-2#-ya)W}{S07nq9HHC;9v zDKlLSzpmjU3$1JZy~Y*@h=2aQ#sbqmddC8|ddI!S?!4@^-mygsdM8}O{#=8MsdsE1 z`I;8tqZnpY5r%CJW!W}jm%avSpT-;mysI(CA&BfnXA0-DBoLk9`Rq{leD+4xm9%>Q zzxaH%6LTniKFhQ?pN)W!0=S7jgn?zOf-zR-;O|!a{Q`ebrXbQmnWRL|oQbgh()4=h zxpx?Q0!#bM7m=@yyOVt&i9W+e!HZ%Z&Br*5G5E_F?g8$0BA}AY$UDF#P9NZ&$XJ6$ zDU>~y;g}HOm=$uABTp%y5a^@b{4r~1H7RsV;iUDKUO(;p8|q(lq$>RDJpMsH|6EEe z0js4CNrkrFqvhD`)xpTMfz~~x6|x48?At|TnkD7oW7+7@o>fFUwhzmpF4^73by zFWbb&Z4!|O={i6K}nv2w58 z;O`a7TR=fx4?`cpTS$gnUv_Y@-NIAuh%cu5b%Aat*!7{C3i_QWZ!q%`>4F(t&BA;w zSp&8wfm|P*(&DFL;bb*-A@W#{6MrIF&04kq(@7{3{*~kJq={|g+S0`GY4U?nPYd^zV0@!F9wPKkX-HUY*aHHm~m_Hl-M8LQQ zrbf-$>TDu0{-J3Ct48cDE5#x~y&q`j52G{p^>FTnk5Z~TL1e?91{l)e`~UL02dJ;e zaWZ_Kw_%3FZx$py+uOz;lJdP{{F^Y2d~pt~wv4i7o9bC{7dJm~;2_n7;+g7m&8?G7 zHE$H%G2(t#+_S~KPTYrt=E&wZ4>Z+Gamxk&>*mpMORXQ#G15}cwRem()m6*3kF(TQ zTZt)ceKu;TxAtTBwq}N(7EG)CUc^!rz$5pj?Ks0}*)VKXm9jwdWQAbN% zZ8P`xr93ypI!0EiMeByGH`S^VmUCPO%aB9ZR5yapV`>zpFP8ej{-oTskd$Ybq-^UV zpPPiwxCyMwaZ`x-P9xpTn~16Hr2FwYy3Sa-M=hhf5V=_D<|z!%ox-}W6Z)2FhC^fM z&KJst!$|YZ{pfzTp6*dd8&%V09y0=^Z6=@bVY<%%U#YU|hpo5N8?%XdPjcBajj6(M z#&*wS?Av3>e}t6$gc%G!yPode>Sv>s>b>ctaV8TpLt;Z{mrAvF1o01#9oK28S2r_u z>QuUqjilR*aHV?c$YJX%)j3jzvdz!pYtoHJJYEIqNnI-1NO@la-CI}CJ#zuwoXBTN z$K>UfItb;o)RTgFOzL}yNzA<~SnJzO*7~aph*>h6?vIAi-F*P-__oONC(;UMOL*~A z;(tGq?#GZxrK%tEz=BHkz{)?ZwAA8Grkw=YR;nEnf4-6Jslcbsg4{&4QYhFSt>4?)(SaSs*P2Y-rOTulD8%@ z$K{YS9tt~R*!m-kZ#1#rJuh0fB2MkP1#&P|?{(fHz)1D)4mteM+u$-%hZ68;yrj4Y|Tze4dm#m^2I+*UzL+IWl zsqPZ(Jw)2HW%{H=sOd(=cCDlPvb6q-vzf~=&|XXZRZ?9d?ny}dpgL)x_r3y$(?Vd~d*wRvs zHdBR%(JhnSdaRWEqM77#b`9}=iZZ-o4Bca;k8F_g9DXEoIYr8Ur1YBe8lH`sYKd5? z&!P3vbEQT@h2~JPNUJ2@#S7cQlzgIwrcBSwxAoOCNlyiTD=D>lL&`rJ4<`u2ji&iN)x%kZPscy@|GE(RlW? zGO;aRp26~*2DzE4W)=I+)&(3H4{YG5H(@s27bcT_(n6O1eAx3!RRb$+sSgjPcHNKu zYpI_fN_SKnxxFcx^Mc5^tcCa&Wo&v3lHt5zC08PtTkyZZ>ieB{jhUH;=1<%*XAU6F zHU_Ke>09Q^M>r^y=b0KZCGN&Jp%N95xa%ZciK%U3*$^!HA1f^2ptB9`7PbJ zWzLgtB$~cZADHYLh@) zB;Dt58qByo^GJCz=B0#233Li}T?kz$wLKN@3=(>J11V2aS%DsMq0bBS?@g@3X?VMj zl+U9Mmjk*^odM{H;X2**5_dDoa=FT3IVzN88oEWGm)*E;3iNm3lEW+6qK}-Rwel33OPDWyz^~1o|J*rJVYXK$f&-PTeoiD=zeqK<9wVlYtz*EN6a~R%qx^ zffl*YPXyZGrh8JL>s;t(0+qRx&kFR88~2<*9d6u<0(A}3Is96nkuK$4fhN1qZv-0U zru)4>3*5Lr3Uq`Ey&=#>m+~(HZFg(*wm|2*lw1f8R^44%O8=0!p_?`Ifk5@OTjsn6 z34ScliICt&fQ$g;GUsqYxXdTe9KyR!ibSDBjOrTEGfzWz^9vZP_&MAO43A6|0 zWZV{k&O*8@pyLFZICaaMvjf+ttpeRPa?70a0c{hg9&r}}+8&^F``383*fqHCLudhd z&V0Q3_c?)HfL!LQYt<=|Zuqh-b8ZM+hf_AT%D*5%LOFrDQBFcV0!1O0TL7IY&|t{y z9zbUcbPv+~IB>oCf(fNe# zR98scBhZ3(0(YtF1$yETKW@>TV$K$p&) zSypens-73E^57saFJg=MX}FPKu+VEUj?pwtJM0sJCn zzATZzARlA}s(ny-V2BSI9B43DBkpt0S3?3#0xgmH)dfZhG`@s!4S`Vt?ZURld{~}@ zK=)wEF<*@eOcY3SNd~40R3%*60<#4gF6r6>3w@OP2bTLNI|FNcank}DeQ`4aTYb=+ zzz$y><_AubxEr9A^VPwD(|vIZ17}FwaH+%6z`4G-HGzvIE{px1`D$I@GJ)=wQXdw$ z!bb^fCvhiB9gYZGBaqgDV*+3IQKkd8N!$k_&mDnp8Kyd>?!ic_dTRNjs#U$a{3*B( zEq?-Yu=m>@j7(OiHRWQH)shyvle*|WH->I=Bi(PL=++JTFg#g3QbG6Y6285X;lD}v zF$w=x+#7{vi{Kv+_iS;i2b2C_34bJ%FG=`P3BM|-+6A*yFz?JG{q^(do-S$QRSd6M zLia6k-(1S@DTmTMQ(_O_$nfUF=zg=4?mvZdt?+CYce%K?3y0^$oi7}27B`Y)s&_Zg z-7D@bQHFmd+`cf3;r)bi(s+g~afgZ9Jc*cvo9Ql}N%y%nx)Tql`;dfh7x#i1VyZXM zeRwF{M1t;p6X<5dbq-?qS0aHuQoCEn5~D;iH`Fs+5vRLR=+ z=9S)S1XOtJgOPx$u4DMl#ZQ+6)PmY4)XJW0|Hg-~88G~xNguY@~ZopQ)! za1Vy7%Meh1s$qFvuUkzHiAz;X>NCHCjYODCx$#%_8eM9%<2{7 z@M`q@A*MQQ++Os%W0u})tn9fZLU$8#S=nuC&j%0?qs!N#2taj>dM3EZXQDS zdYkSS;&e}5M)zgG+%ImdX;0~7wV;M>?^?Qv8FcSlx2F_)fbl0(R2_2Qy+%|Wvx4E3 zi|F3BknXS~-D%?fq~Qsy)Se!{7dm`Y4P9dc-84hTk3g9ysiV8&H2Z_lkiD`0(IRxB;ax3535FAg0{Vm~jZ-WK0tJ8NTowUwDCpHT_~= zcsarzpEbVldSCcRq1XJ6L3pG(0q))64i20o`JN$omg;VlGpYtl30Y24y|O>Gy}j%l zgwI7!$Ns;#_mzABwf3a92Q{ShOjSScVjunrggyLCkm2nm*Z5+&2GcTsspA{q|4VV} z=iLIDO$+w`b2wb4x(nf8^`27lzu(8d_jCBU zaClxQf9>YjKjp85^0fi-`h!UI4Uy_!!G|)WKD-ai_X3mPUK{!tZi&h86XwT0KK;og z;I_gK!ADDj+^l-t`lfn&^wTA#ddoUT@*M>HO~whI!jsadt>0J9h58nHgufR|HmUO; znDt1zI!yN~qW^otTK|V5_mOH;y{Q_cm+dF+y8YVfmo#BIqt2vfOR!wsCX`xA zO6>Dv2wXe2Xf8TTNedd`-BJZ#L|MkO} zdzQOz=bn4+lOmbJYf~uRos4Z0x57G^Di)0=-Zrs@>o5=ZoP?RCXHYq13ucQcjBOMCiMTNpv2!I`_?UOQ_{WA#x!G}P=7_6RDl{T<#A6Dh`sIjs z6h`&S5%yxrZ@c&&`Zh;gudwX;3BY3OkR#q^o@}!m@uk9Knxo;oOQn`+mNB+nT)B+W zJgTr4mJLp`V3v$0%eh5iGRTnVU)v2ajn8Ahmqn@#$=i!aqmTGZWp^sCx929<__kWY3@~+O!Kh9WSRwZ zv5!;^qIE}#D;4(9TEgPfe1UmpntxQ7Of!>A)v9$zirI{rY5tHgIUh!fpDIae&ymPB^!UXhzG8ZRPA zS=)Tkt1v2OzW6W3wh144C0{(Pcpc{v7CQ>^qdP(kc7%NKtGF~jjZ0HsMEPwK=l`#1 z&QX%HIn6bU-7a>Gy&9$NP*`j3jk#mQqYA47Hcr%+2>f@uxGnd%UMOx=*t?^S>t~7A z6!v)e9l2+V>cvv>x+!~ei-cEUQxNYQu}NV^=O5Q6h;J)w-^}CsL~)(MoC}ZZlf<10 zyDa0ley-T7uv^C+*C&g|6joMpT%RJIQ`q_okLy##QHAYC|4kFGEA0C<$Mxyr1BK<} z9oJ`wznK{F!}3)sOZ}sZj_Why`gWEW#=Ik9BUXl4VkTp9j?EJ1OU&_f<^=E-E9|$K z*}#^ncr;pPi-^K#6wDUiRahf#`lL?}#!CX_Fk6j+D_IMgEq<&dB`-Gj+2U7c;Jtqa z-j`?KWtLG($lA`1tLvAh|V8^1d@j9*&dz;0%(EDp@j_ z`?(4msy(aYBm-xVyeUrdu`@`%8YlVpGf0kd#g_AYg$-5Cb#apPMR^+YLrLz6lYIUR zlJCVyCNBBrG$$&aY|kZUko3n%e&-C5kH$&<_6(ArGVgYAXUfssaxtog%6Yr^-Li9S zE-_nSPfk78wnTI(?B&!xZE4&bs}?URUdPle+0~+~R;JQ9^{w0*aZq8GuKysnE-qfZ zm|aJb+Z_JtKjqeoGRBUGr0l-|tEwlSTw9lkdd5idi`-?RnXw}x({oMYGI7l^k~|_J zIsZy*6t^}=j8a)H{=k?_Wrg^&#E{C@`1tadjBRuLW99^W%W`p}j7Mp%5M2tRR91=F zCdsSZkdU`ptYQqOm$Etfnz$U+h-J%3lFFHyw?;HGCd;`-Jj&SB;-?!j^45ve6*5gK z^#*a1!YIGyxHLWD6XsEx`FS4krIMs_dc>}kRw}LH?o|?_RE)S5Y!m&=lP%FEUW&s` zs(4|~S$S>ZbR5sQn$k4m6~w^H$mSrWroIzP`R7BP0j@g{oACpsA0=6GP#BJggKJn`Zbx5Fn+$arD{ z`siZu-Uchpi^a!`9TwM4t;oArjCWf+_|hMq#NCQFlPuZd&A51fWK5%=GP@Yj^TBQ4_hdeBjQSLSKcO3)GE_FIHM;o z6c;Znvb@BTX@*5TW4DXp1y3hO#LpO$IcyfciILna_8S!Mc5!RX*1R5ZQ=7y-9=SEI zS1f9m*p%_t=3N?>-?v0=2k|J)oAbUUW-xX{WS1wx59KC>eW$e7ak)4el}r>{#jA?9 z7vpTJnBp^2A#65dN5odd+bSAjc-zD}#>kGcC3~BA^VcOyQr zM%YfVaqMsNZWc!+#wWg8guRP+hsCbUUdJtB9b>X}Zx!Ac-mP)G+k`)ccUv6qb`fFT z5n&(wcHZscFk{=qziLk9-6`H=Oy+Qxcvtcqf35iPrENJ%{}6o9#b-T^d7Ng3t>COU#9eF z_ly0E-7a=aOdq{hr1nb5WY6cB-xt5RL`u#Wn>YFaQFf`s4qQ+)`av=AGKuY9Fk|!& z#RCe{7c3b4Bk_#F8Y-(sKOzo(TT0$>LDT4d@v*`_+%R|8{(N19&WXySQZT9T`uGo35bz zZWjsTLZg2y?%yu4PsfHvKP8^JQeqRpJ0Ol;C9!N^KM~@;BzDQLeO` zi&57~-c#!?8U4I?=z57=S^b^SKZ`5Ni(n8wvbRS7>6E9*9|ED<0 z*h%N|)eG|fDPEPBR?!s8JA2K1NWP_bQx`9W7>FxOo2(n^e3vw3_^XMf0oFYx2Jq zy)p5G_CW!aT8<^5U8UlkgZzYcPmH7%C#h-slw>I+HSN(DNj*+d*UZ}f2D$6nGcl63 zI7yrKqDs?&G;P{%VkGTxlJ+=ByY^O$WI~)|g7%?G^Lpf-p#3FAGBHjvFvlmhNpt*wT2S`1BTmv0mHZPV9a>h5q%%&^sTD8}Hx;5O->EH7*t5Wr zwN(o1(AMOqXw5OHq{gL^8m&VoMo4P3?k9i^i8;VuhRT8un}>oqz%BXQIa>? z65%iKK4WrLrD^gGOwOuwjXyty89=itT{C`2?Q+t2Y*mpxU5lMZ7LVppy4EEnwY?>t z{B-Sch0#1p*Pdof=9jL$rg$`qGqkjaI0w!zL)*`ooW&X1ZzRw8?&^#4Gvac$c$9mF z_L@rNxy4k=i-WQYt5Tyo`)%35!Q9F;bf$CAlR=YGH*@|BcixWlZKbGA_SS+MP<0#>*(} zrJq{)jf%_9;!%F!NlDIcls57?j>j!ON*l+RT+2tr^}{G_GV`|MZPL#CcwVkHNAdRA z?#$2CnqyMQi%TUhx(dI5bvIA*t9akH-!tjW)h@?J^2H-C&4VM*B%W3`(Y zlk4s{?L~!AON`T=I!HB=E73UZw~Wb^Xk1*oSUhT%aoSr_l2@W}+T=r&id+ZBX|ouU z?J_Q|M&qJ2T8lj{o>!n<#PPO^SFocO#KkMrY83CZ{rmZaT1!k0XT?dLr3IAaqk2>R zS=v>M$(A@<+r^k{i6ZSag;7fsX)|7+I>?qN(v~nLTcRkgB`hAbM3L4cCAlSvv_}+1 zBeF>QF=H}!q@sAVBaGM54$C&9+{bH?BUbL?wVN1|TIKk-+$|pEK3=<1N@}E4j@RB) z809`*dzUfU598xnX}tDl=E0jn{0Q-4^}2Jk&lT@!+y4A>w1S^g$+nBv?fdg5XjKX; zPu!nBQKR>SBhI0(6kIW7VEC6!MENVj%Fz^#h3_w=Sbv>P^tb26L;Qt|3nV2i%?!6M zBKZw~HqpO^xOY~^$BIoy7ZcAP$h~1ErO?mik>M3Z17)m|=wjN$Z|274_3wn&aE`w~ zeRc79o=l(WSh74V%_in7|IaDD@swr>Qn1n?%Geb|p*sk>m=36kjfEDJ^|e}3hgUUm z@4`pOvEgrnqH`^5s%1{(5`{hzqKVxYy}CF6XcN!#sHmy1^6i*UVF_hB zY*}J*&9-VCM=88nPAU8kW{q9UEFqbvxL_<6bV@HCd%a)hrlxaSYNcFmy z+h;I^ZvId&9xXB)n+~llx}bH&Y?IH>O1hZDqt5CPv&=Gm*)P;nx;U6Yxqs!R6eNXW z#Z#n=Y-d^nhw5utDhcmLU377p(OS_%|H?Zot2t zc=?uxe|`9ugMT;R-%ha$Z`pT&wo8n~zZ>vxr??M#;(egqC(gmY8}M(Z*aO-g(Ds0~ z2edt)?FDTwXnR513))`L9sunD&>jHo0ni=*Z69d+K-&k}KG61o_7L)Y2(*Wg??a&B zg{bHUtsk_0(E35^2kkM`?J>|EL){(&?J>}tg6v}Hfbb6oOcs*>(?l`D`3y@Kx)?5F zxSF8{5WcD$-o&t%;cmc0g}A=d(-^)2DEFHitbrm0%9v8k;U*4K?zf5gHpAlD?`)3W*YQ$Z~@9@^~3%qsw8t<6>orYu3oXFSwbvyZ( zziubr@@-fH-vK1wlRoXD^WPOGk?+^yl>OEX3EFA`?R7QQ1qkoZbJBy3vSn6(q5~+TR)WWY4M}FPwQLwB;c>t zJgFbE{i^Zj`b!CKoO4t^U|%=yIOIR~ysaOy?X3MhD2p@xpr1r7KGu&VeAVazvl2Sk|~{24ubcv z)r4q#%f#T zuM+&Cb;UiQ5v}r_W6MlvC@|XHKk0Jf-(cUz)fhaYD<>Vn^bG)%A&A zN^au5d98_kiQ&ptP^b)_GCalWBK(m?b5@EhY~lBd@1pz#A|AQm3S=iva(kaUr#*Yc?~iNb3TDgv1fuf zo%olzpCbHV_5`sk@kO-c7aDm!eZl#r>$w^8lM3}u3Kk~i>UXu=oS3eEadv5vmef9@ zD#@8N30y6SO53MbRxeM=P5Ns6+N8py?`?p8aMGuEu{SBn52)!MPP!pU)039pl2n}Z zLHa#OucN2-CCyK&nEbHFP0ASaBjl2H)>BF8dftp@0Shu-NjhNPkOjYA>;;M9wC&oO z&y(hJc$>JPcmh`AnG?TE!v4*(fW~&8emQEb7|V ze~?Mgo-;?^CQG7IsdnghRa~;MZiWYR8k2q6@QfXfLOr$VMu(!oAmp+yB!BurcZlh=?@&+ zl72n;5r-$~`stgs1G?LB09@*e1NORw&pCD^<&S^f@gU1Ts7LaSBixtwCgA0hUKS7P ze?ISoBMbfeHNuz8`2_S|o%avNF_xcX>sZ)tKW4kCOmp@prR7f$lWaY8&p8exHLp!{ zPO`n>NO2z1$JUH;=4;gNFC`uE9>-d}6>m)Yv~$ZQJC7w*E}Y?fJ?Y@0^PKP!C|u+` zne?Hz+^N}GmMw9fO8U#WbxzcD-pk@7=eQ~9*`iI(Q+m;u%}%FdV$G$_A}-shgy+}a z=uCI~V)=v4Tu0@)hn;=;rE8vZq&q$>e%x88-+^$Ue)XD{(PDpEaKu^Y_$$WPDSdhN zFOcsip5HnrIp!_=Kh7x{&E@$HD(xoys>+X?C5}(d`LomIIK1d9=WNbvnd7SbQOT$E zo*AXd2ke*RP>qIRW*x9MMeS0t}?94UHPoaVZK zJGLWvN7CEp1_5)&UzJ>_7vUxJ0sA`}9(GPj`a0ufK|A$r$v%fZ_5S2djxo#nk>lkH zpHA*|yx%~QImn%MkQb6yYs<4=1~+|9U9u-Bj8$lxG<;c)5!2YJ}|Io}<&)^UeYU3wu_l77ci>yM-!a=f_c7l4)He*^k&-FIV; z{s6E~n}yZMrJr5&TIx%7(i3*r-YkDRHNs`SjLUpTBR|DM8hK7$i5#87{9MAzxP;r+Ic$4n4T#O)sL)X%PX99}RqmYn*PV>3oLbvk7@_4mi-A-rT<-iSkp z)jj->t!U&pglCQ%54ecKwH&@}!W2;MpHK`~oHqwhz_av_ZFot=h?h9-OEzOk%?Rk{ zm5Jh*jnZGHWvsnw#BPVteBFp%=f!n5jo6P?`dU1r{XJ)%w#|9_+#iittsTc(dB6B- z`j1B})4o4xf_R-%d);>Jyyr)}ZtI)(BA}ncmm)kr;j%HWjX0H%lK|OeKFz` z#%gj}pB8aL)6;HQj-AeN<@x=|%bf4eO;77{{7kC26PaH`bG`buYsp!|NJIXHH-Cu2zEevo&qE zb9T|iX->U=?BDE%68~%6=Cs|~lNcNQ==U^nOr(w6me%h~oO}&nI=;Dgm`CYRE=i&7 znWcYBJIW*TRUVngoSR1dEA4e>D94_DnCWjZJ=dNyDKGsk9+{dwTvnL=9&K5ZV$GklI{i!L=GrGBe3Wy4l_|Sb8SZWDPT#F170`M$c|E~C@5`dl_M^sc zgMRUphsAt*AJ*{s_CG*Fn2*!kjp-%wEa|*^7WO9R*2$YS+;7jkBmJcF#d*-Z6B0*$ zFa4C0W^ReyGyQ(Z|9$?C0JF3AL*~sKXxDbuu{j+V;PdG&`+ryN!S|$THsQ}XL!YNE0bWc_{Rz)C8P4Q6Ouc!) zUNPtLtp23F=~p6!0(@DdBzZ5=IbgRhS<+WH-~!X;@3 zv_r)&i%t5%>g?>k(&tT|A)M6sb@qH`=ecAVIC0VNoMXu|a;lm2)b2Tk#_~eaY8l=VkkONATce z@$;PCCER{u75kxAuhbGi*~yeUwPeum0o{S`sf_^rcTE2a=&9m!NT!Nm zI^~f$AU6ZKO1n0J`r$+J{7PDk_lp+J{RE*o#OiS`G8&eLd4pw_agiZ z$2zE&B79h{0(?=g0rxdd`7KWQgx&!9dmQ&e^f0U^e$j;(F?!*?0lvRR&CDZ^HV+Zpa*_yWUs z8QOAKo?$7&R)*UdHlKZqSTMG^=oWGHSaA+XigVrtY@Tq7*gy8*#9PECV;4=jMNAvF zYZ7q}BHTQ#;M`lpt>c;jUmkbxT%w;~C?-?5fZ-yB&5|RwOU!)AtC8J=J$ zDp-c$B8JTjw=&$tP*k!E!$l068E%!ZinzNNo?s|kEYENe!)AtC8SY|uf}vQ#k_;Cy zY?hRzL|?>kE5lt34>CN#P*ju5)*6Dl7@lA#YB^1Yix@UD+{$nl!xIce9ZND?#ITv+ ziF%@oWdxfUZe_TO;X#Hc7%pmL8HNWLo?s}NIAw;57&bH9%J2k3v7BWXE@Ifs@LusD zzLWV&?Q`vX{agCI`T_kbz1UW3YqH&D+hv<(f585n{bzP(LP5fX2{$L~N;s78Q9@o~ zN8;iSoqxsIg{!{K!vaIQ=KZt|PSMJeZ}EJ~?Mxh&<{lvh(u zrlh3amb!FU)3Cs>EyF$@{?+i6BYr)?mR6j0QCfXkQ`)6zx1=?vUzPsr^taN}Ge&1L zWi)5plyPsyTNz(u%*wnz^Zv~K%r`PmWolXTv%Z)0e%2qe{+9JcmOVQ;dwllf?Aq+h zvtP-6J=>9!nKL72PEK>qw{o`UJeYGJ=TOekoY!*xkn<<()wo5+ZD5(OVOO(@3ViLk zQY48gd>^L{H$nBdcWJ~e&OEeDmU4`OaaW?L=#^e5K0`99O;eKi| z?xUvS{%Jbyn~HJUGYj`g=LsQxlJRuD5XUp01H7^N1%@v%{59aeW=i_+nDQpzb45gX zC-)@aGjsm{_&^g;9&-N)aLx471UFDPyq4gtO$0w#^ci452|*b*HkM3B#=WunpOE=) z&gJf0Z4CbUMib>yP@9DCjnx@|AFdn)_=8nr0sSi}M;Q*RIx9+_wTfa%`VUr4jMD$z zaBMoUVXF)}`oo5P+J*kXEi#~vF9s(8>Y5WUNlO8AXu|-9Ya;-&v~<7%4S%r+-a*-b z=V&7VCuq5V6Y+fu+;*etx;R%G2RKY>09dR|0-UK$2Ari$1)Qx- z2Ru(J23)Ak0=!5&4{#A&NOXM5cRt`%+6933X%_;1q+JB~u~q_jj$R5lQ7;Fau2%vU z>-6>UdHPbo^Yt3QO1%!yr7r`l(;ESo>B|Av=_>&@=&J#P`dYwE`g*_~-3{2QdjPM~ zTLEv-4Z!c|?SQ*{tr_?B%h z#(0%|GT;*XRKRNc1%S2oV!(R)EWif)g@8@=xtIy7AbGD?1Ic^E2Kz;T&5*oTv_SG+ z;kB0lwn1{2xEPYVgddW-M3=oBFa*h6A_B=>Vza#xa0?{w6W2oWK5;!H?-Sp#y8v&3 zq^y?h)UIjo_$eg!ii41RK)eCT2gF;Dd_cSd$p^#TlYNcM{bkn9%=A=xh$L9$;ghGf4egXCkP3X+eBC6Ihf z)Fw;^tcT=dq5+bRi6(q3=rOSZl9S;-zZ|!=EzmH-_+I*z=;dcIC#GwcYE$(N+q1UQ zHk&pc|Ok9)rLekNs_Z??BuX3Jrjz~^Qc_8J9lz*n! zQ>UhSQ~#9u_tdXb&mOjW*bj#F54&gh-6QTFF){7;X`iK~r%z6wonDzJd<%a<98YM%wd_~%*!(G&ODmAF6&s<53}uC$ulALzoq5;dEhANe{x<)Cq%>S z|K(Z9vm~PcJ_`f?^QRC+$BJQ#vZ_4MU^MV+tXKo{I8;D1%H!x+$8Mmo5If*0M1QH= zDZT@LfgABXubbfauoHd`H{%OFw_ty`6}}I*LGQmE`@|jCC+@^P(T9EFE>VClWlt0L zh{gCu_F~MJC720y7~{*ZiY>qH0s z`oM3sr$xK|8UFnb{-tQI**+7)?9;WS_F4FMk#@ViMB8omXbB1HMX@8OH#z>S?{PNT z+Vz$Aw;KPR7SE>KVS6^E(e~$*r^TNUrr$rLt`{A{cG}+?aSQ%U*MjMH*n;UE?WgI* z2`{Cu$9v!D+OsJ=2~#pZ6IW+8+OE$0AN&?4{4n!@gh^RHPUy}0UBazd;}ZL_rzRfE zo|X7P_PE3`IaBd(Tw)J?dvaza-iqH_;r%8SES&Fl7te6d5DOZ6e390UreKZ7Z!Byv zsl;b?Q>eGnx7k<{Y#}C-T;U3%Q%N(S(ug#8T8&C0V3Zkcu0X^H1w8(!e2Mqs?r@~U z?_c3*_XRwSzDta7lv(51Xw(`#O+laEA}(xoyUTpxF2AR@)b9z0ITtQ6mDm-ImX%OS zq0!hvDRB9T7R|CG&>fCuSWK*eX-guiJCnGjA;S|fN&?;zuU8hA(qxuQv)-QLN;->5ibh9TzKF+9^`itO zITY;Sw8FBHnHX)3#i(955^WG>QoGKk6dR1r;AUfSccd{A3>jAKnaRECX^oi8%*0A$ zCgr&AqO{lo43RXmsl-F@sKcTxD%yEeG-~z6h|lk@H4JZ9)!XMGLFQL^!XzdOnrfoLbhPVDi9zWnyWEC(uq)hSoAnrKR97Rd}X#ECy(b(qg3 zn1`k78(IhSZ)hEG2G+++L{8T*wGT+;TOuJ(W5g3_?C$LJgnA`eHcqjq=nk|t7mM0% zzu(j1HxP7{2f90rkixJkmU$wc7EhRX^&xamE0!6An>z3}1nYVNMkpo{rXOL|zHkJ; z3l`3GyL&>Ou3}NzShQdvDvB=g_`}5Nbh|6CruzN8h!BX(nmM>aGu(<8w@89UeKCue zL$x!=ZNct<*NvR~3(rHZi3I_pryXm2SfN9XM2HP+(V0RGYj>65?=nJ2iW_XEDECD= zQ1h9h-s7X6Qcu9u*%dO{18AL@q6@QrrdVOLqCt>uNn0C&hL;ut*)OxqN+2*)B|w&y z2ygUtQK>=jbz)ngElS}7OAC=W68e7@H7$xUOO=K3IkUwAO4f}oH@JmBX!B5oC}kjV z$T(y<%lFD*X*HBr~SkvgPEiW%CFLPJaHMkp>*OxbxR+Th>UG1tU2d%W+ zU0LF)C4q*z8h2R(Ar0=z^4fAruF37HEo~?-X)MQl!j@EHL_Dt6V4y+-H~YGRVIRg% z1^O-&Hl~%h1h;lw0DqrTG?p~E8Y^6sa7lIb;*!#(0;O^{HI&pgR+Kly(kmL4H-g?2 zOKV)|YAUUAqp-CoqLoB_RYP5wtI<_b>c&q~Jh!~2zND#Y2u6*o)>X5-hT6qStEOa? zdvRUaYBw4!hD=#P%vIY|-ms#i+LEtqs9TBD2Q!*nrAvn(Q)Z~=^3o<(U9FW&NmY4C zWu1kWqFgo0tD9W))h@Jrw5nVxZvC3_+9r!0-*ImAsGABPkWNK48Xb8xmaiypa5b%V zSJyQ*S`z5ba_Uf7G0{|wA*2M&US?rAa$n{3#` zyS9<(rLAJ7zaFOp7BGIOxw72_eH>8T1>S18Ak8AQn9zw5z}XPJ__}<#I5+EaYhq z4ifgX1_u#qjn+_bK&o}o#m8cNgCZ+?y0Rk}HkEpekI=zmnr8e#4>J^~IIKSBfTOae`6ybT#!j=CXPVH$fwa@u$V z4#{feaX2JPj>aKb29L=hSs0l^(s{@Y$-&St2i}nUkU9K@eA=0O<4!Pqt2tp3V#l^CqKi}+)dlH-WA>NF-eS;esiwn1vOdo$YwM2OFyUK90T zzI)mY6P2B>L{)z)Om(rsRM#o23o|C{HvAZ}isJEleWV(B{3b=Uu;TM%Gg($q13{D4 z;R%~TB&}kVZ-Js=kd}|R9HD8h!f3sUZctt336(J`-8Nz(9saHNz!u}K3Wl&%;9!rV z-saeKphGd-VaciTkYI1MuSIl*u|xS0Sk`TH8(!FJ1nHmjYngC(`>PESvECDk;M74u zQrAkmIoK+HaL@@wh;=dkm0~-D?$ja{c~ zx|i1%CQ4&(IAU~8D-HVn*fi1D;b}A+LOuwG%VE-qAf)mQVKu1n1klx9Xm2>fyS&K4 z?{@pJ*7-dCD3Ro$VuJ1UcsX_%qy-MhT^y*#>It)rSlsRNd$CKn7aLxIT9k!gzzVsS z1bqQlfM{h#OLu#9u-&4d`cw>JHX@f6{F3p>2vr0_tw7r3kCj-XK~?s~EW>_Zo55o4 z@F1Q^!NTW7B~7pe!a0(-AF*0nHLPxEgLFKqp~Y-IjLDM}^bL#uEtoyl#2w3$*q|c^%yt zUVh(3V+dZ0ff0lWJUA9cB(|?17%B>C7R`YV0P%u;% zsPMo{B8QtRi~$WDE*z=n!BH9vL_##gy)@@*J)H;yL+u_M*kXG&+}+yR-O`P1Jmi6* zBhzZ6!>tNe;A~fdqf^98J{-#}3$kGB*xN!=vB7Bd85r0NXkbn=;tRN`wY`E?s20Nr zxZ8ZNHON_y(luiJ;5>+^Mpj!0w%HJl+g@ITEQ|&k^q)53(C9M57YM+Z#9>f=Tubffa>% z4`;>>glJM?kwJ*+&uMoMMlE1r#N!T&@+?d);pP;r3s{^^N{Ea)v^HUh4R}2v@`4+&$tf>cUi8RL`ACs%5*ibB^vkMjwOexe3sbV*f z0ctQZHZYY|b``|o2ulk3$7hf{_kT4OQeJks3oMM7JY#A73wC2&ws^GPu7okkqQD|t z8p8eo^OZ#;Yum9awY6dAuxP+B zW-NTjtgC}PmIP%Ki(6ygZ*DEJfz0YN7T+S=WKsTrrC#n?L#*+NfdZ(Im9^Zt1PomP zTAV_4s61w>A?mtH(T-3fA|04=m_!D)HB#BahD2~3L;3rSh$MK8HV-dxF*KTdM9lF;I5HAMEO+bBJ!bupBPyh87s{W#g_VBFtoWE5yC1$!A?bK?C5T5 z1E&!g;K!=SCBa}9_A-NaZ+UFNu!UVBmf{PTG*UO3LOx6|u^ftWZ+QSlE(0oeh~^vY zup%7k1*Fbgj%kc`4p$-$6DTt8X&jKdF9%60S&Ds<5!!7yAdh_Luz;2g1;Oh-tZ z4~j~Xj6J4R#N2fi3!6Gj{XR0_(141p;BzMS7L&l2fibwcza#*_*$KQobI$RPm#7Z<6 zCXac(M3~OmtZ!m7>Iu-o)(tAkXa=zH3(YR6__;0$CyGi|`y zjDSizW}%oS*9=2mAw>7NnEt7O0v(4^AzFxt#`XHV6q1vOVh6(LW)wVVU3PKV-8Gnb z*e<~9jE16JTx0GgV7FtgxdO2i(h^ZoT4-bnYBiI{f`!FycbHRN>{Ic3Iw(YIpy(t( zyEWYi)9~d3K}iG)XiGO(%L8F-e_o4F3FX|v_&nWCOR7afYAaw1h@+K+!$xO|zqiR3 zi4}F>0Ltnsm9GZN0oE}qp&AdawPB45#n7S&g*>pVZ~>5nmGUvVMr0f_9z)T{w%@ z2fbkkVqKR}c!{U6U(#;K^`7aAeHfpu9g2ceqm+Z$R5l&OC#Bb~(xFzsS-0Eol{ZS-CeW>aFAAYqpc2qTZGPiGAOl98K(IsLrTx2WmCmai>Sn;mxl~jz|OW&25A+f z0Y{_Jibf|%xa)MoR7QEL)j=X&Ce?Mp;1&#kDND#p66pdE64>*c1Z| zgbMBoV0}ho;WS6l_|($`^9CW&O5zZ#G-V<;1bboRqa}ec%aKe}sSStd@om9}W7RIg z+%iZEy~SITY@50^qOpbidNvcelv~=3~sR4!Al3e|mb|fDFtW#{wQV+vE?;InGWhryPVCiD_o?M5HN4 z1!?T=qM1b`V$(16ODRTQdoaZKVjOp{)k=g$OR1;J(~1rxVP*ZJU|F{$wIjZlSYEGe zKGv31P);L-p!Mt6{?*VO?uZju913nU0*Zu1W?+Px-U#mLO|mtgq&dwEvs8z>gJ*Hf zWb2fX+~E!wBL}l(Twkl(lv4>{v+m$Q-sEYg#-X`QK@=;dkBI_ncc(8L#`*#t5z2yC zoXEjSqO9(?N!OM2fr$g=Zg+V*663;>(E}7BKq-g$khT%@G|mQC2P@F(fp+dX>Lb`0 z!VxH&I0TXTS}uKl7^DbcfoT|}5~V3B&Dv3t)o3lI6b%X<{hSt-V%S;eAVBE_BS9Im z;&pY0!@bb*sBEShq&AjmYHK9UN>2z%bvurZ?XcO)Q&#l26{iJ}r3;E}1#My!RK_n6 zrgn`m$;w?GY;a0w#g0MJXfYV+WBS_*zYgruUfhSmfX@svXAK}*YdH2CK2XYK9f}3I zm@iDY-=NiCuLO}=35E2-(2hw@7ckZ!j>$b{C}ILcI)o2aM96n=-?*cCn!B8hU@ZRD@q6)xZ zBkj1n5e_nnVzj^^8_O5=JQ%0KbRCHk8sC!1RJmiAPprxzUBFc;)WIPL8C#_B8#t}G zxbVd#TdP54GLz)7E@#_Ksi+%7iw^@1$F`Ueh&xDFkp>c>Fu@MVRI+ckLoGo)Fls~u zBPohV9<0%d$#afwe|QjLua;J3ri9`!Y>zmk@J$g_T?QyRofL65WD(Fo0SrG+2&sD1 zFA1V8tH~B9*8&rvw3xbJ;VhWRV{00{MWQv3Zwsi4qFM5VHRg~g|r5{uw~Jy z7P>SYh&YI5;uAl)Ma$Kt=x&4RCyCqP$Qd~ZSp8rUGz9CdV=+`^|%+7qK;YD{HT$H5fi0og(sgORuj z!e0n1s}8NC2N_WH0@3}LHiSlBdqBXppmsNTyG$AI zw6=DxN?cFM=8SG;xb*|gMO|;s2T76}Wl6gsQKXJADkV{?NY>ux<)kbQCaBv3{|-r) z>G2NbuE50{Mmh2gGa-swk$Y(?bCYu~3obTb{8ZIjfpraj*jT%wN0F!nl7}R=k@5hU zdQH2eD1q4nQxeTi_eD{%)Zu88aW|@7q2V_KKW6D4Qj$-+P;jDAp+;g~XJ9IF)o{!S zkSb6Ib)A(15$_06z6Bji_6h1E^NQ3WVoky(YvGtASdI87Mx`FeqrK8x35Vjx$(tt) zc^7HrVP;@aq9aFYK^BAalE)_+lNJNzj3>mF%o4-x8k-ryR9K6QQD-);MWnsS!pdMf zYGs!k^EjtQ3Kj)ra1~Id0~=#-Yow6}LYU^eDT?yK*$0MYKE|n}a5kz9Vsq|=Uor1? zw4>v0mq_k9sEIwXbeyK>F04!$l!Vs|AlqqZcqmQbX)z53gl^4fqm-G_ngQ={i6C#R z?Y=M@NRTV=`Vij+k)Z?x+VoVAd}>sX(!dFXB`8euQTmxEqB4Xw7`U#GVyGHMrioeh z7vw>=fpo*G{LXPfhZ}Nv#Yze+E$8fYMWut{YTSzc)8yr;K2dx!!UVgCbGJ=hX z{W7ZPj6j>*V(jhA36j@8ho~W?OAVv)I!>;POsI@nlYAbsUr=sXHJOL2G&*eJT&M_^ zCQEjDtV3;NGox~`deB87x0^3rux*gKgY8_RWkF%i%_jW)Qs~GyI3XlAQ3^=MB2S0W z?gjvQ@0oMvwpe+dfI|7dg4ob@n2jxYb>0tq}YI=(jgJT<%&SBEep4%A1 z%xGeJ39CCXD76ZzrT9iC8^wEN@fz%(}GST-JkBU3kJg^AdT zAuWeLc@2RSihzY~fswK+95ObUC+ccnU=uDsVLyx6xv@8p2XeqIFNBQ{Y?iQX$BM9< zIxYQ%n-6t#$cF$%jrBYvCPi|yVM739q>}(#wOg<$oA{*59?ZQkdRQzC?Q6S3hh)KiXw zc^yq4>Z}T!rx9wCKV9+%bX-#q9Tye!!_GliCvg}8<|F-`4@p?4_Ahks+xQ$S_p_ZiOvayx{64tHh2y811p765gX&#A5|H zb|c-t#t~QqEf*&di?aY7KqDPyB1}>zjyM|o7MT>zikyv10!O1|AdW!pP~kX= z)Bpz3q_sJoYA(@OgX0-E=(hPHajD`q&d2T&aa7XrdrgXLoEU;EabPogb|953UD1fG zu?RaQhIrACM`vY~R!CHPiMd)Engz3)XQN`poy9RBqsM-XiN;8GK;Hbz@u6(3aJ@9C zHPG-;T4~=kiONug%By#p=93esL1Z^0Q=;@e3`OtSao!)yi$bW|%x#;C$)B?g|DL54UnO zCa(rF2nD|ABxONJHjvRBGXq+$dRB<# zgUt#iD({m~rI>*j<$1!`Ex|JhvD&VDrHE{?tVmTzQIG+aONCHnqCqGGP`U7I5e}@1 zh{Q1qapu9z(h#PjQXJLFaZ;1KnDaw)A2Rvu7$8Nh9>FTc2ff%0f=+*Q_zU6hGn3z@ zY)Z#?~nLCjugzOj|Qi(*dzTjM2i`qaT#^nV3oweh=&+euvz=bZY>i<)Q)(H zi|v-=a#ltjXE8f(JBB6Er7M~!CqLr&Hm25hVX*o@E;~93q>R3|5F02 z`}{wo5Ywgu8qrlv3k|y{@PM_jY4kEVrstztTpP})%D#%19auylHm#L^TDoZbVw&Qf zq7IJXAv_|)RuaXqIFeC((B}*U+3ckUQy8~&VYFAPpce#TnuKr| zjtZF9IJ~F@F>BaUco3UrANhbp`C+yngq6EzSo$Er*3ymz(+JZkf}Y#5J7gI1s|EWS zo=VbTb&IsCD!mLET_^Nga64(cV=)ikI#RF+M_J2Fw-gnrYm@I-6U}A5P}Mb|w=>7wZzEjfbw< z}u7?2#zO_-MBFtL{jRvDFEMTxfhqButNODl2*oOI~ z4Q%j(zP@34ors91JuIpX0#K2R5MR57g+CUd`yo6iHWfG;Jh5SRnY8pfx=o8^SK*SX z8FG+YPu?FnP;vU}akpx|l34 z;JGu0HjMc-w5U-Sdk!6~aBjt?AsYF@fUPw0|@GT29 z!nojvi$8{NdyEvRC^0CloYLfMnwwD+<&Q<#_EIa6ffl+JQl@)JvQx&FH|FpWmIe-a z62bDQ4m21sGTLB0QQE@jk&Uv(@@B?kllEGlpKh+uOmet}1wSyOTA;ULzp-L2fszFy zn+(9nCIej4kf#R*SXy(q+h`5J)nyk*qzA}ll=fa3q7_zRw7@{8qU%XXK%k4|P&4UI z1&soxK@0)uxyCJ|_8tt%Sl0x$!>J`Zb~LYsl?^HfUrxCK5~EVX2n9O!<>lDq5t4ho z{15~mMyYUU7kV_l4 zH!MRmg<~}{m^EV0@X8yQE<>cGQs>Sj#!DrJDB6>wl?7MAZW-*MwL%fh&2az&OYs?7 zb{Y-OFuyI7A*?|yMhK@?rqf`9#vl=1Pw_A_(nD`EVc?~h)jkr!tA7@E2Vyv^L1$IOT^a zH}YU>K>tT<**ya!e4S>jyjW=7JOed|ge{@+S)5fR5*{P*Bx-W!k9FU33D6BO}bvcz#=g zQ)E;0N|8;EgB+re4BkAM+cHWC3mIhLibzjiP*~dV8SD!Uh%^MrYD z$H=6oUorc2I8I-oLCELZI&$?UR{*JM(Ki6pg#=oU5bhHdR%$WR-7v;-pn;C}Jb0mR z!5b!A5{6nsciAEMVpH|tuB--&Tb%^aE8%ERe!rx_a>WyTx`-vvw2Q^%04tXc3Bvk< zKp8%Q#7+t#`n?KQAWDKB5QAX`hsiJo&DWxOFj3nv5u^eym|WmJEj|_RWr^ zVI~c|d()|Y8UP*&wUZ_RXWGraP%yw@cnZ*yW9-|}dnrLDJ-(sBc?feC4qDRSz!At4 zGt1D zN*08a+=bKrqo~SUdxp5Cp_bN|Gl&hf{V)V!XR(t?DoQhqQ*V%WR!NI9A)u$7|@#~>X*S_H|1LM1}7V1dAEzO~gHfGvDup+}9Nct|SF!f3`ES-ED;Q;DU0p$ly88Bii&3&+9;wA?? zTJ;7hG*Xj^a{22h*o`7Ehyu8{XIUeGhh;Pus9Rvhl-Od?cNvJsUr3@YjCX7GB>+Af z^R#94j@EG!z+E9WcQT!FPGmDM)i7)xSi_k`Rj0OBPl%#4^YA5m$V`QQDPd03w5;<3 z9BSIdd~jhdzmX;}t3L9odx%zydJoVI#=xdjnqa()d11s6tQ<@-KJ<%(sA~ME4X)T- ze5k&}ka&YZr+ZhRs~g%F?rj1pT!SMF`GBJg_+|$@eJG5U<=-Z{v*8de(^h-)Sr~FC zhLEo(K_NGRXpw7!Jp!g(FUFb2TC@>7z7&C>@k6qI_qhlG?IG zHiLSBwYZl)?Tc~jMM!xb^~NlBM8z}HUT!+GDXW9wF!V|scQAd_%LI!=ZOlT)8GoWnX^gE=4&7o~M6&Fm zfh+>q?(hX5R`Kw~?4^dRPkRUfv^Wjq3c3{RjelmRXm}f7zO+*m+)d#Dfd`+u=5@eL z-yNw7n3(*!2;)}W=#wPyUVw~6Qy;EmY9wg3zI-ASGbG95vOHjP_KK2#EI8@R(yyhi zjph}|Gt_1-3xp!H1P5eAgjU=QiE=vl)2UN^KwQYnJ@Z{AJ?7$@v?u|`HR`+3gV_kuZyMfW|ZET@osiu2mD7euB z1=eTW39(;lZ8wa@y>xPdYK)sS8FmG*R!a=}NDF(ws>vz>_zp8ZakvssoA4PMyfJP^ z&uv-J?S~HRkq^~*q;8I*;OQQH7z}PsF%Q~F^QX^nFDF+?_|ZiD9k70V0ZZM}tF{gG?#xH&}8_BaunPgf(sYCW)3CGfXGCcB+<1K$&2J zHZe1`ut|tJTbM-T5i!G9{>-4XMwt&FqEj)R%~y?xkLPD-#6d!;-^@4-@{2s&;3f?v zmLA2_3D(TAeB|MUi4T|%m)0foMFd|qMG*{V%qO@4Knf0HGSEsNA;QNc{2wUTlj-y1&D`FHL(nw#(~4=!ZHo`Gc+rOTT}uI z;9nSjqNZ#>O66h;#LPj_o7aL#^Ca#A^k2D%#&_jRNim*@I@Antfxn zj<&iKX>=nuFWO@QQYqk6=yx->MK{t61GCym_Q*8+0iYnqbAxZ7C*8p0NI4(!+N5Os zSv#VaM%x_U)Iyl@!%J`E6&55Za=$4ZarXb7g2?VcIdNl!KJVfZ&SZ{1pe#5hAWWk$1ZoSyh7e8~>)ntL!&*=$8ks({u}HxuXL$?-g&1v)sQ{-^02vSd z@D=Ai-{etkY3|7WoPyf6AYE!*GZsF=$Rm~FO%r078Pnv`Or-t_ajYQv!J1>#|9<=n zh+a_Tyot{dDWaS-=BW=UO-hYM3H6k?pakWivQeA#s`+WQ0zSY9`3i0sSp%9g=6n{j z{{6USe^L$1kxFB{2l;d(?f=`}wZ+D9o#!)4E_Zgh9CC+ZM8%Z6sx4TIM4Gb1SaQkO z)YWXXmLie1lvtoCk+v9<);+f47}%MmiWq2t2C#v;ZGftc(GsW%3y9GQh})=W01GvN z3WyO1sL-f@A5>Im{g4Mexb64-|D2uKiMroS@M~s$JhFVwotN&3~YJb#5%#rm@+Pv-E2kT5~$XRD;X(XLF$dS@9 zYYz%9j0{)?6qL+~mD5&UlyfG{C~mSlu*> zDJR!hqgA~8`DzbpgAymDjBC_qBdn(U)^cXEUexsx0Mn&rA$%4kM8zaZMN#}mB|xf~ zXb@(~oD?MxJyVpjNf%-{5f>uXMOY?KX+?xdhFpeQ9x;&8d|oi7WT~`4hT(uNMZ;9H zy?Z)M`A_R(Zyz!$iC_*QiJA>8QtMIFN)i6f7_U_YSzZc@9!e2e7D%kM2G$MV6n3q3 zCPlc;IOQuAt@0mB+=5VPTQgz^Vu41}tuOV6jG@|Ip(ZJRI$4}}C_@cpy95fa#$}=E zP)!9^*PPUN!`YbY4%V7X~jxYi?y#YN#izYpy4y- zXickrbrMIoISrb$zOm7cEt!pK`>-aWJDe7NXtog6T1FdH$X-Buafv;dwA6CFpVV$A zpy1&iRPc|Wf;8D8@b}^4+^YsfC~7)IyyTesjOS>1-xKJ`?1qQLv7JU{s<&zLz;ai% zqrGN7p|W$Q@Jv%Z5E&D*J=R*oN27aesMQwf9O-D=k2d)69{OPf)tUp15eM1*@Vcjv zFU?BQ%FsiZv3*o;750k}CeExZ0S--*SQF>(8IxYj#mDNQbnSr#2zf5qqp%NfjwR2a zovj8Fkh@6RF|<9AY>Rwt+dc`Lwk9$=m{-n<8>;n{V85)FXOQC|5DN!SN9M=6+A z#w#pUA^Wrcje(maTS7dp_N`_k)dk zpM(97TJ|}LElUbkc{+}akIgE^sh1GHc#c|QggC}{k{tv7V~A}gqZk;MIFk}*1bP>3 zooSOX#@SXM2iex<_ITW$tO#`E?KG`32ETDiLh3gy**m{q6p$zPeotE7_c542O<{T1L$K%J9f4pE}C_iqLo`bCSK~3R0Z>*jvm>o zA8;QRT6Ihi8-i8RvuI6^q$-mNh&_tt5&Idbqc1aZoq$gf!&p_^^mNX0Q3i^OBVXl& zJs7>1r?fWE2*{ab3S8C7-qV1qm937Cao+^AkwR7>Iv*L!fl{Q2&|{s|G+yRHx*R1y zrQ!t!==B`NCFe(Q$cZEpRohUlOeaIh28kuBmN2VG+N9d>Q6YvyT#87;0t+(RlUS_M ztnxY0ZAy*OL%ljD5ccSMb4VA2Vux#IaQrOJ5DzWYY-$9pp1X;J7#jDe_v8slb{dAw zXd@g;d)R2gNned?6B7IrL35d8TpLB0k`r;KVL`JLd#wSRyTp_4MRNRWHe;sX8a_o(xU-K28pa4}w^jg31>0NU-n|%{a_|lF z%Mj8cEV^G4`_r|PB5H57Ge>dN*(a%0=LNJZp+ITL8c<_uZ9r6EIH!0&OG7JjfaQg~ zDB!q`L5 zOlH`YmdiwFr>!|XPury+bTB~ysask5Rk6p;ReK&QMk4YsL)qJ56uZqdEOwa{d7Yj> zmqflQpRctAD{Jbqh#8G(=qI(}GN_&w^*p2v8Bj_?WiG5p+1FV_|Q~ z7j|Kn8Yc;j4Rk*Ma4_;!L5^1|3fOvMRTFQ-wuP$ZJ_1OwTa4nUkt^;24z)1nYkNW6 zQnyLMS?bbudN76))9YZU6c@eqT$!$oGL=T#j74Ww(zfd*0dd|NC$|HT6MO9uc`CPN zRec|o9!4m`e29QPVTYk5v40K~7& z&!HbJzrG!%r|~iwC1n!$ppN=DekT0n^;k0;$HuUA0HcYjmY%4hSZCXk2fgY0l2Aq| zSl=`=%gKh+#$F!xNXo;e$v8VKhlg>!^6ME6om@t3WPr{YlMW)Hd&Qg+W5VG~WsRv+ zi+_8a=5hk9SwhFfxfbG9q4rrAz{r_+YZTE}4}-BkIkv1BRPAU~ z^pDi2Y)_0&*>4zD+n|@G-%r=i!_WA-_n6KhvXbzoWVUH4uv`U&KU*sXng05+{e$x(BafQ zYiC1sUe6{jvuAnv?*JYwtlU5gcB)9FNZv>Xs{vgW}i)@EJjEJ<)Dz*PiLVSoE{W?&_Z~FTc1r? z+Sd&0P)TW{{jj}`Ol#qi;#zwQRH79b{Ugv}wV1!q@DgT~OCNqcx|-LOYeq z9yU!crC2AVOqx@f2L3MJBdl^Yxvj?@z01xO@J{qeaK=KDj~MWnc#~62cpeDPDaEt& z^_<0Vg7&AHqW&oZ^{4@}4*QC^Rw~-J-nt>tS4bl*SR)DV2hh?#7u@AQ4V&Vn@;OD4 z%&U!9u#WuMuXZ!esN09*Z0E&RmkydCU5m} zm_j$#o78Hg+?usXLtkosFqL~o0kmYE^qBynFk0X|b z>Seq-3X0AG{zHO6QW*W>*wb$LX+fe)TU2SH;%HDuZdL%nP z$SiFop(ExoT&G0NKpyl=#uygV6sTEeYY&YNRO19VIDxIs&M}IZf<6-8W6ugYR+i{+GeSbvhcF@DSeDxZ#L#KM(eA0Qy%$Td!{`N0kd24ES z<6e7&hhi97O%xLd0tNs4|~vYMXJ+uI!!H|Ce@O{my7RdBHPH7SAFexgCzP1|nHVgWmEx8OpT0n4*C5t|ekcv6)@b z+@A5n*IGb7ns#IW@14XYvUKqa#b%2o*{3<<_yd&8K*pp}eo&%f+dS@<7cJ#!lY#(O zWzs-)Rq-z50nOs>C@SYw_NZMp?KGrVx&Umx2ndld>}jE?3aAylr@H*`0wf^pFVL1c z@feW<46hPi282-^lwg*dBQ&638=3qNNL;XA1Nx@ z!v_&u3cLr`KApox zjXSPizT=YMk(>m3BDrIG-eHGxyt>PRt&Bz&E2BI=dT%D9d?cJFLPs|9@Li`6@DI() zVz1+CiZIm5IQ$*LLO(Tt1G8;K$)Km>5}pi91mJOpi6P5`qmwHnY<@PorD zmCE;XNG_EN=-v?eDM+VKLG&+FuAvvQI%3`jfI5e)jliP&AOQ9wV6PMQO_~hYfWB~G?O1a^ z6$f~Jg+5rhohzmtm;vli^zac*1_96o&I-e{L}Ch+JB7-}Ft2$hZ_No^T#A8p$$Z+P z2u7m_9E_$q5jN`+gNSn!{oFhe9Y!d2U6(+^zXn8j1s!v~0M%h%V0RJr{3?nNyz36z ztZj>uyY?%Xmcslx(p&i$bb=i^Eiy__`jR1oDh{Rz9)P3yb$QzY-$-adDc{PpOEZAv zKm$@D4Z@%AYgI!JvYwY`?8Akws1oL{d-+rYYK&$wk{q8`nm3=E~n*&h^K?C4X^Rr~;d`l(; zVW7%I`7jC9QVsK?;tp9vRnn#|SbkT6<^n=RO=&XEBp^bXFNtWr24e{)#bK_YH{g}8 z`Ig)gfT5r$`K4;6FGV>Fy&V+1nWzOzJti__R;3u1aRw=&3PSRlaxb3BGIUX#UXt)n zVDXnVX?Q4+wOgc2Mnd>K9;1%LhB8mr~x5q|Io=PLy8n``+(@WF;m)^qa_vYY6`v?+&GAk`hnE?5WW zK*bLS?1NEwXx)d*=f*kiCVi-UGfGL^QATcNt8iEoawtJRb74!!*KQhMS9@M9W{!T? z%8OcgK#9gZUKIbzi=CMkxKC@ZDJcN7)cVaG%Fg(3e$kW;s()>7C8SF5+))R|C0N` zpuh_TDgEGv=Lgr>3uD9;sO5vm=todSm-vAp@C(J5L3(5$yD0R|UnFgpxOoTRRkRZH ziRt$#f<7D3=P&nVTK(|v{eZf(g9AVO5sR2OGKgi+K8U3(kl&4~t4mQV#voGVUB0AI z1Rxesqw8fIa?f8?60f=#IndcWMg{E3;0xughlmGF#-k1wuwdCZ;~~63WMa+1FBo6p zf)rvNQrA5McBP>ZeB5S(iwG>8Y4Y4AI9n5(B?X8m)KiFwY|avyF^7RUSnHu2k~%I} zo05F>fz(PDK)7GN;N=)x=WiC~KlGl+bO;YX=7%s>Wz?3$P*)aED68nd-F& ziD1)fUD7@5V%06-SICwT7Vsmygp)uiSrL?FnhN1+KU~|E!BhZZN1p1$Daf>~%|(rb zeJ}69YynB+12ZTU&O0zhX1)w;hF3bJJ1i+2#GgRrgc7lZgE}4y2T71L z$wZlq3|@7-o|=Rf@e+Nx9Am3ux-CQ9Q56t&yDK_U^>x@9rzHn7>2^0{TtEC*L_E(A z!4)HFw*^)Ijc9ScO$I9DhJG&O3jHxUHH&W8isl*sB%(;X-E`1!bsLoz7Tc{>!f{k3 z;dnJ*gyWWvabhjRmN(9Jo{WK1*w|`Z#!hvB373*N4}=W={Ayf*HFHiP3LC_Jel?;) zAjNvZmtRN-^k?hZpFdpKId#ZV~Q>55Qwe&Ej<6;jZO}Hh4u;d5pWsDZS zgfSkgx*LX1_;BUu%{5 zJ(R~7FrZkV09g;?`x-nSM2z_XbcRt6;Pfvj$Vet=0?u^p(G}w`DPshM3 zcNF;R9Kw?AX_#nY{OSi&3~lG<0FV(34GKcWGeD z%Ec+q00*hnF@d!Gb7~xNL?dVu`ilsEn}olN@dj1;Q=C;L|Fa85!x7G6Q-kkiGptaV z9^JqD_R~+U+Vb<)nxFYkW14Zha+sM&RT49KmN2AI@Kt7i^v?qu@X_h;zYOZiZYna*PWiYY#5B>t2_wt*ci)Mvstl zDPdo#C1*i~>v0AX_}H8$G{i0*!CQFhf;3~=W{YsE9A3fU0uP6{d5oK#Ibzk>OddbZ z&0cQyb2G-xA#R@L<{56LxH&Ei0N_X!zzq(d!&z*k{s~WFFCdXYuO%kvcD*+?B6fj_3%5CI*uG{7Ek#rSo!JTbl@Y;(Jml&mSl0;fRF54lg z-oPJXeswBoTrP2oi5I3o&Ym$WP$F_nHwKM7#$O~Wot%fDl-FzgMvH5CZFvnX+re~) zAH30leSDYNs?x>Lg&YK|nW%)Bi9!HLfZ|Ir`8WpoHoRkeDkNT!h#b5ji4jFPDZ@ws zJFWy_nX?PhvVT)R+?4$fW&cCjzr}r|RQ9|r=Wh!MztHm{koPhuZJ?eKZlNiew(>-} zkh@1@Q98dzl92iH_Fhy8r`yy7A`Yqls5vj$gAPC3*1=xl;L#U3Lt&A)w-p_6EEJK_ zjX^wQ8?gZ~%d7>JgLyn^AsUIXI+!Fs*Natid%x_jm+eN`ZjtRe zZp({koyW(+5vB;_%Hy&f%B|N)4q5{Ny~k}iK;s@c?v?Gh>loZN!M`;QLikwf3r}Gc zO}qrM`kH20mGX>(b}4D+IVO9c`fe?gmZY%KF+Sh4B&&HB|7oFEd}!dI0X*30nER(5 zo_c80(JhmGo2Dio?%T3yYHQz7T^z$3Jnl2U<9sbsq{;eR>TT#6fEvm@X*nIXWR<9J%w%;+mTvv_j%bme1 zA@EWFc}FjnBRjrf2&;`pZ}I%f)Wn1$-WfMD zK3-gX!w}Y3)0eWa^%i5cIcCdptta$_?Hh(_UI8O$HX|=P=8?E(^_7mvmHzCqoEwIc zuK|iU-sG5#jrz;#wo7{e<7UV7H|lXv){dQ8+6QtSbj(2GJ}>FozYTj0J7()I?S-ZO z<-L~;dq3is!MOKwYv^wnlJ}13GNorC<$c95+v2XGypfYwopoyF%*^DmiT!xh@rgOS zNcBtur9hkK9CI{Y{+Zq79fccckv9s|V{Q4ldzN$%{vaQ-3lfz4xqIFrZsG4I| z>^*np?B1DUSc!3Fk`{wkQsDuT%kX%QpukbQv!ZE)`F5@*IKMh;$2W3_Mm$Aws-rqYp zYfONMas0r{9A0!hJJnymR^(^QVJEDk=1quL(2>dDa4g=>7~`)GvN4A~Q`NW5#+WH2zl8VHtn~Y7Q01caq46#VG2Zm6 z+CjcMuom>}YzZp?o4GT19qjaU|I{qJ8vp)}&$@Ojh49-mpRWWQQ9?InMr!f0N;ddy z)6(;7_c%U>P$>7v1PRX=?4u+wPvU{m32b-aIogAGSactLr#6A_C(Lf_^WVG8|NXz5 zM$r$?a32+(Y;~4JOYrCfzINi{04jf)t&hJ>112B9#zIE;cfZWd@G)6FuE`~7;wN>b zfqA?6I{@l{rucEzrH~Fun*s2x|F__=PRPJ~5j`Dw5S2?K@gY%JQbj=jPU0FL66f#8 z>~HfFw=qLl(#ok)&PQ#zI2RwQJqbwB_vuMM|acj>N z%>tach)044P@k#wGufGxBKX*(XgnW1C OH-ehq67e}p;Qs*tlYBS; literal 75776 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 B84>^h diff --git a/Common/Defs/AbilityDefs/Ability_CockEater.xml b/Common/Defs/AbilityDefs/Ability_CockEater.xml new file mode 100644 index 0000000..4a8f2e3 --- /dev/null +++ b/Common/Defs/AbilityDefs/Ability_CockEater.xml @@ -0,0 +1,33 @@ + + + + rjw_genes_ability_cockeater + + Eat the cock of another pawn, restoring fertilin based on the size of the cock. + Genes/Icons/cockeater + true + true + false + Mote_CoagulateStencil + Coagulate + Coagulate_Cast + CastAbilityOnThingMelee + 402 + + Verb_CastAbilityTouch + false + -1 + 10 + + true + false + false + false + true + + + +
  • + + + \ No newline at end of file diff --git a/Common/Defs/AbilityDefs/Ability_NakedProwess.xml b/Common/Defs/AbilityDefs/Ability_NakedProwess.xml new file mode 100644 index 0000000..292af25 --- /dev/null +++ b/Common/Defs/AbilityDefs/Ability_NakedProwess.xml @@ -0,0 +1,47 @@ + + + + rjw_genes_ability_naked_prowess + + Enhance the strength and resilience of your naked body with fertilin. + Genes/Icons/rjw_naked_prowess + Things/Mote/Heart + CastAbilityOnThing + False + False + True + + 126 + 0 + + + Verb_CastAbility + 2 + 0 + False + False + + true + false + false + false + false + false + + + +
  • + CompAbilityEffect_GiveHediff + rjw_genes_naked_prowess + True + true +
  • +
  • +
  • + 0.15 +
  • +
    + + +
    +
    \ No newline at end of file diff --git a/Common/Defs/AbilityDefs/Ability_ParalysingKiss.xml b/Common/Defs/AbilityDefs/Ability_ParalysingKiss.xml new file mode 100644 index 0000000..29e1588 --- /dev/null +++ b/Common/Defs/AbilityDefs/Ability_ParalysingKiss.xml @@ -0,0 +1,44 @@ + + + + rjw_genes_ability_paralysingkiss + + Paralyse someone briefly with a kiss. + Genes/Icons/rjw_genes_lips + true + true + false + + 5 + + Mote_CoagulateStencil + Coagulate + Coagulate_Cast + 402 + + Verb_CastAbilityTouch + false + -1 + 1 + + true + false + false + false + true + + + +
  • + CompAbilityEffect_Stun + -15 +
  • +
  • + rjw_genes_lips +
  • +
  • + 0.1 +
  • +
    +
    +
    \ No newline at end of file diff --git a/Common/Defs/AbilityDefs/Ability_PussyHeal.xml b/Common/Defs/AbilityDefs/Ability_PussyHeal.xml new file mode 100644 index 0000000..c31cb75 --- /dev/null +++ b/Common/Defs/AbilityDefs/Ability_PussyHeal.xml @@ -0,0 +1,49 @@ + + + + rjw_genes_ability_pussyheal + + Rape another pawn, so you can heal them with your vagina's special healing power. + Things/Mote/Heart + false + true + false + Mote_CoagulateStencil + Coagulate + Coagulate_Cast + rjw_genes_lifeforce_healpussy + 401 + + Verb_CastAbilityTouch + false + -1 + 0 + + true + false + false + false + true + + + +
  • + 0.3 +
  • +
  • + 0.4~0.8 +
  • +
  • + + +
  • Rape
  • + + + +
  • Vagina
  • +
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/Common/Defs/AbilityDefs/Ability_Seduce.xml b/Common/Defs/AbilityDefs/Ability_Seduce.xml new file mode 100644 index 0000000..d4467e6 --- /dev/null +++ b/Common/Defs/AbilityDefs/Ability_Seduce.xml @@ -0,0 +1,43 @@ + + + + rjw_genes_ability_seduce + + Seduce the target to approach the caster. + Genes/Icons/seduce + True + true + true + false + + 10 + + Mote_CoagulateStencil + Coagulate + Coagulate_Cast + + Verb_CastAbility + 10 + 1 + + false + false + false + false + true + + + +
  • + RJW_Genes.CompAbilityEffect_Seduce + Caster +
  • +
  • + Heart +
  • +
  • + 0.20 +
  • +
    +
    +
    \ No newline at end of file diff --git a/Common/Defs/DutyDefs/Duties_Succubus.xml b/Common/Defs/DutyDefs/Duties_Succubus.xml new file mode 100644 index 0000000..bd67a24 --- /dev/null +++ b/Common/Defs/DutyDefs/Duties_Succubus.xml @@ -0,0 +1,67 @@ + + + + rjw_genes_flirt + + + +
  • + SatisfyingNeeds + +
  • + +
  • +
  • +
  • +
  • + +
  • +
    + + + +
  • + +
  • + +
  • + +
  • + 0.05 + +
  • + +
  • + + +
  • + +
  • + + +
  • + +
  • +
  • + +
  • + +
  • + 0.1 + +
  • + +
  • + + + + +
  • + + +
  • + + + + + diff --git a/Common/Defs/Effects/Fleck_Lifeforce.xml b/Common/Defs/Effects/Fleck_Lifeforce.xml new file mode 100644 index 0000000..53ac7b5 --- /dev/null +++ b/Common/Defs/Effects/Fleck_Lifeforce.xml @@ -0,0 +1,14 @@ + + + + rjw_genes_lips + + Genes/Icons/rjw_genes_lips + + MetaOverlays + 0.08 + 1.4 + 1.5 + + + \ No newline at end of file diff --git a/Common/Defs/GeneDefs/GeneCategories.xml b/Common/Defs/GeneDefs/GeneCategories.xml index 02c33dc..8106c8e 100644 --- a/Common/Defs/GeneDefs/GeneCategories.xml +++ b/Common/Defs/GeneDefs/GeneCategories.xml @@ -37,6 +37,12 @@ 15 + + rjw_genes_fertilin + + 14 + + rjw_genes_breeding diff --git a/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml b/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml new file mode 100644 index 0000000..cfe7024 --- /dev/null +++ b/Common/Defs/GeneDefs/GeneDefs_Cosmetic.xml @@ -0,0 +1,108 @@ + + + + Miscellaneous + true + +
  • Wing
  • + + + + + rjw_genes_succubus_wings + + Carriers of this gene grow succubus wings. + Genes/Icons/Succubus_Wings + (0.75, 0.75, 0.75) + 1000 + +
  • rjw_genes_ability_flight
  • +
    + + rjw_genes_ability_flight + + 1 + -1 + 0 + +
  • + PawnRenderNodeWorker_AttachmentBody + Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings + 1.5 + Body + Skin + + + -2 + + true + + 90 + + +
  • +
    + + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    + + + rjw_genes_succubus_tail + + Carriers of this gene grow a slender tail ending with a heart that can act as a dexterous fifth limb. + Genes/Icons/Succubus_Tail + (1, 0, 0) + 1000 + +
  • + Manipulation + 0.05 +
  • +
    + 1 + -1 + 0 + +
  • + PawnRenderNodeWorker_AttachmentBody + Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail + (1.5, 1.5) + Body + Skin + Fresh, Rotting + + true + + -2 + + + (0, 0, -0.15) + 90 + + + (-0, 0, -0.15) + + + (-0.2, 0, -0.15) + + + (0.2, 0, -0.15) + + +
  • +
    + true + + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    +
    \ No newline at end of file diff --git a/Common/Defs/GeneDefs/GeneDefs_LifeForce.xml b/Common/Defs/GeneDefs/GeneDefs_LifeForce.xml new file mode 100644 index 0000000..8c793e2 --- /dev/null +++ b/Common/Defs/GeneDefs/GeneDefs_LifeForce.xml @@ -0,0 +1,237 @@ + + + + + rjw_genes_fertilin + + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    + + + rjw_genes_lifeforce + + Carriers of this gene have a reserve of biological strength powered by a resource called fertilin. The resource can be gained and spent in various ways, some of which are unlocked by other genes.\n\nCarriers lose 5 fertilin per day from biological entropy. \n\nGene is inactive until carrier is able to have sex. + RJW_Genes.Gene_LifeForce + RJW_Genes.GeneGizmo_ResourceLifeForce + fertilin + +
  • 0.25
  • +
  • 0.5
  • +
  • 0.75
  • +
    + true + true + A reserve of biological strength which can be gained and spent in a variety of ways. \n\nFertilin can be increased by absorbing cum, typically through oral sex or stored cum. \n\nIf fertilin reaches zero, {PAWN_nameDef} will become very unhappy and may try to obtain some forcefully. + Genes/Icons/FertilinAlt + 0 + -2 + 18 + +
  • Gives fertilin supply.
  • +
    + + +
  • fert
  • +
    +
    + 0.025 + 1 + 1 +
    + + + rjw_genes_lifeforce_drain + + draining + Carriers lose an additional 7.5 fertilin per day from biological entropy. + fertilin + RJW_Genes.Gene_LifeForceDrain + Genes/Icons/FertilinDrainAlt + rjw_genes_lifeforce + 0.075 + 18 + -1 + 1 + 6 + + + + rjw_genes_pussyhealing + + pussyhealer + Carriers of this gene are able use vaginal sex to tend to other's wounds. + Genes/Icons/Healpussy + rjw_genes_lifeforce + 9 + +
  • rjw_genes_ability_pussyheal
  • +
    + + rjw_genes_ability_pussyheal + + 1 + -1 + + +
  • life
  • +
  • pussy
  • +
  • heal
  • +
    +
    +
    + + + rjw_genes_cockeater + + cockeater + Carriers of this gene are able eat cocks to restore their fertilin supply. Cocks are consumed during that process. + Genes/Icons/cockeater + rjw_genes_lifeforce + 11 + +
  • rjw_genes_ability_cockeater
  • +
    + + rjw_genes_ability_cockeater + + 1 + -1 + + +
  • life
  • +
  • cock
  • +
  • eat
  • +
    +
    +
    + + + rjw_genes_paralysingkiss + + paralysing kiss + Carriers of this gene are able to briefly stun an enemy with a kiss. + Genes/Icons/Paralysing_Kiss + rjw_genes_lifeforce + 12 + +
  • rjw_genes_ability_paralysingkiss
  • +
    + + rjw_genes_ability_paralysingkiss + + 1 + -1 + + +
  • stun
  • +
  • kiss
  • +
    +
    +
    + + + rjw_genes_seduce + + seduction + Carriers of this gene are able to seduce a pawn into having sex with them. + Genes/Icons/seduce + rjw_genes_lifeforce + 13 + +
  • rjw_genes_ability_seduce
  • +
    + + rjw_genes_ability_seduce + + 1 + -1 + + + +
  • stun
  • +
  • kiss
  • +
    +
    +
    + + + rjw_genes_naked_prowess + + Carriers of this gene are able to temporarily increase their strength and resilience, while they are naked. + Genes/Icons/rjw_naked_prowess + rjw_genes_lifeforce + 14 + +
  • rjw_genes_ability_naked_prowess
  • +
    + + rjw_genes_ability_naked_prowess + + 1 + -1 +
    + + + rjw_genes_cum_eater + + Carriers of this gene are able to absorb fertilin through eating cum. This includes oral sex, eating cum for food or sucking out cumflated pawns. + Genes/Icons/cumeater + rjw_genes_lifeforce + 1 + 1 + + + + rjw_genes_fertilin_absorber + + Carriers of this gene are able to absorb the fertilin inside sperm through their vagina and anus. + Genes/Icons/Vaginal_cum_absorption + rjw_genes_lifeforce + 2 + 1 + + + + rjw_genes_lifeforce_empath + + RJW_Genes.Gene_LifeForce_Empath + Carriers of this gene generate lifeforce if nearby pawns are sexually satisfied. Be careful: Sexually frustrated pawns will make your empath loose lifeforce! + Genes/Icons/Hypersexual + rjw_genes_lifeforce + 3 + 3 + -2 + + +
  • + 0.02 + 0.01 + -0.01 +
  • +
  • + + 2500 +
  • +
  • + + 25 +
  • +
    +
    + + + rjw_genes_drainer + + Carriers of this gene are able to absorb a great amount of fertilin by draining the vitality of the partner. This is done passively through having sex with a non-drained pawn that does not have this gene. + Genes/Icons/Vitality_Drainer + rjw_genes_lifeforce + 4 + 1 + -1 + +
    \ No newline at end of file diff --git a/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml b/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml new file mode 100644 index 0000000..608a2f4 --- /dev/null +++ b/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml @@ -0,0 +1,144 @@ + + + + + rjw_genes_succubus + + Succubi are strongly enhanced xenohumans. These overnaturally beautiful creatures strive parasitically on the Fertilin found in semen. + Succubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this. + Genes/Icons/Xenotypes/Xenotype-Succubus + PawnBecameSanguophage + 0.5 + 0.1~140 + 1 + -1000 + 0.005 + false + + 0.02 + 0.02 + 0.02 + 0.02 + 0.02 + 0.02 + + +
  • rjw_genes_bisexual
  • +
  • rjw_genes_hypersexual
  • +
  • rjw_genes_female_only
  • +
  • rjw_genes_lifeforce
  • +
  • rjw_genes_lifeforce_drain
  • +
  • rjw_genes_demonic_genitalia
  • + +
  • rjw_genes_cum_eater
  • +
  • rjw_genes_fertilin_absorber
  • + +
  • rjw_genes_paralysingkiss
  • +
  • rjw_genes_seduce
  • +
  • AptitudeRemarkable_Sex
  • + +
  • DominantGene
  • +
  • rjw_genes_elasticity
  • +
  • rjw_genes_succubus_wings
  • +
  • rjw_genes_succubus_tail
  • +
  • rjw_genes_aphrodisiac_pheromones
  • +
  • Beauty_Pretty
  • +
  • MoveSpeed_Quick
  • +
  • AptitudeStrong_Social
  • +
  • Ears_Pointed
  • +
  • Headbone_MiniHorns
  • +
  • Skin_Purple
  • +
    +
    + + + rjw_genes_incubus + + Incubi are strongly enhanced xenohumans. These overnaturally beautiful creatures strive parasitically on the Fertilin found in semen. + Incubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this. + Genes/Icons/Xenotypes/Xenotype-Incubus + PawnBecameSanguophage + 0.5 + 0.1~140 + 1 + -1000 + 0.005 + false + + 0.02 + 0.02 + 0.02 + 0.02 + 0.02 + 0.02 + + +
  • rjw_genes_hypersexual
  • +
  • rjw_genes_male_only
  • +
  • rjw_genes_lifeforce
  • +
  • rjw_genes_lifeforce_drain
  • +
  • rjw_genes_drainer
  • +
  • rjw_genes_demonic_genitalia
  • + +
  • AptitudeRemarkable_Sex
  • + + +
  • DominantGene
  • +
  • rjw_genes_seduce
  • +
  • rjw_genes_succubus_wings
  • +
  • rjw_genes_succubus_tail
  • +
  • rjw_genes_aphrodisiac_pheromones
  • + +
  • Beauty_Pretty
  • +
  • MoveSpeed_Quick
  • +
  • Robust
  • +
  • UVSensitivity_Intense
  • +
  • AptitudeStrong_Intellectual
  • +
  • Ears_Pointed
  • +
  • Headbone_CenterHorn
  • +
  • Skin_InkBlack
  • +
    +
    + + + rjw_genes_cumazone + + Cumazone are a female only xenotype that excel at meele combat. Originally created as bodyguards for glitterworld amazon communities, they spred to other systems by mere strength and providing for some fetishes. They can use Fertilin to enhance their skin to overpower any combatant in meele. Their only source for Fertilin is biting of male genitalia - so be sure to have a steady supply of victim males or prepare to raid unsuspecting men of the rim. + Female only, strong meele fighters, that use Fertilin from bitten-off cocks for powerful buffs. + Genes/Icons/Xenotypes/Xenotype-Cumazon + 0.5 + 0.1~140 + 2.5 + -1000 + 0.01 + false + +
  • WoundHealing_Fast
  • +
  • NakedSpeed
  • +
  • Aggression_Aggressive
  • +
  • MeleeDamage_Strong
  • +
  • KillThirst
  • +
  • Robust
  • +
  • Pain_Reduced
  • +
  • Beauty_Ugly
  • +
  • Hair_BaldOnly
  • +
  • Hair_ShortOnly
  • +
  • Brow_Heavy
  • +
  • Body_Hulk
  • +
  • AptitudeStrong_Shooting
  • +
  • AptitudeRemarkable_Melee
  • +
  • AptitudePoor_Crafting
  • +
  • AptitudePoor_Artistic
  • +
  • Unstoppable
  • +
  • rjw_genes_rapist
  • +
  • rjw_genes_female_only
  • +
  • rjw_genes_lifeforce
  • +
  • rjw_genes_lifeforce_drain
  • +
  • rjw_genes_pussyhealing
  • +
  • rjw_genes_cockeater
  • +
  • rjw_genes_naked_prowess
  • +
  • rjw_genes_orgasm_rush
  • +
    +
    + +
    \ No newline at end of file diff --git a/Common/Defs/HediffDefs/Hediffs_Fertilin.xml b/Common/Defs/HediffDefs/Hediffs_Fertilin.xml new file mode 100644 index 0000000..fdca8d4 --- /dev/null +++ b/Common/Defs/HediffDefs/Hediffs_Fertilin.xml @@ -0,0 +1,166 @@ + + + + + rjw_genes_fertilin_lost + Hediff_HemogenCraving + + Percentage of fertilin lost. + (1,1,1) + 1 + +
  • + -0.5 +
  • +
    + +
  • + true +
  • +
    +
    + + + rjw_genes_succubus_drained + HediffWithComps + + The vitality of this pawn has been drained. Cannot be drained again until fully recovered. + (1,0,0.5) + 1.0 + 1.0 + +
  • + -0.25 +
  • +
    + +
  • + + +
  • + Consciousness + -0.1 +
  • + + 0.1 + + -0.1 + + +
  • + 0.5 + + +
  • + Consciousness + -0.2 +
  • + + 0.05 + 0.20 + + -0.1 + + +
  • + 0.8 + + +
  • + Consciousness + -0.3 +
  • + + + -0.2 + + 0.4 + 0.1 + 0.35 + +
    +
    + + + rjw_genes_fertilin_craving + + Hediff_HemogenCraving + weakened due to running out of fertilin. + (1,0,0.5) + 1.0 + 0.01 + +
  • + + 0.05 + +
  • + Consciousness + 0.9 +
  • + + +
  • + + 0.35 + 0.1 + +
  • + Consciousness + 0.8 +
  • + + +
  • + + 0.7 + 0.15 + +
  • + Consciousness + 0.5 +
  • + + +
    + +
  • + 0.05 + -0.1 +
  • +
    +
    + + + rjw_genes_naked_prowess + + Driven by fertilin, this person has greatly increased strength and resilience. + HediffWithComps + +
  • + + + 0.5 + 0.5 + 0.5 + + + + 0.5 + 1.5 + +
  • +
    + +
  • + True + 5000 +
  • +
  • + + + false + + + diff --git a/Common/Defs/InteractionDef/Interactions_Flirt.xml b/Common/Defs/InteractionDef/Interactions_Flirt.xml new file mode 100644 index 0000000..27c5408 --- /dev/null +++ b/Common/Defs/InteractionDef/Interactions_Flirt.xml @@ -0,0 +1,33 @@ + + + + + + + rjw_genes_flirt + + Things/Mote/SpeechSymbols/Chitchat + + +
  • r_logentry->[INITIATOR_nameDef] and [RECIPIENT_nameDef] [talkedabout] [TalkTopicLight].
  • +
  • r_logentry->[INITIATOR_nameDef] [talkedabout] [TalkTopicLight] with [RECIPIENT_nameDef].
  • +
  • r_logentry(p=0.8)->[INITIATOR_nameDef] [commentedabout] [TalkTopicLight] to [RECIPIENT_nameDef].
  • + +
  • talkedabout(p=4)->chatted about
  • +
  • talkedabout->shared a word about
  • +
  • talkedabout->spoke about
  • +
  • talkedabout->gabbed about
  • +
  • talkedabout->talked about
  • +
  • talkedabout->joked about
  • +
  • talkedabout->quipped about
  • + +
  • commentedabout->said something about
  • +
  • commentedabout->said a word about
  • +
  • commentedabout->made a comment about
  • +
  • commentedabout->commented about
  • +
  • commentedabout->told a joke about
  • + + + + +
    diff --git a/Common/Defs/JobDefs/Jobs_LifeForce.xml b/Common/Defs/JobDefs/Jobs_LifeForce.xml new file mode 100644 index 0000000..13dd1e3 --- /dev/null +++ b/Common/Defs/JobDefs/Jobs_LifeForce.xml @@ -0,0 +1,32 @@ + + + + + rjw_genes_lifeforce_randomrape + rjw.JobDriver_RandomRape + Raping + false + + + + rjw_genes_lifeforce_healpussy + RJW_Genes.JobDriver_CastAbilityAfterSex + Tending someones wounds with sex. + false + + + + rjw_genes_lifeforce_seduced + RJW_Genes.JobDriver_Seduced + Seduced. + false + false + + + + rjw_genes_flirt + RJW_Genes.JobDriver_Flirt + Seduced. + false + + \ No newline at end of file diff --git a/Common/Defs/JobDefs/Jobs_SexOnSpot.xml b/Common/Defs/JobDefs/Jobs_SexOnSpot.xml new file mode 100644 index 0000000..e904f3e --- /dev/null +++ b/Common/Defs/JobDefs/Jobs_SexOnSpot.xml @@ -0,0 +1,17 @@ + + + + + sex_on_spot + RJW_Genes.JobDriver_SexOnSpot + Making love on the spot. + false + + + + sex_on_spot_reciever + RJW_Genes.JobDriver_SexOnSpotReciever + lovin'. + false + + \ No newline at end of file diff --git a/Common/Defs/MentalStateDefs/MentalState_Lifeforce.xml b/Common/Defs/MentalStateDefs/MentalState_Lifeforce.xml new file mode 100644 index 0000000..392407b --- /dev/null +++ b/Common/Defs/MentalStateDefs/MentalState_Lifeforce.xml @@ -0,0 +1,31 @@ + + + + + rjw_genes_lifeforce_randomrape + rjw_genes_lifeforce_randomrape + 1.5 + Extreme + RJW_Genes.LifeForceMentalBreakWorker + + + + rjw_genes_lifeforce_randomrape + RJW_Genes.LifeForceMentalState + RJW_Genes.LifeForceMentalStateWorker + + Malicious + true + false + 30000 + 0.8 + 80000 + (0.5, 0.9, 0.5) + random rape + {0} has run out of lifeforce and is looking to obtain some. + ThreatSmall + {0} is no longer raping randomly. + Mental state: Random Rape + true + + \ No newline at end of file diff --git a/Common/Defs/ThinkTreeDefs/ThinkTrees_LifeForce.xml b/Common/Defs/ThinkTreeDefs/ThinkTrees_LifeForce.xml new file mode 100644 index 0000000..574fe0f --- /dev/null +++ b/Common/Defs/ThinkTreeDefs/ThinkTrees_LifeForce.xml @@ -0,0 +1,53 @@ + + + + + + SuccubusGetLifeForce + Humanlike_PostMain + 14 + + +
  • + +
  • + +
  • +
  • +
  • +
  • +
  • + +
  • + + +
  • + 8 + +
  • + +
  • +
  • + +
  • + +
  • + +
  • +
    + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml b/Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml new file mode 100644 index 0000000..b3bf297 --- /dev/null +++ b/Common/Defs/ThoughtDefs/Thoughts_LifeForce.xml @@ -0,0 +1,56 @@ + + + + + rjw_genes_cock_eaten + Thought_Memory + 30.0 + 100 + 0.4 + +
  • + + My cock was eaten directly of my body, I am devestated. This is not what good head feels like. + -30 +
  • +
    +
    + + + rjw_genes_seduced + Thought_Memory + 10.0 + 100 + 0.4 + +
  • + + I was seduced into having sex. I regret what happened. + -10 +
  • +
    +
    + + + rjw_genes_critical_fertilin + ThoughtWorker_Hediff + rjw_genes_fertilin_craving + +
  • + + My bones ache. I really need fertilin. + -25 +
  • +
  • + + This hurts bad and I can't stop thinking about sex. I would do anything for some cum. + -40 +
  • +
  • + + Can't think. Sex. Sex. Must. Have. Cum. + -55 +
  • +
    +
    +
    diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.dds deleted file mode 100644 index 070876e1acad580c4eb210603795ade8bde20cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262292 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 diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png deleted file mode 100644 index dc01479e12ac877c35a3ba4b8454af5aecbce679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14798 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 U)Y5T#g?>Bq4c+S{SFNA?AISrv7ytkO diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.dds deleted file mode 100644 index 00d3c023cf1a0e58fe03e6b418b946e6064bed02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262292 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 QAK-%|03Rfc&(07310%2T>Hq)$ diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L1_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L1_east.dds deleted file mode 100644 index 3103d85e1b3a997eb88648b3539dce679c418001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 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 diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_east.dds deleted file mode 100644 index e0f67479379638d75193cf952e099e95f1d4719b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI5Pj4GV7{+I_l@o=?8wm~tLE;a9#GeD|sV-8#0T+&yxNz)&Ln1}?nn?6UdgTIN zCAo2fZ_r(Z53rnS3&+Ddv$LD`O(RjER&|n})p&Ot|C#;G^E^89;G>!Gkhf!O-58BNR^Cz~s-~kUqVBPYp z>}ppwSyk7Ev3^ZAE4uQ#)p7Aq%B9cT()+%=@>wIrzC0MXCLcHXx*Z?&=^D7*!UG=S z)C6I;EVrG{o3Zo9eq2unUu`Wfyni9azVOrRz`3np`t~-R%`&$e_q*3ie`NotIV
  • 1m1}rQvbhl!z%jU|Ff7*l0LgUn4Qh?2Ti`UT9p2`V(w-0>o1E>TK`uI z@3Ucbdg9+n{S`nyU%`-Fc)&vwxT=S;Tj*Fe;~y(IeaG>;%>2puJmx`oam5zX!g-t;+r<`fQKe< zBlM8Q3!&bjzNgXou3!JND&`>_o;v@xPxA%YUYt*q@k5$V98A*nhVUkRJ}|zx5$zw^ zEZwMYN21-r;~E~(-)%}<+n*@hU~iJ<7wyX#U&F%?z+VQ(&Gd)vKg9mPK@}$)HZS`J zZXk=1q>Dg%--7m5hd_HO7_z%=JY@X8@0!f*mwqf)_zt`AeC4yB!&2XP{tn~+Gy#zM z^OMO$77xh3QG0mZEa88z|Bv$p$Ftcitrzar4=-3h98j*CKB!MC@b3Or@aV_i!)5F5 z^TlDe{wMme6z9v3e%@a1H{*Q)k;;+@|6@G>{_ms|x3@x1>WDZV1w(e%j>onByR!aA z9l{&0fA{&dobRQ}-_95E{hOZvoi7@_WJ@H-BBggv=^61t1xPvM#0BYys!u5Q&m#*i9 z>h=D8&FlI7^ZUOaP}ctJB>FwAH(bd0Lgo*c@3YPScJfz!27Xg8WEUO+A^KIX_ji-H z;Ah-iUe8~(m-zenz)+OiwPpFbkbIRe+?H+s;=1{S%kzKx)b^hC&@|8|dO#1F0D90g z$OrU*9y9^;plOf~=m9-w0_Z{0ARo{Jde8*WgQh_~pa=Az37`i}gM2^_=s^=e51Iz~ zfF96;CV(C^4e|j!pa)F=J!l%_1A0IYngDvxG{^_^fF3jf^q^^w59k3sXaeX#)42Wl zFml-=`I3YDPk!!+{CrIN->vqiz3+B=KOY_MeEIxICSTVnLI8})_p5skvLEEDzVhe1 z<^S`vcqqfe5I`RW2mY`)-~kUqfV?m`@Q1|#4|o^?wFgWms z#Q_g^7y{&l!GS+44tT)B5FjrM4*X$pzyltJ0C{0>;17!f9`G;($P0r5e^?ywfQKPK zUKkws!{UGkJPZNy!r;Ik76&}wVF-{H1_%DIIN$*fLx8+6IPizX0S|Z>0_26kfj=w` Jc-%1_{{lUcIR*d# diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_L2_north.dds deleted file mode 100644 index 0a016f875b41db5147fc493d2747c948d32010d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 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 J_^{tT`~zo;cm)6e diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_east.dds deleted file mode 100644 index 4cedb7208ebc71c344872547466d7bc5def3ba07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI2O>QGa7>27cvNZ_OS+KTeF$aJHK#<4{*sug~fru5O86`GZWJhiQS8+6#V8NnW zJ^*He+#1WxSAU(iV@tM07KA*JlDN`c-JQqJ_g0m=&(FVk`PMl%I{nDG!e01q`_aAh z%>%z)+I}C}_xZPGofLus;pbpTnu`^~2q0_qo9X9!dZolm_{M5BQ)2@Ih&i z5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf z1n|LVEb~(mt~#x*%P)PqvL_~1ZJXPxwph0ImD*KX*v8b}w1Z8X9#qv+UHS3e{(N+O3)A3RH=bYY_s!22N*_ix3uym} z`O_|DHsU)x~s$L}z{uWYa{PS$?>?|0u{ zuMhW^`9ziG6C0Z!49BZ-ZA1Fe#}CI_%x1;vww;%G{?XL+U1|AM9euoq*Gs!c0G>S@ z$NSpv{@>`I=G&oO!ua~r$mq3eV1>>nsD+$ip!)+cuUN0`4TJbO(&^?|_S3G%qF|2!Vg zdgJFY_2>WnZvQ;qzrP>v_tpQy?O{G*(}6f2Snu^KZ>1L<@$;9@yTKJvy~?UtKSGF&d&!`-K6<> zn6F#A?zOF8W&d(z`Eh6UYwP=cd_(?dU$Tv zpX#S@t55!zmuWq)s%N7Qe)TBA`<=)4Lq1;*dEy@qu={g1w)_5ZK0cpK^5^$uRoi@{ zyPvly^Zs$Z-p$`re}5hMYs?TEY5Vn`XT@++A6-u|A8Nb7Z|iltUl-ao{OkRI zoHw@1&f|C6e@V|LEb7fUyT|gx&LnHeYDc?f*Pqv6+IuUm52c zM_-S0IOzJ>zas#z4n=qYk4NAU@*$4mo@adJV*PjR`|)1S2!Ex)_>B+vpak$iX^;>2 zfDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&v zL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L z5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLl zACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z= z_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2 z@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09 zfDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e l03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1pe25_7>1AKl`W94Q*LGNB|x_{p-BS`1r0qnkkS#W>{uyMLGFOdK$MQS513J? zk?F=-%d_A4nbCVf4$zv(@oXmJ;{P_9abLMz1F1~y7&N(+c`_#FfE%-ls>K1+T zz{eZg?v?#reE-GgJKu7){ofz#U;Xs&aA;e8yczAB8$95l1n@y=kRSMf4@v+Zlm_{L z5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLl zACw09u+xWSdl!jYhxJ{1**vX%$^9p}Zt#FdMqp?C$rjJDzN=rW=kjKJZtY^#bL*yQ zQoC%XwY6e+*^5!cn|E!}Q?&Es6O0B6xK5Gb%%U zH4m$+N&5Vu{(S9Qe{V0(!lOOj+oFHa{^Ir{e@3zX>uT=D2g7AQ<$(o4JzhII|9INn zGwlvVSbzsSlz^`v8_yS2b${3R`VRGO-Fwp;h5lbRw&f@LvtvAA{rBtZO)u87-+!A2 zzMc;`UfACE|D!lQXddRbx9NI8_vgn8hwM+bVS9mLi}3iL^YG*8=EK!&7C)!|zTe*ePtKv`Au-lZGHdhgEP zh6MPV1BC}Xlt3Ks|2Uh~JNnO5Pucd`u;neE(s*KC-H+E6AzSsntNxptcyPbJP|vn7 zus1IbsNZnBoB7=GW9_$(*DDq`slD%fS)UQu`aZL@JHBt$X9P};U#Pdbsw#gyefcV{ zzvCeSyUH@5Czfa3ge%bEd^TTbgZ}TL~&)Il9)N?Vf?Ds-@r1?b~ zZ?xANaeEv8`}OVirCl#r{kr)3f*x|`=S%a0Vf#3LQQ7hQ`^%l%%MMvDFl-SXFOWx9 zKlc5{dL2%#zcCP2kD)%Dn{4FzyuH5vxB0rTK3;`;pW@OY^z?Cmvoh4XzrINOcZ0V@ zJKoQ>&%cgsKkfbJOUC~#ChE5(5nthP1dmj|rM)%gft%QTef+)6=fmcMjTh=~|NiTb zUjyGR53HW^!)>=?z1q&~V!fTeAJ^6G)EfSHVZF@{4y^H2x?fQC*{!$x6P(=*ZbUbfE&z$?RX8vexkw()eV&yCe((+Ygzq%Rhdq zcR&BlLea8}HjQenl|tGdx-n@f99N@M!z@ zUBBmr>xJ5W-1GD8Hs7D`{xtGU&YANU7`6zH7tSM%#|xWJ594WH?@iw(^sLKHessUL z)BjR0dAY#j6nSiq_ru-(&ewO>-&-C~@A!R+e#<#Cz7ZI<2oHED0enyz)CWG`gA%|8 zr9nR613oALd{7$X13ut`62J$gK|bIEJ}3cvP#WX|KH!5Azz3y4KHvjBC;@y>8sq~$ z;DZvt2c8sq~$;DZvt2c8sq~$;DZvt z2c8sq~$;DZvt2c8sq~$Jk5uXCf9>B diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_south.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R1_south.dds deleted file mode 100644 index 99c788e81f7943831ef5381b270c6418254d02f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI2y>8o97>19kLIxT@^w^=0Gj&dHz*#)BbC-?=0=Z=oQa&BM~{@4ELCVlgf zKTmDBFYWj2r|+I^T;=%TUw^Sb4bz{)u5EgKG1`4@@PLOBzz3y4e&7Q>C;@y>8sq~$ z;DZvt2cF>Gvq{*SACAul`+ z`N3C#VUzIKgGX0i)}P1v%gg%q#>y|&dsbad;$}mCKeu{!ZXW0Ncefw^u>UG6Y+ETm zCLte=7Q@)C%E8F>^1+SV3-^3+!u9T70C>Pd32gNt^|!h8zsu?-_1{+hweO$DOTT`s zckBFp9_YqxdSkoIllkDAjq_z2Tj%@nMwZ9HLh~jbUvoFTK8YI%>$m$mda?OnFD!AItX$z^jMj-`|cfSy-zI#5H#`8rvou>PHkGIQkDKW?8V`2IPo z>eBAmojtPe>NP%J+`V37{!A@@Uj6gu+rQHNOIE0vOCtUckI#%ptbgl_!~J*akE_z& zr>(zVcN^cYhxNnw+cpuu4>(=S%9oS$elU#h{j_z)yT3n(KX>(2+{UyE;li2b`O ztZf%c-$%a3?+-))>Oo-GBs>nBN0$e7GvKdxygxtceV^A13>t6EEfx1Fy&a=^cLl#{99T12!J<@AEf3AMEZ2 z_IzI`OsOA%VUzHHhZ6W8KE(RA?-A1YqZ!)!!FW{d^M%pG9!~Oo5A~|DdS7Vw2z>H9 zy77Ro_ml_r{cpGdN#lQ>_pL7ZCx5+HrxK<(pFR+Hz(Wb(gVLb?#|L~+0{Eab$OnAD z2PJ?HN`rjB2YgTh_@Fe%2YkQ>C4dh~gM7dTd{6@Tpftz_e82}KfDcN8e82~MPy+a% zG{^^hzy~FO4@!f4zz2L#0{Eab$OnAD2PJ?HN`rjB2YgTh_@Fe%2YkQ>C4dh~gM7dT zd{6@Tpftz_e82}KfDcN8e82~MPy+a%G{^^hzy~FO4@!f4zz2L#0{Eab$OnAD2PJ?H zN`rjB2YgTh_@Fe%2YkQ>C4dh~gM7dTd{6@Tpftz_e82}KfDcN8e82~MPy+a%G{^^h zzy~FO4@!f4zz2L#0{Eab$OnAD2PJ?HN`rjB2YgTh_@Fe%2YkQ>C4dh~gM7dTd{6@T zpftz_e82}KfDcN8e82~MPy+a%G{^^hzy~FO4@!f4zz2L#0{Eab$OnAD2PJ?HN`rjB x2YgTh_@Fe%2YkQ>C4dh~gM7dTd{6@Tpftz_e82}KfDcN8e82~MPy*Y0cn3$bae diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_east.dds deleted file mode 100644 index 4d97e53052bcb5c61624cf653309f92a0f5a6f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI4&5ImG7{;reFdIVHUJ%4U*qMXi#e)h$1W6*~;N6QigC4x*;31JP(?bF|cu0=k z1kd>+CVz?3u8`~GJN?>gsp z_AWSA*h=`>tXmDq7o3K6+&TN*_~w(3PyCa;<6FPCO}%z=ytJ(!J&d$+g9kiv0_Y*9 zLHs}u=piS79&#GQ2lRj*asucfr$Kx`59lE$fF5!h#0T_%9&!TcA*VrnKo964Cx9Mu z8pH?mfF5!J=pm;;d_WKAAt!(yavH=3^nf060_Y*9L3}_D=piS79&#GQ2lRj*asucf zr$Kx`59lE$@K*FNUw;+hR(rF1<<*d$*%uNE@4IwkY5yPTzCFdYxsUhXo$nUkSLB&% z>u)80vwPtB8H{brkJjH+UF@z}e>Y|22MNn;Z*X`1q;xay!xvJGZ_`ao2mh!2N7MZ# z9zP$1c+vRYsHxKzR$ct)yIU3?2Iz0g^{0o3LOI{2f-a>7~>0diO%*pF4|u_^dTO-?(1`Y zApmc|ar%1K)4%=mr}B7GSSi1nmWSo>gW`C3Y*qAA*GGH($>d46{wlQ}7R%+bO>Y`6 z?nelmx*p{0l+SOPZ?(5@Rp}OP6yo5B34Ek-|oc(uP5d-b~S zf!+C)A5XpCvBmYt=w-2mVkT@PLO9AYKR#{GmAD0S_TSybv7tLvg?Z z9zuY4Avo}d;(!M{gaGkEaNrNc0S|Zx0pf+=z#obO9`FzX#0$ZJKNJT%;2{Kv7lH$S zC=PhQLkJKr1PA_59PogL5FlO%4*a1w-~kUIK)etf_(O5P10F(vcp*6OhvI+-JcI!8 zLU7;@#Q_g^2m#`S;J_b>10L`Y0>lf!fj<-nJm4V&h!=tbe<%)kz(WWSF9ZkvP#o}p zhY%oM2oC(AIN$*fAwawk9QZ?VzylsafOsJ|@Q31n2RwuT@j`Im55)lwcnAUFh2X#+ ziUS_-5CX&t!GS*%2Rz^*1c(=c1AizEc)&vl5HAD={!kq7fQJwuUI-5Sp*XgV$3Ha> BVG{rV diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_north.dds deleted file mode 100644 index 737d3b062f605a20f18f6496d36e2dd207032e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI2v2G((6o#+K$`MG|DXE-10(4YtlZu9dhMpHl>1bD8Taicw`vyD%6{2*+3-AOm zqae|t(2cc`hjZ?ox&G}~T01h>Q9esaW}NZNozLI-@4Yi~e*X2@>kz{6$wwh{Y{7r* zS6=kh4PR%r-3$9U|K_t#*M8*W;k)13TSv{?@zA!sx*6-s+~5HZC4dh~gZ#h;d{6@T zpftz_e82}KfDcN8e82~MPy+a%G{^^hzy~FO4@!f4zz2L#0{Eab$OnAD2PJ?HN`rjB z2YgTh_@Fe%hqXT3wNH_R`}qI7ephd|e!=r6%euh>9!mt))}L&#lmF-XwR$eD`d`@k zc-9H`bzL{>MSWV?T3Vm?$Mtb)!~MzW>${tN2=m&XD6{&1-@5I8ULTFBNqPdUJzf}u zi%|cQ@?+QM$Nn;bo%oXXM*sNacsBJN#+^`1-!}DqRn~8s`cCy*%wj$FV*ft1`nJ~( zvHs<|_r*t@f6SX{zwpn;v=kHZMNkl1P7_ z1&>@my&~3EeLK4xH0K}d&uicMd;7B&9;tmjZ&9lMs+{=v;P~#S$pZ_7s(&A>{i)gc z_fFO`pOE&S)-U4m^O4fRPL3!0WPbv~7U8jD9;v?{m*vgd+Uq;kyLIn%rx*MG<-;8Y z|5$(C|M$}PpuU}4UpMmwZ*Q*G9gGKBJ~QLv^P7~1rNvLmBR$^n4vu$-yroUlpTMxi zC(pyj)AhT{;V_+-pHCXkSIPI~(>=WNjq`z`w1Tw$IMrWnzYPht{(e%uhw-G-yKm+{ z#wU({9L0%;K%K8|=J`l>F!k}r;qf{2?~nE^5!l+-rB6R1k7E758V;*9{pVBY&tkn^ zO(v6@{=Jo8(?8E7yrR^YA`h$93t$!a6)K|^b%7%ZQA21&H-+kWp`+n}* zd;RyTvMhZ*eet55PlvAc|I^d$`_FywT+9cGc6@H<)3f)ZPKc6=1; zUDj8(k32)S+nx3+&!c_tkYjRufnkgASmBZSJG-3r%lCgwKhFJUS^j!jeE8$j;I*jV z=6*p@{&ns3zv1_tKX2Qo`tE)g?{75g{o!advYmZy{dt`K538Bo{|wVk;$`!JyuEFf z<{vhB*w^(^YeW0O_m)KZ3y(ECR{ihW{kGAUwxRi+`m->Y-=zC-{_(VZy8gbryZz^d zx3{+WOxs^;d;NSiX>WUe!LIkGd@L`Aeh(zw|De7X5I5qv*nBhoY@Z42g>Up<@4tt^ z$nU@V{WkCa=I?C0P<{3HpTGYc+t=31AzUwrc~$s){35)(J8kl-JF5ICq-H#j+iTAw z#rn4Kygly_rdHo+eLQ<(D_-xhzmNAr((@4cn@J0M`F^Ag9A9AAB0T;B9;sf^cskZs zzFv^W2i>k+Y(JFwZqr^Tk?P-z+eR(9oZ}6uSQ@wj%-#p*wJCPTD2@G3= z$1~v3_Lnjq&ez9d|5(|@a=+eg&kHW&zz=vV5x|cn9EV>Y&G>k1*VE(ke_rqP(Rkwb z3+(0JXTIO={cC)8@r(5Z3txf2 zfDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&v zL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L z5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLl zACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z= z_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2 z@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09 rfDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}MhO1`7>Q{~ diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_south.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/Succubus_Tail_R2_south.dds deleted file mode 100644 index 61e5a0e028ab92d2449c035177e41259461edd81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 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 MT+%2#clrAN0Q8+ZmjD0& literal 0 HcmV?d00001 diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.png rename to Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.png rename to Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.dds deleted file mode 100644 index fa092f78e955dc4e48281a99dce3e1e7112816f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262292 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 diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.dds deleted file mode 100644 index 5620a670da6543ef361f6b9dbd244801554ed7a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262292 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 R9#9WF1E>d{jlZ6K_Z-f1^JQw@ba!?2S6{z6 zy1Ke!$A20p6GFTLeF@RQ7xqs)hyOo`x^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE z4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE4Oo`x^&ql={sHxXdJq{v zJ&0_ee?UE;9z+IE4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE4Oo`x z^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE; z9z+IE4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE4kNun^PF#gFS9d^rN-1Njgc_@nip7#yilik~FpY`?p& z_vKkKUu`2K&V#-{3$*n1lpH%HlRrBBczj1zI0EDY`4AcSIXx&w$JWYG>5J6VR9Q1` zP0iRl`M|+5hw{^j|hp1HZQ(WPY&W5Ew~1xv4}uj{X6CvS@EHl@)J`lv**>@oObZk5a&{?=$tTrF$7< zZH1kDLQUG=@10(ZUnAW0fqb~A(7qrazm5-??>?Rs^FPL?dV^i>*3~%^S8TGY-^6n~ z5;0K@ea)!oGD(9XwuP4pTgmWGh@C{+Nd+k(-~ZA1p;Xfn1WxNj9YQP*%iK(1!K_)7 zD#82*qTFmth+m68I=y&&M}9bhzZxH|_A^-nJ!8sXCBS(;r`o}Fv0CQl1QyKF)3$%~ z`8m>KCU;0hv|XV_mN24S&%_Td>JiGfy*X<5Ob;4AKwNK)uDafN>2IQc^!ecNwG4E9 zARjI&v@giV|ILTu?8+lIV=Q&jwDvqN|A)P~Y1o?^b>zp-IFhCLvhR9XeK^_c1Dm-T zbO$yVtC(2gxJ??s2LF-tq8=I3Rm)$JkE%plWPU2n5=e>^P3iD`7Hu3@y;xNms4DUEQ&lU?(W%N|Ihyzp zy?tu%(ZCCVcY;dTsXDHo`pYvK{Un3U>iY`Kq&w*mEdMn=sy?cu!GA-$iW~L~`S^43 zA@k%k2LH4MO3{UcSDlNZrNv zU!zpeVtSJnp+6&cFTZ#G{ng?>OcW0XLmmq8b(H_7%tf>mN`D)zp)MQGq4*S~1q8{8 zhf(TmXZ2I45eGQxn|1=%Mmf1ncK+VyFZ0Bjp|AfODKpxPnr$s*HDarWMEup)N;s5< z0>7^otwtHE?bF$(N+qO>R0LXC`W)qdqn|PwT~l;g1caCjx)7a**YBNvjNiexBS1cW zTRs$TM|{fn^^~1A+baGJd&7?{NN+uJ3mue{`^*KsJ}%hG}j>P2(;AUicj`q$haS=#*eXgOZbL9CRf>14J$ zvHOu*;Blgz@sY;tSKaT>A0V@ciJw`e=ja`1fxSU|k{$3c5&sKbQ4bN0x55jhun?AC zs-t$m_H_BP0o6SWHN(RG>iLQ3XSrIn{MLNPJnB|ZTULpM6d5&}*C*iupgMK;XB=zw zp(e>&mV?thhfwMdS5teart(xjy3TPczK^x=GhLLYAIDO?M^EC-_qPv)XaXU$dZzaC5M(lN*Si3T!& zeCK&%z<)Zucs!m#&d*=Vhs*!hy!B+unl)>t8>boK>58mxk3x-I_PU@%B^!yiF4@TX z$B52bsp&ZKVI@i;y9!2Tm!u ze0=EYf$a`ImgX@q)-RD`6!9neRF)rim9Gyu__BKHLPLg`er{!V`@orfO&a$*e`yTtErrQbwDuuLN$9wFr_8*S; z%u-LNq1@r^_q(n~eV|#o`B0$QMsv=aqC0Zo}Wg}_b^8`y6Q*Kww+L)q134OXX*yr{zV`6$e6P$&d7i^6JYmN(m$nSd7~C zy#I_<76Gu>Niv1;Z%0VazdE1%e27_r{(G4k?VU+|#lxgy!K>5K(#Wv5_1%)5+<&b1 z`fg9y%Bgi-&YfKx-UBV((Nce<=V1NBq4QYaahbd&ikR@;!`T zDmU5~-=cqWl>g>vdoo=EeF9$DvqLzhJ#2i(e}en=uKG@LfFG9scz^EauHUNiKf2ES z%KzcynMoW){+FWt&&Ow>-v{96!9vYz<2P$X#Y*Vjc+j$(7p%^POJJL}I!wQBQS#`^P#Wj3?9L0Jq@M(PO! zDuMoeS&P_C;Ced`SDZE;z;P@s_&L7*Z0q^?5DLD!!bHzI#y@g@?x%YKQ%F(OHBlhMc_x*YNc9Kbr zHfW(|{!)IN{F@yZUU#}O2^yiP#t zf0dp!5T8PO{^k2Ke<`21J-=X`pFhWk%l|9q8!FOLle?aLiSaVWH2zvfZ=IEp7tO; zJ3_#`Ader)e;5rwDg(9pwj*s?@N?<=qt`q5F_S>(zW|0+NU&ve7)5H zqDsCK8--0;!*PpJ`=J(wDMb0on>3gVcM8jBn#A^3wP!qJze3gj_8)zIcznnZVfm$e z$b4V3bcgJO7OGLp-yEh7wj`5yb-_B0rT%5Azvb5Ek4rcjwmlU&;HzO$@YYz<(n>u9 zdM};xdTs;v_q3$Ao;M@&Vu_dU1HUwV|LN^z?Yv<;eF@a|Z%TGDp}tc>j<_EmZH*w;$NxGX zGG~Ha9~DMh@;&9PZ`uhvM^N47375=*!?FsmWE#nSw)9Om2T!J@|bS)J?owx#d&0_kH@g+KyCbt^CuR%r|(Z;YyBTA zb%v`l3rHA@5311oMGYeBIdo9o*Nm>OF0bGyTH2}Yh0gv_-rYFT^pC;#2X{VreC&B= z1#+ka+Y1`MRUdzf{I5#RFV?3se|_Qkw)RjWbtb(PPm^a~7C?Uw>A&*z`W*8tU3!d; z>=oNa;&`BaqSr)eom?%H0}|m~BpoJ`;i_kg;%|aa8UA6>#seFmSo^c_z1V zPV@Iu4a3&wW`n;S4*oVIEG*17vGNkf#9?rU!ZRVTXcEV*0(x-{Jxr|L{E)=o2wxn> zgZq6tlBlCQ95%Fy*s{8lmR~)&Maa+3cVy(7I!BGDGPfV)!HX4&>v?fy5u8+vW4)%2 zI^(WYjXzR~>XFQo#5Ep?+-gB?Zzf6|9uriGe2AS&!unQZ>T#(mK8bwUPn`dtV{6#+ zw;8`0?W`{=j`3k2Y*@y8D~zAg(hKSTneOvDzB&1N zf~_Yc=kG=>bd7)e|7|}zHBc<`{TVl~yjUS?A))Ld4xIZ9=;bX(jujnZ12-Z|U5;^K=A!DpzfW{ zoP%(Dqvx?zc5a87*T7glwwxokbR0$Jy{B4@^_8b7$Cx)hF8b+&TwGvnL8+`Z(Z#$T^J};`=M$KN=8^6SHc2I2jer-OC`_xB>2}TeqH2qIk-YG31W3=UC zDK%{IP?;O%p7skcI+5Mae-OO4&E+wINeerNzIGWsNf)eHy*a9K;{J83H(xD>`ycf$ zl2DFOFnrj_znypOW|Crd{i~YXdHX~22mF}YC)xrT@b$08hs=|24ziI_xJQ((<+srO z9jNRY&oLVA73ouFy>yA1$J^=9OO*OV2deSZpm4lMLP0=A5~g@tH2rBKM|k{Nf11J$ z#cl2{z2S-AKbkLB`LCFoSe{y{rAPD!A(Gu3Wubd@c60W_Ez8P$%MYF7&}T|LEZzgN zttUCgkZOu9T8*^^&|Q??u9g|rGd6HQuh@|i$0+|$81dAfWZE16Hh8CrcszIh{pHVQ za!m7US!D4EvD)Hq7c}lfZSiBLOG{;;y_H=nBqY^$Wo0qP7?byKi)VanwRDa;Qd`-7 z$Ua>LJfY>&nPe!h!V_8n?#DAis^Cu0$Lx|n4F59xLw`Y!53Jf3hn;M$FKO=B@%-aJ zstXkDiDu(CZfp5#W3lzsesDkD&)Ei|^C8A`sGj%`%h|K7+7nZ#11v$?4Wy<*WQhd| z*yG*fGs2H>KA-F0Q-y!me9nPIP0B7EjAq-5i@WV=f0EKzoiccVtZh65+E-QQC+43) zXYe6PIyA+6lm!bHPH0b(YdQdXDrqdCk}QQlkOn{8lV11q-`6%XJ`KEAR!fh)!zxGq zXz4Fu>vcseg|fCj(HvNZrcTBAJR>hC`Xy<6~vtePEr{g;!A9w@q5u00Q^QRw*4_!WNmy=|Ufgw0>bMgTkOYt(4{iVb(5 zP*B$Z0-?HAgPc8kc5p3n`w+*pfcnENq^0#zznkX857JBhMzQ*s?yC1E9BI`W1WNz1 zy-(oTNfWd|e(&?c__dsMef+2SF!CdxVSx(&GW@gtVLkL^S0m3tf521{VDTUc_emYnAPnI^$th3X^_!s@TuUxd6V>Iy|Yw?QDxw4KU$nTiycfl)h z|8DU0~Y$!EjmNpqvMb)^!acSLw1gEfE*s_5B8mp z957uy)ZKRmnKYC`ccBp-6 zL_MA@U-kzYW4HMrB2faf?S9^PfYL1WaLdpUHL zx#a<*zFK;oW7m1cIIm__T~DcY8?7v$Inel>GzIQ)1=9mtIc|3B{=tPVj{9{~DkYU{ zjBJRt{L#Zp%sLwc_v`PIwftt|buyv#ul&c$KYo1PUrJ1*%xOp4E^0G;L3tkpEWpJW z81L1g%{;W)R z-jO{Wz~>XwC~4m{M_TKD*tb{$b9NP<$v1ET^wU%uf7%!m6n_BOQ3u&g7$=wkj@D?{l=9niW{2K z59SWk>z(5RE`s-fIfBdG`Ea+>3(VlU9DD@@I-1c{{0*-#pXaF4#OH%^4MVJV@~;mn zxMqjo+}Xh<(ciN2UubX1ti9!aJcs|L)k}Tv)IR_0VfXc4(b<&aohyNmUsdVz^@Y3wYmU>{=WTTTaccgadXvIsxisf}8(onL>%*ZgRgz;H37QD% zpb3K(9xJEj4=Fua4(lP?VdyD1Z}3bIJPh|Q+|y%VjU2w@oDB~PGg5mFtEa4nsv}d4 zv%UAvN~W$}3k*Z^`;9p9;l+gfevNcqdZ|}bjKm@NXA^%@piHFQLVZ+$IJ9MQ^_neZ zlUDyD+Wl13zeoGn!spRI?&8W!k}I)A$$wgSn7GG_Lnjk| zi+;3uzn!Dn8G1JDp7N)&ZF{I%uwSx5P;QjTIyoSfgB_wsZ-l_v|E$6{8UA5`=L?od zv@N|MYbFd;(3W36|9~StHXf4C00!}j{=m1(ol6{}Wse4yd#<;EbpIxf2|n|qeYWgN zu;r$nSTcL4Ew|-4RVJOGeNt9H=RhH!Dnb3g-G5d2yQYeF8F|2cy$XH+N<6y8tc>hA zC@>Mq|AOm-D3t#NQ2syllvw^R1c$4OvQv)H#H%OqaF1_bj=7X$ROmBl{$DuDQ*Z-X z4~_fwztm1&Vz!q%>obJhEVGurP--q1M%AC2iNV&&ECiA52In=LyJWRAxNB< zkdPqq5yJ8^@yX{8_NKJnt%zO`O(RD8R)dk38YC5NXgTx+`mW%A4n4p~H2!BKk_?mA z!5OjA81(o;@Ar4oyRUsC1bK+YWulv1ZT}SRZ3PxQRou{P@WW8RKIs?Hn+)^Yt>?K6cP% z4#=@amf8mEd9y9nev+OyPk~=berbOF-1g4;j2uq2R`h6eAQ9ElinkX$RN_#eLd8VpcjT!J?!Rl z(BEBXU!PkRyJ$9DpWE{N*Ub~1$CG-JOn8E?%zc08uNZU=Gr-?z{a1$YE)F-u0WTd`L{`OcON!g$8OhlmCp{2m%T zT5W9SnEr5?4cgP%IdVaV)W3FoXujE5(56ud=N_=IbcBY-W#dc^xD?we+WSMq z@>tdmYbQ-A$tdLEmG5{YvmrFky>NvA*wy^$xht}y}1RDCf3@3;^!X!Zm{3EN(aFc4|lGb--r9z zja>B|m@Bd=b+x|($Ls~~LFugd>vKo8T4aNuam#=rbyh-BzxWgL>p}1lM1Q+|qM;iH zJD9y@Otx<_$GpgI*!_WQgONir-G0`S#9Z|z9Fl5h<>OUv4-R74EQOMoD4*sW#PY(1 zFw!+jmN+2(1-GelJ{l>I^sKk*1~mo}4BTi9Rw1A?H~A=Bl@WL&~&6e|pvVu=InSZ3y9j{{4^G z{=UOFV7T_zVWj=lQo;er>~S`1R>I2MJ}2Iv^3uv&Hq%tztf71Qjp+Ts#e_Zm8eN9? zPG2op&+&x+0&ly%1O4tt4#}d=43p29?fW^{6>JG`*N3}pxJ>B|JG}uC-7x{`SMKZM zV;8OGko>QbfZL)TE6h_9U_5F8$3)pHA=6W5wwH3;(m!gc({*UfwM zm=#-jo3PLhQIrT(?E^S~H7p;61{aJ+k>LL!v>3un`%I>c>_4ao9JAHA-;*^tF->R|pIdEf@1_srO=pQ#V1={;J zD+YzHrgv^mJon0#v0mmuhd6>J&+T%3yqf*wD+l3Dw`W9LTvpbh0|Qr7uIDJPQ%BLI zR;7pWu+EUcZsD;)`jy<&T@1h>>8^4+F4gJf7ijU*F)yFF&)XS-t z6nH+}#Ma2{gVhgU@qy=K?i-(`9&Hn1)B-D;PmL|Awtax}e9|57YqIy}tLX>Y`Z><^ z$@g4O?#DBLNB1MpcM(Y5ItPW!8}-Q=jsc-__NJZh5apf7K`i<}s1IEoUW)@bJ2m#l z!XcOXB#xiDC*e|`s~^!gsRP|{ghR^o&Ui=xJy=U}K%Wrkv+Uj~t1T9@x?x1UtSm~a z?6_Xc*5z#fisPMX@xAK7^D%4tBnD5~lK{aR>-tDA9`y!CGV!|b$vo9jpRFW6l8Ojh zN2mTJ5)_m$eqp(68w8`&DUGG0^3xZZ5?uWOBqAauWm{!1-M)ik)MM{0-c4#;J)OhR z@TrWv>#>E0p@M5W1XX5hPPuI(sY-7|MAqkG`oW$^X+nf$8%GhP=L2rJ^DS!`rTLRh z>?^nV_~kd3RrwRi^bgISu>FZPS_E!v!2e82i)pxyNKF@u+ zS;S80*N}8d3uO6atXB zHovV{9>DboqlO`25U}yGjnpSU=YU_+Z+O?=m3xT8WC^}{aipJM(~W$IXz{o7v? zrL!NIwHty|)*b{VMSf+lp}hP;YyS|VWBig`VZS!{?5bltx}8Ymsrjt_rD&r*U}dV0 z-#%z}DbDAcT9TT5&z_wivmHq=Np{>f=QgR?pNnziW$Fh!hUDqu2Y{J@F5+0q#xKe{+I7$4 zXxe7O?%RzE_m!q@pFHQ}eh4Zmj}pVR;#6DvIVW!vr%utWIv|BjS@kW4)b?!ic<&n7 z-!9|WwDMw7X^RDY|3O}R(6c85dqOq{IhWX9G>7cYPR(eM~g<^ORo7DhtWS7{7L(vZ}#VStW}rv3#511+gmwu zOU|Wwgv#5_G}^qMm6vgGixyEDKWXt%j^G{LlWtOV?UcmuJW4mvrdJw?{FWA&&kB*B2J3k@n z{rwz=Pq6-gUc;_j=ZIYVD)XJXO*Zw-Te?h^tNpIiaC^CK6`MYiE7wtyO zf%7j9U)nW!X!PIYM(Ouc=o3}pW@UYan<4c0u zyphF`Irq$B4-)aRXCMcZ<4Sw)j7Lc{$C_koEYY5Sx=;DebA7b4e-p~{=)slDzbIS) zFxH;QkV}=17#3D7&UyXn4jmsQLfSgxkKXvNh;pO>$AD%vV_+=^P6{+dyH$LOISzy~- zJy3mYtnY`QM|S;YO*~-s9sS`Aj+=v?*mliVE~`CtW&t%Xz4ppD zUsqb&=fM3bR$pfI)!<39w{o0|?BSnDyb9m=oTFj8*CoFOg_$?Tw5e#n`Qsa7CRP4p z1ySAhud>H!@u}OajdH-hJPVa&FdV>T~J7}I9yxD}+=;?;gEFtu_`a`h5jcQ@(}9Z3Y+_HEsWvE>rErX^?`i2sL;Or)_ll3dhd*&19A&(x;F&aj;`dDTpOnQT3UML}!E`9gpA51!vf97ilyjNux8FuGiPd#(( z?Y$73duC%;=RNtuN1a(2ycdG69?YWhr~#o5LHS=vdtUec`c0Gj_J%zLBT}u`X6%JP zw<=p|us1(BXcghC`XYlG-F4SoE#eJ4e_6( z|F|xlG^7{qK0hM0?e!UZA<)^oOLyCG_t^1eD;9I;0?OnC7Yyw_?0)HJ?%4Jpb|0#X zIW7&X-|aldjquGuHBY(6*I-Zn$dog-@q6<}mP%R6Do^b`dp#xe`qaG;cs)n;4JIEv zcS=Y259$4|uYseCme=u%>bh*g`yAV6Lv#9?JnVtfuf{m~x7huGgiQ;R z5-8lfj>rgFODyW9FP|6*<2RrFJz&8nA9o+t`t+-xecZk9`93R1tp+|O4$`>c z5X-+R@8S9+7mT*GSl(-TuKM_`%QuX#id**WzI=dRfko@tm9?*SVj%6vAsu~$Z7;Sz zdektz%~4j=H?|_YFnayIdd=P(&~*L2Pp8wk!OKFWe5&w*fOGr>hvj#bg5Wb$gzrp;JAywNu>i<>y$7%cjOM6_OZP1=q zH*LO_G>KBvcR>}+E_58L#%w;AG=`dWgFk^YciC`K-08)-@l;^$|e zb;}bUr?g?cl#~MpDD_Hscryp-TjS*A@WKsw!^dx1nXnlGogM1OZnjs+Y}Q5>F>)aH!_8;`#-?)mM#Hy?lH4%CmY zyV>@zlxrtAB41vVcO`trrdM(}uAK|`Zg&@X^XZl2S5)243)ygdc*^rD$8SD9yi{p; ze5!N3vp>RVKk4Y7kV|u?jEDYRem5ZQ;U{6zBF;`yW|3 zwjn$}OoILqbSZzOImR!+J4<1~ z{{8>{>-DeZZ;af(v}6KR;a`S-R=()8(NxsH&gZWBKu!5=4wBpr>I0{Y^S-Xz>*cl) z^S=Igm1JGoA!_B@9AyP-lFD+rZfLuggP2Z7{B%&aA?hfHVt$3y|EuglFS^+c@3zg4 zyV>#gv43b{R{kFxQ@3Mm9i#qMP_!Ied@b;%ivi^ynpr*~9?fCVEZihHX zX3~Y1^K{MIWN_RH`=LXfsJr9K-J~00c#cESH)z`7p79W_@o$rTqe2W`9)C4`VS2R- z%JuPU`A}e%VZH>^P^Gjqqh?rVI`8M{l&9i3lBGKE{%b?Mcm6)4#)OXbA<&&TCaE8n z4{QHE^sk?T5tMhxkLuV~FZ6(Mx7z(YsIS&=U61pIEXuppr`Cqni#euM>lR}ncg45q znB*V%$We~zk90ZPBwdV;)qmaXkk1Yc8C%h<)8~hVG>7@28;)px;46-1kA61ObA&p2 z>j#aX{g9WxaA8~=G2Xp@LBZX&E&pzt<{LggcxmkE$vq%wUTgSAwDYG2Umkn_v;JIU+&fef-)M{Fl>l-D2Ehs6Q(pY zR+sfKN4IMPpRDn(jX#yi(P*0zt^L4W&g)UMw;0>|4mzB{uhl>9?_`pPzcn959_<15 z`T&e9gV})ZQy+LBdKyROt)6Dv5ss*nFdds+HUOOuEF!sbGdwqhkwqgp-lT?RF;ypAjDHl@|BOb_Z5a+crEGj_@AlrgYQ*0&sk+H8_) z&T{P^(MRjQ&@~Os;`sWd7f+vyb>CkXVQ9cn9MO3Ei?J*}`THB;ZVP;O`Foj!yn4}$ z^M7!Cx;}qv{r}nHllhqkz>NR`GjuxUgIi<14Kp6xp%ru%d86aQnVsL2AW(NcWhxAr zz5Ao@J4e-;y*oZ0#{22wA6w0lRd;x_?_yn3zx^D_AXXptZyL3ggFH7eb*En3UuR!I zYJ6;1!~x@h^Deh2G<|cn$^6i;7r!}sv%G|#7 z_l6cG!j7>2NVb3F@w@l`0md8uOni5(ci-MV=>1vgyPj*(s@sEecRhELWF0eqw(is$ z96H0o9n;r<)Th3LD=`ynt@ z7MAz__5E>wcK`5Or;oWASPnbu1Fq-!tzPgnub(zQ`(6D5)dCYZqLZJDr8#AWG%jP>g$wfwoHo0DVLV>`tSMUxuD@4#ZR(bSM$){?G-S$_ zL115;x@AzK^YgOksma^UT;II^+EfVqdQ(ZXGmpXZ@~cZ$*oHHI(6Qshl!B~YtKXQx zAuV2((WpzA-*ok2v|)h%boHgx&)K}k8+~SQG}xXr&x7>7UhN}}q9w1a^$7K9JZT0; zTAPx(E@p#7<+p+u;`IH&^&>vGl&(Sq7L(6ZSzZjoJ zuo2i~1YY6QzQyp9h_qW~lkE*q_+G>t;eYeP;@=m2~ z%x~N`&o*si{%Ugjq04ggLkB#^u=@OjxE$zbciQz>eHiYK$&D6N`w@=cIDg*4X3d~b zb!^Yl$L{z2U-lyR^^5M_p7l4(QnqwxxS-*NXqW?nI;URa z(0{Xu=G3co*1IpqyaCMy!h;wv(n1DKS#WQ8FITnivAoxm_h-LeFnwA!xjud^A4VRN z$yFbKGF)3G`_=I9Z(w2Zi{)1*rML^nXwsJWlCDcG1#w83852{^whq5Mg=6}cNicr5 z!?iaia_CI+2g37cNpa5~hxy?o(yUoR!s_M5(<@4{w%c9L`^7x5Z5;=+H|&E>-))=c z#w2cA$B|#1*v&_(?Csj~d~Vwxm7j=v=6Emgk0k!lxXCFMRqL1k1jBph4os|=$FasE zK&kt^!8W;F!J(7I5De0NcTDPRn;2WTx^%jIV(hS8FkT=gsqi%pefsw=dXW(OBsQM-uI)Ev z-Lt=%G%_y_&JX-i&pJQtp$kki+Zo57(#Owimw6NFFAOb^v2$=|c!EUfD~&{O6hCTXm0fE@Pr%=2gAdNwv| zmXeaQu+xj17jq<9;^BFj{tbtZ=XmU8cpfi5eO~YWKWW!5o1bV><=u8Ub+ZfZwtsTB z#qGa<`Hl+Y<#EI3!Tdc1&|Zm)(~*6BR~*UO_&7Y@d}Mf}J#IzsL7z|KVABmPvhFJ$ zyS4VSpXc2iyY&T~9sJkL@mp(;1baN#z1K^HMX6hB&jCA?tv^bd4m>%5WBK-#F+RH9 z{;I@rE0&&}V|DO%NC#Z0@b4P`MM@gN>y7<>>-@y{fMj9$qxn#vI;bs*b%UsZQqRK`>jdq?uYTJUM~m>>%6P2Q$(SwJX)$??w3dmAmcSP40G${P$*X zZ0~*~%`2q!h4-^KZsoA&>rM?=@z2W}TYoxm#XldPag0t^e;POO!-4Sffc$YOtUa$@ zx!rnu5B|J?Hh%Ztx3&9kHD0M$&hZ{RZ&&f?;|)(u;7Ds;S=l{99`xON#TV`LZyi%o z-p@Kr1l6r#Ao2x@hY~$9TO|*1W;-dceUS zt$#eeCQ#SMUyTn1+8EjrQuK%c#?{K2VPC=m2`1DvDh8u&R@M0B4j*_l;P5jBz$4B5 zKiKp%hhBc&QnH|R=$26&l8xr|&gigg%j+Cc=6fH7tEZlx{p_$~Wv_Oc{cItOXYNzj z@#7xDnqPjk69hW@6Vlx_jCa0k{mh5h!{2%TkBhn@4dxzU=hr7j)^Xw)}XS zw{HWVhVd%yc8xO$qd6q`$mTmO>YqvdjAQJ!$o17b%gg_H`Q6rh{>p_5ZPaPA{(89o zMs+_;_>7|_f448qPx1jrs&2Pc^wAN+yXINAP?g40vwOW`0<9Cgk!7EufJ|D|_^q2hdaDM*Qe7MRl zWoLW#5+hkV5SwpKBHakRr#~}9KRk+Leytidk~cyLGeAvW6o`4jJO5O}_Se7c->AZGnRtv?p# z1BUvL%N_@_8yv7YZK+q>I9Pw6$7#=&9HRms{KsS03^3Oo^pvnE_Y|PcONI~a{(z0Z zqY}dk6+7&Vsu6on6_Zy!d6;*{QZV++bVf~v)Ep(rDQ(s zKs94e3u%4&vm}o1H%-~-LkzjYH@v^H(+UXsNA%t=?aLds;r-cQ58Ke6^+(C4(_=oV zPHALBP!Kfkit0Zy^bL;D@jV*B{ClqFQ~7+~|F=ECZF}fXbKAdtLaX^465OAoX8F;B zUB(=-o8ftxI(7Eu(tXWmZWu78^ZqAiZV0vHWD$AMf%@yeVg30~9~if=vQeIAM-Cn7 z9Qj^A)BYZz9PiBZ2I?4JB0sW5r`CT@NSbVQ+Qy3GFggPJ?|-dcaeqx7CHTOx0 zW8SNC*G%|IUHHn6?{Bfw7BK%{O3I=4J3SmToa3C{0z>*cT$nkILuct0Sc~+JY%rW- zUdN16;}`2bX^_Fe$4CECyVocCUgBuls7d6=y#5b=_8Lds!Fd&CtNL)F*P@;L{_Fvm ze^|8He8evM)0C8Ks4w(*&?}H*f+eKIh=gG0t4$HOcKd@cyOb zUz$I-Jy)Ld^VjmBu$L~dMJWn`ikwj1cW&$~pTzPkOr8D$hc2{ba$!TK9-fD{Ph@3T zUHYgKF^<(I4>;FLM)tl5>!Gp(@$F7UotSL!-g`K8ySmV7Gcg#?SH0jqZ znAd-|vHI=*VQ<-X_j*?UZS=_(vpJxDzOTKu8X4vD%vY@Z4vK&Es+~5CocS`xNA|o7 z52EJ2Qu02G->DbD?(c1@tg-Mx6NldT&65)zt<_K8lY@jtKn>Oa^G&lc4-jbM@r)XI z*6GgnysX(UpI#u@Jq=#s$?fs*vM0X$+Wf-(HG*9q$cKvx?F;hp`|@#^DBuOyVhE7o zll`;$0UMzU^MAi>WG1nuIL8+liI1#Huc{w>`%tvR;bHNB@dF8chDaRHFxbL2pIU9c6*j z<$Sjtg)lgny#GMK*rEf3&JS zA0a_|euCob+`r@r#S+Tft7R-d;C(i*7!^OGeqYu6^tF^xPjisa$9EWg(i7M2Iic0> zK6`F-(kpp#-)bkOZRGXEZ=rrzwf^0X8L(dMy=vYoa6i07vk2D0w+#Do{8Q&%c_?zn z_^0B}^;=EgdDAyI9QD~M+pNup5mER$hcam0Hz&eoe3bASht5LlPLy2wkACs=wd<7D zKl9RHj-52A%ji5gq}tch;Cf>B2cUeX5g`vg$1$(tk*}vb`uKZ#1Bc{s(+pSjM50Xd zCJj=F(!n_&we$H`Aju+Y^s)CV5M$tpjn4arB)Wplc8TqIygoI7xIT~%7Zuu<|8_oP ze!Aw@Y-Aey%57FZkVv9L6OHf<>Ia`Y>j!LfJ$%<%73}@*t><`labdKEn^|<(X+$N+ktbcP)Joq;)TKJIX&wlB}Tsy5($bV78uk5XW^^cJo(3+w& z#*#3Y<6ZT+i1uA#EJG)7Y)b6%buA(rtL@XRvzwdPNo6m)o!%3_+wqLq!7KI*x6#$B zw`Q>;y6h}&_v&3w;;3xwlOEZntNgcq96Fh_H%(`H5ZjkB*ifG`!rLJeACY3*L55({h22=9^?H@8IfHw_BA@8kKzDM(rtR@^+SwLRkAlY86QwR zqJ{T4GdbV|hl3^mg3La({yKQ~*w?vKX`=lA<5!a`?*`hB zIQ|a(|9_kR!1Hlj?~dS4$;V;ls}1mWTUY%+(UHk|y2IH&&gu(<#E=`4So&4h`{M7d zFBl*y7-DRK&1P7@g|_bI8OZTexC(YmZyn)~EYGnxdwX`|cx-t_$8ggA#H)m3USyZ{ z7sCu|8r2QH(lmZ;qq@D%ojv=W8l3go@TGS8P*5{iRu6Ty&sJn*t%B%&ad}bIp6mKP zwC83GeATlfM|DfMeV39>{zHbcV^-x4f%f)C zH{}yEHV#g5_D7AaXdmnu$?;xfmk4`JSNj|G?Ev%W#supP9Fp-ID7^IveFz5>?y!xa zGjxb~5CVZ52ocVf){~{WmGuf+?<)WQ2mHItNMSFVFCvH8 z7nyxPd)ABSNiDMap8g^ok)k+?G(KB*_aGck@%-rJK{yNs7E|l*^@Ky=`Qfi49L8E~ zJ)3{FgPs^6&<(p!`Rtxw_qAR1RpqM8A|-aV86n2`R$2R^)o%k|gmL#STeF}%cZ|M) zw+-v|!GL?dqqdXwfp!%a>>Kide25I79z-_q`q1veH`z~byIyHvIP{cTx`OdDTC7HoCZ zR}@0(ym$u6cgK3t(+<-g!t%eaXVzBci@$#++)#1yL&)E2(C@1FV%x0v_wz$L#De8Q zeopoeB>M`4<24-u!|z=AL&$sIvixzC*F^@eeV{PKPm7ApR*&U3Q1QR6Up#-u_23AQ z59C8+0QDfUf&LQpfO-%aKs|_TpnpI;pdLg9P!A#-=pRrIs0Wb&)Pu+d`Ulhl>Oo`x z^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE; z9z+IE4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE4Oo`x^&ql={sHxX zdJq{vJ&0_ee?UE;9z+IE4Oo`x^&ql={sHxXdJq{vJ&0_ee?UE;9z+IE42d_!|j5Isq}&(Db!mfwT+EftrjV?@W3WT%uP%}1d9a! z0aK>5Q?SS+3WAMRVk2xwAz0`HB3y92@y-75#+XJVhUlBy-Iv*!{V|{Soj0@D9UZ+A zOaMT+RsoJyuMh%QX!QC!DZt7lTt}}CH+MX)_UqmoxQpexi|cK#M){w)5f9>F5+FU8 zGysSP@h}OH9!wh4KS&Rx2a^El!K6X)f%HInFbR+zOd1p)NDrh3lK|<#q(Sk4^gwzr z36LI48WbN$52Oc^0O`S`@%Q6Hm|eaD9{8X@rT&PDdus3eK0y|5Ejc6q6|6G5-*^PP z8B|@CFyK=gQc6CYw`T(EcU2*|eyN?Njq?DJmDN`$0LQ`VGHq`&uVPDkzqS9Lyx+8c z3NMC%xbNQxKQ{2P{++u^n;NicQ%+A!O|3jq-FfxHzfNOP2!Mrn+Pfgvx0JFfi{ioZ zf*-;w)4&JXAmnnxQgxNl-K_-VHZzvydN+ou?MF;7RFo`8d4EzOvC(UHt7l zzUb0C{b~FE_u~U@FTxOD|FrLKh}Y+?wW^RURt#M$Dg2H8Q>j05|1(sKc0u9)^$%J3 z((Gv-jxcuy4M0`!L5E+5y2J0v*1ZEFsX6sXcoNUH=IIddzw_Vg_6OXHSr`3}Av=*m zycNqVTX?y3BW_)ip2(JIANaApzvl`)v_}R9lpgTY3u)m z;!19!L@qAF0KJiB=M%rs0JT5I>hL5F18(@5FY)sGp zq=&&F1j*DFwNQ`v3eFdx0TC>JQ|{~vZ`Z5t9GcbgB;3FGoIgHWb#I}um6Bb1HO421 z0fxrDtl)w@Mhk4e4dD3ex>=Ip#}ZtZtEf7t=Q`_{S=2z{&l|1N0#Dym6J=c z4Korer1z6jl4WzHuRe_Bv$!!HjE9c^ z^T9_0fbn2Fd<2*eJ{r6~m=DYc9|7irj|S%l<^%J=M}Ya@qrv%s`M`Ye5nw*}XmEaD zJ}@7A1egy#8k`@P56lN20p^2`2ImLn!-Dyc44bQ3LISsx91Y{hnM1F(@o3MzUy5K= zH4{?=*8+d|gI{R}V?MH&{7>PPJ* ziTia8+rqeRPu2e*%kxQ56b_#(7c{=56f5}B2Cj%*&knD?^GYzvvYiengu+ay!`#3x2<1< z#EL&ZpIqAzj=x8_F)z^Ml@bpl*Sg&$5V=aQ#r)OOw3$weg^PINtFC)su3F&CH&lyF)EA z`zw1Z`zga=e?y0BnF*>B9Q^{3?bBcvbs^WzUjZH>aE$42Sb=9h2F{DJju{0!rL z?-Wn_xN~kkk4Q=RywUGpJpT{U)x+lZq6KbGovZ)6cvSl*6ZrE*8Je$j2<|-Yk>Rs= zW5#rR*t)g8VhmLjI;!~)bh|n&{d4;ldoQW}&-6hys~0NIj|A{(KoPquEF7itSO%_JOkcEzc>BD ze7t}sFdp^8+!13Yu_y{l`d^C8!G9Q=^J_5`K9}UhA%m?O! Xj{x(*M}zYN^MU!`Bfxy{(E#`tMgEQ% diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/Succubus_Wings_south.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/Succubus_Wings_south.dds deleted file mode 100644 index f2dcd8387ff461eacfbdd8d6b91b0a12316b906c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16532 zcmeHNPiq@j5TB=4t(;nTl@N@fM%qJ3b8^*NppaF-r=AMEjl4WzHuRe_Bv$!!HjE9c^ z^T9_0fbn2Fd<2*eJ{r6~m=DYc9|7irj|S%l<^%J=M}Ya@qrv%s`M`Ye5nw*}XmEaD zJ}@7A1egy#8k`@P56lN20p^2`2ImLn!-Dyc44bQ3LISsx91Y{hnM1F(@o3MzUy5K= zH4{?=*8+d|gI{R}V?MH&{7>PPJ* ziTia8+rqeRPu2e*%kxQ56b_#(7c{=56f5}B2Cj%*&knD?^GYzvvYiengu+ay!`#3x2<1< z#EL&ZpIqAzj=x8_F)z^Ml@bpl*Sg&$5V=aQ#r)OOw3$weg^PINtFC)su3F&CH&lyF)EA z`zw1Z`zga=e?y0BnF*>B9Q^{3?bBcvbs^WzUjZH>aE$42Sb=9h2F{DJju{0!rL z?-Wn_xN~kkk4Q=RywUGpJpT{U)x+lZq6KbGovZ)6cvSl*6ZrE*8Je$j2<|-Yk>Rs= zW5#rR*t)g8VhmLjI;!~)bh|n&{d4;ldoQW}&-6hys~0NIj|A{(KoPquEF7itSO%_JOkcEzc>BD ze7t}sFdp^8+!13Yu_y{l`d^C8!G9Q=^J_5`K9}UhA%m?O! Xj{x(*M}zYN^MU!`Bfxy{(E#`tMgEQ% diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.png rename to Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.png rename to Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.png rename to Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.dds deleted file mode 100644 index 3103d85e1b3a997eb88648b3539dce679c418001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI(KW`&N9LDi6MverMHzftKQ&CaC8^|>&pr)ZjqDNQeMC7dHBGr+%LP>YY>i~&e zMiZznYD*vmYw>1 z7d=;0b$x8}tGZuZ4&rehk1yu8nRBb!-?6m(KWe_}O;%y~e%M~-Mys+n^jq}vet(0B zRhioM=l{5_FVqX~k$jPt1j8orIKZRJm-Xi{e|fpMy|(zpyl2(rC~h|N_cxYz=WgQb zy1T>t!~UzRux&N_qWW3IPe06g$W1$MTFroYXt|6Nws zP5*82U-p{A4o8CI#){~pwms?*?wz2bdKi-yg84@?XO?gzx(mNp3e63 z>9%L}BG!|is(KOYMN?m%tiKN1yPNi$6|0*p9)IQrqmj+n5aChBo17ENCm1$~$4B51 z^E$M=EaUjPC`;?_ZNAw1`iDHurrrC6koxZaU^AXC%IUOufA4v_dU0TX-5r1PexaUS zU0wMh0_}J2>lf74KUjZl;iq1lN0Zm-^fp`GWKI67#bVLS>*+r{|F%ERd&9!7Z}Y4A zA4`3czs>w_&im!9zaChBy*#Ae_~Yy9ht;dF|6k9~C-J~v-1XXZJ$PLNxcWqzLw?-;ZF~{y&tGx; zlH2k4`tw_{bNysrev;)C1dkW)5%POimQ%~W&##?sbAQj~tv}b(f0&PE{b^Xg9Y5qY z{tx~Cx<793C;0w3s}`lbV|RATzRPR8zqo&1WBr+0{dxQMAMgKc-oGps_2;9)hA=yi zf7ki(x(MJY91ruLFF*g+oBSL+{`cn_#^14Ogz>k39+=^`om_w#BX6vjy8PUT-DhZ#+IS zkC=b!jKllyra!Jqd!DxWeBEt*z8=;O<8RwU{CvRad{(|0HO~jb_}))jXT1OOgE)S8 zH?#h{H~gje>igKgyTaz}LZ#0mpYZbsNfRIs35HGL@xnd2dSGt`{Pm9S&yVEud38U2 zywATL`uFNGs^rb*1$^G^^8<(UzfC>K?fJm^eq{T8K8_#g-`8!BJgzPL6dwO`k63@~ z?tqO){PX$`|A1Ba zyn)Yu7%${DWuHgz^SU|mkB11*K7@mOC+PHZqERkI6P;xq^{N7oJ!5 z83O@@U>D|MbIG1a}@wAYbYxZ5-p!(gN z(%|7CmNe#U2wRHTHLQi*7@VD*6qClpdc$du2Hm0`<)X7Rb(5ZjM#c+O(9d&db9QBH zZ%l^7VxM2^aC~t9XK>0@o9aGeI_yg#_*7kSnw7)dob}5|PcvWXt@BsQUap)sLA#<< zSa&$ak^Wfye%+b6wPk~*6-=)OQ~leN{#@!WLK3XbuMd_RJ^fr;BV?QKY&5Z zbyP49qK#Q8c^Msk2eQ9@A+|1dD_bb(hdtd9tA{i2@8}<(?Or~0h@E~JV%2Gvh3|(d z7L-vJMxaOXi&eGT+s~F(l92Ld_@a_qc!-+5&WF68k!vM6>C`avf!%mCiR_K_0BNPI zAt$&sd;JVOG)f#1y>(BV7}(sGyg4Yl?VUWqhk6C}LI;b;oy?iqCArtsx>gYApr(ef z2Ia4@s7l2soS4e0t))(HP#)eha620kik?OW-f8J`N-$FOC<}e;9dLJ1qXJDtghPSRfwL|G%2{?5-cTrO^PoXweTQx?&2j2rWgxR!;?9T zU-(b#*)G>vI!ajE2sFJNv7TFAD#SFur~}@(u>8JLkhBXj`J|=@!?7kOPy=8Zcq(Ug zLy^xyn~q@Q-y4mazsu5YugS3QjKN$l-5}%pk3;j~U^l9EZS!S>&hdLW9-pv|`5Cem zhq3n~9ly_EGtV_fEtNPM9tt9bCFFbCirb@MH@Fnd8e@dceT?Ue{Zrj`a&$ec>2gtk z{jU-qMfd9;^aHh-m=1r~u diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.dds deleted file mode 100644 index 9fdbd210f1dcf81d2da6a850be20727839d68687..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI2y>8o97>19kLIxT@^w^=GGj&dHz*#)BbC-?C;@y>8sq~$ z;DZvt2c01tR5fvrBI{&r&h@2a{={kN6>()Z8fm0v&B zyLJ9P4|L-;y|LZo$$aqD#`&_1t@HhOBb&s*Lj5itUwt#ZJc=6$>o@y5c(wU>cG;gS z>nFD!AItX$z^jMj)AXmQ7aP^b@%+v5^=UkAfBoA2-H-SCr?dHd+U;3h#60=2s+Tb@ zQoek&{yJ>$W;$>dR`V<#f96JcZVekE-0OJdoLF99*d#oj0FPL&W2=`{9A6h@Y5l#m zi=D53sK?o~y=8>vVdZt>#&(|7y8hrgs1I@1B3tpHBwk!mn@b+xl;-`c!}G^}pWs%Ugdv zvi^FtPu}?BYxBeMD(wH4)6?^K;E(QlZMz=K?-Aho_i+3}{mx43@UQCM-qe%N((-5H z<1cNHzLj67f4{yxAN0=)*6Vv)JG>uQ8xP1K-*5jmzKHqrXB@vw?09_s{90^XU-soE zS-uYh9*>+ysNb8ioLc?+`nA(d&-bit{dxcN@770Je;U?r#t#!4|A+p+>yMk~3BG^M zs%2?+?9Lw9xAhvIFYaEiF@L6(KX3l}{rw;5{$;tWpXG%OVYVLsw)10tj{rP-IPTU% zfA*(8Kh@9P<9~m?Vf-CaBaFZO`@qTdyQ7!(zAn`JX`YAg1Jd&ZUEUT=&lkf;VWVH& z_`Z3b=!)9L8*krt?;}Uw`jJb>k2b$-iyOCR3pPK@Z%D-d;qk3acR z@Amz`KK*aXlZm|_=$=P5_w#Z5K>yx3NIiBe{1iO?=R9Km*wX8q^0q;DZvt2c8sq~$;DZvt2c8sq~$;DZvt2c z8sq~$;DZvt2c8sq~$;DZvt2c3J5#j~ZH9Se&AA{O1&2+HzT?Z1%PD%Atkn(bm@Ae&4)2QyggSpa&1m#kFgn zfA4Kza)0l>WvU6XC9hULJXLJ%TW8QRzb}&Uynbu_zTe^xx3gJ2W4XZi@VN}@gPn6_ z{kn?_?rxVEVYY~^hLWVnj zclyrTKG1u^@wS(7|A*x}mPQo|wN=aKOB}B;PITO2==p1A{L#5HM4R^(Pi8xt9R6;$ zdZOYML(ce;m(DvX8#Ur~m)AL6kN+oqYvXl-L{M`_OCo9EMkx z;{R^!P|JAy`crjr{J|R$nT2;Qytm(JY4hTWDfi^pEit-n_1#x4uGt@3>$-5i{ozy_ zPM3x6-xn9}xFo3FQ1*=_>*e0)@>e&)U+K5}ZLiR6UGyP5k1yP6(W~pm_Ka`--dlDq z>WgG+-G7N$o-h6%zaz7*x;N1)^pY0ZF{pGvvsTjcW>#=*o7Kf!y% zu6;Y&9K@id*(9-cEz@N4dVyD8wifNVc_aI2_1WbO_wUWS#LW6Y;hEw-kyqURx9t>a z2|l3jY68?km)mTk|(^YU+Gv zgZ-S>{U2)l&E4^D&c3R>AHMxPC}-Dj$7=aYwokQh-gL7kHocZ$-eYL7oBM!4-j;N~ z=l}aN{Oe`r$TMnbG6}EsEv~4ZIwzF-^}VJe$pH+nB%0MNY=l@JIBc88q%~J=(yZFT z8m@N{mZr3n9CtLnz=N0*XnS_{m0&PGX+H6o0-k>@{Zp9jPLVz9F@2; zpDEyaP*&More}^i^RD~7xKw*huDLmoL26Y2*9?)yYY)$V&;I_to$0~>r-pAKO;;ih ze^BRsm~X^)d=bMHb56gd{8x+S>pJZ$X+CtHlXbzwQ_CB|F4z+3od@`u}hf2Ul#{YxWb`=5XP=7#sbc2{qbvr0a6 z+gg+9Vz2Y|3jT>7zMoxk|JdHH0~QZjH!8ng5UlpEOziND6&!PT>r$?(Z)V8TSN-H8 z*s<;0NtKuKEcQmwD~=&TWu-Pgg&ebxsLQ06Qo+Bme*a diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.dds deleted file mode 100644 index afec4cae89585db4ea1c63cc74747386ef631379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI2y>25_7>1AKl`W94Q*LGNB|x_{p-BS`1r0qnkkS#W>{uyMLGFOdK$MQS513J? zk?F=-%d_A4nbCVf4$zv(@oXmJ;{P_9abLMz1F1~y7&N(+c`_#FfE%-ls>K1+T zz{eZg?v?#reE-GgJKu7){ofz#U;Xs&aA;e8yczAB8$95l1n@y=kRSMf4@v+Zlm_{L z5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLl zACw09u+xWSdl!jYhxJ{1**vX%$^9p}Zt#FdMqp?C$rjJDzN=rW=kjKJZtY^#bL*yQ zQoC%XwY6e+*^5!cn|E!}Q?&Es6O0B6xK5Gb%%U zH4m$+N&5Vu{(S9Qe{V0(!lOOj+oFHa{^Ir{e@3zX>uT=D2g7AQ<$(o4JzhII|9INn zGwlvVSbzsSlz^`v8_yS2b${3R`VRGO-Fwp;h5lbRw&f@LvtvAA{rBtZO)u87-+!A2 zzMc;`UfACE|D!lQXddRbx9NI8_vgn8hwM+bVS9mLi}3iL^YG*8=EK!&7C)!|zTe*ePtKv`Au-lZGHdhgEP zh6MPV1BC}Xlt3Ks|2Uh~JNnO5Pucd`u;neE(s*KC-H+E6AzSsntNxptcyPbJP|vn7 zus1IbsNZnBoB7=GW9_$(*DDq`slD%fS)UQu`aZL@JHBt$X9P};U#Pdbsw#gyefcV{ zzvCeSyUH@5Czfa3ge%bEd^TTbgZ}TL~&)Il9)N?Vf?Ds-@r1?b~ zZ?xANaeEv8`}OVirCl#r{kr)3f*x|`=S%a0Vf#3LQQ7hQ`^%l%%MMvDFl-SXFOWx9 zKlc5{dL2%#zcCP2kD)%Dn{4FzyuH5vxB0rTK3;`;pW@OY^z?Cmvoh4XzrINOcZ0V@ zJKoQ>&%cgsKkfbJOUC~#ChE5(5nthP1dmj|rM)%gft%QTef+)6=fmcMjTh=~|NiTb zUjyGR53HW^!)>=?z1q&~V!fTeAJ^6G)EfSHVZF@{4y^H2x?fQC*{!$x6P(=*ZbUbfE&z$?RX8vexkw()eV&yCe((+Ygzq%Rhdq zcR&BlLea8}HjQenl|tGdx-n@f99N@M!z@ zUBBmr>xJ5W-1GD8Hs7D`{xtGU&YANU7`6zH7tSM%#|xWJ594WH?@iw(^sLKHessUL z)BjR0dAY#j6nSiq_ru-(&ewO>-&-C~@A!R+e#<#Cz7ZI<2oHED0enyz)CWG`gA%|8 zr9nR613oALd{7$X13ut`62J$gK|bIEJ}3cvP#WX|KH!5Azz3y4KHvjBC;@y>8sq~$ z;DZvt2c8sq~$;DZvt2c8sq~$;DZvt z2c8sq~$;DZvt2c8sq~$Jk5uXCf9>B diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png deleted file mode 100644 index 60aae1e65b7886f6e7af0f88865c6a5919de39da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1342 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBK4*bPWHAE+-(e7DJf6QI1*qn-r;B4qMcmt48z((BVPJa@+t$_9)YUcX zd%c)e)QT5*ZITZpCTy9eY<((E>9psyU;AeEyxr^at@7{xO~v1tfTj+5U~}X3mK2}= zte0P%e4V{ZCq|n2M_QE83e7jB&(9usm{A#Y;d(iftKkkezB956nh#!EH{M#zcziKK z$0}8Wi!AKR7*3qK^j`154-p3L_cfX)7&RHZreAs=_F#bsL;9)R4E>D9moY?q<}nap zJ)nH_cDJ|wJBQoB!teh0OU{wwtcum{F1Rjd7#8oc%dPy$lb~6bXEaB)6u#bCWcJNn z>%Y>&s<&r2mrj`^$@I%KmsPRl{;{LC!#3OG-8!MgIDhK*E{(K(0eeMos ziD;iNzD&t~LGM2tpPGGa&i(23vyXE<6WzA+nfO7&rww(U(dvcI{?|qIN3EY|P-6N= z_tVB@y_q)G^Vr`p94pcMV;E!k$1q_w)9y{G8xHLgRxh)${8PVVttZDn{>xcgzV3Qq z`8)l!VeD>Mi_TwRWz_RBWboDFk4tG93d z@j!;h5iNQxpO5dc+M74=SeN7ZM1H+itG?Lk|7W#Y54mwAC@9wKZ*!gX_cDJT|Gzan zpV(C=)P-@@z1{nMW`C)7=Y}N=$2NHQ%_R-_T+F zfBsAMxoP!w=Bx(O<}ZJ$mt;8Q>4tmHewv(Ts?kzx&v(?>=aK#Q?)l_gL)qhNkAH~1 zQNE}9rX%|b$91_@FQ#GOWW1UYS%DFLGF9w_4V9u# zta6OLn|1&5tr`4FY}7XY|2OAGVW_vluHp}?jw}B8{_sg(uHW6}cWf>H56($glqIlO zw);WO{BkW>ELTC!cke5L)O))6xvX9;G>!Gkhf!O-58BNR^Cz~s-~kUqVBPYp z>}ppwSyk7Ev3^ZAE4uQ#)p7Aq%B9cT()+%=@>wIrzC0MXCLcHXx*Z?&=^D7*!UG=S z)C6I;EVrG{o3Zo9eq2unUu`Wfyni9azVOrRz`3np`t~-R%`&$e_q*3ie`NotIV
  • 1m1}rQvbhl!z%jU|Ff7*l0LgUn4Qh?2Ti`UT9p2`V(w-0>o1E>TK`uI z@3Ucbdg9+n{S`nyU%`-Fc)&vwxT=S;Tj*Fe;~y(IeaG>;%>2puJmx`oam5zX!g-t;+r<`fQKe< zBlM8Q3!&bjzNgXou3!JND&`>_o;v@xPxA%YUYt*q@k5$V98A*nhVUkRJ}|zx5$zw^ zEZwMYN21-r;~E~(-)%}<+n*@hU~iJ<7wyX#U&F%?z+VQ(&Gd)vKg9mPK@}$)HZS`J zZXk=1q>Dg%--7m5hd_HO7_z%=JY@X8@0!f*mwqf)_zt`AeC4yB!&2XP{tn~+Gy#zM z^OMO$77xh3QG0mZEa88z|Bv$p$Ftcitrzar4=-3h98j*CKB!MC@b3Or@aV_i!)5F5 z^TlDe{wMme6z9v3e%@a1H{*Q)k;;+@|6@G>{_ms|x3@x1>WDZV1w(e%j>onByR!aA z9l{&0fA{&dobRQ}-_95E{hOZvoi7@_WJ@H-BBggv=^61t1xPvM#0BYys!u5Q&m#*i9 z>h=D8&FlI7^ZUOaP}ctJB>FwAH(bd0Lgo*c@3YPScJfz!27Xg8WEUO+A^KIX_ji-H z;Ah-iUe8~(m-zenz)+OiwPpFbkbIRe+?H+s;=1{S%kzKx)b^hC&@|8|dO#1F0D90g z$OrU*9y9^;plOf~=m9-w0_Z{0ARo{Jde8*WgQh_~pa=Az37`i}gM2^_=s^=e51Iz~ zfF96;CV(C^4e|j!pa)F=J!l%_1A0IYngDvxG{^_^fF3jf^q^^w59k3sXaeX#)42Wl zFml-=`I3YDPk!!+{CrIN->vqiz3+B=KOY_MeEIxICSTVnLI8})_p5skvLEEDzVhe1 z<^S`vcqqfe5I`RW2mY`)-~kUqfV?m`@Q1|#4|o^?wFgWms z#Q_g^7y{&l!GS+44tT)B5FjrM4*X$pzyltJ0C{0>;17!f9`G;($P0r5e^?ywfQKPK zUKkws!{UGkJPZNy!r;Ik76&}wVF-{H1_%DIIN$*fLx8+6IPizX0S|Z>0_26kfj=w` Jc-%1_{{lUcIR*d# diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png deleted file mode 100644 index f3be513a11f7a6472671d0e7bd3cae8409d64b6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1481 zcmchXeLT|%9LIk@Pn(|%*yHJ1#;ba3k=pC5o8TRi1OSMh zjRX7QS*HL%JK~TB_DD*EO!VUCF;Aq>!+a>iWobM{=gw>n~}|rxC6}e z@$el%61t1=9pHM%vagUpn}6$R%W4PlnWOMw@SP#Wn=Y-I_nKh%g_CA&K*c3CoBb#m z^s{_j@-ejG#uHT-p0bH!SgSb`J>3FLJR31ngca(0J-2vk&ynHd_Z{ z%N%zSk*SeTxfJB{YXOAm!oI1gr&@_M9Y1Y8q5dOZQhgwDq{Da*Y*Db^HD5{c4`OqJ%%+l2Q8^wvsc(mlqbSl8fVh{3xg3*JMZZfJ?` z=IR=Yq|P?x=ho892Nybk5#ieK=;$a5VBW^``qK8=ob?^E?L?&6Lvx&r!>Bx~4w-n$ zu-E|ya~vPuiX%Qe_|j%*X=y1mi+F@DmbmSTxQ?hI#6#yrDii7I85u*U4!0@;gXLoMoMvXm z0Qp$6-MLYU5bdeQxa>U(cs3YxZ^lc3m7!Wi?Z|>b+Z>lpK-B6U{yuZst^)H>qbB?Z zGvur#M$%}^lEY%>;ETvhDtFJwXV&~EatHNuShyWz0n}dkJ>Q5A M;R8I_xD&tq1LpdAhX4Qo diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.dds deleted file mode 100644 index 0a016f875b41db5147fc493d2747c948d32010d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 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 J_^{tT`~zo;cm)6e diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png deleted file mode 100644 index 91b56413c92ade081448cee25b39bb3e85240c04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1359 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 diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png deleted file mode 100644 index 60aae1e65b7886f6e7af0f88865c6a5919de39da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1342 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 diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png deleted file mode 100644 index 0c9df93f95d06e5244e68fe4704069833fefedf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1378 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBK4*bPWHAE+-(e7DJf6QI1*qn`r;B4qMcmt4j{T2KB-kEEMm%Ua(kL8b z@%exK>3J5#j~ZH9Se&AA{O1&2+HzT?Z1%PD%AsZH(bm@Ie&4)2QyggSpa&1m#kEg+ z{#{jK*Za8m%eoKjUR()xK3#0>TW8QRzi%h=ym+qvHQ)6Qy_b72L)d}6Wqz?p!}GGD zFXDAxTn8pc|9YS=P$$H?K-um~vL9nbTz7Q+0xp9fhItW{f42YL?85k>TkAjzQ-O7% zwcYoI-5Zp*n6v#kH2=}GthJsq-qr3)lzV-)MS4-M=cV(1wB8+ABk?A7wn^r^-4eHF z85bFEG31OddFi~PvT=pPHG?nH|F_l2d=Gxdr#ttvq(klWL-N+2-G6=G;{^kF^{Efb@8Gru%!k<>(78|@P-)X(2^k@7h9ZMGS{VBE4c6O9V8S{(e+GP(@MTf!_4R_s{T{bx|I^&ox;6RZ0+9x< zE(N#j)d!xOm2a`CT{|b=?0eMDsLz@Ywr^kl#evbHqq0N4_1B^Ox$9USihMYI;cQu` zs9ZDC2NkWkOpoGujs+ihzJ0lkHS2=|Nh?k#oS$$0>Gg$6ja%(kZ+cVA@yvYTUy;5` z_uIZb|8n(p>-P8j-##!txn}AsK4E?G^9UOb?wI2e4|)&YjAdx6Tx^?d^}pVw`q<+K ze>eg>1!rXB&N_U1^^-MG5#PmBfOZBPm#{hbaH0kS`=+lV0WZHyxFXa2IGCX?Isa3Z zO8779#SAiMZpq&0J1fWK;JVo$@25dR=&bIaA&h2$46h`eBR+;#T^Fb`1L{y`{k2%> z!iyL0!zJbhGTgc)wIcg+>|U-PrfKma4W~Yxi&6G?UiQ;%_x~fh&mQ~}Y1lO_X!C0k z1OB9sd&-=quiN}hMy7}9LO^Tqfh8PU`0Dq??XI^MXTPHVveX3-B mV&fZ2t_W|!g;9fTT--l)zHhm{9C1PkAoZTEelF{r5}E+pBQzNR diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.dds deleted file mode 100644 index 4d97e53052bcb5c61624cf653309f92a0f5a6f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI4&5ImG7{;reFdIVHUJ%4U*qMXi#e)h$1W6*~;N6QigC4x*;31JP(?bF|cu0=k z1kd>+CVz?3u8`~GJN?>gsp z_AWSA*h=`>tXmDq7o3K6+&TN*_~w(3PyCa;<6FPCO}%z=ytJ(!J&d$+g9kiv0_Y*9 zLHs}u=piS79&#GQ2lRj*asucfr$Kx`59lE$fF5!h#0T_%9&!TcA*VrnKo964Cx9Mu z8pH?mfF5!J=pm;;d_WKAAt!(yavH=3^nf060_Y*9L3}_D=piS79&#GQ2lRj*asucf zr$Kx`59lE$@K*FNUw;+hR(rF1<<*d$*%uNE@4IwkY5yPTzCFdYxsUhXo$nUkSLB&% z>u)80vwPtB8H{brkJjH+UF@z}e>Y|22MNn;Z*X`1q;xay!xvJGZ_`ao2mh!2N7MZ# z9zP$1c+vRYsHxKzR$ct)yIU3?2Iz0g^{0o3LOI{2f-a>7~>0diO%*pF4|u_^dTO-?(1`Y zApmc|ar%1K)4%=mr}B7GSSi1nmWSo>gW`C3Y*qAA*GGH($>d46{wlQ}7R%+bO>Y`6 z?nelmx*p{0l+SOPZ?(5@Rp}OP6yo5B34Ek-|oc(uP5d-b~S zf!+C)A5XpCvBmYt=w-2mVkT@PLO9AYKR#{GmAD0S_TSybv7tLvg?Z z9zuY4Avo}d;(!M{gaGkEaNrNc0S|Zx0pf+=z#obO9`FzX#0$ZJKNJT%;2{Kv7lH$S zC=PhQLkJKr1PA_59PogL5FlO%4*a1w-~kUIK)etf_(O5P10F(vcp*6OhvI+-JcI!8 zLU7;@#Q_g^2m#`S;J_b>10L`Y0>lf!fj<-nJm4V&h!=tbe<%)kz(WWSF9ZkvP#o}p zhY%oM2oC(AIN$*fAwawk9QZ?VzylsafOsJ|@Q31n2RwuT@j`Im55)lwcnAUFh2X#+ ziUS_-5CX&t!GS*%2Rz^*1c(=c1AizEc)&vl5HAD={!kq7fQJwuUI-5Sp*XgV$3Ha> BVG{rV diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png deleted file mode 100644 index ea33158b4476a5f00007b614717162d44c6a4686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1483 zcmchXSya+_6vuym1b1p=vQnJM4Vw%BrCic-EyXQQTAG^DgiDK|Qf?G3rDo2kmATL) zb}YwCskCy+BhaXsW{uR4p|LcYn7G#9G7t>C_A+mC&$;K`&pF@k_uQvj5*F%@G&DB^ z03b;LetQ6bv?~Pkb+scly(#ev(f0WJ0QL)u4_bgHd53rdaJSq@br7LtgVcciGyqn0 ze`%ZmM`Xp#h+>Y9?pg!F{MkyzH7|a7{Z7uv-h_4Hz;zRUoJxWmhG2!4 zMsWD8HW#)invP*?=iGQ_ZTMBtkF#AwU(!Qu{Qp|yY);C^MmcWieKzyDFlS@B&t zij^xaR5f-tWELAAugRg&J{`)|xBd7`AP_{}SpC&~SV{BYNIC9K@-0C#BV}aiy*~C$ zX*&GkN{dBzcmBkcqT1~OHXcSFdv|Rqb*#5^vF%~TVBE3fga|I-UJQRUxxD`N3?PC; zJk4|zuEM3UBb470L6!BGaed@Ww@4&%G|he5>XnF(F_k0KHwQt~`Cww6^Awdz-QBv} zdKUu??ycghu$Mh6;oo!^Np|W@V4oY;>uRDAI>MrB)Timj3$cgeT|yK|X>G_U)Nt28ocm14cGLM}$XUn*gx zu~=KQy1UecR?@r9^s^CK5HmTmi^YN?ijWUJ_Cn`JBTbpNR=;jb$(msz{F0`ft?pPZ z98jA~hfGs1%L;6P(Y_?mWgE7kucQdC%7bTM@{?K4$hCOoL?oP^iLdW;bfq*@^g1^A zU*rvyU6+nH(uI;mb4^GV`YGK$_lm`%)^jgrTOeZn`PO0Of?GbHEOsI4pXqs*)`W(-i@=MWid-aeB@l+64i%Eb@>S_XpSaN0n2o8OK z@wz>oS>U!nkdkoXLVplrN4YtO~FqF(gygL zbQK8pVZ!G>zJJCI$~2@vc2*&o}Yx3;$?#(vzjx~N3*SWEl(Q| zoYqDX>P?8JPM^QfW3^n1Jwua^Q!FQIH|v~yyD1zRMt$`^{u`ynIGkFiu~K$8WR0%g O7d>fbs2|&hT<|X&>0z({ diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.dds deleted file mode 100644 index 737d3b062f605a20f18f6496d36e2dd207032e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65684 zcmeI2v2G((6o#+K$`MG|DXE-10(4YtlZu9dhMpHl>1bD8Taicw`vyD%6{2*+3-AOm zqae|t(2cc`hjZ?ox&G}~T01h>Q9esaW}NZNozLI-@4Yi~e*X2@>kz{6$wwh{Y{7r* zS6=kh4PR%r-3$9U|K_t#*M8*W;k)13TSv{?@zA!sx*6-s+~5HZC4dh~gZ#h;d{6@T zpftz_e82}KfDcN8e82~MPy+a%G{^^hzy~FO4@!f4zz2L#0{Eab$OnAD2PJ?HN`rjB z2YgTh_@Fe%hqXT3wNH_R`}qI7ephd|e!=r6%euh>9!mt))}L&#lmF-XwR$eD`d`@k zc-9H`bzL{>MSWV?T3Vm?$Mtb)!~MzW>${tN2=m&XD6{&1-@5I8ULTFBNqPdUJzf}u zi%|cQ@?+QM$Nn;bo%oXXM*sNacsBJN#+^`1-!}DqRn~8s`cCy*%wj$FV*ft1`nJ~( zvHs<|_r*t@f6SX{zwpn;v=kHZMNkl1P7_ z1&>@my&~3EeLK4xH0K}d&uicMd;7B&9;tmjZ&9lMs+{=v;P~#S$pZ_7s(&A>{i)gc z_fFO`pOE&S)-U4m^O4fRPL3!0WPbv~7U8jD9;v?{m*vgd+Uq;kyLIn%rx*MG<-;8Y z|5$(C|M$}PpuU}4UpMmwZ*Q*G9gGKBJ~QLv^P7~1rNvLmBR$^n4vu$-yroUlpTMxi zC(pyj)AhT{;V_+-pHCXkSIPI~(>=WNjq`z`w1Tw$IMrWnzYPht{(e%uhw-G-yKm+{ z#wU({9L0%;K%K8|=J`l>F!k}r;qf{2?~nE^5!l+-rB6R1k7E758V;*9{pVBY&tkn^ zO(v6@{=Jo8(?8E7yrR^YA`h$93t$!a6)K|^b%7%ZQA21&H-+kWp`+n}* zd;RyTvMhZ*eet55PlvAc|I^d$`_FywT+9cGc6@H<)3f)ZPKc6=1; zUDj8(k32)S+nx3+&!c_tkYjRufnkgASmBZSJG-3r%lCgwKhFJUS^j!jeE8$j;I*jV z=6*p@{&ns3zv1_tKX2Qo`tE)g?{75g{o!advYmZy{dt`K538Bo{|wVk;$`!JyuEFf z<{vhB*w^(^YeW0O_m)KZ3y(ECR{ihW{kGAUwxRi+`m->Y-=zC-{_(VZy8gbryZz^d zx3{+WOxs^;d;NSiX>WUe!LIkGd@L`Aeh(zw|De7X5I5qv*nBhoY@Z42g>Up<@4tt^ z$nU@V{WkCa=I?C0P<{3HpTGYc+t=31AzUwrc~$s){35)(J8kl-JF5ICq-H#j+iTAw z#rn4Kygly_rdHo+eLQ<(D_-xhzmNAr((@4cn@J0M`F^Ag9A9AAB0T;B9;sf^cskZs zzFv^W2i>k+Y(JFwZqr^Tk?P-z+eR(9oZ}6uSQ@wj%-#p*wJCPTD2@G3= z$1~v3_Lnjq&ez9d|5(|@a=+eg&kHW&zz=vV5x|cn9EV>Y&G>k1*VE(ke_rqP(Rkwb z3+(0JXTIO={cC)8@r(5Z3txf2 zfDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&v zL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L z5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLl zACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z= z_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09fDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2 z@Ih&i5BPu&N&p{}2Kj&w_@D&vL1~Z=_<#>e03VbF`G61jpak$iX^;>2fDcLlACw09 rfDibf1n@y=kPrBP4@v+Zlm_{L5BQ)2@Ih&i5BPu&N&p{}MhO1`7>Q{~ diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png deleted file mode 100644 index 30e0e28c6514fa4308b0113ac84eb6b4f6ec7052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1342 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 r56AxUe}8=c^}n1k&i~>gTe~DWM4fX%sRv diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.dds b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.dds deleted file mode 100644 index 24496d0ece2be4d20923a2629ec910d35e598a0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16532 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 Xj{x(*M}zYN^MU!`Bfxy{(E#`tMgEQ% diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png deleted file mode 100644 index ac55d173362b16b8b82278d96f0327fd0829250e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmZ`(X*8P&6#ZnXMQ!a^GM4Df=-5iE(JDzP6I7ytB=)gXRa&hjrM1*ljiQ#J!w{j1 zT0){}BuXu^&j@K(_5G#Ja9l z1Ob4!mV>ReTa51_*9*n7oXk&dY0)BBIUSz+)J_N>AFDpAL3qoptU z9ri{abw?E<zZt>R)zw9Jb#;kM-A7`@@ys=-fx-5qg-_Mk7Zl@BN+p&G z&r8$qM-<3YTuwS;UOcI&5k)mid-gFH3|vY|$}T5tyo@|uYP$8f8)2cS5J>2y`pe(( zth`R~j|n~&Xz*BcwEW~dl2qxt6i;3A>XosvJXck9jYw~EL=&Rj&3G(A1=RgL?iorv z;)#uwk`I|IC{df9xIr@H?nJ@&5E{p=Nd2w$I6WDVL;Bx*J){mMMK?2UBVYR>+mC5a z$Q}!oX+j%!0u|!3>QLXO!^6V^*4d7SufQ-=MR(3XfG&pCmv$nY8(d&kd?pwkQoJ<(q@g@%YY%q2nByr5FYyQNG&-!xi7f{UZ(c^u)m5Zi&q z!AjObva^Ja-d#9`Kk4+@A#3<{#e)R}ZKW+Hvt}ms`Bfv+4&FIPZgd0jz4>HgZ6xOx zQpW=n!D<#}X74A%1dZhJ$LnM1tcH>mt$@iLhi8`~th>SY*QXulmtmGG z=acv+*fi0?4*VKqRO)TA+n^8GFV(JKvdL&i%1u0O?Wxzoc1!inCDa~vlub1~GvzT1 z4Xdr$yfo?}Jry-I#HmVf5<$pk1w*HZVLoTK8p>!?u);aGp&}!?`O~JwlI7{L^w4r} z5cO64Vl7D9n!ib8JM~w`%rIl_DcdCB)LmpUCI8{3z0$(`g}gU$nypi3ndPwWyV{Z5 zw9K!I4-)ZV4T`0vcp)!;IYgy_74UlR&^6^iT5A1#66jaPj8~Cah6xuZMi_OjWMv1e zO-#?B;!t|llSb^Ew1=^`=-MkpL@+5BLoD(ADP=aCoeCFJfeZOd>$VPjl4WzHuRe_Bv$!!HjE9c^ z^T9_0fbn2Fd<2*eJ{r6~m=DYc9|7irj|S%l<^%J=M}Ya@qrv%s`M`Ye5nw*}XmEaD zJ}@7A1egy#8k`@P56lN20p^2`2ImLn!-Dyc44bQ3LISsx91Y{hnM1F(@o3MzUy5K= zH4{?=*8+d|gI{R}V?MH&{7>PPJ* ziTia8+rqeRPu2e*%kxQ56b_#(7c{=56f5}B2Cj%*&knD?^GYzvvYiengu+ay!`#3x2<1< z#EL&ZpIqAzj=x8_F)z^Ml@bpl*Sg&$5V=aQ#r)OOw3$weg^PINtFC)su3F&CH&lyF)EA z`zw1Z`zga=e?y0BnF*>B9Q^{3?bBcvbs^WzUjZH>aE$42Sb=9h2F{DJju{0!rL z?-Wn_xN~kkk4Q=RywUGpJpT{U)x+lZq6KbGovZ)6cvSl*6ZrE*8Je$j2<|-Yk>Rs= zW5#rR*t)g8VhmLjI;!~)bh|n&{d4;ldoQW}&-6hys~0NIj|A{(KoPquEF7itSO%_JOkcEzc>BD ze7t}sFdp^8+!13Yu_y{l`d^C8!G9Q=^J_5`K9}UhA%m?O! Xj{x(*M}zYN^MU!`Bfxy{(E#`tMgEQ% diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png b/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png deleted file mode 100644 index ac55d173362b16b8b82278d96f0327fd0829250e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmZ`(X*8P&6#ZnXMQ!a^GM4Df=-5iE(JDzP6I7ytB=)gXRa&hjrM1*ljiQ#J!w{j1 zT0){}BuXu^&j@K(_5G#Ja9l z1Ob4!mV>ReTa51_*9*n7oXk&dY0)BBIUSz+)J_N>AFDpAL3qoptU z9ri{abw?E<zZt>R)zw9Jb#;kM-A7`@@ys=-fx-5qg-_Mk7Zl@BN+p&G z&r8$qM-<3YTuwS;UOcI&5k)mid-gFH3|vY|$}T5tyo@|uYP$8f8)2cS5J>2y`pe(( zth`R~j|n~&Xz*BcwEW~dl2qxt6i;3A>XosvJXck9jYw~EL=&Rj&3G(A1=RgL?iorv z;)#uwk`I|IC{df9xIr@H?nJ@&5E{p=Nd2w$I6WDVL;Bx*J){mMMK?2UBVYR>+mC5a z$Q}!oX+j%!0u|!3>QLXO!^6V^*4d7SufQ-=MR(3XfG&pCmv$nY8(d&kd?pwkQoJ<(q@g@%YY%q2nByr5FYyQNG&-!xi7f{UZ(c^u)m5Zi&q z!AjObva^Ja-d#9`Kk4+@A#3<{#e)R}ZKW+Hvt}ms`Bfv+4&FIPZgd0jz4>HgZ6xOx zQpW=n!D<#}X74A%1dZhJ$LnM1tcH>mt$@iLhi8`~th>SY*QXulmtmGG z=acv+*fi0?4*VKqRO)TA+n^8GFV(JKvdL&i%1u0O?Wxzoc1!inCDa~vlub1~GvzT1 z4Xdr$yfo?}Jry-I#HmVf5<$pk1w*HZVLoTK8p>!?u);aGp&}!?`O~JwlI7{L^w4r} z5cO64Vl7D9n!ib8JM~w`%rIl_DcdCB)LmpUCI8{3z0$(`g}gU$nypi3ndPwWyV{Z5 zw9K!I4-)ZV4T`0vcp)!;IYgy_74UlR&^6^iT5A1#66jaPj8~Cah6xuZMi_OjWMv1e zO-#?B;!t|llSb^Ew1=^`=-MkpL@+5BLoD(ADP=aCoeCFJfeZOd>$VP(); + return gene_LifeForce; } + + public static void OffsetLifeForce(IGeneResourceDrain drain, float offset) + { + if (drain.Resource != null && drain.Resource.Active) + { + float old_value = drain.Resource.Value; + drain.Resource.Value += offset; + PostOffSetLifeForce(drain, old_value); + } + } + + public static void PostOffSetLifeForce(IGeneResourceDrain drain, float old_value) + { + + if (drain.Resource != null && drain.Resource.Active) + { + if (old_value > 0.2f && drain.Resource.Value <= 0.2f) + { + //TODO: Mood debuff + } + else if (old_value > 0f && drain.Resource.Value <= 0f) + { + Pawn pawn = drain.Pawn; + if (!drain.Pawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_fertilin_craving)) + { + drain.Pawn.health.AddHediff(HediffDefOf.rjw_genes_fertilin_craving); + } + } + } + } + + + public static bool HasLowLifeForce(Pawn pawn) + { + if (HasLifeForce(pawn)) + { + Gene_LifeForce gene = pawn.genes.GetFirstGeneOfType(); + if (gene == null || !gene.Active) + return false; + if (gene.Resource.Value < gene.targetValue) + { + return true; + } + } + return false; + } + + public static bool HasCriticalLifeForce(Pawn pawn) + { + if (HasLifeForce(pawn)) + { + Gene_LifeForce gene = pawn.genes.GetFirstGeneOfType(); + if (gene == null || !gene.Active) + return false; + if (gene.Resource.Value < gene.MinLevelForAlert) + { + return true; + } + } + return false; + } + + public static List GetGenitaliaResizingGenes(Pawn pawn) { var ResizingGenes = new List(); @@ -44,13 +108,19 @@ namespace RJW_Genes return pawn.genes.HasGene(genedef); } + public static bool HasLifeForce(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_lifeforce); } public static bool IsMechbreeder(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_mechbreeder); } public static bool IsYouthFountain(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_youth_fountain); } public static bool IsAgeDrainer(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_sex_age_drain); } public static bool IsElastic(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_elasticity); } public static bool IsCumflationImmune(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_cumflation_immunity); } public static bool IsGenerousDonor(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_generous_donor); } + public static bool IsPussyHealer(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_pussyhealing); } public static bool IsUnbreakable(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_unbreakable); } + public static bool HasParalysingKiss(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_paralysingkiss); } + public static bool HasSeduce(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_seduce); } + public static bool IsSexualDrainer(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_drainer); } + public static bool IsCumEater(Pawn pawn) { return HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_cum_eater); } } } diff --git a/Source/Genes/Life_Force/Abilities/AbilityUtility.cs b/Source/Genes/Life_Force/Abilities/AbilityUtility.cs new file mode 100644 index 0000000..77fba03 --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/AbilityUtility.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse.Sound; +using Verse; +using RimWorld; +using rjw; +using rjw.Modules.Interactions.Helpers; +using rjw.Modules.Interactions.Enums; + +namespace RJW_Genes +{ + public class AbilityUtility + { + public static void PussyHeal(SexProps props) + { + if (InteractionHelper.GetWithExtension(props.dictionaryKey).DominantHasFamily(GenitalFamily.Vagina) || InteractionHelper.GetWithExtension(props.dictionaryKey).SubmissiveHasFamily(GenitalFamily.Vagina)) + { + Pawn pawn = props.pawn; + Pawn partner = props.partner; + FloatRange tendQualityRange; + tendQualityRange.min = 0.4f; + tendQualityRange.max = 0.8f; + if (GeneUtility.IsPussyHealer(pawn)) + { + Heal(partner, tendQualityRange); + } + if (GeneUtility.IsPussyHealer(partner)) + { + Heal(pawn, tendQualityRange); + } + } + } + + public static bool Heal(Pawn pawn, FloatRange tendQualityRange) + { + bool any_wound_tended = false; + List hediffs = pawn.health.hediffSet.hediffs; + for (int i = hediffs.Count - 1; i >= 0; i--) + { + if ((hediffs[i] is Hediff_Injury || hediffs[i] is Hediff_MissingPart) && hediffs[i].TendableNow(false)) + { + hediffs[i].Tended(tendQualityRange.RandomInRange, tendQualityRange.TrueMax, 1); + any_wound_tended = true; + } + } + return any_wound_tended; + } + + public static float LifeForceCost(Ability ability) + { + if (ability.comps != null) + { + using (List.Enumerator enumerator = ability.comps.GetEnumerator()) + { + while (enumerator.MoveNext()) + { + CompAbilityEffect_LifeForceCost compAbilityEffect_HemogenCost; + if ((compAbilityEffect_HemogenCost = (enumerator.Current as CompAbilityEffect_LifeForceCost)) != null) + { + return compAbilityEffect_HemogenCost.Props.fertilinCost; + } + } + } + } + return 0f; + } + } +} \ No newline at end of file diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CasterIsNaked.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CasterIsNaked.cs new file mode 100644 index 0000000..aa1d61a --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CasterIsNaked.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +using Verse.AI; +using rjw; + +namespace RJW_Genes +{ + //Summary// + //Returns invalid if a pawn is not naked + //Summary// + public class CompAbilityEffect_CasterIsNaked : CompAbilityEffect_WithDest + { + private new CompProperties_CasterIsNaked Props + { + get + { + return (CompProperties_CasterIsNaked)this.props; + } + } + + public override bool GizmoDisabled(out string reason) + { + Pawn pawn = this.CasterPawn; + if (pawn != null) + { + //Copied from ThoughtWorker_NudistNude.CurrentStateInternal + List wornApparel = pawn.apparel.WornApparel; + for (int i = 0; i < wornApparel.Count; i++) + { + Apparel apparel = wornApparel[i]; + if (apparel.def.apparel.countsAsClothingForNudity) + { + for (int j = 0; j < apparel.def.apparel.bodyPartGroups.Count; j++) + { + if (apparel.def.apparel.bodyPartGroups[j] == BodyPartGroupDefOf.Torso) + { + reason = pawn.Name + " is not naked"; + return true; + } + if (apparel.def.apparel.bodyPartGroups[j] == BodyPartGroupDefOf.Legs) + { + reason = pawn.Name + " is not naked"; + return true; + + } + } + } + } + } + reason = null; + return false; + } + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs new file mode 100644 index 0000000..977c77b --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_CockEater.cs @@ -0,0 +1,121 @@ +using Verse; +using RimWorld; +using rjw; + +namespace RJW_Genes +{ + /// + /// The CockEater Ability bites off the first found non-artifical cock of an target pawn. + /// It will restore {MINIMUM_LIFEFORCE_GAIN} multiplied by up to 2-times the Cock-Size. + /// Consuming a "towering" cock will give 2*{MINIMUM_LIFEFORCE_GAIN}, resulting in default 0.5f LifeForce. + /// This number is reduced for consuming animals by Settings. + /// + /// Balancing note: With the Cock-Eaters a drain of 0.08 is normal per day. This means 1 average cock should hold for 3-4 days of fertilin-fuel and half a day for an animal. + /// + public class CompAbilityEffect_CockEater : CompAbilityEffect + { + private new CompProperties_AbilityCockEater Props + { + get + { + return (CompProperties_AbilityCockEater)this.props; + } + } + + public const float MINIMUM_LIFEFORCE_GAIN = 0.25f; + + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + Pawn CockBiter = this.parent.pawn; + Pawn CockBittenPawn = target.Pawn; + if (CockBittenPawn == null) + { + return; + } + var partBPR = Genital_Helper.get_genitalsBPR(CockBittenPawn); + var parts = Genital_Helper.get_PartsHediffList(CockBittenPawn, partBPR); + if (!parts.NullOrEmpty()) + { + foreach (Hediff part in parts) + { + if (GenitaliaChanger.IsArtificial(part)) + continue; + + if (Genital_Helper.is_penis(part)) + { + float gained_lifeforce = MINIMUM_LIFEFORCE_GAIN * (1 + part.Severity); + if (CockBittenPawn.IsAnimal()) + { + gained_lifeforce *= RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor; + } + // Increase LifeForce for Biter + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(CockBiter), gained_lifeforce); + // Handle Damage for Bitten + CockBittenPawn.TakeDamage(new DamageInfo(DamageDefOf.Bite, 99999f, 999f, hitPart: Genital_Helper.get_genitalsBPR(CockBittenPawn))); + //CockBittenPawn.health.RemoveHediff(part); + CockBittenPawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.rjw_genes_cock_eaten, CockBittenPawn, null); + + //Only one penis at the time + break; + } + } + } + } + + /// + /// For validity, there are a few checks: + /// 1. Target has Penis + /// 2. Target is either Colonist / Prisoner + /// 3. If the Target is an enemy, it must be downed. + /// + public override bool Valid(LocalTargetInfo target, bool throwMessages = false) + { + Pawn CockBiteTarget = target.Pawn; + if (CockBiteTarget != null) + { + bool CockBiteTargetIsColonistOrPrisoner = CockBiteTarget.Faction == this.parent.pawn.Faction || CockBiteTarget.IsPrisonerOfColony; + bool CockBiteTargetIsHostile = CockBiteTarget.HostileTo(this.parent.pawn); + bool CockBiteTargetIsDowned = CockBiteTarget.Downed; + + if (!CockBiteTargetIsColonistOrPrisoner && !(CockBiteTargetIsHostile && CockBiteTargetIsDowned)) + { + if (throwMessages) + { + if(CockBiteTargetIsHostile && !CockBiteTargetIsDowned) + { + Messages.Message(CockBiteTarget.Name + " is hostile, but not downed.", CockBiteTarget, MessageTypeDefOf.RejectInput, false); + } + else if (!CockBiteTargetIsColonistOrPrisoner) + { + Messages.Message(CockBiteTarget.Name + " is not a part of the colony or hostile.", CockBiteTarget, MessageTypeDefOf.RejectInput, false); + } + } + return false; + } + if (!Genital_Helper.has_penis_fertile(CockBiteTarget)) + { + if (throwMessages) + { + Messages.Message(CockBiteTarget.Name + " has no penis", CockBiteTarget, MessageTypeDefOf.RejectInput, false); + } + return false; + } + } + return base.Valid(target, throwMessages); + } + + public override bool GizmoDisabled(out string reason) + { + Pawn_GeneTracker genes = this.parent.pawn.genes; + Gene_LifeForce gene_LifeForce = (genes != null) ? genes.GetFirstGeneOfType() : null; + if (gene_LifeForce == null) + { + reason = "AbilityDisabledNoFertilinGene".Translate(this.parent.pawn); + return true; + } + reason = null; + return false; + } + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs new file mode 100644 index 0000000..44aec81 --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_LifeForceCost.cs @@ -0,0 +1,107 @@ +using Verse; +using Verse.AI; +using RimWorld; +namespace RJW_Genes +{ + public class CompAbilityEffect_LifeForceCost : CompAbilityEffect + { + + public new CompProperties_AbilityLifeForceCost Props + { + get + { + return (CompProperties_AbilityLifeForceCost)this.props; + } + } + + private bool HasEnoughFertilin + { + get + { + Pawn_GeneTracker genes = this.parent.pawn.genes; + Gene_LifeForce gene_lifeforce = (genes != null) ? genes.GetFirstGeneOfType < Gene_LifeForce>() : null; + return gene_lifeforce != null && gene_lifeforce.Value >= this.Props.fertilinCost; + } + } + + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(this.parent.pawn), -this.Props.fertilinCost); + } + + + public override bool GizmoDisabled(out string reason) + { + Pawn_GeneTracker genes = this.parent.pawn.genes; + Gene_LifeForce gene_LifeForce = (genes != null) ? genes.GetFirstGeneOfType() : null; + if (gene_LifeForce == null) + { + reason = "AbilityDisabledNoFertilinGene".Translate(this.parent.pawn); + return true; + } + if (gene_LifeForce.Value < this.Props.fertilinCost) + { + reason = "AbilityDisabledNoFertilin".Translate(this.parent.pawn); + return true; + } + float num = this.TotalLifeForceCostOfQueuedAbilities(); + float num2 = this.Props.fertilinCost + num; + if (this.Props.fertilinCost > 1E-45f && num2 > gene_LifeForce.Value) + { + reason = "AbilityDisabledNoFertilin".Translate(this.parent.pawn); + return true; + } + reason = null; + return false; + } + + public override bool AICanTargetNow(LocalTargetInfo target) + { + return this.HasEnoughFertilin; + } + + private float TotalLifeForceCostOfQueuedAbilities() + { + Pawn_JobTracker jobs = this.parent.pawn.jobs; + object obj; + if (jobs == null) + { + obj = null; + } + else + { + Job curJob = jobs.curJob; + obj = ((curJob != null) ? curJob.verbToUse : null); + } + Verb_CastAbility verb_CastAbility = obj as Verb_CastAbility; + float num; + if (verb_CastAbility == null) + { + num = 0f; + } + else + { + Ability ability = verb_CastAbility.ability; + num = ((ability != null) ? AbilityUtility.LifeForceCost(ability) : 0f); + } + float num2 = num; + if (this.parent.pawn.jobs != null) + { + for (int i = 0; i < this.parent.pawn.jobs.jobQueue.Count; i++) + { + Verb_CastAbility verb_CastAbility2; + if ((verb_CastAbility2 = (this.parent.pawn.jobs.jobQueue[i].job.verbToUse as Verb_CastAbility)) != null) + { + float num3 = num2; + Ability ability2 = verb_CastAbility2.ability; + num2 = num3 + ((ability2 != null) ? AbilityUtility.LifeForceCost(ability2) : 0f); + } + } + } + return num2; + } + + + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_PussyHeal.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_PussyHeal.cs new file mode 100644 index 0000000..fdb0c7c --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_PussyHeal.cs @@ -0,0 +1,95 @@ +using System.Collections.Generic; +using Verse; +using RimWorld; +using rjw; + +namespace RJW_Genes +{ + public class CompAbilityEffect_PussyHeal : CompAbilityEffect + { + private new CompProperties_AbilityPussyHeal Props + { + get + { + return (CompProperties_AbilityPussyHeal)this.props; + } + } + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + Pawn pawn = target.Pawn; + if (pawn == null) + { + return; + } + bool any_wound_tended = AbilityUtility.Heal(pawn, this.Props.tendQualityRange); + if (any_wound_tended) + { + MoteMaker.ThrowText(pawn.DrawPos, pawn.Map, "Sex tended wounds", 3.65f); + } + } + + //Not yet implemented, but the heal should also trigger after normal sex + public void AfterSex(Pawn pawn, Pawn target) + { + List hediffs = target.health.hediffSet.hediffs; + for (int i = 0; i < hediffs.Count; i++) + { + if ((hediffs[i] is Hediff_Injury || hediffs[i] is Hediff_MissingPart) && hediffs[i].TendableNow(false)) + { + //target.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.Pussy_Healed, pawn, null); + break; + } + } + //InteractionHelper.GetWithExtension(dictionaryKey).DominantHasTag("CanBePenetrated") + + + } + + public override bool Valid(LocalTargetInfo target, bool throwMessages = false) + { + Pawn pawn = target.Pawn; + if (pawn != null) + { + //to be replaced with severel checks to make it clear why target is unable to have sex + if (!CasualSex_Helper.CanHaveSex(pawn)) + { + if (throwMessages) + { + Messages.Message(pawn.Name + " is unable to have sex", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + else if (pawn.IsAnimal() && !RJWSettings.bestiality_enabled) + { + if (throwMessages) + { + Messages.Message("bestiality is disabled", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + //TODO: Only make pawns targetable that have tendable wounds + + } + return base.Valid(target, throwMessages); + } + + public override bool GizmoDisabled(out string reason) + { + reason = null; + if (!Genital_Helper.has_vagina(this.parent.pawn)) + { + reason = this.parent.pawn.Name + " has no vagina to use."; + return true; + } + else if (!RJWSettings.rape_enabled) + { + reason = "Rape is disabled"; + return true; + } + return false; + } + + + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs new file mode 100644 index 0000000..b8819a8 --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompAbilityEffect_Seduce.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +using Verse.AI; +using rjw; + +namespace RJW_Genes +{ + public class CompAbilityEffect_Seduce : CompAbilityEffect_WithDest + { + private new CompProperties_Seduce Props + { + get + { + return (CompProperties_Seduce)this.props; + } + } + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + Pawn pawn = target.Thing as Pawn; + Pawn pawn2 = this.parent.pawn; + if (pawn != null && pawn2 != null && !pawn.Downed) + { + Job job = JobMaker.MakeJob(JobDefOf.rjw_genes_lifeforce_seduced, pawn2); + job.mote = MoteMaker.MakeThoughtBubble(pawn, this.parent.def.iconPath, true); + pawn.jobs.StopAll(false, true); + pawn.jobs.StartJob(job, JobCondition.InterruptForced, null, false, true, null, null, false, false, null, false, true); + } + } + + public override bool Valid(LocalTargetInfo target, bool throwMessages = false) + { + + Pawn pawn = target.Pawn; + if (pawn != null) + { + if (!xxx.can_be_fucked(pawn)) + { + if (throwMessages) + { + Messages.Message(pawn.Name + " is unable to have sex", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + else if (pawn.IsAnimal() && !RJWSettings.bestiality_enabled) + { + if (throwMessages) + { + Messages.Message("bestiality is disabled", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + else if (GeneUtility.HasSeduce(pawn)) + { + if (throwMessages) + { + Messages.Message(pawn.Name + " cannot be seduced, as they also have the Seduce-Ability", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + else if (pawn.Downed) + { + if (throwMessages) + { + Messages.Message(pawn.Name + " is unable to move", pawn, MessageTypeDefOf.RejectInput, false); + } + return false; + } + + } + return base.Valid(target, throwMessages); + } + + public override bool GizmoDisabled(out string reason) + { + reason = null; + if (!RJWSettings.rape_enabled) + { + reason = "Rape is disabled"; + return true; + } + return false; + } + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompProperties_AbilityCockEater.cs b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityCockEater.cs new file mode 100644 index 0000000..b64b346 --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityCockEater.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class CompProperties_AbilityCockEater : CompProperties_AbilityEffect + { + public CompProperties_AbilityCockEater() + { + this.compClass = typeof(CompAbilityEffect_CockEater); + } + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompProperties_AbilityLifeForceCost.cs b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityLifeForceCost.cs new file mode 100644 index 0000000..5a05d5f --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityLifeForceCost.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + // Token: 0x02000F65 RID: 3941 + public class CompProperties_AbilityLifeForceCost : CompProperties_AbilityEffect + { + // Token: 0x06005D16 RID: 23830 RVA: 0x001FA73F File Offset: 0x001F893F + public CompProperties_AbilityLifeForceCost() + { + this.compClass = typeof(CompAbilityEffect_LifeForceCost); + } + + // Token: 0x06005D17 RID: 23831 RVA: 0x001FA757 File Offset: 0x001F8957 + public override IEnumerable ExtraStatSummary() + { + yield return "AbilityFertilinCost" + ": " + Mathf.RoundToInt(this.fertilinCost * 100f); + yield break; + } + + // Token: 0x040038CD RID: 14541 + public float fertilinCost; + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompProperties_AbilityPussyHeal.cs b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityPussyHeal.cs new file mode 100644 index 0000000..16ba74d --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompProperties_AbilityPussyHeal.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class CompProperties_AbilityPussyHeal : CompProperties_AbilityEffect + { + public CompProperties_AbilityPussyHeal() + { + this.compClass = typeof(CompAbilityEffect_PussyHeal); + } + + public FloatRange tendQualityRange; + } +} diff --git a/Source/Genes/Life_Force/Abilities/CompProperties_CasterIsNaked.cs b/Source/Genes/Life_Force/Abilities/CompProperties_CasterIsNaked.cs new file mode 100644 index 0000000..8cb300e --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompProperties_CasterIsNaked.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class CompProperties_CasterIsNaked : CompProperties_EffectWithDest + { + public CompProperties_CasterIsNaked() + { + this.compClass = typeof(CompAbilityEffect_CasterIsNaked); + } + } +} + diff --git a/Source/Genes/Life_Force/Abilities/CompProperties_Seduce.cs b/Source/Genes/Life_Force/Abilities/CompProperties_Seduce.cs new file mode 100644 index 0000000..21e0cde --- /dev/null +++ b/Source/Genes/Life_Force/Abilities/CompProperties_Seduce.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class CompProperties_Seduce : CompProperties_EffectWithDest + { + public CompProperties_Seduce() + { + this.compClass = typeof(CompAbilityEffect_Seduce); + } + + public StatDef durationMultiplier; + } +} + diff --git a/Source/Genes/Life_Force/Defs/LifeForceEmpathExtension.cs b/Source/Genes/Life_Force/Defs/LifeForceEmpathExtension.cs new file mode 100644 index 0000000..ccc037b --- /dev/null +++ b/Source/Genes/Life_Force/Defs/LifeForceEmpathExtension.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace RJW_Genes +{ + public class LifeForceEmpathExtension : DefModExtension + { + public float aheagoIncrement; + public float satisfactionIncrement; + public float frustratedDecrement; + } +} diff --git a/Source/Genes/Life_Force/Genes/Gene_LifeForce.cs b/Source/Genes/Life_Force/Genes/Gene_LifeForce.cs new file mode 100644 index 0000000..8cac6b3 --- /dev/null +++ b/Source/Genes/Life_Force/Genes/Gene_LifeForce.cs @@ -0,0 +1,140 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using RimWorld; +using rjw; + +namespace RJW_Genes +{ + public class Gene_LifeForce : Gene_Resource, IGeneResourceDrain + { + //Gene should only be active if sex is allowed for this pawn + public override bool Active + { + get + { + if (this.Overridden) + { + return false; + } + Pawn pawn = this.pawn; + + return ((pawn != null) ? pawn.ageTracker : null) == null || + ((float)this.pawn.ageTracker.AgeBiologicalYears >= this.def.minAgeActive); + } + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref this.StoredCumAllowed, "StoredCumAllowed", true, false); + } + + public bool ShouldConsumeLifeForceNow() + { + return this.Value < this.targetValue; + } + + //Same as Gene_Hemogen + public override IEnumerable GetGizmos() + { + foreach (Gizmo gizmo in base.GetGizmos()) + { + yield return gizmo; + } + yield break; + } + + //every tick it decreases fertilin value and everyday if fertilin is below alert minimum there a ~50 chance for mental break + public override void Tick() + { + base.Tick(); + if (this.CanOffset && this.Resource != null) + { + GeneUtility.OffsetLifeForce(this, -this.ResourceLossPerDay / 60000f); + + } + + } + + public bool StoredCumAllowed = true; + public Gene_Resource Resource + { + get + { + return this; + } + } + public Pawn Pawn + { + get + { + return this.pawn; + } + } + public bool CanOffset + { + get + { + return this.pawn.Spawned && this.Active; + } + } + + public float ResourceLossPerDay + { + get + { + return this.def.resourceLossPerDay; + } + } + + public string DisplayLabel + { + get + { + return this.def.resourceLabel; + } + } + + public override float InitialResourceMax + { + get + { + return 1f; + } + } + + public override float MinLevelForAlert + { + get + { + return 0.2f; + } + } + public override float MaxLevelOffset + { + get + { + return base.MaxLevelOffset; + } + } + protected override Color BarColor + { + get + { + return Color.grey; + } + } + protected override Color BarHighlightColor + { + get + { + return Color.white; + } + } + } +} diff --git a/Source/Genes/Life_Force/Genes/Gene_LifeForceDrain.cs b/Source/Genes/Life_Force/Genes/Gene_LifeForceDrain.cs new file mode 100644 index 0000000..c50dae5 --- /dev/null +++ b/Source/Genes/Life_Force/Genes/Gene_LifeForceDrain.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class Gene_LifeForceDrain : Gene, IGeneResourceDrain + { + public Gene_Resource Resource + { + get + { + if (this.cachedLifeForceGene == null || !this.cachedLifeForceGene.Active) + { + this.cachedLifeForceGene = this.pawn.genes.GetFirstGeneOfType(); + } + return this.cachedLifeForceGene; + } + } + + public bool CanOffset + { + get + { + return this.Active && this.Resource != null && this.Resource.Active; + } + } + + public float ResourceLossPerDay + { + get + { + return this.def.resourceLossPerDay; + } + } + + public Pawn Pawn + { + get + { + return this.pawn; + } + } + + public string DisplayLabel + { + get + { + return this.Label + " (" + "Gene".Translate() + ")"; + } + } + + public override void Tick() + { + base.Tick(); + if (this.CanOffset && this.Resource != null) + { + GeneUtility.OffsetLifeForce(this, -this.ResourceLossPerDay / 60000); + } + } + + [Unsaved(false)] + private Gene_LifeForce cachedLifeForceGene; + + private const float MinAgeForDrain = 3f; + } +} diff --git a/Source/Genes/Life_Force/Genes/Gene_LifeForce_Empath.cs b/Source/Genes/Life_Force/Genes/Gene_LifeForce_Empath.cs new file mode 100644 index 0000000..e355fb4 --- /dev/null +++ b/Source/Genes/Life_Force/Genes/Gene_LifeForce_Empath.cs @@ -0,0 +1,118 @@ +using System.Collections.Generic; +using Verse; +using RimWorld; + +namespace RJW_Genes +{ + public class Gene_LifeForce_Empath : Gene + { + + const int EMPATH_DISTANCE_FALLBACK = 25; + const int TICK_INTERVAL_FALLBACK = 60000 / 48; + + const float AHEAGO_FALLBACK = 0.02f, SATISFIED_FALLBACK = 0.01f, FRUSTRATED_FALLBACK = -0.01f; + + int empathDistance = 25; + int tickInterval = 60000 / 48 ; // 60k = 1 day, we want 0.5h which is 1/48th of 1 day. + + float aheagoIncrement = 0.02f; + float satisfiedIncrement = 0.01f; + float frustratedDecrement = -0.01f; + + + public Gene_LifeForce_Empath() : base() + { + SetValuesFromExtension(); + } + + private void SetValuesFromExtension() + { + LifeForceEmpathExtension empathExt = GeneDefOf.rjw_genes_lifeforce_empath.GetModExtension(); + + tickInterval = ModExtensionHelper.GetTickIntervalFromModExtension(GeneDefOf.rjw_genes_lifeforce_empath, TICK_INTERVAL_FALLBACK); + empathDistance = ModExtensionHelper.GetTickIntervalFromModExtension(GeneDefOf.rjw_genes_lifeforce_empath, EMPATH_DISTANCE_FALLBACK); + + aheagoIncrement = empathExt?.aheagoIncrement ?? AHEAGO_FALLBACK; + satisfiedIncrement = empathExt?.satisfactionIncrement ?? SATISFIED_FALLBACK; + frustratedDecrement = empathExt?.frustratedDecrement ?? FRUSTRATED_FALLBACK; + } + + public override void Tick() + { + base.Tick(); + if (this.pawn.IsHashIntervalTick(tickInterval) && this.pawn.Map != null) + { + foreach (Pawn pawn in this.AffectedPawns(this.pawn.Position, this.pawn.Map)) + { + this.FarmLifeForce(pawn); + } + + } + } + + /// + /// Creates an IEnumerable of all pawns which are closeby and in lineofsight, self and other pawns with lifeforce gene are skipped (to prevent loops). + /// + /// The position of the empath on the map + /// The map the empath is on + /// A list of all pawns that are close enough for the empath to connect. + private IEnumerable AffectedPawns(IntVec3 pos, Map map) + { + foreach (Pawn pawn in map.mapPawns.AllPawns) + { + // Return for trivial errors + if (pawn == null || this.pawn == null || pawn == this.pawn) + continue; + // Check for position-existance + if (pawn.Position == null || pos == null || pawn.Map == null) + continue; + // Do nothing if pawn is carried + if (pawn.CarriedBy != null) + continue; + // Do nothing if Pawn is Baby or Child (#25) + if (!pawn.ageTracker.Adult) + continue; + // Do nothing for pawns that also have lifeforce + if (GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_lifeforce)) + continue; + + // Actual Logic: + // Pawn qualifies in right distance and needs line of sight. + if (pos.DistanceTo(pawn.Position) < empathDistance && GenSight.LineOfSight(pos, pawn.Position, pawn.Map)) + { + yield return pawn; + } + } + + yield break; + } + + /// + /// Adjust the empaths lifeforce depending on the farmed pawns sexneed. + /// + /// The pawn affecting the empath, increasing or decreasing his lifeforce. + private void FarmLifeForce(Pawn farmedPawn) + { + // Short rename to make rest more obvious. + Pawn empath = pawn; + + if (farmedPawn == null) + return; + + var sexneed = farmedPawn.needs.TryGetNeed(); + + // Shortwire: do nothing on no sexneed. + if (sexneed == null) + return; + + if (sexneed.CurLevel >= sexneed.thresh_ahegao()) + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(empath), aheagoIncrement); + else if (sexneed.CurLevel >= sexneed.thresh_satisfied()) + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(empath), satisfiedIncrement); + else if (sexneed.CurLevel <= sexneed.thresh_frustrated()) + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(empath), frustratedDecrement); + + } + + } +} diff --git a/Source/Genes/Life_Force/HediffCompProperties_SeverityFromFertilin.cs b/Source/Genes/Life_Force/HediffCompProperties_SeverityFromFertilin.cs new file mode 100644 index 0000000..558c3e0 --- /dev/null +++ b/Source/Genes/Life_Force/HediffCompProperties_SeverityFromFertilin.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +namespace RJW_Genes +{ + public class HediffCompProperties_SeverityFromFertilin : HediffCompProperties + { + public HediffCompProperties_SeverityFromFertilin() + { + this.compClass = typeof(HediffComp_SeverityFromFertilin); + } + + // Token: 0x04001162 RID: 4450 + public float severityPerHourEmpty; + + // Token: 0x04001163 RID: 4451 + public float severityPerHourHemogen; + } +} diff --git a/Source/Genes/Life_Force/HediffComp_SeverityFromFertilin.cs b/Source/Genes/Life_Force/HediffComp_SeverityFromFertilin.cs new file mode 100644 index 0000000..4b8b3a7 --- /dev/null +++ b/Source/Genes/Life_Force/HediffComp_SeverityFromFertilin.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +namespace RJW_Genes +{ + public class HediffComp_SeverityFromFertilin : HediffComp + { + public HediffCompProperties_SeverityFromFertilin Props + { + get + { + return (HediffCompProperties_SeverityFromFertilin)this.props; + } + } + public override bool CompShouldRemove + { + get + { + Pawn_GeneTracker genes = base.Pawn.genes; + return ((genes != null) ? genes.GetFirstGeneOfType() : null) == null; + } + } + private Gene_LifeForce LifeForce + { + get + { + if (this.cachedLifeForceGene == null) + { + this.cachedLifeForceGene = base.Pawn.genes.GetFirstGeneOfType(); + } + return this.cachedLifeForceGene; + } + } + public override void CompPostTick(ref float severityAdjustment) + { + base.CompPostTick(ref severityAdjustment); + severityAdjustment += ((this.LifeForce.Value > 0f) ? this.Props.severityPerHourHemogen : this.Props.severityPerHourEmpty) / 2500f; + this.MentalBreak(); + } + + public void MentalBreak() + { + if (cachedLifeForceGene.Resource.Value <= cachedLifeForceGene.Resource.MinLevelForAlert && this.Pawn.IsHashIntervalTick(2500) && Rand.Chance(0.03f)) //~50% chance each day for mental break + { + if (this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_cum_eater) + || this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_fertilin_absorber) || this.Pawn.genes.HasGene(GeneDefOf.rjw_genes_drainer)) + { + //TODO: use mentalstatedef instead of mentalbreakdef + MentalBreakDef randomrape = GeneDefOf.rjw_genes_lifeforce_randomrape; + if (ModsConfig.BiotechActive && + this.Pawn.Spawned && !this.Pawn.InMentalState && !this.Pawn.Downed && + randomrape.Worker.BreakCanOccur(this.Pawn)) + { + randomrape.Worker.TryStart(this.Pawn, "MentalBreakNoFertilin".Translate(), false); + } + } + } + } + + private Gene_LifeForce cachedLifeForceGene; + } +} diff --git a/Source/Genes/Life_Force/IngestionOutcomeDoer_LifeForceOffset.cs b/Source/Genes/Life_Force/IngestionOutcomeDoer_LifeForceOffset.cs new file mode 100644 index 0000000..feae482 --- /dev/null +++ b/Source/Genes/Life_Force/IngestionOutcomeDoer_LifeForceOffset.cs @@ -0,0 +1,24 @@ +using RimWorld; +using Verse; + +namespace RJW_Genes +{ + /// + /// This class checks for pawns with LifeForce and Cumeater Gene to add Fertilin when eating cum (the Item from RJW-Sexperience). + /// + public class IngestionOutcomeDoer_LifeForceOffset : IngestionOutcomeDoer + { + public const float DEFAULT_FERTILIN_PER_UNIT = 1f; + public float FertilinPerUnit = 1f; + + protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested, int ingestedCount) + { + if (GeneUtility.HasLifeForce(pawn) && GeneUtility.IsCumEater(pawn)) + { + float num = ingestedCount * this.FertilinPerUnit / 100; + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(pawn), num); + } + } + + } +} diff --git a/Source/Genes/Life_Force/JobDrivers/JobDriver_CastAbilityAfterSex.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_CastAbilityAfterSex.cs new file mode 100644 index 0000000..d604cca --- /dev/null +++ b/Source/Genes/Life_Force/JobDrivers/JobDriver_CastAbilityAfterSex.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using Verse.AI; +using rjw; + +namespace RJW_Genes +{ + public class JobDriver_CastAbilityAfterSex : JobDriver_SexBaseInitiator + { + //Summary// + //Similar to jobdriver rape, but it cast an ability after sex and tries to limit what kind of sexinteractions are allowed. + protected override IEnumerable MakeNewToils() + { + base.setup_ticks(); + //this.FailOnDespawnedOrNull(TargetIndex.A); + //this.FailOnCannotTouch(TargetIndex.B, PathEndMode.OnCell); + this.FailOnDespawnedNullOrForbidden(this.iTarget); + //this.FailOn(() => !target.health.capacities.CanBeAwake); + JobDef PartnerJob = xxx.gettin_raped; + yield return Toils_Goto.Goto(TargetIndex.A, PathEndMode.OnCell); + yield return new Toil + { + defaultCompleteMode = ToilCompleteMode.Instant, + socialMode = RandomSocialMode.Off, + initAction = delegate () + { + Job newJob = JobMaker.MakeJob(PartnerJob, this.pawn, this.Partner); + this.Partner.jobs.StartJob(newJob, JobCondition.InterruptForced, null, false, true, null, null, false, false, null, false, true); + } + }; + Toil toil = new Toil(); + toil.defaultCompleteMode = ToilCompleteMode.Never; + toil.socialMode = RandomSocialMode.Off; + toil.defaultDuration = this.duration; + toil.handlingFacing = true; + toil.FailOn(() => this.Partner.CurJob.def != PartnerJob); + toil.initAction = delegate () + { + this.Partner.pather.StopDead(); + this.Partner.jobs.curDriver.asleep = false; + + //Tries to find CompProperties_SexInteractionRequirements and if it finds it it will try and generate sexprops based on the sexpropsrequirements. + foreach (AbilityComp comp in this.job.ability.comps) + { + if (comp.props is CompProperties_SexInteractionRequirements) + { + CompProperties_SexInteractionRequirements sexpropsreq = comp.props as CompProperties_SexInteractionRequirements; + this.Sexprops = CustomSexInteraction_Helper.GenerateSexProps(this.pawn, this.Partner, sexpropsreq); + } + } + this.Start(); + this.Sexprops.usedCondom = (CondomUtility.TryUseCondom(this.pawn) || CondomUtility.TryUseCondom(this.Partner)); + }; + toil.AddPreTickAction(delegate + { + if (this.pawn.IsHashIntervalTick(this.ticks_between_hearts)) + { + this.ThrowMetaIconF(this.pawn.Position, this.pawn.Map, FleckDefOf.Heart); + } + this.SexTick(this.pawn, this.Partner, true, true); + SexUtility.reduce_rest(this.Partner, 1f); + SexUtility.reduce_rest(this.pawn, 1f); + if (this.ticks_left <= 0) + { + this.ReadyForNextToil(); + } + }); + toil.AddFinishAction(delegate + { + this.End(); + }); + yield return toil; + yield return new Toil + { + initAction = delegate () + { + SexUtility.ProcessSex(this.Sexprops); + }, + defaultCompleteMode = ToilCompleteMode.Instant + }; + yield return Toils_Combat.CastVerb(TargetIndex.A, TargetIndex.B, false); + yield break; + } + } +} diff --git a/Source/Genes/Life_Force/JobDrivers/JobDriver_Flirt.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_Flirt.cs new file mode 100644 index 0000000..337a9b2 --- /dev/null +++ b/Source/Genes/Life_Force/JobDrivers/JobDriver_Flirt.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using Verse.AI; +using RimWorld; +using rjw; +namespace RJW_Genes +{ + public class JobDriver_Flirt : JobDriver + { + private Pawn Target + { + get + { + return (Pawn)((Thing)this.pawn.CurJob.GetTarget(TargetIndex.A)); + } + } + public override bool TryMakePreToilReservations(bool errorOnFailed) + { + return true; + } + + //Some wait toils to induce delay + protected override IEnumerable MakeNewToils() + { + this.FailOnDespawnedOrNull(TargetIndex.A); + yield return Toils_Interpersonal.GotoInteractablePosition(TargetIndex.A); + yield return Toils_General.Wait(300, TargetIndex.A); + yield return Toils_Interpersonal.WaitToBeAbleToInteract(this.pawn); + Toil toil = Toils_Interpersonal.GotoInteractablePosition(TargetIndex.A); + toil.socialMode = RandomSocialMode.Off; + yield return toil; + yield return this.InteractToil(); + Toil toil1 = Toils_General.Wait(300, TargetIndex.A); + toil1.socialMode = RandomSocialMode.Off; + yield return toil1; + yield break; + } + private Toil InteractToil() + { + return Toils_General.Do(delegate + { + if (this.pawn.interactions.TryInteractWith(this.Target, ThoughtDefOf.rjw_genes_flirt)) + { + Need_Sex need_Sex = this.Target.needs.TryGetNeed(); + need_Sex.CurLevel += -0.01f; + } + }); + } + + private const TargetIndex TargetInd = TargetIndex.A; + } +} + diff --git a/Source/Genes/Life_Force/JobDrivers/JobDriver_Seduced.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_Seduced.cs new file mode 100644 index 0000000..2d38d75 --- /dev/null +++ b/Source/Genes/Life_Force/JobDrivers/JobDriver_Seduced.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using Verse.AI; +using rjw; +using rjw.Modules.Interactions.Enums; +using rjw.Modules.Interactions.Helpers; +using rjw.Modules.Interactions.Objects; +using rjw.Modules.Interactions.Contexts; +using rjw.Modules.Interactions.Implementation; + +namespace RJW_Genes +{ + public class JobDriver_Seduced : JobDriver + { + //Summary// + //Makes a pawn move to seducing pawn and then tries to rape them. + protected override IEnumerable MakeNewToils() + { + + this.FailOnDespawnedNullOrForbidden(TargetIndex.A); + this.FailOn(() => !this.pawn.CanReserve(TargetA, xxx.max_rapists_per_prisoner, 0, null, false)); + this.FailOn(() => this.pawn.IsFighting()); + this.FailOn(() => this.pawn.Drafted); + + Pawn partner = this.job.GetTarget(TargetIndex.A).Pawn; + yield return Toils_Goto.GotoThing(TargetIndex.A, PathEndMode.Touch); + yield return new Toil + { + defaultCompleteMode = ToilCompleteMode.Instant, + socialMode = RandomSocialMode.Off, + initAction = delegate () + { + if(partner != null) + { + partner.drafter.Drafted = false; + this.pawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.rjw_genes_seduced, partner, null); + Job newJob = JobMaker.MakeJob(JobDefOf.sex_on_spot, pawn); + partner.jobs.StartJob(newJob, JobCondition.InterruptForced, null, false, true, null, null, false, false, null, false, true); + } + } + }; + yield break; + } + + public override bool TryMakePreToilReservations(bool errorOnFailed) + { + return this.pawn.Reserve(TargetA, this.job, xxx.max_rapists_per_prisoner, 0, null, errorOnFailed); + } + } +} diff --git a/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpot.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpot.cs new file mode 100644 index 0000000..05c9d5b --- /dev/null +++ b/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpot.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using Verse.AI; +using rjw; +using rjw.Modules.Interactions.Enums; +using rjw.Modules.Interactions.Helpers; +using rjw.Modules.Interactions.Objects; +using rjw.Modules.Interactions.Contexts; +using rjw.Modules.Interactions.Implementation; + +namespace RJW_Genes +{ + public class JobDriver_SexOnSpot : JobDriver_SexBaseInitiator + { + protected override IEnumerable MakeNewToils() + { + if (RJWSettings.DebugRape) + { + ModLog.Message(base.GetType().ToString() + "::MakeNewToils() called"); + } + base.setup_ticks(); + JobDef PartnerJob = JobDefOf.sex_on_spot_reciever; + this.FailOnDespawnedNullOrForbidden(this.iTarget); + this.FailOn(() => !this.pawn.CanReserve(this.Partner, xxx.max_rapists_per_prisoner, 0, null, false)); + this.FailOn(() => this.pawn.IsFighting()); + this.FailOn(() => this.Partner.IsFighting()); + this.FailOn(() => this.pawn.Drafted); + yield return Toils_Goto.GotoThing(this.iTarget, PathEndMode.Touch); + if (this.pawn.HostileTo(this.Partner)) + { + Partner.health.AddHediff(xxx.submitting); + } + yield return Toils_Goto.GotoThing(this.iTarget, PathEndMode.OnCell); + //Give thought malus to partner (I was seduced into having sex against my will) + yield return new Toil + { + defaultCompleteMode = ToilCompleteMode.Instant, + socialMode = RandomSocialMode.Off, + initAction = delegate () + { + if (!(this.Partner.jobs.curDriver is JobDriver_SexOnSpotReciever)) + { + Job newJob = JobMaker.MakeJob(PartnerJob, this.pawn); + Building_Bed building_Bed = null; + if (this.Partner.GetPosture() == PawnPosture.LayingInBed) + { + building_Bed = this.Partner.CurrentBed(); + } + this.Partner.jobs.StartJob(newJob, JobCondition.InterruptForced, null, false, true, null, null, false, false, null, false, true); + if (building_Bed != null) + { + JobDriver_SexOnSpotReciever jobDriver_SexOnSpotReciever = this.Partner.jobs.curDriver as JobDriver_SexOnSpotReciever; + if (jobDriver_SexOnSpotReciever == null) + { + return; + } + jobDriver_SexOnSpotReciever.Set_bed(building_Bed); + } + } + } + }; + Toil toil = new Toil(); + toil.defaultCompleteMode = ToilCompleteMode.Never; + toil.defaultDuration = this.duration; + toil.handlingFacing = true; + toil.FailOn(() => this.Partner.CurJob.def != PartnerJob); + toil.initAction = delegate () + { + this.Partner.pather.StopDead(); + this.Partner.jobs.curDriver.asleep = false; + this.Start(); + }; + toil.tickAction = delegate () + { + if (this.pawn.IsHashIntervalTick(this.ticks_between_hearts)) + { + this.ThrowMetaIconF(this.pawn.Position, this.pawn.Map, FleckDefOf.Heart); + } + this.SexTick(this.pawn, this.Partner, true, true); + SexUtility.reduce_rest(this.Partner, 1f); + SexUtility.reduce_rest(this.pawn, 2f); + if (this.ticks_left <= 0) + { + this.ReadyForNextToil(); + } + }; + toil.AddFinishAction(delegate + { + this.End(); + }); + yield return toil; + yield return new Toil + { + initAction = delegate () + { + SexUtility.ProcessSex(this.Sexprops); + }, + defaultCompleteMode = ToilCompleteMode.Instant + }; + yield break; + } + } +} diff --git a/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpotReceiver.cs b/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpotReceiver.cs new file mode 100644 index 0000000..82967d6 --- /dev/null +++ b/Source/Genes/Life_Force/JobDrivers/JobDriver_SexOnSpotReceiver.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using Verse.AI; +using rjw; +using rjw.Modules.Interactions.Enums; +using rjw.Modules.Interactions.Helpers; +using rjw.Modules.Interactions.Objects; +using rjw.Modules.Interactions.Contexts; +using rjw.Modules.Interactions.Implementation; + +namespace RJW_Genes +{ + //Modified JobDriver_SexBaseRecieverLoved from rjw + public class JobDriver_SexOnSpotReciever : JobDriver_SexBaseReciever + { + protected override IEnumerable MakeNewToils() + { + base.setup_ticks(); + this.parteners.Add(base.Partner); + if (this.pawn.relations.OpinionOf(base.Partner) < 0) + { + this.ticks_between_hearts += 50; + } + else if (this.pawn.relations.OpinionOf(base.Partner) > 60) + { + this.ticks_between_hearts -= 25; + } + this.FailOnDespawnedOrNull(this.iTarget); + this.FailOn(() => !base.Partner.health.capacities.CanBeAwake); + this.FailOn(() => this.pawn.Drafted); + this.FailOn(() => base.Partner.Drafted); + yield return Toils_Reserve.Reserve(this.iTarget, 1, 0, null); + Toil toil2 = this.MakeSexToil(); + toil2.handlingFacing = false; + yield return toil2; + yield break; + } + + private Toil MakeSexToil() + { + Toil toil = new Toil(); + toil.defaultCompleteMode = ToilCompleteMode.Never; + toil.socialMode = RandomSocialMode.Off; + toil.handlingFacing = true; + toil.tickAction = delegate () + { + if (this.pawn.IsHashIntervalTick(this.ticks_between_hearts)) + { + base.ThrowMetaIconF(this.pawn.Position, this.pawn.Map, FleckDefOf.Heart); + } + }; + toil.AddEndCondition(delegate + { + if (this.parteners.Count <= 0) + { + return JobCondition.Succeeded; + } + return JobCondition.Ongoing; + }); + toil.AddFinishAction(delegate + { + + GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(this.pawn); + Hediff submitting = this.pawn.health.hediffSet.GetFirstHediffOfDef(xxx.submitting); + if (submitting != null) + { + this.pawn.health.RemoveHediff(submitting); + this.pawn.stances.stunner.StunFor(60, this.pawn, true, true); + } + }); + toil.socialMode = RandomSocialMode.Off; + return toil; + } + } +} diff --git a/Source/Genes/Life_Force/JobGivers/JobGiver_Flirt.cs b/Source/Genes/Life_Force/JobGivers/JobGiver_Flirt.cs new file mode 100644 index 0000000..a629e0e --- /dev/null +++ b/Source/Genes/Life_Force/JobGivers/JobGiver_Flirt.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using Verse.AI; +using RimWorld; +namespace RJW_Genes +{ + public class JobGiver_Flirt : ThinkNode_JobGiver + { + // Token: 0x0600405A RID: 16474 RVA: 0x0017271C File Offset: 0x0017091C + protected override Job TryGiveJob(Pawn pawn) + { + Pawn target = pawn.mindState.duty.focus.Pawn; + if (pawn.CanReach(target, PathEndMode.InteractionCell, Danger.Deadly) && !target.jobs.curDriver.asleep) + { + return JobMaker.MakeJob(JobDefOf.rjw_genes_flirt, target); + } + return null; + } + } +} diff --git a/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs b/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs new file mode 100644 index 0000000..fdd7279 --- /dev/null +++ b/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using Verse.AI; +using RimWorld; +using rjw; + +namespace RJW_Genes +{ + public class JobGiver_GetLifeForce : ThinkNode_JobGiver + { + protected override Job TryGiveJob(Pawn pawn) + { + Pawn_GeneTracker genes = pawn.genes; + Gene_LifeForce gene_lifeforce = (genes != null) ? genes.GetFirstGeneOfType() : null; + if (gene_lifeforce == null) + { + return null; + } + if (!gene_lifeforce.ShouldConsumeLifeForceNow()) + { + return null; + } + + + if (ModsConfig.IsActive("rjw.sexperience") && gene_lifeforce.StoredCumAllowed && genes.HasGene(GeneDefOf.rjw_genes_cum_eater)) + { + Thing gatheredCum = this.GetStoredCum(pawn); + if (gatheredCum == null) + { + return null; + } + IngestionOutcomeDoer_LifeForceOffset ingestionOutcomeDoer = (IngestionOutcomeDoer_LifeForceOffset)gatheredCum.def.ingestible.outcomeDoers.First((IngestionOutcomeDoer x) => x is IngestionOutcomeDoer_LifeForceOffset); + if (ingestionOutcomeDoer == null) + { + return null; + } + int num = Mathf.RoundToInt(((gene_lifeforce.targetValue - gene_lifeforce.Value) * 100 + 10) / IngestionOutcomeDoer_LifeForceOffset.DEFAULT_FERTILIN_PER_UNIT); + if (gatheredCum != null && num > 0) + { + Job job = JobMaker.MakeJob(RimWorld.JobDefOf.Ingest, gatheredCum); + job.count = Mathf.Min(gatheredCum.stackCount, num); + job.ingestTotalCount = true; + return job; + } + } + return null; + } + + //From JobGiver_GetHemogen, dont know exactly what this influences + public override float GetPriority(Pawn pawn) + { + if (!ModsConfig.BiotechActive) + { + return 0f; + } + Pawn_GeneTracker genes = pawn.genes; + if (((genes != null) ? genes.GetFirstGeneOfType() : null) == null) + { + return 0f; + } + return 9.1f; + } + + private Thing GetStoredCum(Pawn pawn) + { + Thing carriedThing = pawn.carryTracker.CarriedThing; + ThingDef gatheredCum = ThingDef.Named("GatheredCum"); + if (carriedThing != null && carriedThing.def == gatheredCum) + { + return carriedThing; + } + for (int i = 0; i < pawn.inventory.innerContainer.Count; i++) + { + if (pawn.inventory.innerContainer[i].def == gatheredCum) + { + return pawn.inventory.innerContainer[i]; + } + } + return GenClosest.ClosestThing_Global_Reachable(pawn.Position, pawn.Map, pawn.Map.listerThings.ThingsOfDef(gatheredCum), PathEndMode.OnCell, TraverseParms.For(pawn, Danger.Deadly, TraverseMode.ByPawn, false, false, false), 9999f, (Thing t) => pawn.CanReserve(t, 1, -1, null, false) && !t.IsForbidden(pawn), null); + } + } +} diff --git a/Source/Genes/Life_Force/JobGivers/JobGiver_LifeForce_RandomRape.cs b/Source/Genes/Life_Force/JobGivers/JobGiver_LifeForce_RandomRape.cs new file mode 100644 index 0000000..f710c62 --- /dev/null +++ b/Source/Genes/Life_Force/JobGivers/JobGiver_LifeForce_RandomRape.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using Verse.AI; +using RimWorld; +using rjw; + +namespace RJW_Genes +{ + public class JobGiver_LifeForce_RandomRape : JobGiver_RandomRape + { + protected override Job TryGiveJob(Pawn pawn) + { + if (!can_rape(pawn, false)) + { + return null; + } + Pawn pawn2 = this.find_victim(pawn, pawn.Map); + if (pawn2 == null) + { + return null; + } + return JobMaker.MakeJob(JobDefOf.rjw_genes_lifeforce_randomrape, pawn2); + } + + //same as xxx.canrape from rjw, but without last requirements. + public static bool can_rape(Pawn pawn, bool forced = false) + { + return RJWSettings.rape_enabled && (xxx.is_mechanoid(pawn) || ((xxx.can_fuck(pawn) || + (!xxx.is_male(pawn) && xxx.get_vulnerability(pawn) < RJWSettings.nonFutaWomenRaping_MaxVulnerability && + xxx.can_be_fucked(pawn))) && (!xxx.is_human(pawn) || ((pawn.ageTracker.Growth >= 1f || pawn.ageTracker.CurLifeStage.reproductive))))); + } + } +} diff --git a/Source/Genes/Life_Force/JobGivers/JobGiver_TryQuickieWith.cs b/Source/Genes/Life_Force/JobGivers/JobGiver_TryQuickieWith.cs new file mode 100644 index 0000000..6c17b75 --- /dev/null +++ b/Source/Genes/Life_Force/JobGivers/JobGiver_TryQuickieWith.cs @@ -0,0 +1,175 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using rjw; +using RJWSexperience; +using RimWorld; +using Verse; +using Verse.AI; +using Verse.AI.Group; +using UnityEngine; +namespace RJW_Genes +{ + public class JobGiver_TryQuickieWith : ThinkNode_JobGiver + { + protected override Job TryGiveJob(Pawn pawn) + { + Pawn target = pawn.mindState.duty.focus.Pawn; + Pawn_JobTracker jobs = target.jobs; + string pawn_name = xxx.get_pawnname(pawn); + string target_name = xxx.get_pawnname(target); + //can reserve eachother + if (pawn.CanReserveAndReach(target, PathEndMode.InteractionCell, Danger.Some) && target.CanReserve(pawn, 1, 0, null, false)) + { + //Dont interrupt player + if (!(((jobs != null) ? jobs.curJob : null) != null && jobs.curJob.playerForced)) + { + float willingness = TargetWillingness(pawn, target); + if (Rand.Chance(willingness)) + { + Job newJob =JobMaker.MakeJob(xxx.quick_sex, target); + + + return newJob; + } + else + { + if (RJWSettings.DebugLogJoinInBed) //change this when we have our own settigns + { + ModLog.Message(string.Format("{0} was not interested in having sex with {1}: ({2} chance)", pawn_name, target_name, willingness)); + } + } + } + else + { + if (RJWSettings.DebugLogJoinInBed) //change this when we have our own settigns + { + //ModLog.Message(string.Format(" find_pawn_to_fuck({0}): lover has important job ({1}), skipping", pawn_name, target.jobs.curJob.def)); + } + } + } + else + { + if (RJWSettings.DebugLogJoinInBed) //change this when we have our own settigns + { + ModLog.Message(" (" + pawn_name + "): cannot reach or reserve " + target_name); + } + } + return null; + } + public static float TargetWillingness(Pawn pawn, Pawn target) + { + string pawn_name = xxx.get_pawnname(pawn); + float willingness = SexAppraiser.would_fuck(target,pawn); + bool nymph = xxx.is_nympho(target); + bool loverelation = LovePartnerRelationUtility.LovePartnerRelationExists(pawn, target); + if (nymph || loverelation) + { + willingness *= 2; + } + if (xxx.HasNonPolyPartner(pawn, false) && !loverelation) + { + if (RJWHookupSettings.NymphosCanCheat && nymph && xxx.is_frustrated(pawn)) + { + if (RJWSettings.DebugLogJoinInBed) + { + ModLog.Message(" find_partner(" + pawn_name + "): I'm a nympho and I'm so frustrated that I'm going to cheat"); + } + } + else + { + if (!pawn.health.hediffSet.HasHediff(HediffDef.Named("AlcoholHigh"), false)) + { + if (RJWSettings.DebugLogJoinInBed) + { + ModLog.Message(" find_partner(" + pawn_name + "): I interested in banging but that's cheating"); + } + //Succubus has a small chance to seduce even if target is in relationship + willingness *= 0.1f; + } + else + { + if (RJWSettings.DebugLogJoinInBed) + { + ModLog.Message(" find_partner(" + pawn_name + "): I want to bang and im too drunk to care if its cheating"); + } + //No change + } + } + } + return willingness; + } + + public static float JoinChance(Pawn pawn ,Pawn target) + { + + float chance = 0.1f; + + //Sex satisfaction, how good the target is at sex + chance *= xxx.get_sex_satisfaction(target); + + //Succubus mood + if (pawn.needs != null && pawn.needs.mood != null) + { + chance *= pawn.needs.mood.CurLevelPercentage + 0.5f; + } + + //Size of genitals + bool size_matters = true; //To be placed in modsettings + if (size_matters) + { + //The larger the penis to greater the chance + if (RelationsUtility.AttractedToGender(pawn, Gender.Male)) + { + chance *= GetGenitalSize(target, true) + 0.5f; + } + + //The tighter the vagine the greater the chance, a size above 1 is considered as 1 + if (RelationsUtility.AttractedToGender(pawn, Gender.Female)) + { + chance *= 1f - Mathf.Min(GetGenitalSize(target, false),1f) + 0.5f; + } + } + + //Sex ability from sexperience + if (ModsConfig.IsActive("rjw.sexperience")) + { + chance *= RJWSexperience.PawnExtensions.GetSexStat(pawn); + } + return Mathf.Max(chance,0f); + } + + //Gets the size of the largest penis or the tightest vagina + public static float GetGenitalSize(Pawn pawn, bool penis_else_vagina) + { + List genitals = rjw.PawnExtensions.GetGenitalsList(pawn); + if(!genitals.NullOrEmpty()) + { + if (penis_else_vagina) + { + List penises = genitals.Where(genital => Genital_Helper.is_penis(genital)).ToList(); + { + if (!penises.NullOrEmpty()) + { + return penises.Max(genital => genital.Severity); + } + } + } + else + { + List vaginas = genitals.Where(genital => Genital_Helper.is_vagina(genital)).ToList(); + { + if (!vaginas.NullOrEmpty()) + { + return vaginas.Min(genital => genital.Severity); + } + } + } + } + return 0f; + + } + } +} diff --git a/Source/Genes/Life_Force/LordToil_Flirt.cs b/Source/Genes/Life_Force/LordToil_Flirt.cs new file mode 100644 index 0000000..0bd1e38 --- /dev/null +++ b/Source/Genes/Life_Force/LordToil_Flirt.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using Verse.AI; +using Verse.AI.Group; +using RimWorld; +namespace RJW_Genes +{ + //Based on LordToil_EscortPawn + public class LordToil_Flirt : LordToil + { + public LordToil_Flirt(Pawn victim, float followRadius) + { + this.victim = victim; + this.followRadius = followRadius; + } + + + public override void UpdateAllDuties() + { + for (int i = 0; i < this.lord.ownedPawns.Count; i++) + { + PawnDuty duty = new PawnDuty(GeneDefOf.rjw_genes_flirt, this.victim, this.followRadius); + this.lord.ownedPawns[i].mindState.duty = duty; + } + } + + public Pawn victim; + public float followRadius; + } +} diff --git a/Source/Genes/Life_Force/MentalStates/LifeForceMentalBreakWorker.cs b/Source/Genes/Life_Force/MentalStates/LifeForceMentalBreakWorker.cs new file mode 100644 index 0000000..36b47b0 --- /dev/null +++ b/Source/Genes/Life_Force/MentalStates/LifeForceMentalBreakWorker.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using RimWorld; +using Verse.AI; + +namespace RJW_Genes +{ + public class LifeForceMentalBreakWorker : MentalBreakWorker + { + public override bool BreakCanOccur(Pawn pawn) + { + if (pawn.Spawned && base.BreakCanOccur(pawn)) + { + if (!GeneUtility.HasLifeForce(pawn)) + { + return false; + } + Gene_LifeForce gene = pawn.genes.GetFirstGeneOfType(); + if( gene.Resource.Value <= 0) + { + return true; + } + } + return false; + } + } +} diff --git a/Source/Genes/Life_Force/MentalStates/LifeForceMentalState.cs b/Source/Genes/Life_Force/MentalStates/LifeForceMentalState.cs new file mode 100644 index 0000000..9c22f4e --- /dev/null +++ b/Source/Genes/Life_Force/MentalStates/LifeForceMentalState.cs @@ -0,0 +1,23 @@ +using System; +using Verse; +using Verse.AI; +using rjw; +namespace RJW_Genes +{ + public class LifeForceMentalState : MentalState + { + public override void MentalStateTick() + { + if (this.pawn.IsHashIntervalTick(150) && !GeneUtility.HasCriticalLifeForce(this.pawn)) + { + Pawn_JobTracker jobs = this.pawn.jobs; + if (!(((jobs != null) ? jobs.curDriver : null) is JobDriver_Sex)) + { + base.RecoverFromState(); + return; + } + } + base.MentalStateTick(); + } + } +} \ No newline at end of file diff --git a/Source/Genes/Life_Force/MentalStates/LifeForceMentalStateWorker.cs b/Source/Genes/Life_Force/MentalStates/LifeForceMentalStateWorker.cs new file mode 100644 index 0000000..eaeaf89 --- /dev/null +++ b/Source/Genes/Life_Force/MentalStates/LifeForceMentalStateWorker.cs @@ -0,0 +1,14 @@ +using System; +using Verse; +using Verse.AI; +using rjw; +namespace RJW_Genes +{ + public class LifeForceMentalStateWorker : MentalStateWorker + { + public override bool StateCanOccur(Pawn pawn) + { + return base.StateCanOccur(pawn) && (xxx.is_human(pawn) && JobGiver_LifeForce_RandomRape.can_rape(pawn)); + } + } +} diff --git a/Source/Genes/Life_Force/Patches/Patch_SatisfyPersonal_LifeForceGain.cs b/Source/Genes/Life_Force/Patches/Patch_SatisfyPersonal_LifeForceGain.cs new file mode 100644 index 0000000..6ea0a62 --- /dev/null +++ b/Source/Genes/Life_Force/Patches/Patch_SatisfyPersonal_LifeForceGain.cs @@ -0,0 +1,203 @@ +using HarmonyLib; +using rjw; +using RimWorld; +using Verse; + +namespace RJW_Genes +{ + /// + /// This Patch hooks after "SatisfyPersonal"(i.E. when the pawn finished fucking) and covers LifeForceGain. + /// If the pawn has LifeForce, all relevant Genes are checked and applied. + /// + [HarmonyPatch(typeof(SexUtility), nameof(SexUtility.SatisfyPersonal))] + public static class Patch_SatisfyPersonal_LifeForceGain + { + public const float LIFEFORCE_GAINED_FROM_DRAINER_GENE = 0.25f; + + public static void Postfix(SexProps props) + { + // ShortCuts: Exit Early if Pawn or Partner are null (can happen with Animals or Masturbation) + if (props.pawn == null || !props.hasPartner()) + return; + + // Exit if pawn has fertilin themself, it won't give any if it has lifeforce themself. + if (GeneUtility.HasLifeForce(props.pawn)) + { + return; + } + + //Summary// + //We use the positions of the pawn (dom or sub) and based on that which interactions will transfer fertilin + //By checking isreceiver we know if the succubus is the dom or the sub and if the situation is reverse we also swap the function we use + float absorb_factor = 0f; + if (GeneUtility.HasLifeForce(props.partner)) + { + Pawn PawnWithLifeForce = props.partner; + + if (!props.isRevese) + { + if (props.isReceiver) + { + // Scenario Dom Succubus, normal + absorb_factor = BaseDom(props, PawnWithLifeForce); + } + else + { + // Scenario Sub Succubus, normal + absorb_factor = BaseSub(props, PawnWithLifeForce); + } + } + else + { + if (props.isReceiver) + { + // Scenario Dom Succubus, Reverse + absorb_factor = BaseSub(props, PawnWithLifeForce); + } + else + { + // Scenario Sub Succubus, Reverse + absorb_factor = BaseDom(props, PawnWithLifeForce); + } + } + + // If we remove this check fertilin is always lost, but the succubus doesn't always gain any + if (absorb_factor != 0f) + { + TransferFertilin(props, absorb_factor); + } + + // Handle Gene: Sexual_Drainer + // to be drained, a pawn must not-be-drained-already and drainers cannot be drained either. + if (GeneUtility.IsSexualDrainer(PawnWithLifeForce) + && !props.pawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_succubus_drained) + && !GeneUtility.IsSexualDrainer(props.pawn)) + { + if (GeneUtility.IsGenerousDonor(props.pawn) && RJW_Genes_Settings.rjw_genes_generous_donor_cheatmode) + { + // Cheatmode is on, do not drain but give life + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(PawnWithLifeForce), LIFEFORCE_GAINED_FROM_DRAINER_GENE); + if (RJW_Genes_Settings.rjw_genes_detailed_debug) + ModLog.Message($"{props.pawn.Name} was not (sexually) drained by {PawnWithLifeForce.Name}, because Cheatmode for Generous Donors is on"); + } else + { + if (RJW_Genes_Settings.rjw_genes_detailed_debug) + ModLog.Message($"{props.pawn.Name} has been (sexually) drained by {PawnWithLifeForce.Name}"); + props.pawn.health.AddHediff(HediffDefOf.rjw_genes_succubus_drained); + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(PawnWithLifeForce), LIFEFORCE_GAINED_FROM_DRAINER_GENE); + } + } + } + } + + public static void TransferFertilin(SexProps props, float absorb_percentage = 1f) + { + Pawn_GeneTracker genes = props.partner.genes; + Gene_LifeForce gene = genes.GetFirstGeneOfType(); + + Hediff fertilin_lost = props.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.rjw_genes_fertilin_lost); + //Around quarter get ejected everytime pawn cums + float multiplier = Rand.Range(0.10f, 0.40f); + + if (GeneUtility.IsGenerousDonor(props.pawn) && RJW_Genes_Settings.rjw_genes_generous_donor_cheatmode) + { + // Do nothing, Cheatmode is on + multiplier = 1; + } + else + { + //Create a new ferilin_lost hediff or increase it + if (fertilin_lost == null) + { + Hediff new_fertilin_lost = HediffMaker.MakeHediff(HediffDefOf.rjw_genes_fertilin_lost, props.pawn); + props.pawn.health.AddHediff(new_fertilin_lost); + new_fertilin_lost.Severity = multiplier; + } else + { + multiplier *= 1 - fertilin_lost.Severity; + fertilin_lost.Severity += multiplier; + } + } + + multiplier *= absorb_percentage; + //Currently taking the sum of all penises, maybe I should just consider one at random + float valuechange = TotalFertilinAmount(props, multiplier); + + if (props.partner.IsAnimal()) + { + if (RJW_Genes_Settings.rjw_genes_detailed_debug) + ModLog.Message($"Fertilin-Source of {props.pawn.Name} was an Animal, Fertilin-Gain is being adjusted by {RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor}%"); + valuechange *= RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor; + } + + GeneUtility.OffsetLifeForce(GeneUtility.GetLifeForceGene(props.partner), valuechange); + } + + public static float TotalFertilinAmount(SexProps props, float multiplier) + { + float total_fluid = CumUtility.GetTotalFluidAmount(props.pawn) / 100; + + //More in the tank means more to give + if (props.pawn.Has(Quirk.Messy)) + { + total_fluid *= 2; + } + if (props.pawn.RaceProps.Animal) + { + total_fluid *= 0.1f; //Should make this settable in settings + } + + return total_fluid; + } + + /// + /// Handles the Case that the Life-Force wielder initiated the Sex (They are "Dom"). + /// + /// The summary of the sex act, used for checking conditions. + /// The pawn that might gain LifeForce through this method. + /// A factor between 0 and 1 how much of output-fertilin will be used for input-lifeforce + public static float BaseDom(SexProps props, Pawn PawnWithLifeForce) + { + float absorb_factor = 0f; + if (props.sexType == xxx.rjwSextype.Sixtynine && GeneUtility.IsCumEater(PawnWithLifeForce)) + { + absorb_factor += 1f; + } + return absorb_factor; + } + + /// + /// Handles the Case that the Life-Force wielder got initiated into sex (They are "Sub"). + /// + /// The summary of the sex act, used for checking conditions. + /// The pawn that might gain LifeForce through this method. + /// A factor between 0 and 1 how much of output-fertilin will be used for input-lifeforce + public static float BaseSub(SexProps props, Pawn PawnWithLifeForce) + { + float absorb_factor = 0f; + if ((props.sexType == xxx.rjwSextype.Oral || props.sexType == xxx.rjwSextype.Fellatio || props.sexType == xxx.rjwSextype.Sixtynine) + && GeneUtility.IsCumEater(PawnWithLifeForce)) + { + absorb_factor += 1f; + } + else if (props.sexType == xxx.rjwSextype.Vaginal && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_fertilin_absorber)) + { + absorb_factor += 1f; + } + else if (props.sexType == xxx.rjwSextype.Anal && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_fertilin_absorber)) + { + absorb_factor += 1f; + } + else if (props.sexType == xxx.rjwSextype.DoublePenetration && GeneUtility.HasGeneNullCheck(PawnWithLifeForce, GeneDefOf.rjw_genes_fertilin_absorber)) + { + absorb_factor += 1f; + } + else if (props.sexType == xxx.rjwSextype.Scissoring || props.sexType == xxx.rjwSextype.Cunnilingus) + { + //with vaginal cum absorbtion + //absorb_factor += 1f; + } + return absorb_factor; + } + } +} diff --git a/Source/Genes/Life_Force/Patches/Patch_SexTicks_ChangePsyfocus.cs b/Source/Genes/Life_Force/Patches/Patch_SexTicks_ChangePsyfocus.cs new file mode 100644 index 0000000..dfc359b --- /dev/null +++ b/Source/Genes/Life_Force/Patches/Patch_SexTicks_ChangePsyfocus.cs @@ -0,0 +1,62 @@ +using HarmonyLib; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; + +namespace RJW_Genes +{ + + /// + /// This patch enables cum-eater pawns to drain cumflations for more fertilin drain by passively having sex. + /// It is hooked after RJWs Change-Psyfocus so that pawns that are having prolonged sex (e.g. by overdrive) can fully drain the cumflation over time. + /// + /// It is conditionally loaded only when LicentiaLabs is enabled, as this is the necessary source for cumflation-hediffs. + /// The patched function is: [HarmonyPatch(typeof(JobDriver_Sex), nameof(JobDriver_Sex.ChangePsyfocus))] + /// + public static class Patch_SexTicks_ChangePsyfocus + { + public const float LIFEFORCE_GAIN_PER_TICK = 0.05f; + public const float CUMFLATION_SEVERITY_LOSS_PER_TICK = 0.1f; + + //Using ChangePsyfocus as it is something that fires every 60 ticks + public static void Postfix(ref JobDriver_Sex __instance, ref Pawn pawn, ref Thing target) + { + SexProps props = __instance.Sexprops; + if (props != null && props.sexType == xxx.rjwSextype.Cunnilingus && props.partner != null && target != null) + { + Pawn pawn2 = target as Pawn; + // Case 1: Pawn is "drinking" and has CumEater Gene + if (props.isRevese && GeneUtility.IsCumEater(pawn)) + { + if (RJW_Genes_Settings.rjw_genes_detailed_debug) + ModLog.Message($"{pawn.Name} is draining {pawn2.Name}'s cumflation for additional fertilin (CumEater-Gene ChangePsyFocus-Trigger)."); + DrinkCumflation(pawn2, pawn); + } + // Case 2: Pawn2 is "drinking" and has CumEater Gene + else if (GeneUtility.IsCumEater(pawn2)) + { + if (RJW_Genes_Settings.rjw_genes_detailed_debug) + ModLog.Message($"{pawn.Name} is draining {pawn2.Name}'s cumflation for additional fertilin (CumEater-Gene ChangePsyFocus-Trigger)."); + DrinkCumflation(pawn, pawn2); + } + } + } + + public static void DrinkCumflation(Pawn source, Pawn consumer) + { + if (GeneUtility.HasLifeForce(consumer) && GeneUtility.IsCumEater(consumer) + && source.health.hediffSet.HasHediff(HediffDef.Named("Cumflation"))) + { + Hediff cumflation = source.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation")); + Gene_LifeForce gene_LifeForce = consumer.genes.GetFirstGeneOfType(); + cumflation.Severity = Math.Max(0f,cumflation.Severity - CUMFLATION_SEVERITY_LOSS_PER_TICK); + gene_LifeForce.Resource.Value += LIFEFORCE_GAIN_PER_TICK; + } + } + } +} diff --git a/Source/Genes/Life_Force/Patches/Patch_Vanilla_Inheritance_Fertilin.cs b/Source/Genes/Life_Force/Patches/Patch_Vanilla_Inheritance_Fertilin.cs new file mode 100644 index 0000000..b4b327c --- /dev/null +++ b/Source/Genes/Life_Force/Patches/Patch_Vanilla_Inheritance_Fertilin.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using HarmonyLib; +using RimWorld; +using Verse; + +namespace RJW_Genes +{ + /// + /// This Patch is applied to add a absorption gene for fertilin if it has none, but it does have the fertilin gene + /// First tries to get one from the parents else chooses one of them at random + /// the genes are determined and "simply added". + /// + /// This fixes the potential problem that Pawns could inherit Fertilin, but no gene to gain Fertilin. + /// + [HarmonyPatch(typeof(PregnancyUtility), "GetInheritedGeneSet", new Type[] + { + typeof(Pawn), + typeof(Pawn) + } + )] + public static class Patch_Vanilla_Inheritance_Fertilin + { + [HarmonyPostfix] + public static void InheritedGenes(Pawn father, Pawn mother, ref GeneSet __result) + { + //Also make a setting for this + if (__result.GenesListForReading.Contains(GeneDefOf.rjw_genes_lifeforce)) + { + List babies_genes = __result.GenesListForReading; + + //If there is no absorption gene get one from the parents, else a random one + if(!Has_Fertilin_Source_Gene(babies_genes)) + { + if (RJW_Genes_Settings.rjw_genes_detailed_debug) + ModLog.Message($"Child of ({father.Name};{mother.Name}) has Genes with LifeForce-Resource but no Source-Gene, adding one of parents random if possible or any random otherwise."); + // Gather Parents Source-Genes + List absorption_genes_parents = new List(); + foreach (GeneDef geneDef in FertilinSourceGenes) + { + if(mother.genes != null && mother.genes.HasGene(geneDef)) + absorption_genes_parents.Add(geneDef); + + if (father.genes != null && father.genes.HasGene(geneDef)) + absorption_genes_parents.Add(geneDef); + } + // Parents had Genes - Pick a random one of them + if (!absorption_genes_parents.NullOrEmpty()) + __result.AddGene(absorption_genes_parents.RandomElement()); + // Create a fully random one for your little Cumfueled missbreed + else + __result.AddGene(FertilinSourceGenes.RandomElement()); + } + } + } + + private static List FertilinSourceGenes = new List() { + GeneDefOf.rjw_genes_drainer, + GeneDefOf.rjw_genes_cum_eater, + GeneDefOf.rjw_genes_fertilin_absorber, + GeneDefOf.rjw_genes_cockeater + }; + + private static bool Has_Fertilin_Source_Gene(List genes) + { + foreach (GeneDef gene in genes) + { + if (FertilinSourceGenes.Contains(gene)) + { + return true; + } + } + return false; + } + + + } +} diff --git a/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCannotInteract.cs b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCannotInteract.cs new file mode 100644 index 0000000..06e05b4 --- /dev/null +++ b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCannotInteract.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using Verse.AI; +namespace RJW_Genes +{ + public class ThinkNode_ConditionalCannotInteract : ThinkNode_Conditional + { + protected override bool Satisfied(Pawn pawn) + { + Pawn target = pawn.mindState.duty.focus.Pawn; + if (target == null) + { + return true; + } + return (target.jobs != null && target.jobs.curDriver.asleep) || !pawn.CanReach(target, PathEndMode.InteractionCell, Danger.Deadly); + } + } +} diff --git a/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCritcalLifeForce.cs b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCritcalLifeForce.cs new file mode 100644 index 0000000..dbb3f6b --- /dev/null +++ b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalCritcalLifeForce.cs @@ -0,0 +1,14 @@ +using System; +using Verse; +using Verse.AI; + +namespace RJW_Genes +{ + public class ThinkNode_ConditionalCritcalLifeForce : ThinkNode_Conditional + { + protected override bool Satisfied(Pawn p) + { + return GeneUtility.HasCriticalLifeForce(p); + } + } +} \ No newline at end of file diff --git a/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalLowLifeForce.cs b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalLowLifeForce.cs new file mode 100644 index 0000000..0e71ce7 --- /dev/null +++ b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_ConditionalLowLifeForce.cs @@ -0,0 +1,14 @@ +using System; +using Verse; +using Verse.AI; + +namespace RJW_Genes +{ + public class ThinkNode_ConditionalLowLifeForce : ThinkNode_Conditional + { + protected override bool Satisfied(Pawn p) + { + return GeneUtility.HasLowLifeForce(p); + } + } +} \ No newline at end of file diff --git a/Source/Genes/Life_Force/ThinkNodes/ThinkNode_NewFlirtTarget.cs b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_NewFlirtTarget.cs new file mode 100644 index 0000000..9dee5ad --- /dev/null +++ b/Source/Genes/Life_Force/ThinkNodes/ThinkNode_NewFlirtTarget.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using Verse.AI; +using rjw; +namespace RJW_Genes +{ + public class ThinkNode_NewFlirtTarget : ThinkNode + { + public override ThinkResult TryIssueJobPackage(Pawn pawn, JobIssueParams jobParams) + { + List validTargets = ValidTargets(pawn, pawn.Map).ToList(); + Pawn new_target = validTargets.NullOrEmpty() ? null : validTargets.RandomElement(); + if (new_target != null) + { + pawn.mindState.duty.focus = new_target; + } + return ThinkResult.NoJob; + } + + private IEnumerable ValidTargets(Pawn pawn, Map map) + { + foreach (Pawn pawn2 in map.mapPawns.FreeAdultColonistsSpawned) + { + if (pawn != null && pawn2 != null && pawn != pawn2 && !pawn2.jobs.curDriver.asleep && SexAppraiser.would_fuck(pawn, pawn2) > 0.1f) + { + yield return pawn2; + } + } + //IEnumerator enumerator = null; + yield break; + } + } +} diff --git a/Source/Genes/Life_Force/UI/Alert_LowFertilin.cs b/Source/Genes/Life_Force/UI/Alert_LowFertilin.cs new file mode 100644 index 0000000..09601de --- /dev/null +++ b/Source/Genes/Life_Force/UI/Alert_LowFertilin.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld.Planet; +using Verse; +using RimWorld; +namespace RJW_Genes +{ + public class Alert_CriticalFertilin : Alert + { + private List Targets + { + get + { + this.CalculateTargets(); + return this.targets; + } + } + + public override string GetLabel() + { + if (this.Targets.Count == 1) + { + return "AlertLowFertilin".Translate() + ": " + this.targetLabels[0]; + } + return "AlertLowFertilin".Translate(); + } + + private void CalculateTargets() + { + this.targets.Clear(); + this.targetLabels.Clear(); + if (!ModsConfig.BiotechActive) + { + return; + } + foreach (Pawn pawn in PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive) + { + if (pawn.RaceProps.Humanlike && pawn.Faction == Faction.OfPlayer) + { + Pawn_GeneTracker genes = pawn.genes; + Gene_LifeForce gene_Lifeforce = (genes != null) ? genes.GetFirstGeneOfType() : null; + if (gene_Lifeforce != null && gene_Lifeforce.Active && gene_Lifeforce.Value < gene_Lifeforce.MinLevelForAlert) + { + this.targets.Add(pawn); + this.targetLabels.Add(pawn.NameShortColored.Resolve()); + } + } + } + } + + public override TaggedString GetExplanation() + { + return "AlertLowFertilinDesc".Translate() + ":\n" + this.targetLabels.ToLineList(" - "); + } + + public override AlertReport GetReport() + { + return AlertReport.CulpritsAre(this.Targets); + } + + private List targets = new List(); + + private List targetLabels = new List(); + } +} diff --git a/Source/Genes/Life_Force/UI/GeneGizmo_ResourceLifeForce.cs b/Source/Genes/Life_Force/UI/GeneGizmo_ResourceLifeForce.cs new file mode 100644 index 0000000..edd2e5f --- /dev/null +++ b/Source/Genes/Life_Force/UI/GeneGizmo_ResourceLifeForce.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +using UnityEngine; +namespace RJW_Genes +{ + //Copied from GeneGizmo_ResourceHemogen, with small modifications + public class GeneGizmo_ResourceLifeForce : GeneGizmo_Resource + { + public GeneGizmo_ResourceLifeForce(Gene_Resource gene, List drainGenes, Color barColor, Color barhighlightColor) : base(gene, drainGenes, barColor, barhighlightColor) + { + + } + + public override GizmoResult GizmoOnGUI(Vector2 topLeft, float maxWidth, GizmoRenderParms parms) + { + return base.GizmoOnGUI(topLeft, maxWidth, parms); + } + + protected override string GetTooltip() + { + + this.tmpDrainGenes.Clear(); + string text = string.Format("{0}: {1} / {2}\n", this.gene.ResourceLabel.CapitalizeFirst().Colorize(ColoredText.TipSectionTitleColor), this.gene.ValueForDisplay, this.gene.MaxForDisplay); + if (this.gene.pawn.IsColonistPlayerControlled || this.gene.pawn.IsPrisonerOfColony) + { + if (this.gene.targetValue <= 0f) + { + text += "NeverSeekFertilin"; + } + else + { + text = text + ("SeekFertilinBelow" + ": ") + this.gene.PostProcessValue(this.gene.targetValue); + } + } + if (!this.drainGenes.NullOrEmpty()) + { + float num = 0f; + foreach (IGeneResourceDrain geneResourceDrain in this.drainGenes) + { + if (geneResourceDrain.CanOffset) + { + this.tmpDrainGenes.Add(new Pair(geneResourceDrain, geneResourceDrain.ResourceLossPerDay)); + num += geneResourceDrain.ResourceLossPerDay; + } + } + if (num != 0f) + { + string text2 = (num < 0f) ? "RegenerationRate".Translate() : "DrainRate".Translate(); + text = string.Concat(new string[] + { + text, + "\n\n", + text2, + ": ", + "PerDay".Translate(Mathf.Abs(this.gene.PostProcessValue(num))).Resolve() + }); + foreach (Pair pair in this.tmpDrainGenes) + { + text = string.Concat(new string[] + { + text, + "\n - ", + pair.First.DisplayLabel.CapitalizeFirst(), + ": ", + "PerDay".Translate(this.gene.PostProcessValue(-pair.Second).ToStringWithSign()).Resolve() + }); + } + } + } + if (!this.gene.def.resourceDescription.NullOrEmpty()) + { + text = text + "\n\n" + this.gene.def.resourceDescription.Formatted(this.gene.pawn.Named("PAWN")).Resolve(); + } + return text; + } + private List> tmpDrainGenes = new List>(); + } +} diff --git a/Source/HediffDefOf.cs b/Source/HediffDefOf.cs index e9be87d..30e34df 100644 --- a/Source/HediffDefOf.cs +++ b/Source/HediffDefOf.cs @@ -12,9 +12,10 @@ namespace RJW_Genes public static class HediffDefOf { public static readonly HediffDef rjw_genes_aphrodisiac_pheromone; - + public static readonly HediffDef rjw_genes_fertilin_lost; + public static readonly HediffDef rjw_genes_succubus_drained; public static readonly HediffDef rjw_genes_orgasm_rush_hediff; - + public static readonly HediffDef rjw_genes_fertilin_craving; public static readonly HediffDef rjw_genes_evergrowth_sideeffect; diff --git a/Source/JobDefOf.cs b/Source/JobDefOf.cs new file mode 100644 index 0000000..b077aa3 --- /dev/null +++ b/Source/JobDefOf.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +namespace RJW_Genes +{ + [DefOf] + public static class JobDefOf + { + public static readonly JobDef rjw_genes_lifeforce_randomrape; + public static readonly JobDef rjw_genes_lifeforce_seduced; + public static readonly JobDef sex_on_spot; + public static readonly JobDef sex_on_spot_reciever; + public static readonly JobDef rjw_genes_flirt; + } +} diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index 91ee066..a55766a 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -106,6 +106,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -124,6 +164,7 @@ + diff --git a/Source/Settings/RJW_Genes_Settings.cs b/Source/Settings/RJW_Genes_Settings.cs index 6f0171d..f6e2f83 100644 --- a/Source/Settings/RJW_Genes_Settings.cs +++ b/Source/Settings/RJW_Genes_Settings.cs @@ -17,12 +17,58 @@ namespace RJW_Genes listing_Standard.ColumnWidth = rect.width / 2.05f; listing_Standard.Begin(rect); listing_Standard.Gap(24f); + listing_Standard.Label("Fertilin-Gain from Animals" + ": " + + Math.Round((double)(RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor * 100f), 0).ToString() + "%", -1f, "of fertilin gained (compared to human-baseline)."); + RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor = listing_Standard.Slider(RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor, 0f, 3f); + + listing_Standard.Gap(5f); + listing_Standard.CheckboxLabeled("Sexdemon Visits", ref rjw_genes_sexdemon_visit, "If enabled, incubi and succubi can spawn in through an event.", 0f, 1f); + if (rjw_genes_sexdemon_visit) + { + listing_Standard.Gap(3f); + listing_Standard.CheckboxLabeled(" Size matters", ref rjw_genes_sexdemon_join_size_matters, "Incubi and succubi will consider size/tightness of partners genital for deciding if they want to join", 0f, 1f); + listing_Standard.Gap(3f); + listing_Standard.CheckboxLabeled(" Sexdemon groups", ref rjw_genes_sexdemon_visit_groups, "Multiple sexdemons can spawn during a event", 0f, 1f); + listing_Standard.Gap(3f); + listing_Standard.CheckboxLabeled(" Succubi", ref rjw_genes_sexdemon_visit_succubi, "Allow incubi to spawn through this even", 0f, 1f); + listing_Standard.Gap(3f); + listing_Standard.CheckboxLabeled(" Incubi", ref rjw_genes_sexdemon_visit_incubi, "Allow incubi to spawn through this even", 0f, 1f); + + } + + listing_Standard.Gap(5f); + listing_Standard.CheckboxLabeled("generous-donor cheatmode", ref rjw_genes_generous_donor_cheatmode, "When enabled, pawns with the 'generous donor' are not drained and not fertilin exhausted. Hence they can fuel succubi and incubi non-stop. This makes them drastically easier to keep, and you should not do it.", 0f, 1f); + + listing_Standard.Gap(5f); listing_Standard.CheckboxLabeled("detailed-debug", ref rjw_genes_detailed_debug, "Adds detailed information to the log about interactions and genes.", 0f, 1f); listing_Standard.End(); } + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor, "rjw_genes_fertilin_from_animals_factor", RJW_Genes_Settings.rjw_genes_fertilin_from_animals_factor, true); + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_detailed_debug, "rjw_genes_detailed_debug", RJW_Genes_Settings.rjw_genes_detailed_debug, true); + + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_visit, "rjw_genes_sexdemon_visit", RJW_Genes_Settings.rjw_genes_sexdemon_visit, true); + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_join_size_matters, "rjw_genes_sexdemon_join_size_matters", RJW_Genes_Settings.rjw_genes_sexdemon_join_size_matters, true); + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_visit_groups, "rjw_genes_sexdemon_groups", RJW_Genes_Settings.rjw_genes_sexdemon_visit_groups, true); + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_visit_succubi, "rjw_genes_sexdemon_succubi", RJW_Genes_Settings.rjw_genes_sexdemon_visit_succubi, true); + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_sexdemon_visit_incubi, "rjw_genes_sexdemon_incubi", RJW_Genes_Settings.rjw_genes_sexdemon_visit_incubi, true); + + Scribe_Values.Look(ref RJW_Genes_Settings.rjw_genes_generous_donor_cheatmode, "rjw_genes_generous_donor_cheatmode", RJW_Genes_Settings.rjw_genes_generous_donor_cheatmode, true); + } public static bool rjw_genes_detailed_debug = false; + public static float rjw_genes_fertilin_from_animals_factor = 0.1f; + + public static bool rjw_genes_sexdemon_visit = true; + public static bool rjw_genes_sexdemon_join_size_matters = true; + public static bool rjw_genes_sexdemon_visit_groups = true; + public static bool rjw_genes_sexdemon_visit_succubi = true; + public static bool rjw_genes_sexdemon_visit_incubi = true; + + public static bool rjw_genes_generous_donor_cheatmode = false; } } diff --git a/Source/ThoughtDefOf.cs b/Source/ThoughtDefOf.cs index 1d49bd9..f884d4a 100644 --- a/Source/ThoughtDefOf.cs +++ b/Source/ThoughtDefOf.cs @@ -8,13 +8,14 @@ using Verse; namespace RJW_Genes { [DefOf] - public static class ThoughtDefOf + public static class ThoughtDefOf { - + public static readonly ThoughtDef rjw_genes_cock_eaten; + public static readonly ThoughtDef rjw_genes_seduced; public static readonly ThoughtDef rjw_genes_pheromone_carrier_nearby; //Others with same names but other defs than in genedefof - + public static readonly InteractionDef rjw_genes_flirt; } }