mirror of
https://gitgud.io/Tory/oty-nude-unofficial.git
synced 2024-08-15 00:03:29 +00:00
Initial Upload
This commit is contained in:
parent
324fae13e8
commit
e7a64b6d02
823 changed files with 20604 additions and 2 deletions
BIN
source/RimNudeWorldHARAddon/.vs/RimNudeWorldHARAddon/v15/.suo
Normal file
BIN
source/RimNudeWorldHARAddon/.vs/RimNudeWorldHARAddon/v15/.suo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
source/RimNudeWorldHARAddon/.vs/RimNudeWorldHARAddon/v16/.suo
Normal file
BIN
source/RimNudeWorldHARAddon/.vs/RimNudeWorldHARAddon/v16/.suo
Normal file
Binary file not shown.
103
source/RimNudeWorldHARAddon/BellyBulge.cs
Normal file
103
source/RimNudeWorldHARAddon/BellyBulge.cs
Normal file
|
@ -0,0 +1,103 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using HarmonyLib;
|
||||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RimNudeWorldHARAddon
|
||||
{
|
||||
public class BellyBulge : HediffWithComps
|
||||
{
|
||||
Hediff cumflation = null;
|
||||
Hediff pregnancy = null;
|
||||
public override bool Visible => false;
|
||||
|
||||
public override void PostMake()
|
||||
{
|
||||
|
||||
base.PostMake();
|
||||
}
|
||||
|
||||
public override void ExposeData()
|
||||
{
|
||||
base.ExposeData();
|
||||
}
|
||||
public override void Tick()
|
||||
{
|
||||
base.Tick();
|
||||
|
||||
if (!pawn.IsHashIntervalTick(60))
|
||||
return;
|
||||
|
||||
if(RimNudeWorldHARAddonMain.useCumflation)
|
||||
cumflation = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation"));
|
||||
|
||||
pregnancy = pawn.health.hediffSet.hediffs.FirstOrDefault(x => x is Hediff_BasePregnancy);
|
||||
|
||||
this.Severity = (cumflation != null ? cumflation.Severity : 0) + (pregnancy != null ? pregnancy.Severity : 0);
|
||||
|
||||
if (this.Severity == 0)
|
||||
{
|
||||
if(pregnancy == null)
|
||||
pawn.health?.RemoveHediff(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
|
||||
//[HarmonyPatch(new Type[] { typeof(Pawn), typeof(Pawn), typeof(bool), typeof(bool), typeof(bool), typeof(xxx.rjwSextype) })]
|
||||
public class BellyHeddiffAddPatch
|
||||
{
|
||||
public static void Postfix(SexProps props)
|
||||
{
|
||||
if (props.pawn.health.hediffSet.HasHediff(HediffDef.Named("RNW_BellyBulge")))
|
||||
{
|
||||
props.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
//pawn.Drawer.renderer.graphics.ClearCache();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (props.pawn.IsVisiblyPregnant() || RimNudeWorldHARAddonMain.useCumflation? props.pawn.health.hediffSet.HasHediff(HediffDef.Named("Cumflation")):false)
|
||||
{
|
||||
props.pawn.health.AddHediff(HediffDef.Named("RNW_BellyBulge"));
|
||||
props.pawn.Drawer.renderer.graphics.ClearCache();
|
||||
props.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (props.partner?.health?.hediffSet?.HasHediff(HediffDef.Named("RNW_BellyBulge"))==true)
|
||||
{
|
||||
props.partner.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
//partner.Drawer.renderer.graphics.ClearCache();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((props.partner?.IsVisiblyPregnant()==true) || RimNudeWorldHARAddonMain.useCumflation ? (props.partner?.health?.hediffSet?.HasHediff(HediffDef.Named("Cumflation"))==true) : false)
|
||||
{
|
||||
props.partner.health.AddHediff(HediffDef.Named("RNW_BellyBulge"));
|
||||
props.partner.Drawer.renderer.graphics.ClearCache();
|
||||
props.partner.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyBefore(new string[] { "rimworldanim" })]
|
||||
[HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "End")]
|
||||
static class JobDriverEndPatch
|
||||
{
|
||||
public static void Postfix(JobDriver_SexBaseInitiator __instance)
|
||||
{
|
||||
__instance.pawn.Drawer.renderer.graphics.ClearCache();
|
||||
__instance.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
//PortraitsCache.SetDirty(__instance.pawn);
|
||||
|
||||
|
||||
(__instance.Target as Pawn)?.Drawer.renderer.graphics.ClearCache();
|
||||
(__instance.Target as Pawn)?.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
//PortraitsCache.SetDirty((__instance.Target as Pawn));
|
||||
}
|
||||
}
|
||||
}
|
36
source/RimNudeWorldHARAddon/Properties/AssemblyInfo.cs
Normal file
36
source/RimNudeWorldHARAddon/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("RimNudeWorldHARAddon")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("RimNudeWorldHARAddon")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("480a6e77-acd9-4e61-aaf7-c7e40a343a79")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
81
source/RimNudeWorldHARAddon/RimNudeWorldHARAddon.csproj
Normal file
81
source/RimNudeWorldHARAddon/RimNudeWorldHARAddon.csproj
Normal file
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>RimNudeWorldHARAddon</RootNamespace>
|
||||
<AssemblyName>RimNudeWorldHARAddon</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\1.3\Assemblies\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\1.1\Assemblies\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony">
|
||||
<HintPath>..\..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="AlienRace">
|
||||
<HintPath>..\..\..\..\..\..\workshop\content\294100\839005762\1.1\Assemblies\AlienRace.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="HugsLib">
|
||||
<HintPath>..\..\..\..\..\..\workshop\content\294100\818773962\v1.1\Assemblies\HugsLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>..\..\..\RJW\1.1\Assemblies\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Runtime.InteropServices.RuntimeInformation" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BellyBulge.cs" />
|
||||
<Compile Include="RimNudeWorldHARAddonMain.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
25
source/RimNudeWorldHARAddon/RimNudeWorldHARAddon.sln
Normal file
25
source/RimNudeWorldHARAddon/RimNudeWorldHARAddon.sln
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.1000
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RimNudeWorldHARAddon", "RimNudeWorldHARAddon.csproj", "{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {3AB295E7-B318-44C5-80B6-D6758B2B50A4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
373
source/RimNudeWorldHARAddon/RimNudeWorldHARAddonMain.cs
Normal file
373
source/RimNudeWorldHARAddon/RimNudeWorldHARAddonMain.cs
Normal file
|
@ -0,0 +1,373 @@
|
|||
using System.Linq;
|
||||
using RimWorld;
|
||||
using HarmonyLib;
|
||||
using Verse;
|
||||
using UnityEngine;
|
||||
using AlienRace;
|
||||
using rjw;
|
||||
|
||||
namespace RimNudeWorldHARAddon
|
||||
{
|
||||
[StaticConstructorOnStartup]
|
||||
public class RimNudeWorldHARAddonMain
|
||||
{
|
||||
public static bool useCumflation;
|
||||
|
||||
static RimNudeWorldHARAddonMain()
|
||||
{
|
||||
Harmony val = new Harmony("RimNudeWorld_HAR_Addon");
|
||||
Log.Message("RimNudeWorldHARAddon Patch");
|
||||
useCumflation = (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId == "LustLicentia.RJWLabs"));
|
||||
if (!useCumflation)
|
||||
{
|
||||
if (HediffDef.Named("Cumflation") != null)
|
||||
useCumflation = true;
|
||||
}
|
||||
|
||||
if (useCumflation) Log.Message("RimNudeWorldHARAddon: UseCumflation");
|
||||
val.PatchAll();
|
||||
}
|
||||
|
||||
//[HarmonyPatch(typeof(SexUtility), "DrawNude")]
|
||||
class DrawNudePatch
|
||||
{
|
||||
static bool Prefix(Pawn pawn)
|
||||
{
|
||||
Log.Warning("DrawNudePrefix");
|
||||
if (!xxx.is_human(pawn))
|
||||
return false;
|
||||
AlienPartGenerator.AlienComp alienComp = pawn.GetComp<AlienPartGenerator.AlienComp>();
|
||||
if (alienComp != null)
|
||||
{
|
||||
for (int i = 0; i < alienComp.addonGraphics.Count; i++)
|
||||
{
|
||||
Graphic agr = alienComp.addonGraphics[i];
|
||||
//Log.Message(agr.path);
|
||||
HARPatch.Postfix(pawn, ref agr);
|
||||
//Log.Message(agr.path);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
|
||||
//pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
//partner.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
|
||||
class SetTextureDuringSet
|
||||
{
|
||||
static void Prefix(JobDriver_SexBaseInitiator __instance)
|
||||
{
|
||||
//Log.Warning("SexStart");
|
||||
|
||||
var partner = __instance.Partner as Pawn;
|
||||
/*
|
||||
|
||||
for(int i = 0; i< pawn.Drawer.renderer.graphics.apparelGraphics.Count; i++)
|
||||
{
|
||||
ApparelGraphicRecord agr = pawn.Drawer.renderer.graphics.apparelGraphics[i];
|
||||
Log.Message(agr.graphic.path);
|
||||
HARPatch.Postfix(pawn, ref agr.graphic);
|
||||
}
|
||||
*/
|
||||
//pawn.Drawer.renderer.graphics.ClearCache();
|
||||
//partner.Drawer.renderer.graphics.ClearCache();
|
||||
//__instance.pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
__instance.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
AlienPartGenerator.AlienComp alienComp = __instance.pawn.GetComp<AlienPartGenerator.AlienComp>();
|
||||
if(alienComp != null)
|
||||
{
|
||||
for (int i = 0; i < alienComp.addonGraphics.Count; i++)
|
||||
{
|
||||
Graphic agr = alienComp.addonGraphics[i];
|
||||
//Log.Message(agr.path);
|
||||
HARPatch.Postfix(__instance.pawn, ref agr);
|
||||
//Log.Message(agr.path);
|
||||
}
|
||||
}
|
||||
if (partner != null)
|
||||
{
|
||||
//partner.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
//partner.Drawer.renderer.graphics.ResolveApparelGraphics();
|
||||
partner.Drawer.renderer.graphics.ResolveAllGraphics();
|
||||
alienComp = partner.GetComp<AlienPartGenerator.AlienComp>();
|
||||
if (alienComp != null)
|
||||
{
|
||||
for (int i = 0; i < alienComp.addonGraphics.Count; i++)
|
||||
{
|
||||
Graphic agr = alienComp.addonGraphics[i];
|
||||
//Log.Message(agr.path);
|
||||
HARPatch.Postfix(partner, ref agr);
|
||||
//Log.Message(agr.path);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
//partner.Drawer.renderer.graphics.SetAllGraphicsDirty();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsLactating(Pawn pawn)
|
||||
{
|
||||
if(pawn != null)
|
||||
{
|
||||
if (pawn.RaceProps.Humanlike)
|
||||
{
|
||||
foreach (Hediff hediff in pawn.health.hediffSet.hediffs)
|
||||
{
|
||||
if (hediff != null)
|
||||
{
|
||||
if (hediff.def.defName.Contains("Lactating") || hediff.def.defName.Contains("lactating"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
[HarmonyPatch(typeof(PawnGraphicSet), "ResolveAllGraphics")]
|
||||
class Test
|
||||
{
|
||||
static void Postfix(ref PawnGraphicSet __instance)
|
||||
{
|
||||
if (__instance.pawn.RaceProps.Humanlike)
|
||||
{
|
||||
var dri = __instance.pawn.jobs.curDriver as rjw.JobDriver_Sex;
|
||||
|
||||
if (dri != null)
|
||||
{
|
||||
Log.Warning("ResolveGraphicDuringSex");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}*/
|
||||
public class TestClass
|
||||
{
|
||||
|
||||
public void Testfunc1()
|
||||
{
|
||||
string text = "Hello";
|
||||
text.Contains("lo");
|
||||
}
|
||||
public void Testfunc2()
|
||||
{
|
||||
float a = 1;
|
||||
float b = 2;
|
||||
float c = 3;
|
||||
if ((a > c ? a : c) > b)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(AlienPartGenerator.BodyAddon), "GetPath")]
|
||||
class HARPatch
|
||||
{
|
||||
/*
|
||||
public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
|
||||
{
|
||||
|
||||
|
||||
FieldInfo pathInfo = AccessTools.Field(typeof(AlienPartGenerator.BodyAddon), "path");
|
||||
int num;
|
||||
CodeInstruction targetPawnInstruction;
|
||||
List<CodeInstruction> instructionList = instructions.ToList<CodeInstruction>();
|
||||
//Hediff cumflation = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation"));
|
||||
for (int i = 0; i < instructionList.Count; i = num + 1)
|
||||
{
|
||||
CodeInstruction codeInstruction = instructionList[i];
|
||||
|
||||
num = i;
|
||||
|
||||
if (codeInstruction.opcode == OpCodes.Ldfld)
|
||||
{
|
||||
if (codeInstruction.OperandIs(pathInfo))
|
||||
{
|
||||
if(instructionList[i-2].opcode == OpCodes.Ldloc_S)
|
||||
{
|
||||
//targetPawn;
|
||||
targetPawnInstruction = instructionList[i - 2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (codeInstruction.opcode == OpCodes.Ldloc_S)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
if (codeInstruction.opcode == OpCodes.Callvirt)
|
||||
{
|
||||
//Target Hediff
|
||||
instructionList[i - 1];
|
||||
}
|
||||
|
||||
if (codeInstruction.opcode == OpCodes.Blt_Un_S)
|
||||
{
|
||||
//yield return new CodeInstruction(OpCodes.)
|
||||
|
||||
yield return codeInstruction;
|
||||
}
|
||||
|
||||
else
|
||||
yield return codeInstruction;
|
||||
}
|
||||
instructionList = null;
|
||||
yield break;
|
||||
|
||||
}*/
|
||||
|
||||
public static void Postfix(Pawn pawn, ref Graphic __result)
|
||||
{
|
||||
if(__result != null)
|
||||
{
|
||||
if (pawn == null)
|
||||
return;
|
||||
string originalPath = __result.path;
|
||||
bool validTexture = false;
|
||||
|
||||
//Body typed texture
|
||||
if (pawn.story.bodyType == BodyTypeDefOf.Hulk || pawn.story.bodyType == BodyTypeDefOf.Fat)
|
||||
{
|
||||
if (pawn.story.bodyType == BodyTypeDefOf.Hulk)
|
||||
{
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_Hulk" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Hulk", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Fat)
|
||||
{
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_Fat" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Fat", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
if (validTexture == false)
|
||||
{
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_Wide" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Wide", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Thin)
|
||||
{
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_Thin" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Thin", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Male)
|
||||
{
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_Male" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Male", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
else if (pawn.story.bodyType == BodyTypeDefOf.Female)
|
||||
{
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_Female" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Female", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string bodyname = pawn.story.bodyType.defName;
|
||||
if ((ContentFinder<Texture2D>.Get(originalPath + "_" + bodyname + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_" + bodyname, __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
validTexture = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool erect = false;
|
||||
|
||||
Need_Sex needSex = null;
|
||||
if (pawn.needs != null)
|
||||
needSex = pawn.needs.TryGetNeed<Need_Sex>();
|
||||
|
||||
JobDriver_SexBaseInitiator dri = null;
|
||||
if(pawn.jobs != null)
|
||||
dri = pawn.jobs.curDriver as rjw.JobDriver_SexBaseInitiator;
|
||||
|
||||
|
||||
//Log.Message("find needSex");
|
||||
if (needSex != null)
|
||||
{
|
||||
//Log.Warning(needSex.CurLevel.ToString());
|
||||
if (needSex.CurLevel >= needSex.thresh_ahegao() || needSex.CurLevel < needSex.thresh_neutral())
|
||||
{
|
||||
erect = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Warning("SexNeeds Not Found");
|
||||
}
|
||||
|
||||
|
||||
//Log.Message("find jobdriver_sex");
|
||||
if (dri != null)
|
||||
{
|
||||
erect = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Warning("JobDriver_Sex not found");
|
||||
}
|
||||
|
||||
|
||||
if (erect)
|
||||
{
|
||||
//Log.Warning("finding Erect Texture");
|
||||
if ((ContentFinder<Texture2D>.Get(__result.path + "_Erect" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(__result.path + "_Erect", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//lactation
|
||||
if (IsLactating(pawn))
|
||||
{
|
||||
//Log.Message("finding Lactation Texture");
|
||||
if ((ContentFinder<Texture2D>.Get(__result.path + "_Lactating" + "_south", false) != null))
|
||||
{
|
||||
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(__result.path + "_Lactating", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
|
||||
__result = newGraphic;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
5b00994644d9de808a481de15dfd909612328dea
|
|
@ -0,0 +1,6 @@
|
|||
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\1.3\Assemblies\RimNudeWorldHARAddon.dll
|
||||
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\1.3\Assemblies\RimNudeWorldHARAddon.pdb
|
||||
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.csprojAssemblyReference.cache
|
||||
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.csproj.CoreCompileInputs.cache
|
||||
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.dll
|
||||
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.pdb
|
Binary file not shown.
BIN
source/RimNudeWorldHARAddon/obj/Debug/RimNudeWorldHARAddon.dll
Normal file
BIN
source/RimNudeWorldHARAddon/obj/Debug/RimNudeWorldHARAddon.dll
Normal file
Binary file not shown.
BIN
source/RimNudeWorldHARAddon/obj/Debug/RimNudeWorldHARAddon.pdb
Normal file
BIN
source/RimNudeWorldHARAddon/obj/Debug/RimNudeWorldHARAddon.pdb
Normal file
Binary file not shown.
4
source/RimNudeWorldHARAddon/packages.config
Normal file
4
source/RimNudeWorldHARAddon/packages.config
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Lib.Harmony" version="2.0.2" targetFramework="net472" />
|
||||
</packages>
|
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/.signature.p7s
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/.signature.p7s
vendored
Normal file
Binary file not shown.
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/HarmonyLogo.png
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/HarmonyLogo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
21
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/LICENSE
vendored
Normal file
21
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2017 Andreas Pardeike
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/Lib.Harmony.2.0.2.nupkg
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/Lib.Harmony.2.0.2.nupkg
vendored
Normal file
Binary file not shown.
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net35/0Harmony.dll
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net35/0Harmony.dll
vendored
Normal file
Binary file not shown.
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net35/0Harmony.xml
vendored
Normal file
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net35/0Harmony.xml
vendored
Normal file
File diff suppressed because it is too large
Load diff
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net45/0Harmony.dll
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net45/0Harmony.dll
vendored
Normal file
Binary file not shown.
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net45/0Harmony.xml
vendored
Normal file
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net45/0Harmony.xml
vendored
Normal file
File diff suppressed because it is too large
Load diff
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net472/0Harmony.dll
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net472/0Harmony.dll
vendored
Normal file
Binary file not shown.
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net472/0Harmony.xml
vendored
Normal file
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net472/0Harmony.xml
vendored
Normal file
File diff suppressed because it is too large
Load diff
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net48/0Harmony.dll
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net48/0Harmony.dll
vendored
Normal file
Binary file not shown.
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net48/0Harmony.xml
vendored
Normal file
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/net48/0Harmony.xml
vendored
Normal file
File diff suppressed because it is too large
Load diff
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.0/0Harmony.dll
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.0/0Harmony.dll
vendored
Normal file
Binary file not shown.
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.0/0Harmony.xml
vendored
Normal file
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.0/0Harmony.xml
vendored
Normal file
File diff suppressed because it is too large
Load diff
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.1/0Harmony.dll
vendored
Normal file
BIN
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.1/0Harmony.dll
vendored
Normal file
Binary file not shown.
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.1/0Harmony.xml
vendored
Normal file
2900
source/RimNudeWorldHARAddon/packages/Lib.Harmony.2.0.2/lib/netcoreapp3.1/0Harmony.xml
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue