mirror of
				https://github.com/vegapnk/RJW-Genes.git
				synced 2024-08-15 00:23:31 +00:00 
			
		
		
		
	highmates patch
This commit is contained in:
		
							parent
							
								
									72b3c10c56
								
							
						
					
					
						commit
						9ae622bb7f
					
				
					 6 changed files with 103 additions and 3 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -40,4 +40,43 @@
 | 
			
		|||
      </li>
 | 
			
		||||
    </comps>
 | 
			
		||||
  </AbilityDef>
 | 
			
		||||
  
 | 
			
		||||
  <AbilityDef>
 | 
			
		||||
    <defName>rjw_genes_ability_InitiateLovin</defName>
 | 
			
		||||
    <label>initiate lovin</label>
 | 
			
		||||
    <description>Seduce the target to approach the caster.</description>
 | 
			
		||||
    <iconPath>Genes/Icons/seduce</iconPath>
 | 
			
		||||
    <writeCombatLog>True</writeCombatLog>	
 | 
			
		||||
    <stunTargetWhileCasting>true</stunTargetWhileCasting>
 | 
			
		||||
    <displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
 | 
			
		||||
	<cooldownTicksRange>30000</cooldownTicksRange>
 | 
			
		||||
    <disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
 | 
			
		||||
	  <statBases>
 | 
			
		||||
      <Ability_Duration>10</Ability_Duration>
 | 
			
		||||
    </statBases>
 | 
			
		||||
    <warmupMote>Mote_CoagulateStencil</warmupMote>
 | 
			
		||||
    <warmupEffecter>Coagulate</warmupEffecter>
 | 
			
		||||
    <warmupStartSound>Coagulate_Cast</warmupStartSound>
 | 
			
		||||
	<verbProperties>
 | 
			
		||||
      <verbClass>Verb_CastAbility</verbClass>
 | 
			
		||||
      <range>10</range>
 | 
			
		||||
      <warmupTime>1</warmupTime>
 | 
			
		||||
      <targetParams>
 | 
			
		||||
        <canTargetAnimals>false</canTargetAnimals>
 | 
			
		||||
        <canTargetSelf>false</canTargetSelf>
 | 
			
		||||
        <canTargetBuildings>false</canTargetBuildings>
 | 
			
		||||
        <canTargetMechs>false</canTargetMechs>
 | 
			
		||||
        <canTargetBloodfeeders>true</canTargetBloodfeeders>
 | 
			
		||||
      </targetParams>
 | 
			
		||||
    </verbProperties>
 | 
			
		||||
    <comps>
 | 
			
		||||
      <li Class = "RJW_Genes.CompProperties_Seduce">
 | 
			
		||||
        <compClass>RJW_Genes.CompAbilityEffect_Seduce</compClass>
 | 
			
		||||
        <destination>Caster</destination>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li Class="CompProperties_AbilityFleckOnTarget">
 | 
			
		||||
        <fleckDef>Heart</fleckDef>
 | 
			
		||||
      </li>
 | 
			
		||||
    </comps>
 | 
			
		||||
  </AbilityDef>
 | 
			
		||||
</Defs>
 | 
			
		||||
							
								
								
									
										29
									
								
								Common/Patches/Genes/Patch_Highmates.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Common/Patches/Genes/Patch_Highmates.xml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<Patch>
 | 
			
		||||
	<Operation Class="PatchOperationFindMod">
 | 
			
		||||
		<mods>
 | 
			
		||||
			<li>Vanilla Races Expanded - Highmate</li>
 | 
			
		||||
		</mods>
 | 
			
		||||
		<match Class="PatchOperationSequence">
 | 
			
		||||
			<operations>
 | 
			
		||||
				<li Class="PatchOperationReplace">
 | 
			
		||||
					<xpath>/Defs/GeneDef[defName="VRE_Libido_VeryHigh"]/abilities</xpath>
 | 
			
		||||
					<value>
 | 
			
		||||
						<abilities>
 | 
			
		||||
							<li>rjw_genes_ability_InitiateLovin</li>
 | 
			
		||||
						</abilities>
 | 
			
		||||
					</value>
 | 
			
		||||
				</li>
 | 
			
		||||
				<li Class="PatchOperationReplace">
 | 
			
		||||
					<xpath>/Defs/GeneDef[defName="VRE_Libido_VeryHigh"]/descriptionHyperlinks</xpath>
 | 
			
		||||
					<value>
 | 
			
		||||
						<descriptionHyperlinks>
 | 
			
		||||
							<AbilityDef>rjw_genes_ability_InitiateLovin</AbilityDef>
 | 
			
		||||
						</descriptionHyperlinks>
 | 
			
		||||
					</value>
 | 
			
		||||
				</li>				
 | 
			
		||||
			</operations>
 | 
			
		||||
		</match>
 | 
			
		||||
	</Operation>
 | 
			
		||||
</Patch>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +20,7 @@ namespace RJW_BGS
 | 
			
		|||
        [HarmonyPatch("impregnate")]
 | 
			
		||||
        private static void ImpregnatePostfix(ref SexProps props)
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            if (RJWSettings.DevMode) rjw.ModLog.Message("Rimjobworld::impregnate(" + props.sexType + "):: " + xxx.get_pawnname(props.pawn) + " + " + xxx.get_pawnname(props.partner) + ":");
 | 
			
		||||
 | 
			
		||||
            //"mech" pregnancy
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +34,10 @@ namespace RJW_BGS
 | 
			
		|||
            List<Hediff> pawnparts = giver.GetGenitalsList();
 | 
			
		||||
            List<Hediff> partnerparts = receiver.GetGenitalsList();
 | 
			
		||||
            var interaction = rjw.Modules.Interactions.Helpers.InteractionHelper.GetWithExtension(props.dictionaryKey);
 | 
			
		||||
 | 
			
		||||
            if (receiver.genes == null)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (!(props.sexType == xxx.rjwSextype.Anal && receiver.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_fertile_anus)))
 | 
			
		||||
                return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,6 +119,7 @@ namespace RJW_Genes
 | 
			
		|||
        [MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_LoveFeed = DefDatabase<GeneDef>.GetNamed("RS_LoveFeed", false);
 | 
			
		||||
        [MayRequire("resplice.xotr.charmweavers")] public static GeneDef RS_MultiPregnancy = DefDatabase<GeneDef>.GetNamed("RS_MultiPregnancy", false);
 | 
			
		||||
        [MayRequire("redmattis.bigsmall.core")] public static GeneDef VU_VampireLover = DefDatabase<GeneDef>.GetNamed("VU_VampireLover", false);
 | 
			
		||||
        [MayRequire("vanillaracesexpanded.highmate")] public static GeneDef VRE_LovinDependency = DefDatabase<GeneDef>.GetNamed("VRE_LovinDependency", false);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,6 +13,8 @@ namespace RJWLoveFeeding
 | 
			
		|||
        //[HarmonyPostfix]
 | 
			
		||||
        static Def LoveFeed = DefDatabase<GeneDef>.GetNamed("RS_LoveFeed", false);
 | 
			
		||||
        static Def VampireLover = DefDatabase<GeneDef>.GetNamed("VU_VampireLover", false);
 | 
			
		||||
        static Def LovinDependency = DefDatabase<GeneDef>.GetNamed("VRE_LovinDependency", false);
 | 
			
		||||
        static NeedDef VRE_Lovin = DefDatabase<NeedDef>.GetNamed("VRE_Lovin", false);
 | 
			
		||||
        public static void Postfix(SexProps props)
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +34,10 @@ namespace RJWLoveFeeding
 | 
			
		|||
                //ModLog.Message($" Patch Worked");
 | 
			
		||||
                if(!props.pawn.IsCaravanMember() && !props.partner.IsCaravanMember())
 | 
			
		||||
                {
 | 
			
		||||
					RJWTryTakeBlood(props.pawn, props.partner);
 | 
			
		||||
                    FillNeed(props.pawn);
 | 
			
		||||
                    FillNeed(props.partner);
 | 
			
		||||
 | 
			
		||||
                    RJWTryTakeBlood(props.pawn, props.partner);
 | 
			
		||||
					RJWTryTakeBlood(props.partner, props.pawn);
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -40,8 +45,30 @@ namespace RJWLoveFeeding
 | 
			
		|||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void FillNeed(Pawn pawn)
 | 
			
		||||
        {
 | 
			
		||||
            Pawn_GeneTracker genes;
 | 
			
		||||
            if (LovinDependency != null)
 | 
			
		||||
            {
 | 
			
		||||
                genes = pawn.genes;
 | 
			
		||||
 | 
			
		||||
        public static bool RJWTryTakeBlood(Pawn pawn, Pawn bloodBag)
 | 
			
		||||
                if (genes == null)
 | 
			
		||||
                {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                if (pawn.genes.HasActiveGene(RJW_Genes.GeneDefOf.VRE_LovinDependency))
 | 
			
		||||
                {
 | 
			
		||||
                    if (VRE_Lovin != null)
 | 
			
		||||
                    {
 | 
			
		||||
                        Pawn_NeedsTracker needs = pawn.needs;
 | 
			
		||||
                        ((needs != null) ? needs.TryGetNeed(VRE_Lovin) : null).CurLevel = 1f;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            public static bool RJWTryTakeBlood(Pawn pawn, Pawn bloodBag)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue