1.0.1.5
							
								
								
									
										343
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,343 @@
 | 
				
			||||||
 | 
					## Ignore Visual Studio temporary files, build results, and
 | 
				
			||||||
 | 
					## files generated by popular Visual Studio add-ons.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files
 | 
				
			||||||
 | 
					*.rsuser
 | 
				
			||||||
 | 
					*.suo
 | 
				
			||||||
 | 
					*.user
 | 
				
			||||||
 | 
					*.userosscache
 | 
				
			||||||
 | 
					*.sln.docstates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files (MonoDevelop/Xamarin Studio)
 | 
				
			||||||
 | 
					*.userprefs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build results
 | 
				
			||||||
 | 
					[Dd]ebug/
 | 
				
			||||||
 | 
					[Dd]ebugPublic/
 | 
				
			||||||
 | 
					[Rr]elease/
 | 
				
			||||||
 | 
					[Rr]eleases/
 | 
				
			||||||
 | 
					x64/
 | 
				
			||||||
 | 
					x86/
 | 
				
			||||||
 | 
					[Aa][Rr][Mm]/
 | 
				
			||||||
 | 
					[Aa][Rr][Mm]64/
 | 
				
			||||||
 | 
					bld/
 | 
				
			||||||
 | 
					[Bb]in/
 | 
				
			||||||
 | 
					[Oo]bj/
 | 
				
			||||||
 | 
					[Ll]og/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 2015/2017 cache/options directory
 | 
				
			||||||
 | 
					.vs/
 | 
				
			||||||
 | 
					# Uncomment if you have tasks that create the project's static files in wwwroot
 | 
				
			||||||
 | 
					#wwwroot/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 2017 auto generated files
 | 
				
			||||||
 | 
					Generated\ Files/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSTest test Results
 | 
				
			||||||
 | 
					[Tt]est[Rr]esult*/
 | 
				
			||||||
 | 
					[Bb]uild[Ll]og.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NUNIT
 | 
				
			||||||
 | 
					*.VisualState.xml
 | 
				
			||||||
 | 
					TestResult.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Results of an ATL Project
 | 
				
			||||||
 | 
					[Dd]ebugPS/
 | 
				
			||||||
 | 
					[Rr]eleasePS/
 | 
				
			||||||
 | 
					dlldata.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Benchmark Results
 | 
				
			||||||
 | 
					BenchmarkDotNet.Artifacts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# .NET Core
 | 
				
			||||||
 | 
					project.lock.json
 | 
				
			||||||
 | 
					project.fragment.lock.json
 | 
				
			||||||
 | 
					artifacts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# StyleCop
 | 
				
			||||||
 | 
					StyleCopReport.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Files built by Visual Studio
 | 
				
			||||||
 | 
					*_i.c
 | 
				
			||||||
 | 
					*_p.c
 | 
				
			||||||
 | 
					*_h.h
 | 
				
			||||||
 | 
					*.ilk
 | 
				
			||||||
 | 
					*.meta
 | 
				
			||||||
 | 
					*.obj
 | 
				
			||||||
 | 
					*.iobj
 | 
				
			||||||
 | 
					*.pch
 | 
				
			||||||
 | 
					*.pdb
 | 
				
			||||||
 | 
					*.ipdb
 | 
				
			||||||
 | 
					*.pgc
 | 
				
			||||||
 | 
					*.pgd
 | 
				
			||||||
 | 
					*.rsp
 | 
				
			||||||
 | 
					*.sbr
 | 
				
			||||||
 | 
					*.tlb
 | 
				
			||||||
 | 
					*.tli
 | 
				
			||||||
 | 
					*.tlh
 | 
				
			||||||
 | 
					*.tmp
 | 
				
			||||||
 | 
					*.tmp_proj
 | 
				
			||||||
 | 
					*_wpftmp.csproj
 | 
				
			||||||
 | 
					*.log
 | 
				
			||||||
 | 
					*.vspscc
 | 
				
			||||||
 | 
					*.vssscc
 | 
				
			||||||
 | 
					.builds
 | 
				
			||||||
 | 
					*.pidb
 | 
				
			||||||
 | 
					*.svclog
 | 
				
			||||||
 | 
					*.scc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Chutzpah Test files
 | 
				
			||||||
 | 
					_Chutzpah*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual C++ cache files
 | 
				
			||||||
 | 
					ipch/
 | 
				
			||||||
 | 
					*.aps
 | 
				
			||||||
 | 
					*.ncb
 | 
				
			||||||
 | 
					*.opendb
 | 
				
			||||||
 | 
					*.opensdf
 | 
				
			||||||
 | 
					*.sdf
 | 
				
			||||||
 | 
					*.cachefile
 | 
				
			||||||
 | 
					*.VC.db
 | 
				
			||||||
 | 
					*.VC.VC.opendb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio profiler
 | 
				
			||||||
 | 
					*.psess
 | 
				
			||||||
 | 
					*.vsp
 | 
				
			||||||
 | 
					*.vspx
 | 
				
			||||||
 | 
					*.sap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio Trace Files
 | 
				
			||||||
 | 
					*.e2e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TFS 2012 Local Workspace
 | 
				
			||||||
 | 
					$tf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Guidance Automation Toolkit
 | 
				
			||||||
 | 
					*.gpState
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ReSharper is a .NET coding add-in
 | 
				
			||||||
 | 
					_ReSharper*/
 | 
				
			||||||
 | 
					*.[Rr]e[Ss]harper
 | 
				
			||||||
 | 
					*.DotSettings.user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# JustCode is a .NET coding add-in
 | 
				
			||||||
 | 
					.JustCode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TeamCity is a build add-in
 | 
				
			||||||
 | 
					_TeamCity*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DotCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					*.dotCover
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# AxoCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					.axoCover/*
 | 
				
			||||||
 | 
					!.axoCover/settings.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio code coverage results
 | 
				
			||||||
 | 
					*.coverage
 | 
				
			||||||
 | 
					*.coveragexml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NCrunch
 | 
				
			||||||
 | 
					_NCrunch_*
 | 
				
			||||||
 | 
					.*crunch*.local.xml
 | 
				
			||||||
 | 
					nCrunchTemp_*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MightyMoose
 | 
				
			||||||
 | 
					*.mm.*
 | 
				
			||||||
 | 
					AutoTest.Net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Web workbench (sass)
 | 
				
			||||||
 | 
					.sass-cache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Installshield output folder
 | 
				
			||||||
 | 
					[Ee]xpress/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DocProject is a documentation generator add-in
 | 
				
			||||||
 | 
					DocProject/buildhelp/
 | 
				
			||||||
 | 
					DocProject/Help/*.HxT
 | 
				
			||||||
 | 
					DocProject/Help/*.HxC
 | 
				
			||||||
 | 
					DocProject/Help/*.hhc
 | 
				
			||||||
 | 
					DocProject/Help/*.hhk
 | 
				
			||||||
 | 
					DocProject/Help/*.hhp
 | 
				
			||||||
 | 
					DocProject/Help/Html2
 | 
				
			||||||
 | 
					DocProject/Help/html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Click-Once directory
 | 
				
			||||||
 | 
					publish/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Publish Web Output
 | 
				
			||||||
 | 
					*.[Pp]ublish.xml
 | 
				
			||||||
 | 
					*.azurePubxml
 | 
				
			||||||
 | 
					# Note: Comment the next line if you want to checkin your web deploy settings,
 | 
				
			||||||
 | 
					# but database connection strings (with potential passwords) will be unencrypted
 | 
				
			||||||
 | 
					*.pubxml
 | 
				
			||||||
 | 
					*.publishproj
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Web App publish settings. Comment the next line if you want to
 | 
				
			||||||
 | 
					# checkin your Azure Web App publish settings, but sensitive information contained
 | 
				
			||||||
 | 
					# in these scripts will be unencrypted
 | 
				
			||||||
 | 
					PublishScripts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NuGet Packages
 | 
				
			||||||
 | 
					*.nupkg
 | 
				
			||||||
 | 
					# The packages folder can be ignored because of Package Restore
 | 
				
			||||||
 | 
					**/[Pp]ackages/*
 | 
				
			||||||
 | 
					# except build/, which is used as an MSBuild target.
 | 
				
			||||||
 | 
					!**/[Pp]ackages/build/
 | 
				
			||||||
 | 
					# Uncomment if necessary however generally it will be regenerated when needed
 | 
				
			||||||
 | 
					#!**/[Pp]ackages/repositories.config
 | 
				
			||||||
 | 
					# NuGet v3's project.json files produces more ignorable files
 | 
				
			||||||
 | 
					*.nuget.props
 | 
				
			||||||
 | 
					*.nuget.targets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Build Output
 | 
				
			||||||
 | 
					csx/
 | 
				
			||||||
 | 
					*.build.csdef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Emulator
 | 
				
			||||||
 | 
					ecf/
 | 
				
			||||||
 | 
					rcf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows Store app package directories and files
 | 
				
			||||||
 | 
					AppPackages/
 | 
				
			||||||
 | 
					BundleArtifacts/
 | 
				
			||||||
 | 
					Package.StoreAssociation.xml
 | 
				
			||||||
 | 
					_pkginfo.txt
 | 
				
			||||||
 | 
					*.appx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio cache files
 | 
				
			||||||
 | 
					# files ending in .cache can be ignored
 | 
				
			||||||
 | 
					*.[Cc]ache
 | 
				
			||||||
 | 
					# but keep track of directories ending in .cache
 | 
				
			||||||
 | 
					!?*.[Cc]ache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Others
 | 
				
			||||||
 | 
					ClientBin/
 | 
				
			||||||
 | 
					~$*
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					*.dbmdl
 | 
				
			||||||
 | 
					*.dbproj.schemaview
 | 
				
			||||||
 | 
					*.jfm
 | 
				
			||||||
 | 
					*.pfx
 | 
				
			||||||
 | 
					*.publishsettings
 | 
				
			||||||
 | 
					orleans.codegen.cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Including strong name files can present a security risk
 | 
				
			||||||
 | 
					# (https://github.com/github/gitignore/pull/2483#issue-259490424)
 | 
				
			||||||
 | 
					#*.snk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Since there are multiple workflows, uncomment next line to ignore bower_components
 | 
				
			||||||
 | 
					# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
 | 
				
			||||||
 | 
					#bower_components/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# RIA/Silverlight projects
 | 
				
			||||||
 | 
					Generated_Code/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Backup & report files from converting an old project file
 | 
				
			||||||
 | 
					# to a newer Visual Studio version. Backup files are not needed,
 | 
				
			||||||
 | 
					# because we have git ;-)
 | 
				
			||||||
 | 
					_UpgradeReport_Files/
 | 
				
			||||||
 | 
					Backup*/
 | 
				
			||||||
 | 
					UpgradeLog*.XML
 | 
				
			||||||
 | 
					UpgradeLog*.htm
 | 
				
			||||||
 | 
					ServiceFabricBackup/
 | 
				
			||||||
 | 
					*.rptproj.bak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# SQL Server files
 | 
				
			||||||
 | 
					*.mdf
 | 
				
			||||||
 | 
					*.ldf
 | 
				
			||||||
 | 
					*.ndf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Business Intelligence projects
 | 
				
			||||||
 | 
					*.rdl.data
 | 
				
			||||||
 | 
					*.bim.layout
 | 
				
			||||||
 | 
					*.bim_*.settings
 | 
				
			||||||
 | 
					*.rptproj.rsuser
 | 
				
			||||||
 | 
					*- Backup*.rdl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Fakes
 | 
				
			||||||
 | 
					FakesAssemblies/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# GhostDoc plugin setting file
 | 
				
			||||||
 | 
					*.GhostDoc.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Node.js Tools for Visual Studio
 | 
				
			||||||
 | 
					.ntvs_analysis.dat
 | 
				
			||||||
 | 
					node_modules/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 build log
 | 
				
			||||||
 | 
					*.plg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 workspace options file
 | 
				
			||||||
 | 
					*.opt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
 | 
				
			||||||
 | 
					*.vbw
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio LightSwitch build output
 | 
				
			||||||
 | 
					**/*.HTMLClient/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.DesktopClient/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.DesktopClient/ModelManifest.xml
 | 
				
			||||||
 | 
					**/*.Server/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.Server/ModelManifest.xml
 | 
				
			||||||
 | 
					_Pvt_Extensions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Paket dependency manager
 | 
				
			||||||
 | 
					.paket/paket.exe
 | 
				
			||||||
 | 
					paket-files/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# FAKE - F# Make
 | 
				
			||||||
 | 
					.fake/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# JetBrains Rider
 | 
				
			||||||
 | 
					.idea/
 | 
				
			||||||
 | 
					*.sln.iml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# CodeRush personal settings
 | 
				
			||||||
 | 
					.cr/personal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Python Tools for Visual Studio (PTVS)
 | 
				
			||||||
 | 
					__pycache__/
 | 
				
			||||||
 | 
					*.pyc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cake - Uncomment if you are using it
 | 
				
			||||||
 | 
					# tools/**
 | 
				
			||||||
 | 
					# !tools/packages.config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Tabs Studio
 | 
				
			||||||
 | 
					*.tss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Telerik's JustMock configuration file
 | 
				
			||||||
 | 
					*.jmconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BizTalk build output
 | 
				
			||||||
 | 
					*.btp.cs
 | 
				
			||||||
 | 
					*.btm.cs
 | 
				
			||||||
 | 
					*.odx.cs
 | 
				
			||||||
 | 
					*.xsd.cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenCover UI analysis results
 | 
				
			||||||
 | 
					OpenCover/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Azure Stream Analytics local run output
 | 
				
			||||||
 | 
					ASALocalRun/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSBuild Binary and Structured Log
 | 
				
			||||||
 | 
					*.binlog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NVidia Nsight GPU debugger configuration file
 | 
				
			||||||
 | 
					*.nvuser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MFractors (Xamarin productivity tool) working folder
 | 
				
			||||||
 | 
					.mfractor/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Local History for Visual Studio
 | 
				
			||||||
 | 
					.localhistory/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BeatPulse healthcheck temp database
 | 
				
			||||||
 | 
					healthchecksdb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*.psd
 | 
				
			||||||
 | 
					*.dds
 | 
				
			||||||
							
								
								
									
										27
									
								
								About/About.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<ModMetaData>
 | 
				
			||||||
 | 
						<name>RJW Sexperience</name>
 | 
				
			||||||
 | 
						<author>a</author>
 | 
				
			||||||
 | 
						<supportedVersions>
 | 
				
			||||||
 | 
							<li>1.3</li>
 | 
				
			||||||
 | 
						</supportedVersions>
 | 
				
			||||||
 | 
						<modDependencies>
 | 
				
			||||||
 | 
							<li>
 | 
				
			||||||
 | 
								<packageId>brrainz.harmony</packageId>
 | 
				
			||||||
 | 
								<displayName>Harmony</displayName>
 | 
				
			||||||
 | 
								<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
 | 
				
			||||||
 | 
								<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
 | 
				
			||||||
 | 
							</li>
 | 
				
			||||||
 | 
							<li>
 | 
				
			||||||
 | 
								<packageId>rim.job.world</packageId>
 | 
				
			||||||
 | 
								<displayName>RimJobWorld</displayName>
 | 
				
			||||||
 | 
								<downloadUrl>https://gitgud.io/Ed86/rjw</downloadUrl>
 | 
				
			||||||
 | 
							</li>
 | 
				
			||||||
 | 
						</modDependencies>
 | 
				
			||||||
 | 
						<loadAfter>
 | 
				
			||||||
 | 
							<li>brrainz.harmony</li>
 | 
				
			||||||
 | 
							<li>rim.job.world</li>
 | 
				
			||||||
 | 
						</loadAfter>
 | 
				
			||||||
 | 
						<packageId>rjw.sexperience</packageId>
 | 
				
			||||||
 | 
						<description>EXPERIMENTAL yes yes</description>
 | 
				
			||||||
 | 
					</ModMetaData>
 | 
				
			||||||
							
								
								
									
										12
									
								
								About/Manifest.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
				
			||||||
 | 
					<Manifest>
 | 
				
			||||||
 | 
						<identifier>RJW Sexperience</identifier>
 | 
				
			||||||
 | 
						<version>1.0.1.5</version>
 | 
				
			||||||
 | 
						<dependencies>
 | 
				
			||||||
 | 
						</dependencies>
 | 
				
			||||||
 | 
						<incompatibleWith />
 | 
				
			||||||
 | 
						<loadAfter>
 | 
				
			||||||
 | 
						</loadAfter>
 | 
				
			||||||
 | 
						<suggests>
 | 
				
			||||||
 | 
						</suggests>
 | 
				
			||||||
 | 
					</Manifest>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								Assemblies/RJWSexperience.dll
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										33
									
								
								Defs/Goodwill/MemeCompatibility_Sex.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					  <!-- Agreement - same -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <GoodwillSituationDef>
 | 
				
			||||||
 | 
					    <defName>Zoophile_Zoophile</defName>
 | 
				
			||||||
 | 
					    <label>zoophile agreement</label>
 | 
				
			||||||
 | 
					    <workerClass>GoodwillSituationWorker_MemeCompatibility</workerClass>
 | 
				
			||||||
 | 
					    <meme>Zoophile</meme>
 | 
				
			||||||
 | 
					    <otherMeme>Zoophile</otherMeme>
 | 
				
			||||||
 | 
					    <naturalGoodwillOffset>30</naturalGoodwillOffset>
 | 
				
			||||||
 | 
					  </GoodwillSituationDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Disagreement -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <GoodwillSituationDef>
 | 
				
			||||||
 | 
					    <defName>Zoophile_All</defName>
 | 
				
			||||||
 | 
					    <label>zoophile</label>
 | 
				
			||||||
 | 
					    <workerClass>RJWSexperience.GoodwillSituationWorker_OneWayReceive</workerClass>
 | 
				
			||||||
 | 
					    <meme>Zoophile</meme>
 | 
				
			||||||
 | 
					    <versusAll>true</versusAll>
 | 
				
			||||||
 | 
					    <naturalGoodwillOffset>-50</naturalGoodwillOffset>
 | 
				
			||||||
 | 
					  </GoodwillSituationDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <GoodwillSituationDef>
 | 
				
			||||||
 | 
					    <defName>Rapist_All</defName>
 | 
				
			||||||
 | 
					    <label>rapist</label>
 | 
				
			||||||
 | 
					    <workerClass>RJWSexperience.GoodwillSituationWorker_OneWayReceive</workerClass>
 | 
				
			||||||
 | 
					    <meme>Rapist</meme>
 | 
				
			||||||
 | 
					    <versusAll>true</versusAll>
 | 
				
			||||||
 | 
					    <naturalGoodwillOffset>-20</naturalGoodwillOffset>
 | 
				
			||||||
 | 
					  </GoodwillSituationDef>
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										154
									
								
								Defs/MemeDefs/Memes_Sexual.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,154 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					  <MemeGroupDef>
 | 
				
			||||||
 | 
					    <defName>SexualDissolutely</defName>
 | 
				
			||||||
 | 
					    <drawOffset>(0.65, 0.23)</drawOffset>
 | 
				
			||||||
 | 
					    <maxRows>1</maxRows>
 | 
				
			||||||
 | 
					    <renderOrder>3000</renderOrder>
 | 
				
			||||||
 | 
					  </MemeGroupDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <MemeDef Name="SexualDissoulutelyBase" Abstract="True">
 | 
				
			||||||
 | 
					    <groupDef>SexualDissolutely</groupDef>
 | 
				
			||||||
 | 
					    <selectOneOrNone>
 | 
				
			||||||
 | 
					      <noneChance>1.0</noneChance>
 | 
				
			||||||
 | 
					      <preceptThingPairs>
 | 
				
			||||||
 | 
					      </preceptThingPairs>
 | 
				
			||||||
 | 
					    </selectOneOrNone>
 | 
				
			||||||
 | 
					  </MemeDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <MemeDef ParentName="SexualDissoulutelyBase">
 | 
				
			||||||
 | 
					    <defName>Zoophile</defName>
 | 
				
			||||||
 | 
					    <label>zoophile</label>
 | 
				
			||||||
 | 
					    <description>Animal fuckers.</description>
 | 
				
			||||||
 | 
					    <iconPath>UI/Commands/Breeding_Pawn_off</iconPath>
 | 
				
			||||||
 | 
					    <impact>3</impact>
 | 
				
			||||||
 | 
					    <requireOne>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					        <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					        <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </requireOne>
 | 
				
			||||||
 | 
					    <generalRules>
 | 
				
			||||||
 | 
					      <rulesStrings>
 | 
				
			||||||
 | 
					        <li>memeAdjective->bestial</li>
 | 
				
			||||||
 | 
					        <li>memeAdjective->zoophile</li>
 | 
				
			||||||
 | 
					        <li>memeHyphenPrefix->bestial</li>
 | 
				
			||||||
 | 
					        <li>memeConcept->breeding</li>
 | 
				
			||||||
 | 
					        <li>memeConcept->bestiality</li>
 | 
				
			||||||
 | 
					        <li>memeConcept->zoophile</li>
 | 
				
			||||||
 | 
					        <li>memeLeaderNoun->livestock</li>
 | 
				
			||||||
 | 
					      </rulesStrings>
 | 
				
			||||||
 | 
					    </generalRules>
 | 
				
			||||||
 | 
					    <descriptionMaker>
 | 
				
			||||||
 | 
					      <rules>
 | 
				
			||||||
 | 
					        <rulesStrings>
 | 
				
			||||||
 | 
					          <!-- theist myth -->
 | 
				
			||||||
 | 
					          <li>creation(tag=meme_Zoophile)        ->[deity0_name] loves breeding with beasts.</li>
 | 
				
			||||||
 | 
					          <li>episode(uses=1,tag=meme_Zoophile)  ->[deity0_name] said to all, "Sigmar forbids this!"</li>
 | 
				
			||||||
 | 
					          <!-- ideological founder -->
 | 
				
			||||||
 | 
					          <li>setup(tag=meme_Zoophile)           ->Someday, [founderName] was so horny that accidentally fucked with an animal and loved it. </li>
 | 
				
			||||||
 | 
					          <li>story(uses=1,tag=meme_Zoophile)    ->For spreading animals, [founderName] started to breed with animals.</li>
 | 
				
			||||||
 | 
					          <!-- ideological lesson -->
 | 
				
			||||||
 | 
					          <li>lessonIntro(tag=meme_Zoophile)         ->Someday, i had sex with animal. It was much better than humans!</li>
 | 
				
			||||||
 | 
					          <li>lesson(tag=meme_Zoophile)              ->Only the animals can satisfy me.</li>
 | 
				
			||||||
 | 
					          <li>lessonReinforcement(tag=meme_Zoophile) ->Breed with animals. It is the eternal hapiness.</li>
 | 
				
			||||||
 | 
					          <!-- archist -->
 | 
				
			||||||
 | 
					          <li>archistBasis(tag=meme_Zoophile)    ->Archists are always seeking ultimate pleasure.</li>
 | 
				
			||||||
 | 
					          <li>archistFact(tag=meme_Zoophile)     ->That was breeding with animals.</li>
 | 
				
			||||||
 | 
					          <li>archistProphecy(tag=meme_Zoophile) ->[inTheEnd], the archotechs will finally unlock the interspecies breeding, so that they may lead ultimate pleasure.</li>
 | 
				
			||||||
 | 
					          <!-- animist -->
 | 
				
			||||||
 | 
					          <li>animistFact(tag=meme_Zoophile)     ->The most powerful spirits are those of beasts, and spirits of beasts will be restless unless beasts rule.</li>
 | 
				
			||||||
 | 
					          <li>animistProphecy(tag=meme_Zoophile) ->[itIsSaid] that a powerful spirit of destruction will seek to end the universe, but that a human-born beast will wield the spirit of the [relic0_name] and destroy the destroyer.</li>
 | 
				
			||||||
 | 
					        </rulesStrings>
 | 
				
			||||||
 | 
					      </rules>
 | 
				
			||||||
 | 
					    </descriptionMaker>
 | 
				
			||||||
 | 
					    <symbolPacks>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <ideoName>Breeders</ideoName>
 | 
				
			||||||
 | 
					        <theme>breed</theme>
 | 
				
			||||||
 | 
					        <adjective>bestiality</adjective>
 | 
				
			||||||
 | 
					        <member>breeder</member>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <ideoName>Zoophilia</ideoName>
 | 
				
			||||||
 | 
					        <theme>zoophile</theme>
 | 
				
			||||||
 | 
					        <adjective>zoophile</adjective>
 | 
				
			||||||
 | 
					        <member>zoophiliac</member>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </symbolPacks>
 | 
				
			||||||
 | 
					    <agreeableTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </agreeableTraits>
 | 
				
			||||||
 | 
					  </MemeDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <MemeDef ParentName="SexualDissoulutelyBase">
 | 
				
			||||||
 | 
					    <defName>Rapist</defName>
 | 
				
			||||||
 | 
					    <label>rapist</label>
 | 
				
			||||||
 | 
					    <description>Rape is best.</description>
 | 
				
			||||||
 | 
					    <iconPath>UI/Memes/Rape</iconPath>
 | 
				
			||||||
 | 
					    <impact>2</impact>
 | 
				
			||||||
 | 
					    <requireOne>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					        <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </requireOne>
 | 
				
			||||||
 | 
					    <generalRules>
 | 
				
			||||||
 | 
					      <rulesStrings>
 | 
				
			||||||
 | 
					        <li>memeAdjective->violent</li>
 | 
				
			||||||
 | 
					        <li>memeAdjective->raping</li>
 | 
				
			||||||
 | 
					        <li>memeHyphenPrefix->rapist</li>
 | 
				
			||||||
 | 
					        <li>memeHyphenPrefix->molester</li>
 | 
				
			||||||
 | 
					        <li>memeHyphenPrefix->pervert</li>
 | 
				
			||||||
 | 
					        <li>memeConcept->rapist</li>
 | 
				
			||||||
 | 
					        <li>memeConcept->pervert</li>
 | 
				
			||||||
 | 
					        <li>memeGod->slaanesh</li>
 | 
				
			||||||
 | 
					        <li>memeLeaderNoun->stallion</li>
 | 
				
			||||||
 | 
					        <li>memeLeaderNoun->grand rapist</li>
 | 
				
			||||||
 | 
					      </rulesStrings>
 | 
				
			||||||
 | 
					    </generalRules>
 | 
				
			||||||
 | 
					    <descriptionMaker>
 | 
				
			||||||
 | 
					      <rules>
 | 
				
			||||||
 | 
					        <rulesStrings>
 | 
				
			||||||
 | 
					          <!-- theist myth -->
 | 
				
			||||||
 | 
					          <li>creation(tag=meme_Rapist)        ->[deity0_name] loves rape.</li>
 | 
				
			||||||
 | 
					          <li>episode(uses=1,tag=meme_Rapist)  ->[deity0_name] raped everyone until death during rape.</li>
 | 
				
			||||||
 | 
					          <!-- ideological founder -->
 | 
				
			||||||
 | 
					          <li>setup(tag=meme_Rapist)           ->[founderName] is always horny. </li>
 | 
				
			||||||
 | 
					          <li>story(uses=1,tag=meme_Rapist)    ->[founderName] raped everyone. No one can stop [founderName]. [founderName] died trying to rape planet.</li>
 | 
				
			||||||
 | 
					          <!-- ideological lesson -->
 | 
				
			||||||
 | 
					          <li>lessonIntro(tag=meme_Rapist)         ->Rape is best! Rape is best! Rape is best!</li>
 | 
				
			||||||
 | 
					          <li>lesson(tag=meme_Rapist)              ->Rape is best! Rape is best! Rape is best! Rape is best!</li>
 | 
				
			||||||
 | 
					          <li>lessonReinforcement(tag=meme_Rapist) ->Rape is best! Rape is best! Rape is best! Rape is best! Rape is best!</li>
 | 
				
			||||||
 | 
					          <!-- archist -->
 | 
				
			||||||
 | 
					          <li>archistBasis(tag=meme_Rapist)    ->Human history is history of rape.</li>
 | 
				
			||||||
 | 
					          <li>archistFact(tag=meme_Rapist)     ->Even archotechs cannot stop rapists.</li>
 | 
				
			||||||
 | 
					          <li>archistProphecy(tag=meme_Rapist) ->[inTheEnd], the rapists never stop raping.</li>
 | 
				
			||||||
 | 
					          <!-- animist -->
 | 
				
			||||||
 | 
					          <li>animistFact(tag=meme_Rapist)     ->The most powerful spirits are those of rapists, and spirits of rapists will rape all.</li>
 | 
				
			||||||
 | 
					          <li>animistProphecy(tag=meme_Rapist) ->[itIsSaid] that a powerful spirit of destruction will seek to end the universe, but that a million-raped rapist will wield the spirit of the [relic0_name] and rape the destroyer.</li>
 | 
				
			||||||
 | 
					        </rulesStrings>
 | 
				
			||||||
 | 
					      </rules>
 | 
				
			||||||
 | 
					    </descriptionMaker>
 | 
				
			||||||
 | 
					    <symbolPacks>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <ideoName>Rapists</ideoName>
 | 
				
			||||||
 | 
					        <theme>rapist</theme>
 | 
				
			||||||
 | 
					        <adjective>raping</adjective>
 | 
				
			||||||
 | 
					        <member>rapist</member>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <ideoName>Cult of Slaanesh</ideoName>
 | 
				
			||||||
 | 
					        <theme>pleasure</theme>
 | 
				
			||||||
 | 
					        <adjective>decadent</adjective>
 | 
				
			||||||
 | 
					        <member>heretic</member>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </symbolPacks>
 | 
				
			||||||
 | 
					    <agreeableTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </agreeableTraits>
 | 
				
			||||||
 | 
					  </MemeDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										25
									
								
								Defs/PawnRelationsDefs/PawnRelations_Family.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					  <PawnRelationDef>
 | 
				
			||||||
 | 
					    <workerClass>PawnRelationWorker_Child</workerClass>
 | 
				
			||||||
 | 
					    <defName>Bastard</defName>
 | 
				
			||||||
 | 
					    <label>bastard</label>
 | 
				
			||||||
 | 
					    <labelFemale>bastard</labelFemale>
 | 
				
			||||||
 | 
					    <importance>190</importance>
 | 
				
			||||||
 | 
					    <diedThought>MySonDied</diedThought>
 | 
				
			||||||
 | 
					    <diedThoughtFemale>MyDaughterDied</diedThoughtFemale>
 | 
				
			||||||
 | 
					    <killedThought>KilledMySon</killedThought>
 | 
				
			||||||
 | 
					    <killedThoughtFemale>KilledMyDaughter</killedThoughtFemale>
 | 
				
			||||||
 | 
					    <lostThought>MySonLost</lostThought>
 | 
				
			||||||
 | 
					    <lostThoughtFemale>MyDaughterLost</lostThoughtFemale>
 | 
				
			||||||
 | 
					    <soldThoughts>
 | 
				
			||||||
 | 
					      <li>SoldMyLovedOne</li>
 | 
				
			||||||
 | 
					    </soldThoughts>
 | 
				
			||||||
 | 
					    <opinionOffset>30</opinionOffset>
 | 
				
			||||||
 | 
					    <generationChanceFactor>1.0</generationChanceFactor>
 | 
				
			||||||
 | 
					    <romanceChanceFactor>0.03</romanceChanceFactor>
 | 
				
			||||||
 | 
					    <incestOpinionOffset>-30</incestOpinionOffset>
 | 
				
			||||||
 | 
					    <implied>true</implied>
 | 
				
			||||||
 | 
					    <familyByBloodRelation>true</familyByBloodRelation>
 | 
				
			||||||
 | 
					  </PawnRelationDef>
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										413
									
								
								Defs/PreceptDefs/Precepts_Bestiality.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,413 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Issues -->
 | 
				
			||||||
 | 
					  <IssueDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality</defName>
 | 
				
			||||||
 | 
					    <label>bestiality</label>
 | 
				
			||||||
 | 
					    <iconPath>UI/Commands/Breeding_Pawn_off</iconPath>
 | 
				
			||||||
 | 
					  </IssueDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>SexWithAnimal</defName>
 | 
				
			||||||
 | 
					    <label>sex with animal</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>SexWithVeneratedAnimal</defName>
 | 
				
			||||||
 | 
					    <label>sex with venerated animal</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Precepts -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Abhorrent</defName>
 | 
				
			||||||
 | 
					    <issue>Bestiality</issue>
 | 
				
			||||||
 | 
					    <label>abhorrent</label>
 | 
				
			||||||
 | 
					    <description>Bestiality beings is deeply evil.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>40</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>100</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>30</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <associatedMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </associatedMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Abhorrent</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Abhorrent</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Abhorrent</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Abhorrent</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Horrible</defName>
 | 
				
			||||||
 | 
					    <issue>Bestiality</issue>
 | 
				
			||||||
 | 
					    <label>horrible</label>
 | 
				
			||||||
 | 
					    <description>Bestiality is a horrible thing.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>30</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>200</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>30</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <associatedMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </associatedMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Horrible</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Horrible</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Horrible</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Horrible</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Disapproved</defName>
 | 
				
			||||||
 | 
					    <issue>Bestiality</issue>
 | 
				
			||||||
 | 
					    <label>disapproved</label>
 | 
				
			||||||
 | 
					    <description>Bestiality is extremely distasteful.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>20</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>300</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>20</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <associatedMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </associatedMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Acceptable</defName>
 | 
				
			||||||
 | 
					    <issue>Bestiality</issue>
 | 
				
			||||||
 | 
					    <label>acceptable</label>
 | 
				
			||||||
 | 
					    <description>Bestiality is a normal, unremarkable part of life.</description>
 | 
				
			||||||
 | 
					    <impact>Medium</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>10</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>10</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <approvesOfSlavery>true</approvesOfSlavery>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_OnlyVenerated</defName>
 | 
				
			||||||
 | 
					    <issue>Bestiality</issue>
 | 
				
			||||||
 | 
					    <label>only venerated</label>
 | 
				
			||||||
 | 
					    <description>One who sex with venerated animals should be honored and respected. But having sex with other animals will be denounced</description>
 | 
				
			||||||
 | 
					    <impact>High</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>0</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <requiredMemes>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </requiredMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Nonvenerated_Disapproved</thought>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Nonvenerated_Know_Disapproved</thought>
 | 
				
			||||||
 | 
					        <description>Someone sex with any animal</description>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Honorable</thought>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithVeneratedAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Honorable</thought>
 | 
				
			||||||
 | 
					        <description>Someone sex with animal</description>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Honorable</defName>
 | 
				
			||||||
 | 
					    <issue>Bestiality</issue>
 | 
				
			||||||
 | 
					    <label>encouraging</label>
 | 
				
			||||||
 | 
					    <description>One who sex with animals should be encouraged.</description>
 | 
				
			||||||
 | 
					    <impact>High</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>0</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <requiredMemes>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </requiredMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Honorable</thought>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>SexWithAnimal</eventDef>
 | 
				
			||||||
 | 
					        <thought>Bestiality_Know_Honorable</thought>
 | 
				
			||||||
 | 
					        <description>Someone sex with animal</description>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <!-- Thoughts -->
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Abhorrent</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <description>I had sex with animal. I want to die.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-15</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Know_Abhorrent</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-30</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Horrible</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <description>I had sex with animal. I'm not sure I can forgive myself.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-10</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Know_Horrible</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-20</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Disapproved</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <description>I had sex with animal. I hope nothing terrible happens to them.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-5</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Know_Disapproved</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-10</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Nonvenerated_Disapproved</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with non-venerated animal</label>
 | 
				
			||||||
 | 
					        <description>I had sex with any animal. I hope nothing terrible happens to them.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-5</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Nonvenerated_Know_Disapproved</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with any animal</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-10</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Honorable</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Abhorrent</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Horrible</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Disapproved</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <description>I had sex with animal.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>4</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Bestiality_Know_Honorable</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>25</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Bestiality_Abhorrent</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Horrible</li>
 | 
				
			||||||
 | 
					      <li>Bestiality_Disapproved</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with animal</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>5</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										389
									
								
								Defs/PreceptDefs/Precepts_Incest.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,389 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Issues -->
 | 
				
			||||||
 | 
					  <IssueDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos</defName>
 | 
				
			||||||
 | 
					    <label>incest</label>
 | 
				
			||||||
 | 
					    <iconPath>UI/Issues/Incest</iconPath>
 | 
				
			||||||
 | 
					  </IssueDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos_Marriage</defName>
 | 
				
			||||||
 | 
					    <label>Incestuos marriage</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Precepts -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos_Free</defName>
 | 
				
			||||||
 | 
					    <issue>Incestuos</issue>
 | 
				
			||||||
 | 
					    <label>free</label>
 | 
				
			||||||
 | 
					    <description>Open minded.</description>
 | 
				
			||||||
 | 
					    <impact>Medium</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>60</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>100</defaultSelectionWeight>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos_Disapproved_CloseOnly</defName>
 | 
				
			||||||
 | 
					    <issue>Incestuos</issue>
 | 
				
			||||||
 | 
					    <label>disapproved on close relatives</label>
 | 
				
			||||||
 | 
					    <description>Incest is disapproved socially. Relations farther than cousin are recognized as not incest.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>50</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>100</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Incestuos_Marriage</eventDef>
 | 
				
			||||||
 | 
					        <thought>IncestuosMarriage_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos_Disapproved</defName>
 | 
				
			||||||
 | 
					    <issue>Incestuos</issue>
 | 
				
			||||||
 | 
					    <label>disapproved</label>
 | 
				
			||||||
 | 
					    <description>Incest is disapproved socially.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>40</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>100</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Incestuos_Marriage</eventDef>
 | 
				
			||||||
 | 
					        <thought>IncestuosMarriage_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>Incestuos_Marriage</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_IncestMarriage_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Disapproved</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos_Forbidden</defName>
 | 
				
			||||||
 | 
					    <issue>Incestuos</issue>
 | 
				
			||||||
 | 
					    <label>forbidden</label>
 | 
				
			||||||
 | 
					    <description>Incest is forbidden.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>30</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>100</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Incestuos_Marriage</eventDef>
 | 
				
			||||||
 | 
					        <thought>IncestuosMarriage_Forbidden</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>Incestuos_Marriage</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_IncestMarriage_Forbidden</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Forbidden</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Forbidden</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Forbidden</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Forbidden</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Forbidden</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Incestuos_IncestOnly</defName>
 | 
				
			||||||
 | 
					    <issue>Incestuos</issue>
 | 
				
			||||||
 | 
					    <label>incest only</label>
 | 
				
			||||||
 | 
					    <description>For preserving pure blood, only incest allowed.</description>
 | 
				
			||||||
 | 
					    <impact>High</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>0</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>GotMarried_SpouseCount_OneOrFewer</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_IncestMarriage_Violated</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					        <exclusive>true</exclusive>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Violated</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					        <exclusive>true</exclusive>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Violated</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					        <exclusive>true</exclusive>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Violated</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					        <exclusive>true</exclusive>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Violated</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					        <exclusive>true</exclusive>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Incest_Violated</thought>
 | 
				
			||||||
 | 
					        <tag>Incestuos</tag>
 | 
				
			||||||
 | 
					        <exclusive>true</exclusive>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <!-- Thoughts -->
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>IncestuosMarriage_Forbidden</defName>
 | 
				
			||||||
 | 
					    <durationDays>30</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Psychopath</li>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>social condemnation</label>
 | 
				
			||||||
 | 
					        <description>No one bless our marriage.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-10</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>IncestuosMarriage_Disapproved</defName>
 | 
				
			||||||
 | 
					    <durationDays>30</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Psychopath</li>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>being gossip</label>
 | 
				
			||||||
 | 
					        <description>They are speaking behind our back.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-5</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_Incest_Disapproved</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>incest</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-15</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_Incest_Forbidden</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>incest</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-30</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_IncestMarriage_Disapproved</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>60</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>incest</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-15</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_IncestMarriage_Forbidden</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>60</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>incest</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-30</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_Incest_Violated</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_Disapproved_CloseOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Disapproved</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Forbidden</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>sex with non-family</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-15</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_IncestMarriage_Violated</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>300</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Incestuos_Disapproved_CloseOnly</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Disapproved</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Forbidden</li>
 | 
				
			||||||
 | 
					      <li>Incestuos_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>corrupt the blood</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-50</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										366
									
								
								Defs/PreceptDefs/Precepts_Rape.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,366 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Issues -->
 | 
				
			||||||
 | 
					  <IssueDef>
 | 
				
			||||||
 | 
					    <defName>Rape</defName>
 | 
				
			||||||
 | 
					    <label>rape</label>
 | 
				
			||||||
 | 
					    <iconPath>UI/Issues/Rape</iconPath>
 | 
				
			||||||
 | 
					  </IssueDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>Raped</defName>
 | 
				
			||||||
 | 
					    <label>raped</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>RapedSlave</defName>
 | 
				
			||||||
 | 
					    <label>raped slave</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>RapedPrisoner</defName>
 | 
				
			||||||
 | 
					    <label>raped prisoner</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>WasRaped</defName>
 | 
				
			||||||
 | 
					    <label>was raped</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>WasRapedSlave</defName>
 | 
				
			||||||
 | 
					    <label>was raped</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>WasRapedPrisoner</defName>
 | 
				
			||||||
 | 
					    <label>was raped</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					  <!-- Precepts -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Abhorrent</defName>
 | 
				
			||||||
 | 
					    <issue>Rape</issue>
 | 
				
			||||||
 | 
					    <label>abhorrent</label>
 | 
				
			||||||
 | 
					    <description>Rape beings is deeply evil.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>40</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>30</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <associatedMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					      <li>Collectivist</li>
 | 
				
			||||||
 | 
					    </associatedMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Abhorrent</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Abhorrent</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped other</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedPrisoner</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Horrible</thought>
 | 
				
			||||||
 | 
					        <description>Raped prisoner</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedPrisoner</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Horrible</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped prisoner</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedSlave</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Disapproved</thought>
 | 
				
			||||||
 | 
					        <description>Raped slave</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedSlave</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Disapproved</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped slave</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Horrible</defName>
 | 
				
			||||||
 | 
					    <issue>Rape</issue>
 | 
				
			||||||
 | 
					    <label>horrible</label>
 | 
				
			||||||
 | 
					    <description>Raping other is a horrible thing.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>30</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>30</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <associatedMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </associatedMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Horrible</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Horrible</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped other</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedPrisoner</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Disapproved</thought>
 | 
				
			||||||
 | 
					        <description>Raped prisoner</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedPrisoner</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Disapproved</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped prisoner</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Disapproved</defName>
 | 
				
			||||||
 | 
					    <issue>Rape</issue>
 | 
				
			||||||
 | 
					    <label>disapproved</label>
 | 
				
			||||||
 | 
					    <description>Rape is part of life, though it is extremely distasteful.</description>
 | 
				
			||||||
 | 
					    <impact>Medium</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>20</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>20</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <associatedMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </associatedMemes>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Disapproved</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Disapproved</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped other</description>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Acceptable</defName>
 | 
				
			||||||
 | 
					    <issue>Rape</issue>
 | 
				
			||||||
 | 
					    <label>acceptable</label>
 | 
				
			||||||
 | 
					    <description>Rape is a normal, unremarkable part of life.</description>
 | 
				
			||||||
 | 
					    <impact>High</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>10</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>10</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <approvesOfSlavery>true</approvesOfSlavery>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Honorable</defName>
 | 
				
			||||||
 | 
					    <issue>Rape</issue>
 | 
				
			||||||
 | 
					    <label>proud</label>
 | 
				
			||||||
 | 
					    <description>Raping is one of proud behavior.</description>
 | 
				
			||||||
 | 
					    <impact>High</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>0</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <conflictingMemes>
 | 
				
			||||||
 | 
					      <li>HumanPrimacy</li>
 | 
				
			||||||
 | 
					    </conflictingMemes>
 | 
				
			||||||
 | 
					    <requiredMemes>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </requiredMemes>
 | 
				
			||||||
 | 
					    <statFactors>
 | 
				
			||||||
 | 
					      <Vulnerability>0.75</Vulnerability>
 | 
				
			||||||
 | 
					    </statFactors>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>BloodlustStoleSomeLovin</thought>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>Raped</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Honorable</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped other</description>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedPrisoner</eventDef>
 | 
				
			||||||
 | 
					        <thought>BloodlustStoleSomeLovin</thought>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedPrisoner</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Honorable</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped other</description>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedSlave</eventDef>
 | 
				
			||||||
 | 
					        <thought>BloodlustStoleSomeLovin</thought>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>RapedSlave</eventDef>
 | 
				
			||||||
 | 
					        <thought>Rape_Know_Honorable</thought>
 | 
				
			||||||
 | 
					        <description>Someone raped other</description>
 | 
				
			||||||
 | 
					        <onlyForNonSlaves>true</onlyForNonSlaves>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <!-- Thoughts -->
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Abhorrent</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <description>I raped someone. I shouldn't do that.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-5</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Know_Abhorrent</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-30</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Horrible</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <description>I raped someone. I shouldn't do that.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-3</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Know_Horrible</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-15</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Disapproved</defName>
 | 
				
			||||||
 | 
					    <durationDays>6</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <description>I raped someone. I shouldn't do that.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-1</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Know_Disapproved</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Honorable</li>
 | 
				
			||||||
 | 
					      <li>Rape_Acceptable</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-5</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Rape_Know_Honorable</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>25</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Rape_Abhorrent</li>
 | 
				
			||||||
 | 
					      <li>Rape_Disapproved</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>raped someone</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>1</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										332
									
								
								Defs/PreceptDefs/Precepts_Sex.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,332 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Issues -->
 | 
				
			||||||
 | 
					  <IssueDef>
 | 
				
			||||||
 | 
					    <defName>Sextype</defName>
 | 
				
			||||||
 | 
					    <label>sex type</label>
 | 
				
			||||||
 | 
					    <iconPath>UI/Issues/Bestiality</iconPath>
 | 
				
			||||||
 | 
					  </IssueDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>VaginalSex</defName>
 | 
				
			||||||
 | 
					    <label>vaginal sex</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>AnalSex</defName>
 | 
				
			||||||
 | 
					    <label>anal sex</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>OralSex</defName>
 | 
				
			||||||
 | 
					    <label>oral sex</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>MiscSex</defName>
 | 
				
			||||||
 | 
					    <label>sex</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <HistoryEventDef>
 | 
				
			||||||
 | 
					    <defName>PromiscuousSex</defName>
 | 
				
			||||||
 | 
					    <label>promiscuous sex</label>
 | 
				
			||||||
 | 
					  </HistoryEventDef>
 | 
				
			||||||
 | 
					  <!-- Precepts -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Free</defName>
 | 
				
			||||||
 | 
					    <issue>Sextype</issue>
 | 
				
			||||||
 | 
					    <label>free</label>
 | 
				
			||||||
 | 
					    <description>Open minded.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>50</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>100</defaultSelectionWeight>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Sex_VaginalOnly</defName>
 | 
				
			||||||
 | 
					    <issue>Sextype</issue>
 | 
				
			||||||
 | 
					    <label>vaginal only</label>
 | 
				
			||||||
 | 
					    <description>Only vaginal sex is approval and others are crude.</description>
 | 
				
			||||||
 | 
					    <impact>Low</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>40</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>100</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Sex_AnalOnly</defName>
 | 
				
			||||||
 | 
					    <issue>Sextype</issue>
 | 
				
			||||||
 | 
					    <label>anal only</label>
 | 
				
			||||||
 | 
					    <description>Only anal sex is approval and others are crude.</description>
 | 
				
			||||||
 | 
					    <impact>Medium</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>30</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>10</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Sex_OralOnly</defName>
 | 
				
			||||||
 | 
					    <issue>Sextype</issue>
 | 
				
			||||||
 | 
					    <label>oral only</label>
 | 
				
			||||||
 | 
					    <description>Only oral sex is approval and others are crude.</description>
 | 
				
			||||||
 | 
					    <impact>Medium</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>20</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <defaultSelectionWeight>5</defaultSelectionWeight>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="RJWSexperience.PreceptComp_KnowsMemoryThoughtTagged">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PreceptDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Promiscuous</defName>
 | 
				
			||||||
 | 
					    <issue>Sextype</issue>
 | 
				
			||||||
 | 
					    <label>promiscuous</label>
 | 
				
			||||||
 | 
					    <description>Messy sex life is approved.</description>
 | 
				
			||||||
 | 
					    <impact>High</impact>
 | 
				
			||||||
 | 
					    <displayOrderInIssue>0</displayOrderInIssue>
 | 
				
			||||||
 | 
					    <displayOrderInImpact>1000</displayOrderInImpact>
 | 
				
			||||||
 | 
					    <statFactors>
 | 
				
			||||||
 | 
					      <SexFrequency>1.5</SexFrequency>
 | 
				
			||||||
 | 
					      <SexAbility>1.25</SexAbility>
 | 
				
			||||||
 | 
					    </statFactors>
 | 
				
			||||||
 | 
					    <comps>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>VaginalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>AnalSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>OralSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_SelfTookMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>MiscSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_NonPromiscuous</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					      <li Class="PreceptComp_KnowsMemoryThought">
 | 
				
			||||||
 | 
					        <eventDef>PromiscuousSex</eventDef>
 | 
				
			||||||
 | 
					        <thought>Sex_Know_Promiscuous_Approval</thought>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </comps>
 | 
				
			||||||
 | 
					  </PreceptDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <!-- Thoughts -->
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <RJWSexperience.ThoughtDef_Recordbased>
 | 
				
			||||||
 | 
					    <defName>Sex_Promiscuous</defName>
 | 
				
			||||||
 | 
					    <durationDays>1</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
							<thoughtClass>RJWSexperience.Thought_IncreaseRecord</thoughtClass>
 | 
				
			||||||
 | 
							<recordDef>Lust</recordDef>
 | 
				
			||||||
 | 
					    <increment>3.0</increment>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>promiscuous sex</label>
 | 
				
			||||||
 | 
					        <description>I was immoral. It makes me aroused.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>5</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </RJWSexperience.ThoughtDef_Recordbased>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_NonPromiscuous</defName>
 | 
				
			||||||
 | 
					    <durationDays>1</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>ordinary sex</label>
 | 
				
			||||||
 | 
					        <description>It cannot satisfy me.</description>
 | 
				
			||||||
 | 
					        <baseMoodEffect>-1</baseMoodEffect>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_Promiscuous</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingTraits>
 | 
				
			||||||
 | 
					      <li>Nymphomaniac</li>
 | 
				
			||||||
 | 
					      <li>Zoophile</li>
 | 
				
			||||||
 | 
					      <li>Rapist</li>
 | 
				
			||||||
 | 
					      <li>Necrophiliac</li>
 | 
				
			||||||
 | 
					      <li>Gay</li>
 | 
				
			||||||
 | 
					      <li>Bisexual</li>
 | 
				
			||||||
 | 
					    </nullifyingTraits>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Sex_Free</li>
 | 
				
			||||||
 | 
					      <li>Sex_Promiscuous</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>promiscuous</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-10</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_Promiscuous_Approval</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Sex_VaginalOnly</li>
 | 
				
			||||||
 | 
					      <li>Sex_AnalOnly</li>
 | 
				
			||||||
 | 
					      <li>Sex_OralOnly</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>promiscuous</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>3</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <ThoughtDef>
 | 
				
			||||||
 | 
					    <defName>Sex_Know_NonPromiscuous</defName>
 | 
				
			||||||
 | 
					    <thoughtClass>Thought_MemorySocial</thoughtClass>
 | 
				
			||||||
 | 
					    <durationDays>15</durationDays>
 | 
				
			||||||
 | 
					    <stackLimit>100</stackLimit>
 | 
				
			||||||
 | 
					    <stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
 | 
				
			||||||
 | 
					    <nullifyingPrecepts>
 | 
				
			||||||
 | 
					      <li>Sex_VaginalOnly</li>
 | 
				
			||||||
 | 
					      <li>Sex_AnalOnly</li>
 | 
				
			||||||
 | 
					      <li>Sex_OralOnly</li>
 | 
				
			||||||
 | 
					      <li>Sex_Free</li>
 | 
				
			||||||
 | 
					    </nullifyingPrecepts>
 | 
				
			||||||
 | 
					    <stages>
 | 
				
			||||||
 | 
					      <li>
 | 
				
			||||||
 | 
					        <label>boring</label>
 | 
				
			||||||
 | 
					        <baseOpinionOffset>-3</baseOpinionOffset>
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    </stages>
 | 
				
			||||||
 | 
					  </ThoughtDef>
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										19
									
								
								Defs/RecordDefs/Records_Sexperiences.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
						<RecordDef>
 | 
				
			||||||
 | 
							<defName>NumofEatenCum</defName>
 | 
				
			||||||
 | 
							<label>swallowed cum</label>
 | 
				
			||||||
 | 
							<description>The number of times that i swalloed cum.</description>
 | 
				
			||||||
 | 
							<type>Int</type>
 | 
				
			||||||
 | 
						</RecordDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<RecordDef>
 | 
				
			||||||
 | 
							<defName>Lust</defName>
 | 
				
			||||||
 | 
							<label>lust</label>
 | 
				
			||||||
 | 
							<description>How lustful i am.</description>
 | 
				
			||||||
 | 
							<type>Float</type>
 | 
				
			||||||
 | 
						</RecordDef>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										10
									
								
								Defs/SkillDefs/SexSkills.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					  <SkillDef>
 | 
				
			||||||
 | 
					    <defName>Sex</defName>
 | 
				
			||||||
 | 
					    <description>Sex skill.</description>
 | 
				
			||||||
 | 
					    <skillLabel>sex</skillLabel>
 | 
				
			||||||
 | 
					    <listOrder>5</listOrder>
 | 
				
			||||||
 | 
					  </SkillDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										73
									
								
								Defs/ThingDefs/Items_Resource_Cum.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,73 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
					  <ThingDef ParentName="OrganicProductBase">
 | 
				
			||||||
 | 
					    <defName>GatheredCum</defName>
 | 
				
			||||||
 | 
					    <label>cum</label>
 | 
				
			||||||
 | 
					    <description>Gathered cum.</description>
 | 
				
			||||||
 | 
						<thingCategories>
 | 
				
			||||||
 | 
							<li>AnimalProductRaw</li>
 | 
				
			||||||
 | 
						</thingCategories>
 | 
				
			||||||
 | 
					    <graphicData>
 | 
				
			||||||
 | 
					      <texPath>Things/Item/GatheredCum</texPath>
 | 
				
			||||||
 | 
					      <drawSize>1</drawSize>
 | 
				
			||||||
 | 
						  <graphicClass>Graphic_StackCount</graphicClass>
 | 
				
			||||||
 | 
					    </graphicData>
 | 
				
			||||||
 | 
						<socialPropernessMatters>true</socialPropernessMatters>
 | 
				
			||||||
 | 
					    <statBases>
 | 
				
			||||||
 | 
					      <MarketValue>0.1</MarketValue>
 | 
				
			||||||
 | 
						    <Mass>0.1</Mass>
 | 
				
			||||||
 | 
						    <Nutrition>0.01</Nutrition>
 | 
				
			||||||
 | 
						    <Beauty>-5</Beauty>
 | 
				
			||||||
 | 
						    <Cleanliness>-1</Cleanliness>
 | 
				
			||||||
 | 
						    <FoodPoisonChanceFixedHuman>0.00</FoodPoisonChanceFixedHuman>
 | 
				
			||||||
 | 
						    <DeteriorationRate>60</DeteriorationRate>
 | 
				
			||||||
 | 
					      <Flammability>0.1</Flammability>
 | 
				
			||||||
 | 
					    </statBases>
 | 
				
			||||||
 | 
					    <ingestible>
 | 
				
			||||||
 | 
					      <foodType>Fluid, AnimalProduct</foodType>
 | 
				
			||||||
 | 
					      <preferability>DesperateOnlyForHumanlikes</preferability>
 | 
				
			||||||
 | 
						    <tasteThought>AteCum</tasteThought>
 | 
				
			||||||
 | 
						    <specialThoughtAsIngredient>AteCum</specialThoughtAsIngredient>
 | 
				
			||||||
 | 
						    <optimalityOffsetHumanlikes>-10</optimalityOffsetHumanlikes>
 | 
				
			||||||
 | 
					      <optimalityOffsetFeedingAnimals>-10</optimalityOffsetFeedingAnimals>
 | 
				
			||||||
 | 
					    </ingestible>
 | 
				
			||||||
 | 
					  </ThingDef>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
						<ThingDef ParentName="PlantFoodRawBase">
 | 
				
			||||||
 | 
							<defName>UsedCondom</defName>
 | 
				
			||||||
 | 
							<label>Used Condom</label>
 | 
				
			||||||
 | 
							<description>A condom filled with sperm. MMMM So good and tasty!</description>
 | 
				
			||||||
 | 
							<graphicData>
 | 
				
			||||||
 | 
								<texPath>Things/Item/UsedCondom</texPath>
 | 
				
			||||||
 | 
								<graphicClass>Graphic_StackCount</graphicClass>
 | 
				
			||||||
 | 
							</graphicData>
 | 
				
			||||||
 | 
							<stackLimit>50</stackLimit>
 | 
				
			||||||
 | 
							<useHitPoints>true</useHitPoints>
 | 
				
			||||||
 | 
							<selectable>true</selectable>
 | 
				
			||||||
 | 
							<generateCommonality>0.0</generateCommonality>
 | 
				
			||||||
 | 
							<techLevel>Industrial</techLevel>
 | 
				
			||||||
 | 
							<statBases>
 | 
				
			||||||
 | 
								<Beauty>-10</Beauty>
 | 
				
			||||||
 | 
								<MarketValue>1</MarketValue>
 | 
				
			||||||
 | 
								<Mass>0.05</Mass>
 | 
				
			||||||
 | 
					      		<Nutrition>0.05</Nutrition>
 | 
				
			||||||
 | 
							</statBases>
 | 
				
			||||||
 | 
							<ingestible>
 | 
				
			||||||
 | 
								<foodType>Fluid, AnimalProduct</foodType>
 | 
				
			||||||
 | 
								<preferability>DesperateOnlyForHumanlikes</preferability>
 | 
				
			||||||
 | 
						    <tasteThought>AteCum</tasteThought>
 | 
				
			||||||
 | 
						    <specialThoughtAsIngredient>AteCum</specialThoughtAsIngredient>
 | 
				
			||||||
 | 
							</ingestible>
 | 
				
			||||||
 | 
							<altitudeLayer>Item</altitudeLayer>
 | 
				
			||||||
 | 
							<tickerType>Never</tickerType>
 | 
				
			||||||
 | 
							<tradeTags>
 | 
				
			||||||
 | 
								<li>Exotic</li>
 | 
				
			||||||
 | 
							</tradeTags>
 | 
				
			||||||
 | 
							<tradeability>Sellable</tradeability>
 | 
				
			||||||
 | 
							<thingCategories>
 | 
				
			||||||
 | 
								<li>AnimalProductRaw</li>
 | 
				
			||||||
 | 
							</thingCategories>
 | 
				
			||||||
 | 
						</ThingDef>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										41
									
								
								Defs/ThoughtDefs/Thoughts_ate.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Defs>
 | 
				
			||||||
 | 
						<RJWSexperience.ThoughtDef_Recordbased>
 | 
				
			||||||
 | 
							<defName>AteCum</defName>
 | 
				
			||||||
 | 
							<durationDays>0.5</durationDays>
 | 
				
			||||||
 | 
							<stackLimit>1</stackLimit>
 | 
				
			||||||
 | 
							<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
 | 
				
			||||||
 | 
							<recordDef>NumofEatenCum</recordDef>
 | 
				
			||||||
 | 
							<thoughtClass>RJWSexperience.Thought_AteCum</thoughtClass>
 | 
				
			||||||
 | 
							<minimumValueforStage>
 | 
				
			||||||
 | 
								<li>10</li>
 | 
				
			||||||
 | 
								<li>60</li>
 | 
				
			||||||
 | 
								<li>120</li>
 | 
				
			||||||
 | 
							</minimumValueforStage>
 | 
				
			||||||
 | 
							<stages>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<label>ate cum</label>
 | 
				
			||||||
 | 
									<description>Disgusting.</description>
 | 
				
			||||||
 | 
									<baseMoodEffect>-5</baseMoodEffect>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<label>ate cum</label>
 | 
				
			||||||
 | 
									<description>Tastes bad and stinky.</description>
 | 
				
			||||||
 | 
									<baseMoodEffect>-2</baseMoodEffect>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<label>ate cum</label>
 | 
				
			||||||
 | 
									<description>Tastes bad. But i liked it.</description>
 | 
				
			||||||
 | 
									<baseMoodEffect>1</baseMoodEffect>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li>
 | 
				
			||||||
 | 
									<label>ate cum</label>
 | 
				
			||||||
 | 
									<description>Delicious.</description>
 | 
				
			||||||
 | 
									<baseMoodEffect>3</baseMoodEffect>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
							</stages>
 | 
				
			||||||
 | 
						</RJWSexperience.ThoughtDef_Recordbased>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					</Defs>
 | 
				
			||||||
							
								
								
									
										21
									
								
								LICENSE
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					MIT License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright (c) 2021 motd1233
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.
 | 
				
			||||||
							
								
								
									
										7
									
								
								Languages/English/Keyed/RJW_Sexperience.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <LustStatFactor>Lust: x{0}%</LustStatFactor>
 | 
				
			||||||
 | 
					  <SlaveStatFactor>Slave: x{0}%</SlaveStatFactor>
 | 
				
			||||||
 | 
					  <SlaveStatFactorDefault>Not Slave: x100%</SlaveStatFactorDefault>
 | 
				
			||||||
 | 
					  <MemeStatFactor>Meme: x{0}%</MemeStatFactor>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <SexWithAnimal.label>동물과 교미</SexWithAnimal.label>
 | 
				
			||||||
 | 
					  <SexWithVeneratedAnimal.label>숭배받는 동물과 교미</SexWithVeneratedAnimal.label>
 | 
				
			||||||
 | 
					  <Raped.label>강간</Raped.label>
 | 
				
			||||||
 | 
					  <RapedSlave.label>노예 강간</RapedSlave.label>
 | 
				
			||||||
 | 
					  <RapedPrisoner.label>죄수 강간</RapedPrisoner.label>
 | 
				
			||||||
 | 
					  <VaginalSex.label>보지 섹스</VaginalSex.label>
 | 
				
			||||||
 | 
					  <AnalSex.label>항문 성교</AnalSex.label>
 | 
				
			||||||
 | 
					  <OralSex.label>구강 성교</OralSex.label>
 | 
				
			||||||
 | 
					  <MiscSex.label>섹스</MiscSex.label>
 | 
				
			||||||
 | 
					  <PromiscuousSex.label>문란한 섹스</PromiscuousSex.label>
 | 
				
			||||||
 | 
					  <Incestuos_Marriage.label>근친혼</Incestuos_Marriage.label>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Sextype.label>섹스 종류</Sextype.label>
 | 
				
			||||||
 | 
					  <Rape.label>강간</Rape.label>
 | 
				
			||||||
 | 
					  <Bestiality.label>수간</Bestiality.label>
 | 
				
			||||||
 | 
					  <Incestuos.label>근친상간</Incestuos.label>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,65 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Zoophile.label>수간</Zoophile.label>
 | 
				
			||||||
 | 
					  <Zoophile.description>동물박이들</Zoophile.description>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.0>creation(tag=meme_Zoophile)        ->[deity0_name]는 동물과 교미하는것을 즐겼습니다.</Zoophile.descriptionMaker.rules.rulesStrings.0>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.1>episode(uses=1,tag=meme_Zoophile)  ->[deity0_name]는 모두에게 말했습니다, "Sigmar forbids this!"</Zoophile.descriptionMaker.rules.rulesStrings.1>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.2>setup(tag=meme_Zoophile)           ->어느날, [founderName]은(는) 너무 발정이나서 동물을 따먹었고 그것을 좋아하게 되었습니다.</Zoophile.descriptionMaker.rules.rulesStrings.2>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.3>story(uses=1,tag=meme_Zoophile)    ->동물들을 퍼뜨리기 위해, [founderName]은(는) 동물과 교미하고 다니기 시작했습니다.</Zoophile.descriptionMaker.rules.rulesStrings.3>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.4>lessonIntro(tag=meme_Zoophile)         ->어느날, 나는 동물과 섹스했습니다. 그리고 사람보다 훨씬 나았습니다!</Zoophile.descriptionMaker.rules.rulesStrings.4>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.5>lesson(tag=meme_Zoophile)              ->오직 동물만 나를 만족시킬수 있습니다.</Zoophile.descriptionMaker.rules.rulesStrings.5>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.6>lessonReinforcement(tag=meme_Zoophile) ->동물과 교미하는것은 영원한 행복입니다.</Zoophile.descriptionMaker.rules.rulesStrings.6>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.7>archistBasis(tag=meme_Zoophile)    ->초월주의자들은 항상 궁극의 쾌락을 찾고 있었습니다.</Zoophile.descriptionMaker.rules.rulesStrings.7>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.8>archistFact(tag=meme_Zoophile)     ->그것은 동물과 교미하는 것이었습니다..</Zoophile.descriptionMaker.rules.rulesStrings.8>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.9>archistProphecy(tag=meme_Zoophile) ->[inTheEnd], 초월공학은 이종간 번식을 가능하게 했습니다. 이것이 그들을 궁극의 쾌락으로 인도할지도 모릅니다.</Zoophile.descriptionMaker.rules.rulesStrings.9>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.10>animistFact(tag=meme_Zoophile)     ->가장 강력한 영혼은 짐승의 것입니다, 그리고 짐승의 영혼은 짐승에게 지배받지 않는 한 날뛸것입니다.</Zoophile.descriptionMaker.rules.rulesStrings.10>
 | 
				
			||||||
 | 
					  <Zoophile.descriptionMaker.rules.rulesStrings.11>animistProphecy(tag=meme_Zoophile) ->[itIsSaid] 그 강력한 파괴의 영혼은 우주의 파멸을 찾아다닐 것입니다. 하지만 인간에게서 태어난 짐승이 [relic0_name]의 힘을 사용하여 파괴자를 파괴할 것입니다.</Zoophile.descriptionMaker.rules.rulesStrings.11>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.0>memeAdjective->수간</Zoophile.generalRules.rulesStrings.0>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.1>memeAdjective->수간</Zoophile.generalRules.rulesStrings.1>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.2>memeHyphenPrefix->수간</Zoophile.generalRules.rulesStrings.2>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.3>memeConcept->수태</Zoophile.generalRules.rulesStrings.3>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.4>memeConcept->수간</Zoophile.generalRules.rulesStrings.4>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.5>memeConcept->수간</Zoophile.generalRules.rulesStrings.5>
 | 
				
			||||||
 | 
					  <Zoophile.generalRules.rulesStrings.6>memeLeaderNoun->가축</Zoophile.generalRules.rulesStrings.6>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.0.ideoName>번식모판</Zoophile.symbolPacks.0.ideoName>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.0.theme>번식</Zoophile.symbolPacks.0.theme>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.0.adjective>수간</Zoophile.symbolPacks.0.adjective>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.0.member>번식기</Zoophile.symbolPacks.0.member>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.1.ideoName>포켓몬스터 갤러리</Zoophile.symbolPacks.1.ideoName>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.1.theme>수간</Zoophile.symbolPacks.1.theme>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.1.adjective>수간</Zoophile.symbolPacks.1.adjective>
 | 
				
			||||||
 | 
					  <Zoophile.symbolPacks.1.member>수간충</Zoophile.symbolPacks.1.member>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <Rapist.label>강간</Rapist.label>
 | 
				
			||||||
 | 
					  <Rapist.description>강간은 최고야</Rapist.description>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.0>creation(tag=meme_Rapist)        ->[deity0_name]는 강간을 사랑합니다.</Rapist.descriptionMaker.rules.rulesStrings.0>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.1>episode(uses=1,tag=meme_Rapist)  ->[deity0_name]는 복상사 할때까지 강간하다 죽었습니다.</Rapist.descriptionMaker.rules.rulesStrings.1>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.2>setup(tag=meme_Rapist)           ->[founderName]은(는) 항상 발정나있습니다.</Rapist.descriptionMaker.rules.rulesStrings.2>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.3>story(uses=1,tag=meme_Rapist)    ->[founderName]은(는) 모두를 강간했습니다. 아무도 [founderName]을(를) 멈출수 없었습니다. [founderName]은(는) 행성을 강간하려다 죽었습니다.</Rapist.descriptionMaker.rules.rulesStrings.3>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.4>lessonIntro(tag=meme_Rapist)         ->강간은 최고야! 강간은 최고야! 강간은 최고야!</Rapist.descriptionMaker.rules.rulesStrings.4>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.5>lesson(tag=meme_Rapist)              ->강간은 최고야! 강간은 최고야! 강간은 최고야! 강간은 최고야!</Rapist.descriptionMaker.rules.rulesStrings.5>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.6>lessonReinforcement(tag=meme_Rapist) ->강간은 최고야! 강간은 최고야! 강간은 최고야! 강간은 최고야! 강간은 최고야!</Rapist.descriptionMaker.rules.rulesStrings.6>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.7>archistBasis(tag=meme_Rapist)    ->인간의 역사는 강간의 역사입니다.</Rapist.descriptionMaker.rules.rulesStrings.7>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.8>archistFact(tag=meme_Rapist)     ->초월공학 조차도 강간범들을 막지는 못했습니다.</Rapist.descriptionMaker.rules.rulesStrings.8>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.9>archistProphecy(tag=meme_Rapist) ->[inTheEnd], 강간범들은 절대 강간을 멈추지 않을겁니다.</Rapist.descriptionMaker.rules.rulesStrings.9>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.10>animistFact(tag=meme_Rapist)     ->가장 강력한 영혼을 가진 것은 강간범들입니다. 그리고 그들은 모두를 강간할것입니다.</Rapist.descriptionMaker.rules.rulesStrings.10>
 | 
				
			||||||
 | 
					  <Rapist.descriptionMaker.rules.rulesStrings.11>animistProphecy(tag=meme_Rapist) ->[itIsSaid]  그 강력한 파괴의 영혼은 우주의 파멸을 찾아다닐 것입니다. 하지만 백만번을 강간한 강간범이 [relic0_name]의 힘을 사용하여 파괴자를 강간할 것입니다.</Rapist.descriptionMaker.rules.rulesStrings.11>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.0>memeAdjective->강간하는</Rapist.generalRules.rulesStrings.0>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.1>memeAdjective->겁탈하는</Rapist.generalRules.rulesStrings.1>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.2>memeHyphenPrefix->강간범</Rapist.generalRules.rulesStrings.2>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.3>memeHyphenPrefix->치한</Rapist.generalRules.rulesStrings.3>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.4>memeHyphenPrefix->변태</Rapist.generalRules.rulesStrings.4>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.5>memeConcept->강간 </Rapist.generalRules.rulesStrings.5>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.6>memeConcept->변태적인</Rapist.generalRules.rulesStrings.6>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.7>memeGod->슬라네쉬</Rapist.generalRules.rulesStrings.7>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.8>memeLeaderNoun->종마</Rapist.generalRules.rulesStrings.8>
 | 
				
			||||||
 | 
					  <Rapist.generalRules.rulesStrings.9>memeLeaderNoun->위대한 강간범</Rapist.generalRules.rulesStrings.9>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.0.ideoName>강간범들</Rapist.symbolPacks.0.ideoName>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.0.theme>강간</Rapist.symbolPacks.0.theme>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.0.adjective>강간하는</Rapist.symbolPacks.0.adjective>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.0.member>강간범</Rapist.symbolPacks.0.member>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.1.ideoName>슬라네쉬 교단</Rapist.symbolPacks.1.ideoName>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.1.theme>쾌락</Rapist.symbolPacks.1.theme>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.1.adjective>타락한</Rapist.symbolPacks.1.adjective>
 | 
				
			||||||
 | 
					  <Rapist.symbolPacks.1.member>이교도</Rapist.symbolPacks.1.member>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,59 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Bestiality_Abhorrent.label>혐오스러움</Bestiality_Abhorrent.label>
 | 
				
			||||||
 | 
					  <Bestiality_Abhorrent.description>수간은 절대 용납할수 없는 행위입니다.</Bestiality_Abhorrent.description>
 | 
				
			||||||
 | 
					  <Bestiality_Horrible.label>끔찍함</Bestiality_Horrible.label>
 | 
				
			||||||
 | 
					  <Bestiality_Horrible.description>수간은 끔찍한 짓입니다.</Bestiality_Horrible.description>
 | 
				
			||||||
 | 
					  <Bestiality_Disapproved.label>싫어함</Bestiality_Disapproved.label>
 | 
				
			||||||
 | 
					  <Bestiality_Disapproved.description>수간충을 좋아하는 사람은 없습니다.</Bestiality_Disapproved.description>
 | 
				
			||||||
 | 
					  <Bestiality_Horrible.description>수간은 끔찍한 짓입니다.</Bestiality_Horrible.description>
 | 
				
			||||||
 | 
					  <Bestiality_Acceptable.label>수용가능</Bestiality_Acceptable.label>
 | 
				
			||||||
 | 
					  <Bestiality_Acceptable.description>수간은 일반적인 일입니다.</Bestiality_Acceptable.description>
 | 
				
			||||||
 | 
					  <Bestiality_OnlyVenerated.label>숭배동물만</Bestiality_OnlyVenerated.label>
 | 
				
			||||||
 | 
					  <Bestiality_OnlyVenerated.description>숭배받는 동물과 교미하는것은 존중받을 일입니다. 하지만 다른 동물들과 교미하는것은 규탄받습니다.</Bestiality_OnlyVenerated.description>
 | 
				
			||||||
 | 
					  <Bestiality_OnlyVenerated.comps.1.description>수간</Bestiality_OnlyVenerated.comps.1.description>
 | 
				
			||||||
 | 
					  <Bestiality_OnlyVenerated.comps.3.description>수간</Bestiality_OnlyVenerated.comps.3.description>
 | 
				
			||||||
 | 
					  <Bestiality_Honorable.label>장려됨</Bestiality_Honorable.label>
 | 
				
			||||||
 | 
					  <Bestiality_Honorable.description>수간은 장려되어야 합니다.</Bestiality_Honorable.description>
 | 
				
			||||||
 | 
					  <Bestiality_Honorable.comps.1.description>수간</Bestiality_Honorable.comps.1.description>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.label>혐오스러움</Rape_Abhorrent.label>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.description>강간은 절대 용납할수 없는 행위입니다.</Rape_Abhorrent.description>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.comps.1.description>강간</Rape_Abhorrent.comps.1.description>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.comps.2.description>수감자를 강간함</Rape_Abhorrent.comps.2.description>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.comps.3.description>수감자 강간</Rape_Abhorrent.comps.3.description>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.comps.4.description>노예를 강간함</Rape_Abhorrent.comps.4.description>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.comps.5.description>노예 강간</Rape_Abhorrent.comps.5.description>
 | 
				
			||||||
 | 
					  <Rape_Horrible.label>끔찍함</Rape_Horrible.label>
 | 
				
			||||||
 | 
					  <Rape_Horrible.description>강간은 끔찍한 짓입니다.</Rape_Horrible.description>
 | 
				
			||||||
 | 
					  <Rape_Horrible.comps.1.description>강간</Rape_Horrible.comps.1.description>
 | 
				
			||||||
 | 
					  <Rape_Horrible.comps.2.description>수감자를 강간함</Rape_Horrible.comps.2.description>
 | 
				
			||||||
 | 
					  <Rape_Horrible.comps.3.description>수감자 강간</Rape_Horrible.comps.3.description>
 | 
				
			||||||
 | 
					  <Rape_Disapproved.label>싫어함</Rape_Disapproved.label>
 | 
				
			||||||
 | 
					  <Rape_Disapproved.description>강간은 흔한 일이지만 나쁜짓으로 간주됩니다.</Rape_Disapproved.description>
 | 
				
			||||||
 | 
					  <Rape_Disapproved.comps.1.description>강간</Rape_Disapproved.comps.1.description>
 | 
				
			||||||
 | 
					  <Rape_Acceptable.label>수용가능</Rape_Acceptable.label>
 | 
				
			||||||
 | 
					  <Rape_Acceptable.description>강간이 일상입니다.</Rape_Acceptable.description>
 | 
				
			||||||
 | 
					  <Rape_Honorable.label>자랑스러움</Rape_Honorable.label>
 | 
				
			||||||
 | 
					  <Rape_Honorable.description>강간은 자랑할만한 일입니다.</Rape_Honorable.description>
 | 
				
			||||||
 | 
					  <Rape_Honorable.comps.1.description>강간</Rape_Honorable.comps.1.description>
 | 
				
			||||||
 | 
					  <Sex_Free.label>자유</Sex_Free.label>
 | 
				
			||||||
 | 
					  <Sex_Free.description>어떠한것도 배척받지 않습니다.</Sex_Free.description>
 | 
				
			||||||
 | 
					  <Sex_VaginalOnly.label>성기만 사용</Sex_VaginalOnly.label>
 | 
				
			||||||
 | 
					  <Sex_VaginalOnly.description>성기만 사용한 성행위만이 일반적인 것으로 받아들여집니다. 그 외에는 문란한것으로 간주됩니다.</Sex_VaginalOnly.description>
 | 
				
			||||||
 | 
					  <Sex_AnalOnly.label>항문성교만</Sex_AnalOnly.label>
 | 
				
			||||||
 | 
					  <Sex_AnalOnly.description>항문을 사용한 성행위만이 일반적인 것으로 받아들여집니다. 그 외에는 문란한것으로 간주됩니다.</Sex_AnalOnly.description>
 | 
				
			||||||
 | 
					  <Sex_OralOnly.label>구강성교만</Sex_OralOnly.label>
 | 
				
			||||||
 | 
					  <Sex_OralOnly.description>구강성교만이 일반적인 것으로 받아들여집니다. 그 외에는 문란한것으로 간주됩니다.</Sex_OralOnly.description>
 | 
				
			||||||
 | 
					  <Sex_Promiscuous.label>문란함</Sex_Promiscuous.label>
 | 
				
			||||||
 | 
					  <Sex_Promiscuous.description>문란한 성생활이 선호됩니다.</Sex_Promiscuous.description>
 | 
				
			||||||
 | 
					  <Incestuos_Free.label>자유</Incestuos_Free.label>
 | 
				
			||||||
 | 
					  <Incestuos_Free.description>근친상간이 허용됩니다.</Incestuos_Free.description>
 | 
				
			||||||
 | 
					  <Incestuos_Disapproved_CloseOnly.label>가까운 친척만 싫어함</Incestuos_Disapproved_CloseOnly.label>
 | 
				
			||||||
 | 
					  <Incestuos_Disapproved_CloseOnly.description>근친상간은 인정받지 못합니다. 사촌보다 먼 관계일경우 근친으로 인식하지 않습니다.</Incestuos_Disapproved_CloseOnly.description>
 | 
				
			||||||
 | 
					  <Incestuos_Disapproved.label>싫어함</Incestuos_Disapproved.label>
 | 
				
			||||||
 | 
					  <Incestuos_Disapproved.description>근친상간은 인정받지 못합니다.</Incestuos_Disapproved.description>
 | 
				
			||||||
 | 
					  <Incestuos_Forbidden.label>금지됨</Incestuos_Forbidden.label>
 | 
				
			||||||
 | 
					  <Incestuos_Forbidden.description>근친상간은 용납되지 않습니다.</Incestuos_Forbidden.description>
 | 
				
			||||||
 | 
					  <Incestuos_IncestOnly.label>근친만 가능</Incestuos_IncestOnly.label>
 | 
				
			||||||
 | 
					  <Incestuos_IncestOnly.description>순수혈통을 보존하기위해 근친상간만을 허용합니다.</Incestuos_IncestOnly.description>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <NumofEatenCum.label>정액을 먹은 횟수</NumofEatenCum.label>
 | 
				
			||||||
 | 
					  <NumofEatenCum.description>내가 정액을 삼킨 횟수.</NumofEatenCum.description>
 | 
				
			||||||
 | 
					  <Lust.label>음란함</Lust.label>
 | 
				
			||||||
 | 
					  <Lust.description>내가 음란한 정도.</Lust.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,46 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.stages.0.label>누군가를 강간함</Rape_Abhorrent.stages.0.label>
 | 
				
			||||||
 | 
					  <Rape_Abhorrent.stages.0.description>그랬으면 안됐는데.</Rape_Abhorrent.stages.0.description>
 | 
				
			||||||
 | 
					  <Rape_Know_Abhorrent.stages.0.label>누군가를 강간함</Rape_Know_Abhorrent.stages.0.label>
 | 
				
			||||||
 | 
					  <Rape_Horrible.stages.0.label>누군가를 강간함</Rape_Horrible.stages.0.label>
 | 
				
			||||||
 | 
					  <Rape_Horrible.stages.0.description>그랬으면 안됐는데.</Rape_Horrible.stages.0.description>
 | 
				
			||||||
 | 
					  <Rape_Know_Horrible.stages.0.label>누군가를 강간함</Rape_Know_Horrible.stages.0.label>
 | 
				
			||||||
 | 
					  <Rape_Disapproved.stages.0.label>누군가를 강간함</Rape_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Rape_Disapproved.stages.0.description>그랬으면 안됐는데.</Rape_Disapproved.stages.0.description>
 | 
				
			||||||
 | 
					  <Rape_Know_Disapproved.stages.0.label>누군가를 강간함</Rape_Know_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Rape_Know_Honorable.stages.0.label>누군가를 강간함</Rape_Know_Honorable.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Promiscuous.stages.0.label>문란한 섹스</Sex_Promiscuous.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Promiscuous.stages.0.description>배덕감에 흥분돼...</Sex_Promiscuous.stages.0.description>
 | 
				
			||||||
 | 
					  <Sex_NonPromiscuous.stages.0.label>평범한 섹스</Sex_NonPromiscuous.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_NonPromiscuous.stages.0.description>이걸론 만족할수 없어.</Sex_NonPromiscuous.stages.0.description>
 | 
				
			||||||
 | 
					  <Sex_Know_Promiscuous.stages.0.label>문란함</Sex_Know_Promiscuous.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_Promiscuous_Approval.stages.0.label>문란함</Sex_Know_Promiscuous_Approval.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_NonPromiscuous.stages.0.label>시시함</Sex_Know_NonPromiscuous.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Abhorrent.stages.0.label>수간</Bestiality_Abhorrent.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Abhorrent.stages.0.description>수간을 하다니... 죽고싶다...</Bestiality_Abhorrent.stages.0.description>
 | 
				
			||||||
 | 
					  <Bestiality_Know_Abhorrent.stages.0.label>수간</Bestiality_Know_Abhorrent.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Horrible.stages.0.label>수간</Bestiality_Horrible.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Horrible.stages.0.description>수간을 하다니... 나 스스로를 용서할수 없을것 같아.</Bestiality_Horrible.stages.0.description>
 | 
				
			||||||
 | 
					  <Bestiality_Know_Horrible.stages.0.label>수간</Bestiality_Know_Horrible.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Disapproved.stages.0.label>수간</Bestiality_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Disapproved.stages.0.description>수간을 하다니... 다시는 그러지 않을거야.</Bestiality_Disapproved.stages.0.description>
 | 
				
			||||||
 | 
					  <Bestiality_Know_Disapproved.stages.0.label>수간</Bestiality_Know_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Nonvenerated_Disapproved.stages.0.label>숭배받지 않는 동물과 교미</Bestiality_Nonvenerated_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Nonvenerated_Disapproved.stages.0.description>수간을 하다니... 다시는 그러지 않을거야.</Bestiality_Nonvenerated_Disapproved.stages.0.description>
 | 
				
			||||||
 | 
					  <Bestiality_Nonvenerated_Know_Disapproved.stages.0.label>숭배받지 않는 동물과 교미</Bestiality_Nonvenerated_Know_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Honorable.stages.0.label>수간</Bestiality_Honorable.stages.0.label>
 | 
				
			||||||
 | 
					  <Bestiality_Honorable.stages.0.description>동물과 교미했어.</Bestiality_Honorable.stages.0.description>
 | 
				
			||||||
 | 
					  <Bestiality_Know_Honorable.stages.0.label>수간</Bestiality_Know_Honorable.stages.0.label>
 | 
				
			||||||
 | 
					  <IncestuosMarriage_Forbidden.stages.0.label>사회적 규탄</IncestuosMarriage_Forbidden.stages.0.label>
 | 
				
			||||||
 | 
					  <IncestuosMarriage_Forbidden.stages.0.description>아무도 우리를 축복해주지 않아.</IncestuosMarriage_Forbidden.stages.0.description>
 | 
				
			||||||
 | 
					  <IncestuosMarriage_Disapproved.stages.0.label>가십거리가 됨</IncestuosMarriage_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <IncestuosMarriage_Disapproved.stages.0.description>남들이 우리의 뒷담을 하고있어.</IncestuosMarriage_Disapproved.stages.0.description>
 | 
				
			||||||
 | 
					  <Sex_Know_Incest_Disapproved.stages.0.label>근친</Sex_Know_Incest_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_Incest_Forbidden.stages.0.label>근친</Sex_Know_Incest_Forbidden.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_IncestMarriage_Disapproved.stages.0.label>근친</Sex_Know_IncestMarriage_Disapproved.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_IncestMarriage_Forbidden.stages.0.label>근친</Sex_Know_IncestMarriage_Forbidden.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_Incest_Violated.stages.0.label>혈족이 아닌사람과 성관계</Sex_Know_Incest_Violated.stages.0.label>
 | 
				
			||||||
 | 
					  <Sex_Know_IncestMarriage_Violated.stages.0.label>혈통을 더럽힘</Sex_Know_IncestMarriage_Violated.stages.0.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
							
								
								
									
										7
									
								
								Languages/Korean/Keyed/RJW_Sexperience.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <LustStatFactor>음란함: x{0}%</LustStatFactor>
 | 
				
			||||||
 | 
					  <SlaveStatFactor>노예: x{0}%</SlaveStatFactor>
 | 
				
			||||||
 | 
					  <SlaveStatFactorDefault>노예가 아님: x100%</SlaveStatFactorDefault>
 | 
				
			||||||
 | 
					  <MemeStatFactor>문화 요소: x{0}%</MemeStatFactor>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
							
								
								
									
										39
									
								
								Patches/RJW_StatDefs.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Patch>
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/StatDef[defName="SexAbility"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<skillNeedFactors>
 | 
				
			||||||
 | 
									<li Class="rjw_CORE_EXPOSED.SkillNeed_BaseBonus">
 | 
				
			||||||
 | 
										<skill>Sex</skill>
 | 
				
			||||||
 | 
										<baseValue>0.40</baseValue>
 | 
				
			||||||
 | 
										<bonusPerLevel>0.15</bonusPerLevel>
 | 
				
			||||||
 | 
									</li>
 | 
				
			||||||
 | 
								</skillNeedFactors>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/StatDef[defName="SexFrequency"]/parts</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<li Class="RJWSexperience.StatPart_Lust">
 | 
				
			||||||
 | 
									<factor>1.0</factor>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/StatDef[defName="Vulnerability"]/parts</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<li Class="RJWSexperience.StatPart_GenderPrimacy">
 | 
				
			||||||
 | 
									<modifier>0.5</modifier>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
								<li Class="RJWSexperience.StatPart_Slave">
 | 
				
			||||||
 | 
									<factor>3.0</factor>
 | 
				
			||||||
 | 
								</li>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Patch>
 | 
				
			||||||
							
								
								
									
										82
									
								
								Patches/RJW_ThoughtDefs.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,82 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Patch>
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="GotBredByAnimal"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
									<li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="GotAnalBredByAnimal"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
									<li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="AllowedAnimalToBreed"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
									<li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="GotLickedByAnimal"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
									<li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="GotGropedByAnimal"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
									<li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="AllowedAnimalToGrope"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Bestiality_OnlyVenerated</li>
 | 
				
			||||||
 | 
									<li>Bestiality_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="StoleSomeLovin"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Rape_Honorable</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<Operation Class="PatchOperationAdd">
 | 
				
			||||||
 | 
							<xpath>Defs/ThoughtDef[defName="Incestuous"]</xpath>
 | 
				
			||||||
 | 
							<value>
 | 
				
			||||||
 | 
								<nullifyingPrecepts>
 | 
				
			||||||
 | 
									<li>Incestuos_Free</li>
 | 
				
			||||||
 | 
									<li>Incestuos_IncestOnly</li>
 | 
				
			||||||
 | 
								</nullifyingPrecepts>
 | 
				
			||||||
 | 
							</value>
 | 
				
			||||||
 | 
						</Operation>
 | 
				
			||||||
 | 
					</Patch>
 | 
				
			||||||
							
								
								
									
										25
									
								
								RJWSexperience/RJWSexperience.sln
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Microsoft Visual Studio Solution File, Format Version 12.00
 | 
				
			||||||
 | 
					# Visual Studio Version 16
 | 
				
			||||||
 | 
					VisualStudioVersion = 16.0.31424.327
 | 
				
			||||||
 | 
					MinimumVisualStudioVersion = 10.0.40219.1
 | 
				
			||||||
 | 
					Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJWSexperience", "RJWSexperience\RJWSexperience.csproj", "{9C728E06-573B-4B04-A07F-ACBF60CB424D}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
 | 
					Global
 | 
				
			||||||
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
 | 
							Debug|Any CPU = Debug|Any CPU
 | 
				
			||||||
 | 
							Release|Any CPU = Release|Any CPU
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
				
			||||||
 | 
							{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
				
			||||||
 | 
							{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
				
			||||||
 | 
							{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
				
			||||||
 | 
							{9C728E06-573B-4B04-A07F-ACBF60CB424D}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ExtensibilityGlobals) = postSolution
 | 
				
			||||||
 | 
							SolutionGuid = {03C87A93-F76D-49B3-AE25-67E14F20EACD}
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
					EndGlobal
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,32 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class GoodwillSituationWorker_OneWayReceive : GoodwillSituationWorker_MemeCompatibility
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public override int GetNaturalGoodwillOffset(Faction other)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!Applies(other)) return 0;
 | 
				
			||||||
 | 
					            return def.naturalGoodwillOffset;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        protected bool Applies(Faction other)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo primaryideo = Faction.OfPlayer.ideos?.PrimaryIdeo;
 | 
				
			||||||
 | 
					            Ideo primaryideo2 = other.ideos?.PrimaryIdeo;
 | 
				
			||||||
 | 
					            if (primaryideo == null || primaryideo2 == null) return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return primaryideo.memes.Contains(def.meme) && !primaryideo2.memes.Contains(def.meme);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										22
									
								
								RJWSexperience/RJWSexperience/Harmony.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using System.Reflection;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using HarmonyLib;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [StaticConstructorOnStartup]
 | 
				
			||||||
 | 
					    internal static class First
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        static First()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var har = new Harmony("RJW_Sexperience");
 | 
				
			||||||
 | 
					            har.PatchAll(Assembly.GetExecutingAssembly());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										67
									
								
								RJWSexperience/RJWSexperience/JobGiver_Orgy.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,67 @@
 | 
				
			||||||
 | 
					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 RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						public class JobGiver_Orgy : ThinkNode_JobGiver
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							/// <summary> Checks all of our potential partners to see if anyone's eligible, returning the most attractive and convenient one. </summary>
 | 
				
			||||||
 | 
							protected override Job TryGiveJob(Pawn pawn)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (!RJWHookupSettings.HookupsEnabled || !RJWHookupSettings.QuickHookupsEnabled)
 | 
				
			||||||
 | 
									return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (pawn.Drafted)
 | 
				
			||||||
 | 
									return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (!SexUtility.ReadyForHookup(pawn))
 | 
				
			||||||
 | 
									return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// We increase the time right away to prevent the fairly expensive check from happening too frequently
 | 
				
			||||||
 | 
								SexUtility.IncreaseTicksToNextHookup(pawn);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// If the pawn is a whore, or recently had sex, skip the job unless they're really horny
 | 
				
			||||||
 | 
								if (!xxx.is_frustrated(pawn) && (xxx.is_whore(pawn) || !SexUtility.ReadyForLovin(pawn)))
 | 
				
			||||||
 | 
									return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// This check attempts to keep groups leaving the map, like guests or traders, from turning around to hook up
 | 
				
			||||||
 | 
								if (pawn.mindState?.duty?.def == DutyDefOf.TravelOrLeave)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									// TODO: Some guest pawns keep the TravelOrLeave duty the whole time, I think the ones assigned to guard the pack animals.
 | 
				
			||||||
 | 
									// That's probably ok, though it wasn't the intention.
 | 
				
			||||||
 | 
									if (RJWSettings.DebugLogJoinInBed) ModLog.Message($" Quickie.TryGiveJob:({xxx.get_pawnname(pawn)}): has TravelOrLeave, no time for lovin!");
 | 
				
			||||||
 | 
									return null;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (pawn.CurJob == null)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									//--Log.Message("   checking pawn and abilities");
 | 
				
			||||||
 | 
									if (CasualSex_Helper.CanHaveSex(pawn))
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										//--Log.Message("   finding partner");
 | 
				
			||||||
 | 
										Pawn partner = CasualSex_Helper.find_partner(pawn, pawn.Map, false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										//--Log.Message("   checking partner");
 | 
				
			||||||
 | 
										if (partner == null)
 | 
				
			||||||
 | 
											return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										// Interrupt current job.
 | 
				
			||||||
 | 
										if (pawn.CurJob != null && pawn.jobs.curDriver != null)
 | 
				
			||||||
 | 
											pawn.jobs.curDriver.EndJobWith(JobCondition.InterruptForced);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										//--Log.Message("   returning job");
 | 
				
			||||||
 | 
										return JobMaker.MakeJob(xxx.quick_sex, partner);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										21
									
								
								RJWSexperience/RJWSexperience/Keyed.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -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 RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public static class Keyed
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static string LustStatFactor(float value) => "LustStatFactor".Translate(value);
 | 
				
			||||||
 | 
					        public static string SlaveStatFactor(float value) => "SlaveStatFactor".Translate(value);
 | 
				
			||||||
 | 
					        public static string MemeStatFactor(float value) => "MemeStatFactor".Translate(value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static readonly string SlaveStatFactorDefault = "SlaveStatFactorDefault".Translate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,90 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						public static class HistoryEventArgsNamesCustom
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							public const string Tag = "TAG";
 | 
				
			||||||
 | 
							public const string Partner = "PARTNER";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static class HETag
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
							public const string Incestous = "[Incestuos]";
 | 
				
			||||||
 | 
							public const string Raped = "[Raped]";
 | 
				
			||||||
 | 
							public const string Rape = "[Rape]";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public class PreceptComp_SelfTookThoughtTagged : PreceptComp_SelfTookMemoryThought
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							public string tag;
 | 
				
			||||||
 | 
							public bool exclusive = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public PreceptComp_SelfTookThoughtTagged() { }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public override void Notify_MemberTookAction(HistoryEvent ev, Precept precept, bool canApplySelfTookThoughts)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (tag != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									if (ev.args.TryGetArg(HistoryEventArgsNamesCustom.Tag, out string tags))
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (tags.ToLower().Contains(tag.ToLower()) ^ exclusive) base.Notify_MemberTookAction(ev, precept, canApplySelfTookThoughts);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else if (exclusive)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										base.Notify_MemberTookAction(ev, precept, canApplySelfTookThoughts);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									base.Notify_MemberTookAction(ev, precept, canApplySelfTookThoughts);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public class PreceptComp_KnowsMemoryThoughtTagged : PreceptComp_KnowsMemoryThought
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
							public string tag;
 | 
				
			||||||
 | 
							public bool exclusive = false;
 | 
				
			||||||
 | 
							public bool applyonpartner = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public PreceptComp_KnowsMemoryThoughtTagged() { }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public override void Notify_MemberWitnessedAction(HistoryEvent ev, Precept precept, Pawn member)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
								if (!applyonpartner)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									if (ev.args.TryGetArg(HistoryEventArgsNamesCustom.Partner, out Pawn pawn))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
										if (pawn == member) return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
								if (tag != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									if (ev.args.TryGetArg(HistoryEventArgsNamesCustom.Tag, out string tags))
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (tags.ToLower().Contains(tag.ToLower()) ^ exclusive) base.Notify_MemberWitnessedAction(ev, precept, member);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else if (exclusive)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										base.Notify_MemberWitnessedAction(ev, precept, member);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									base.Notify_MemberWitnessedAction(ev, precept, member);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										36
									
								
								RJWSexperience/RJWSexperience/Properties/AssemblyInfo.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,36 @@
 | 
				
			||||||
 | 
					using System.Reflection;
 | 
				
			||||||
 | 
					using System.Runtime.CompilerServices;
 | 
				
			||||||
 | 
					using System.Runtime.InteropServices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
 | 
				
			||||||
 | 
					// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
 | 
				
			||||||
 | 
					// 이러한 특성 값을 변경하세요.
 | 
				
			||||||
 | 
					[assembly: AssemblyTitle("RJWSexperience")]
 | 
				
			||||||
 | 
					[assembly: AssemblyDescription("")]
 | 
				
			||||||
 | 
					[assembly: AssemblyConfiguration("")]
 | 
				
			||||||
 | 
					[assembly: AssemblyCompany("")]
 | 
				
			||||||
 | 
					[assembly: AssemblyProduct("RJWSexperience")]
 | 
				
			||||||
 | 
					[assembly: AssemblyCopyright("Copyright ©  2021")]
 | 
				
			||||||
 | 
					[assembly: AssemblyTrademark("")]
 | 
				
			||||||
 | 
					[assembly: AssemblyCulture("")]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
 | 
				
			||||||
 | 
					// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
 | 
				
			||||||
 | 
					// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
 | 
				
			||||||
 | 
					[assembly: ComVisible(false)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
 | 
				
			||||||
 | 
					[assembly: Guid("9c728e06-573b-4b04-a07f-acbf60cb424d")]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//      주 버전
 | 
				
			||||||
 | 
					//      부 버전 
 | 
				
			||||||
 | 
					//      빌드 번호
 | 
				
			||||||
 | 
					//      수정 버전
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
 | 
				
			||||||
 | 
					// 기본값으로 할 수 있습니다.
 | 
				
			||||||
 | 
					// [assembly: AssemblyVersion("1.0.*")]
 | 
				
			||||||
 | 
					[assembly: AssemblyVersion("1.0.0.0")]
 | 
				
			||||||
 | 
					[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
				
			||||||
							
								
								
									
										93
									
								
								RJWSexperience/RJWSexperience/RJWSexperience.csproj
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,93 @@
 | 
				
			||||||
 | 
					<?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>{9C728E06-573B-4B04-A07F-ACBF60CB424D}</ProjectGuid>
 | 
				
			||||||
 | 
					    <OutputType>Library</OutputType>
 | 
				
			||||||
 | 
					    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
				
			||||||
 | 
					    <RootNamespace>RJWSexperience</RootNamespace>
 | 
				
			||||||
 | 
					    <AssemblyName>RJWSexperience</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>..\..\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>..\..\Assemblies\</OutputPath>
 | 
				
			||||||
 | 
					    <DefineConstants>TRACE</DefineConstants>
 | 
				
			||||||
 | 
					    <ErrorReport>prompt</ErrorReport>
 | 
				
			||||||
 | 
					    <WarningLevel>4</WarningLevel>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Reference Include="0Harmony">
 | 
				
			||||||
 | 
					      <HintPath>D:\잉어\Lib\Harmony.2.0.4.0\net472\0Harmony.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					    <Reference Include="Assembly-CSharp">
 | 
				
			||||||
 | 
					      <HintPath>..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					    <Reference Include="RJW">
 | 
				
			||||||
 | 
					      <HintPath>..\..\..\RJW\1.3\Assemblies\RJW.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					    <Reference Include="System" />
 | 
				
			||||||
 | 
					    <Reference Include="System.Core" />
 | 
				
			||||||
 | 
					    <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>
 | 
				
			||||||
 | 
					    <Reference Include="UnityEngine.IMGUIModule">
 | 
				
			||||||
 | 
					      <HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					    <Reference Include="UnityEngine.UI">
 | 
				
			||||||
 | 
					      <HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UI.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					    <Reference Include="UnityEngine.UIElementsModule">
 | 
				
			||||||
 | 
					      <HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UIElementsModule.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					    <Reference Include="UnityEngine.UIModule">
 | 
				
			||||||
 | 
					      <HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.UIModule.dll</HintPath>
 | 
				
			||||||
 | 
					      <Private>False</Private>
 | 
				
			||||||
 | 
					    </Reference>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Compile Include="GoodwillSituationWorker_MemeCompatibility.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Harmony.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Keyed.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="PreceptComp_SelftTookThoughtExtended.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Rimworld_Patch.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="RJW_Patch.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="StatParts.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Thought_Recordbased.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Utility.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="VariousDefOf.cs" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										420
									
								
								RJWSexperience/RJWSexperience/RJW_Patch.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,420 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using HarmonyLib;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public static class RJWUtility
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static float GetSexStat(this Pawn pawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (xxx.is_human(pawn))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return pawn.GetStatValue(xxx.sex_stat);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else return 1.0f;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static HistoryEvent TaggedEvent(this HistoryEventDef def ,Pawn pawn, string tag, Pawn partner)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer), tag.Named(HistoryEventArgsNamesCustom.Tag), partner.Named(HistoryEventArgsNamesCustom.Partner));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(JobDriver_Sex), "Orgasm")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_Orgasm
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(JobDriver_Sex __instance)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (__instance.sexType != xxx.rjwSextype.Masturbation && !(__instance is JobDriver_Masturbate))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (__instance.isRape)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    __instance.pawn?.skills?.Learn(VariousDefOf.SexSkill, 0.05f, true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {   
 | 
				
			||||||
 | 
					                    __instance.pawn?.skills?.Learn(VariousDefOf.SexSkill, 0.35f, true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(WhoringHelper), "WhoreAbilityAdjustmentMin")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_WhoreAbilityAdjustmentMin
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn whore, ref float __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            __result *= whore.GetSexStat();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(WhoringHelper), "WhoreAbilityAdjustmentMax")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_WhoreAbilityAdjustmentMax
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn whore, ref float __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            __result *= whore.GetSexStat();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(SexUtility), "SatisfyPersonal")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_SatisfyPersonal_Pre
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Prefix(Pawn pawn, Pawn partner, xxx.rjwSextype sextype, bool violent, bool pawn_is_raping, ref float satisfaction)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            satisfaction *= partner.GetSexStat();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(SexUtility), "SatisfyPersonal")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_SatisfyPersonal_Post
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private const float base_sat_per_fuck = 0.3f;
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, Pawn partner, xxx.rjwSextype sextype, bool violent, bool pawn_is_raping, float satisfaction)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            float? lust = pawn.records?.GetValue(VariousDefOf.Lust);
 | 
				
			||||||
 | 
					            if (lust != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (sextype != xxx.rjwSextype.Masturbation) pawn.records.AddTo(VariousDefOf.Lust, satisfaction - base_sat_per_fuck); // If the sex is satisfactory, lust grows up. Declines at the opposite.
 | 
				
			||||||
 | 
					                else pawn.records.AddTo(VariousDefOf.Lust, satisfaction * satisfaction);                                             // Masturbation always increases lust.
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(ThinkNode_ChancePerHour_Bestiality), "MtbHours")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_ChancePerHour_Bestiality
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, ref float __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null) __result = BestialityByPrecept(ideo); // ideo is null if don't have dlc
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static float BestialityByPrecept(Ideo ideo)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (ideo.HasPrecept(VariousDefOf.Bestiality_Honorable)) return 0.3f;
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Bestiality_OnlyVenerated)) return 0.6f;
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Bestiality_Acceptable)) return 0.75f;
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Bestiality_Disapproved)) return 1.0f;
 | 
				
			||||||
 | 
					            else return 5f;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(ThinkNode_ChancePerHour_RapeCP), "MtbHours")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_ChancePerHour_RapeCP
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, ref float __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null) __result *= RapeByPrecept(ideo); // ideo is null if don't have dlc
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static float RapeByPrecept(Ideo ideo)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (ideo.HasPrecept(VariousDefOf.Rape_Honorable)) return 0.25f;
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Rape_Acceptable)) return 0.5f;
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Rape_Disapproved)) return 1.0f;
 | 
				
			||||||
 | 
					            else return 3f;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(xxx), "TransferNutrition")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_TransferNutrition
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, Pawn partner, xxx.rjwSextype sextype)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn receiver = null;
 | 
				
			||||||
 | 
					            if (Genital_Helper.has_penis_fertile(pawn)) receiver = partner;
 | 
				
			||||||
 | 
					            else if (Genital_Helper.has_penis_fertile(partner)) receiver = pawn;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					            if (receiver != null && (
 | 
				
			||||||
 | 
					                sextype == xxx.rjwSextype.Oral ||
 | 
				
			||||||
 | 
					                sextype == xxx.rjwSextype.Fellatio ||
 | 
				
			||||||
 | 
					                sextype == xxx.rjwSextype.Sixtynine))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                receiver.needs?.mood?.thoughts?.memories?.TryGainMemoryFast(VariousDefOf.AteCum); 
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(xxx), "is_rapist")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_is_rapist
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, ref bool __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                __result = __result || ideo.HasMeme(VariousDefOf.Rapist);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(xxx), "is_zoophile")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_is_zoophile
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, ref bool __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                __result = __result || ideo.HasMeme(VariousDefOf.Zoophile);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(SexUtility), "Aftersex", new Type[] {typeof(Pawn), typeof(Pawn), typeof(bool), typeof(bool), typeof(bool), typeof(xxx.rjwSextype) })]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_Aftersex
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, Pawn partner, bool usedCondom, bool rape, bool isCoreLovin, xxx.rjwSextype sextype)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            //Log.Message("Aftersex " + pawn.Label + ": " + sextype);
 | 
				
			||||||
 | 
					            if (xxx.is_human(pawn)) AfterSexHuman(pawn, partner, usedCondom, rape, isCoreLovin, sextype);
 | 
				
			||||||
 | 
					            else if (xxx.is_human(partner)) AfterSexHuman(partner, pawn, usedCondom, false, isCoreLovin, sextype, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        public static void AfterSexHuman(Pawn human, Pawn partner, bool usedCondom, bool rape, bool isCoreLovin, xxx.rjwSextype sextype, bool isHumanReceiving = false)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string tag = "";
 | 
				
			||||||
 | 
					            if (human.IsIncest(partner))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                tag += HETag.Incestous;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (partner.IsAnimal())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (isHumanReceiving && rape)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (human.IsSlave) RapeEffectSlave(human);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (human.Ideo?.IsVeneratedAnimal(partner) ?? false) Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithVeneratedAnimal.TaggedEvent(human, tag, partner));
 | 
				
			||||||
 | 
					                    else Find.HistoryEventsManager.RecordEvent(VariousDefOf.SexWithAnimal.TaggedEvent(human, tag, partner));
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (xxx.is_human(partner))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (rape)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (partner.IsSlave)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedSlave.TaggedEvent(human ,tag + HETag.Rape ,partner));
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedSlave.TaggedEvent(partner, tag + HETag.Raped, human));
 | 
				
			||||||
 | 
					                        RapeEffectSlave(partner);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else if (partner.IsPrisoner)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(VariousDefOf.RapedPrisoner.TaggedEvent(human, tag + HETag.Rape, partner));
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRapedPrisoner.TaggedEvent(partner, tag + HETag.Raped, human));
 | 
				
			||||||
 | 
					                        partner.guest.will = Math.Max(0, partner.guest.will - 0.2f);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(VariousDefOf.Raped.TaggedEvent(human, tag + HETag.Rape, partner));
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(VariousDefOf.WasRaped.TaggedEvent(partner, tag + HETag.Raped, human));
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    HistoryEventDef sexevent = GetSexHistoryDef(sextype);
 | 
				
			||||||
 | 
					                    if (sexevent != null)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(sexevent.TaggedEvent(human, tag, partner));
 | 
				
			||||||
 | 
					                        Find.HistoryEventsManager.RecordEvent(sexevent.TaggedEvent(partner, tag, human));
 | 
				
			||||||
 | 
					                        if (sexevent == VariousDefOf.PromiscuousSex)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            human.records.AddTo(VariousDefOf.Lust, 3.0f);
 | 
				
			||||||
 | 
					                            partner.records.AddTo(VariousDefOf.Lust, 3.0f);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static void RapeEffectSlave(Pawn victim)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Need_Suppression suppression = victim.needs.TryGetNeed<Need_Suppression>();
 | 
				
			||||||
 | 
					            if (suppression != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Hediff broken = victim.health.hediffSet.GetFirstHediffOfDef(xxx.feelingBroken);
 | 
				
			||||||
 | 
					                if (broken != null) suppression.CurLevel += 0.3f * broken.Severity + 0.05f;
 | 
				
			||||||
 | 
					                else suppression.CurLevel += 0.05f;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// only for non-violate human sex
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="pawn"></param>
 | 
				
			||||||
 | 
					        /// <param name="partner"></param>
 | 
				
			||||||
 | 
					        /// <param name="sextype"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        public static HistoryEventDef GetSexHistoryDef(xxx.rjwSextype sextype)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            switch (sextype)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.None:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.MechImplant:
 | 
				
			||||||
 | 
					                default:
 | 
				
			||||||
 | 
					                    return null;
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Vaginal:
 | 
				
			||||||
 | 
					                    return VariousDefOf.VaginalSex;
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Anal:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Rimming:
 | 
				
			||||||
 | 
					                    return VariousDefOf.AnalSex;
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Oral:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Fellatio:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Cunnilingus:
 | 
				
			||||||
 | 
					                    return VariousDefOf.OralSex;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Masturbation:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Boobjob:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Handjob:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Footjob:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Fingering:
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.MutualMasturbation:
 | 
				
			||||||
 | 
					                    return VariousDefOf.MiscSex;
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.DoublePenetration  :
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Scissoring         :
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Fisting            :
 | 
				
			||||||
 | 
					                case xxx.rjwSextype.Sixtynine          :
 | 
				
			||||||
 | 
					                    return VariousDefOf.PromiscuousSex;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// Set prefer sextype using precepts
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(SexUtility), "DetermineSexScores")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_DetermineSexScores
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, Pawn partner, bool rape, bool whoring, Pawn receiving, List<float> __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null) PreceptSextype(ideo, pawn.GetStatValue(xxx.sex_drive_stat), __result, 0);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            ideo = partner.Ideo;
 | 
				
			||||||
 | 
					            if (!rape && ideo != null) PreceptSextype(ideo, pawn.GetStatValue(xxx.sex_drive_stat), __result, 1);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static void PreceptSextype(Ideo ideo, float sexdrive,  List<float> result, int offset)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            float mult = 8.0f * Math.Max(0.3f, 1 / Math.Max(0.01f, sexdrive));
 | 
				
			||||||
 | 
					            if (ideo.HasPrecept(VariousDefOf.Sex_VaginalOnly))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                result[0 + offset] *= mult;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Sex_AnalOnly))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                result[2 + offset] *= mult;
 | 
				
			||||||
 | 
					                result[6 + offset] *= mult;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Sex_OralOnly))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                result[4 + offset] *= mult;
 | 
				
			||||||
 | 
					                result[8 + offset] *= mult;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (ideo.HasPrecept(VariousDefOf.Sex_Promiscuous))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                result[10 + offset] *= mult;
 | 
				
			||||||
 | 
					                result[20 + offset] *= mult;
 | 
				
			||||||
 | 
					                result[24 + offset] *= mult;
 | 
				
			||||||
 | 
					                result[26 + offset] *= mult;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(Nymph_Generator), "set_skills")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_Nymph_set_skills
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            SkillRecord sexskill = pawn.skills.GetSkill(VariousDefOf.SexSkill);
 | 
				
			||||||
 | 
					            if (sexskill != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                sexskill.passion = Passion.Major;
 | 
				
			||||||
 | 
					                sexskill.Level = (int)Utility.RandGaussianLike(7f, 20.99f);
 | 
				
			||||||
 | 
					                sexskill.xpSinceLastLevel = sexskill.XpRequiredForLevelUp * Rand.Range(0.10f, 0.90f);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(SexAppraiser), "would_fuck", new Type[] {typeof(Pawn), typeof(Pawn), typeof(bool), typeof(bool), typeof(bool) })]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_would_fuck
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn fucker, Pawn fucked, bool invert_opinion, bool ignore_bleeding, bool ignore_gender, ref float __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = fucker.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (fucker.IsIncest(fucked))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (ideo.HasPrecept(VariousDefOf.Incestuos_IncestOnly)) __result *= 2.0f;
 | 
				
			||||||
 | 
					                    else if (!fucker.relations?.DirectRelationExists(PawnRelationDefOf.Spouse, fucked) ?? false)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (ideo.HasPrecept(VariousDefOf.Incestuos_Disapproved)) __result *= 0.5f;
 | 
				
			||||||
 | 
					                        else if (ideo.HasPrecept(VariousDefOf.Incestuos_Forbidden)) __result *= 0.1f;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (fucked.IsAnimal())
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (ideo.HasPrecept(VariousDefOf.Bestiality_Honorable)) __result *= 2.0f;
 | 
				
			||||||
 | 
					                    else if (ideo.HasPrecept(VariousDefOf.Bestiality_OnlyVenerated) && ideo.IsVeneratedAnimal(fucked)) __result *= 2.0f;
 | 
				
			||||||
 | 
					                    else if (ideo.HasPrecept(VariousDefOf.Bestiality_Acceptable)) __result *= 1.0f;
 | 
				
			||||||
 | 
					                    else __result *= 0.5f;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(PawnDesignations_Breedee), "UpdateCanDesignateBreeding")]
 | 
				
			||||||
 | 
					    public static class RJW_Patch_UpdateCanDesignateBreeding
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn pawn, ref bool __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null && ideo.HasMeme(VariousDefOf.Zoophile))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SaveStorage.DataStore.GetPawnData(pawn).CanDesignateBreeding = true;
 | 
				
			||||||
 | 
					                __result = true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										105
									
								
								RJWSexperience/RJWSexperience/Rimworld_Patch.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,105 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using HarmonyLib;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(MarriageCeremonyUtility), "Married")]
 | 
				
			||||||
 | 
					    public static class Rimworld_Patch_Marriage
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn firstPawn, Pawn secondPawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (firstPawn.IsIncest(secondPawn))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Find.HistoryEventsManager.RecordEvent(new HistoryEvent(VariousDefOf.Incestuos_Marriage, firstPawn.Named(HistoryEventArgsNames.Doer)));
 | 
				
			||||||
 | 
					                Find.HistoryEventsManager.RecordEvent(new HistoryEvent(VariousDefOf.Incestuos_Marriage, secondPawn.Named(HistoryEventArgsNames.Doer)));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(Pawn_RelationsTracker), "SecondaryRomanceChanceFactor")]
 | 
				
			||||||
 | 
					    public static class Rimworld_Patch_SecondaryRomanceChanceFactor
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(Pawn otherPawn, Pawn ___pawn, ref float __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Ideo ideo = ___pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (ideo.HasPrecept(VariousDefOf.Incestuos_IncestOnly) && ___pawn.IsIncest(otherPawn))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    __result *= 8f;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [HarmonyPatch(typeof(PawnGenerator), "GeneratePawn", new Type[] { typeof(PawnGenerationRequest) })]
 | 
				
			||||||
 | 
					    public static class Rimworld_Patch_GeneratePawn
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Postfix(PawnGenerationRequest request, ref Pawn __result)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (__result != null && !request.Newborn && xxx.is_human(__result))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                float avgsex = -500;
 | 
				
			||||||
 | 
					                float lust = __result.RecordRandomizer(VariousDefOf.Lust, 0, 500, float.MinValue);
 | 
				
			||||||
 | 
					                float sexableage = 0;
 | 
				
			||||||
 | 
					                if (__result.ageTracker.AgeBiologicalYears > RJWSettings.sex_minimum_age)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    sexableage = __result.ageTracker.AgeBiologicalYearsFloat - RJWSettings.sex_minimum_age;
 | 
				
			||||||
 | 
					                    avgsex = sexableage * Rand.Range(0,30) + lust;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                float totalsex = 0;
 | 
				
			||||||
 | 
					                float totalbirth = 0;
 | 
				
			||||||
 | 
					                if (__result.story != null)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    if (xxx.is_rapist(__result))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (xxx.is_zoophile(__result))
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            if (__result.Has(Quirk.ChitinLover)) totalsex += __result.RecordRandomizer(xxx.CountOfRapedInsects, avgsex, 90);
 | 
				
			||||||
 | 
					                            else totalsex += __result.RecordRandomizer(xxx.CountOfRapedAnimals, avgsex, 90);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        else totalsex += __result.RecordRandomizer(xxx.CountOfRapedHumanlikes, avgsex, 90);
 | 
				
			||||||
 | 
					                        avgsex /= 2;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    if (xxx.is_zoophile(__result))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (__result.Has(Quirk.ChitinLover)) totalsex += __result.RecordRandomizer(xxx.CountOfRapedInsects, avgsex, 90);
 | 
				
			||||||
 | 
					                        else totalsex += __result.RecordRandomizer(xxx.CountOfSexWithAnimals, avgsex, 90);
 | 
				
			||||||
 | 
					                        avgsex /= 2;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else if (xxx.is_necrophiliac(__result))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        totalsex += __result.RecordRandomizer(xxx.CountOfSexWithCorpse, avgsex, 90);
 | 
				
			||||||
 | 
					                        avgsex /= 2;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    if (__result.IsSlave)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        totalsex += __result.RecordRandomizer(xxx.CountOfBeenRapedByHumanlikes, 0, Rand.Range(0,100)*sexableage);
 | 
				
			||||||
 | 
					                        totalsex += __result.RecordRandomizer(xxx.CountOfBeenRapedByAnimals, Rand.Range(-50,10), Rand.Range(0,10)*sexableage);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    totalsex += __result.RecordRandomizer(xxx.CountOfSexWithHumanlikes, avgsex, 90);
 | 
				
			||||||
 | 
					                    if (__result.relations != null)
 | 
				
			||||||
 | 
					                    if (__result.relations != null && __result.gender == Gender.Female)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        totalbirth += __result.relations.GetDirectRelationsCount(PawnRelationDefOf.Child);
 | 
				
			||||||
 | 
					                        __result.records?.SetTo(xxx.CountOfBirthHuman, totalbirth);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                __result.records?.SetTo(xxx.CountOfSex, totalsex);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										120
									
								
								RJWSexperience/RJWSexperience/StatParts.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,120 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class StatPart_Lust : StatPart
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public float factor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override string ExplanationPart(StatRequest req)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn pawn = req.Thing as Pawn;
 | 
				
			||||||
 | 
					            return Keyed.LustStatFactor(LustFactor(pawn) * factor * 100);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void TransformValue(StatRequest req, ref float val)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn pawn = req.Thing as Pawn;
 | 
				
			||||||
 | 
					            if (pawn != null) val *= LustFactor(pawn) * factor;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        protected float LustFactor(Pawn pawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return 1 + pawn.records.GetValue(VariousDefOf.Lust) / 100;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class StatPart_GenderPrimacy : StatPart
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public float modifier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override string ExplanationPart(StatRequest req)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn pawn = req.Thing as Pawn;
 | 
				
			||||||
 | 
					            Ideo ideo = null;
 | 
				
			||||||
 | 
					            if (pawn != null) ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            float fact = 1f;
 | 
				
			||||||
 | 
					            if (ideo != null && !ideo.memes.NullOrEmpty()) for (int i = 0; i < ideo.memes.Count; i++)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (ideo.memes[i] == MemeDefOf.MaleSupremacy)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (pawn.gender == Gender.Male) fact = modifier;
 | 
				
			||||||
 | 
					                        else if (pawn.gender == Gender.Female) fact = 1/modifier;
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else if (ideo.memes[i] == MemeDefOf.FemaleSupremacy)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (pawn.gender == Gender.Male) fact = 1/modifier;
 | 
				
			||||||
 | 
					                        else if (pawn.gender == Gender.Female) fact = modifier;
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            return Keyed.MemeStatFactor(fact * 100);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void TransformValue(StatRequest req, ref float val)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn pawn = req.Thing as Pawn;
 | 
				
			||||||
 | 
					            Ideo ideo = null;
 | 
				
			||||||
 | 
					            if (pawn != null) ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            if (ideo != null && !ideo.memes.NullOrEmpty()) for(int i=0; i< ideo.memes.Count; i++)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (ideo.memes[i] == MemeDefOf.MaleSupremacy)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (pawn.gender == Gender.Male) val *= modifier;
 | 
				
			||||||
 | 
					                        else if (pawn.gender == Gender.Female) val /= modifier;
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else if(ideo.memes[i] == MemeDefOf.FemaleSupremacy)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (pawn.gender == Gender.Male) val /= modifier;
 | 
				
			||||||
 | 
					                        else if (pawn.gender == Gender.Female) val *= modifier;
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class StatPart_Slave : StatPart
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public float factor;
 | 
				
			||||||
 | 
					        public override string ExplanationPart(StatRequest req)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            float fact = factor * 100;
 | 
				
			||||||
 | 
					            Pawn pawn = req.Thing as Pawn;
 | 
				
			||||||
 | 
					            if (pawn != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (pawn.IsSlave)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    return Keyed.SlaveStatFactor(fact);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return Keyed.SlaveStatFactorDefault;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void TransformValue(StatRequest req, ref float val)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn pawn = req.Thing as Pawn;
 | 
				
			||||||
 | 
					            if (pawn != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (pawn.IsSlave)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    val *= factor;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										152
									
								
								RJWSexperience/RJWSexperience/Thought_Recordbased.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,152 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// ThoughtDef using record
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    public class ThoughtDef_Recordbased : ThoughtDef
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public RecordDef recordDef;
 | 
				
			||||||
 | 
					        public List<float> minimumValueforStage = new List<float>();
 | 
				
			||||||
 | 
					        public float increment;
 | 
				
			||||||
 | 
					    } 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// Thought class using record.
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    public class Thought_Recordbased : Thought_Memory
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        protected ThoughtDef_Recordbased Def => (ThoughtDef_Recordbased)def;
 | 
				
			||||||
 | 
					        protected RecordDef recordDef => Def.recordDef;
 | 
				
			||||||
 | 
					        protected List<float> minimumValueforStage => Def.minimumValueforStage;
 | 
				
			||||||
 | 
					        protected float increment => Def.increment;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override int CurStageIndex
 | 
				
			||||||
 | 
					        {            
 | 
				
			||||||
 | 
					            get
 | 
				
			||||||
 | 
					            {                
 | 
				
			||||||
 | 
					                float value = pawn.records.GetValue(recordDef);
 | 
				
			||||||
 | 
					                for (int i = minimumValueforStage.Count - 1; i > 0; i--)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (minimumValueforStage[i] < value) return i + 1;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                return 0;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class Thought_AteCum : Thought_Recordbased
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        protected int recordIncrement = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void ExposeData()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.ExposeData();
 | 
				
			||||||
 | 
					            Scribe_Values.Look(ref recordIncrement, "recordIncrement", recordIncrement, true);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //There is no direct way to modify custom records via ingestion. So i increase it from thought.
 | 
				
			||||||
 | 
					        public override void ThoughtInterval()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.ThoughtInterval();
 | 
				
			||||||
 | 
					            if (recordIncrement >= 1)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                recordIncrement--;
 | 
				
			||||||
 | 
					                pawn.records.AddTo(VariousDefOf.NumofEatenCum, 1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override bool TryMergeWithExistingMemory(out bool showBubble)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ThoughtHandler thoughts = pawn.needs.mood.thoughts;
 | 
				
			||||||
 | 
					            if (thoughts.memories.NumMemoriesInGroup(this) >= def.stackLimit)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Thought_AteCum thought_Memory = (Thought_AteCum)thoughts.memories.OldestMemoryInGroup(this);
 | 
				
			||||||
 | 
					                if (thought_Memory != null)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    showBubble = (thought_Memory.age > thought_Memory.def.DurationTicks / 2);
 | 
				
			||||||
 | 
					                    thought_Memory.Merged();
 | 
				
			||||||
 | 
					                    return true;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            showBubble = true;
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void Init()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.Init();
 | 
				
			||||||
 | 
					            recordIncrement = 1;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        protected virtual void Merged()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            age = 0;
 | 
				
			||||||
 | 
					            recordIncrement += 1;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class Thought_IncreaseRecord : Thought_Recordbased
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        protected float recordIncrement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void ExposeData()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.ExposeData();
 | 
				
			||||||
 | 
					            Scribe_Values.Look(ref recordIncrement, "recordIncrement", recordIncrement, true);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void ThoughtInterval()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.ThoughtInterval();
 | 
				
			||||||
 | 
					            if (recordIncrement != 0)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                pawn.records.AddTo(recordDef, recordIncrement);
 | 
				
			||||||
 | 
					                recordIncrement = 0;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override bool TryMergeWithExistingMemory(out bool showBubble)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ThoughtHandler thoughts = pawn.needs.mood.thoughts;
 | 
				
			||||||
 | 
					            if (thoughts.memories.NumMemoriesInGroup(this) >= def.stackLimit)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Thought_IncreaseRecord thought_Memory = (Thought_IncreaseRecord)thoughts.memories.OldestMemoryInGroup(this);
 | 
				
			||||||
 | 
					                if (thought_Memory != null)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    showBubble = (thought_Memory.age > thought_Memory.def.DurationTicks / 2);
 | 
				
			||||||
 | 
					                    thought_Memory.Merged();
 | 
				
			||||||
 | 
					                    return true;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            showBubble = true;
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public override void Init()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            base.Init();
 | 
				
			||||||
 | 
					            recordIncrement = increment;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        protected virtual void Merged()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            age = 0;
 | 
				
			||||||
 | 
					            recordIncrement += increment;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										64
									
								
								RJWSexperience/RJWSexperience/Utility.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,64 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					using UnityEngine;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public static class Utility
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static System.Random random = new System.Random(Environment.TickCount);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static float RandGaussianLike(float min, float max, int iterations = 3)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            double res = 0;
 | 
				
			||||||
 | 
					            for (int i = 0; i < iterations; i++)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                res += random.NextDouble();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            res = res / iterations;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return (float)res * (max - min) + min;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static void SetTo(this Pawn_RecordsTracker records, RecordDef record ,float value)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            float recordval = records.GetValue(record);
 | 
				
			||||||
 | 
					            records.AddTo(record, value - recordval);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static bool IsIncest(this Pawn pawn, Pawn partner)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            IEnumerable<PawnRelationDef> relations = pawn.GetRelations(partner);
 | 
				
			||||||
 | 
					            Ideo ideo = pawn.Ideo;
 | 
				
			||||||
 | 
					            bool wide = false;
 | 
				
			||||||
 | 
					            if (ideo != null) wide = ideo.HasPrecept(VariousDefOf.Incestuos_Disapproved_CloseOnly);
 | 
				
			||||||
 | 
					            if (!relations.EnumerableNullOrEmpty()) foreach(PawnRelationDef relation in relations)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if(wide)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (relation.incestOpinionOffset < 0) return true;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (relation.familyByBloodRelation) return true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        public static float RecordRandomizer(this Pawn pawn, RecordDef record, float avg, float dist, float min = 0, float max = float.MaxValue)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            float value = Mathf.Clamp(RandGaussianLike(avg - dist,avg + dist),min,max);
 | 
				
			||||||
 | 
					            float recordvalue = pawn.records.GetValue(record);
 | 
				
			||||||
 | 
					            pawn.records.AddTo(record, value - recordvalue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return value;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										56
									
								
								RJWSexperience/RJWSexperience/VariousDefOf.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,56 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJWSexperience
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class VariousDefOf
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static readonly RecordDef NumofEatenCum = DefDatabase<RecordDef>.GetNamed("NumofEatenCum");
 | 
				
			||||||
 | 
					        public static readonly RecordDef Lust = DefDatabase<RecordDef>.GetNamed("Lust");
 | 
				
			||||||
 | 
					        public static readonly SkillDef SexSkill = DefDatabase<SkillDef>.GetNamed("Sex");
 | 
				
			||||||
 | 
					        public static readonly ThoughtDef_Recordbased AteCum = DefDatabase<ThoughtDef_Recordbased>.GetNamed("AteCum");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly MemeDef Zoophile = DefDatabase<MemeDef>.GetNamed("Zoophile");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly MemeDef Rapist = DefDatabase<MemeDef>.GetNamed("Rapist");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef SexWithAnimal = DefDatabase<HistoryEventDef>.GetNamed("SexWithAnimal");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef SexWithVeneratedAnimal = DefDatabase<HistoryEventDef>.GetNamed("SexWithVeneratedAnimal");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef Raped = DefDatabase<HistoryEventDef>.GetNamed("Raped");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef RapedSlave = DefDatabase<HistoryEventDef>.GetNamed("RapedSlave");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef RapedPrisoner = DefDatabase<HistoryEventDef>.GetNamed("RapedPrisoner");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef WasRaped = DefDatabase<HistoryEventDef>.GetNamed("WasRaped");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef WasRapedSlave = DefDatabase<HistoryEventDef>.GetNamed("WasRapedSlave");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef WasRapedPrisoner = DefDatabase<HistoryEventDef>.GetNamed("WasRapedPrisoner");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef VaginalSex = DefDatabase<HistoryEventDef>.GetNamed("VaginalSex");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef AnalSex = DefDatabase<HistoryEventDef>.GetNamed("AnalSex");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef OralSex = DefDatabase<HistoryEventDef>.GetNamed("OralSex");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef MiscSex = DefDatabase<HistoryEventDef>.GetNamed("MiscSex");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef PromiscuousSex = DefDatabase<HistoryEventDef>.GetNamed("PromiscuousSex");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly HistoryEventDef Incestuos_Marriage = DefDatabase<HistoryEventDef>.GetNamed("Incestuos_Marriage");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Bestiality_Abhorrent = DefDatabase<PreceptDef>.GetNamed("Bestiality_Abhorrent");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Bestiality_Horrible = DefDatabase<PreceptDef>.GetNamed("Bestiality_Horrible");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Bestiality_Disapproved = DefDatabase<PreceptDef>.GetNamed("Bestiality_Disapproved");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Bestiality_Acceptable = DefDatabase<PreceptDef>.GetNamed("Bestiality_Acceptable");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Bestiality_OnlyVenerated = DefDatabase<PreceptDef>.GetNamed("Bestiality_OnlyVenerated");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Bestiality_Honorable = DefDatabase<PreceptDef>.GetNamed("Bestiality_Honorable");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Rape_Abhorrent = DefDatabase<PreceptDef>.GetNamed("Rape_Abhorrent");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Rape_Horrible = DefDatabase<PreceptDef>.GetNamed("Rape_Horrible");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Rape_Disapproved = DefDatabase<PreceptDef>.GetNamed("Rape_Disapproved");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Rape_Acceptable = DefDatabase<PreceptDef>.GetNamed("Rape_Acceptable");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Rape_Honorable = DefDatabase<PreceptDef>.GetNamed("Rape_Honorable");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Sex_Free = DefDatabase<PreceptDef>.GetNamed("Sex_Free");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Sex_VaginalOnly = DefDatabase<PreceptDef>.GetNamed("Sex_VaginalOnly");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Sex_AnalOnly = DefDatabase<PreceptDef>.GetNamed("Sex_AnalOnly");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Sex_OralOnly = DefDatabase<PreceptDef>.GetNamed("Sex_OralOnly");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Sex_Promiscuous = DefDatabase<PreceptDef>.GetNamed("Sex_Promiscuous");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Incestuos_Free = DefDatabase<PreceptDef>.GetNamed("Incestuos_Free");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Incestuos_Disapproved = DefDatabase<PreceptDef>.GetNamed("Incestuos_Disapproved");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Incestuos_Forbidden = DefDatabase<PreceptDef>.GetNamed("Incestuos_Forbidden");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Incestuos_IncestOnly = DefDatabase<PreceptDef>.GetNamed("Incestuos_IncestOnly");
 | 
				
			||||||
 | 
					        [MayRequireIdeology] public static readonly PreceptDef Incestuos_Disapproved_CloseOnly = DefDatabase<PreceptDef>.GetNamed("Incestuos_Disapproved_CloseOnly");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								Textures/Things/Item/GatheredCum/GatheredCum_a.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Things/Item/GatheredCum/GatheredCum_b.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Things/Item/GatheredCum/GatheredCum_c.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Things/Item/GatheredCum/GatheredCum_d.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/UI/Issues/Bestiality.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/UI/Issues/Birth.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 402 B  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/UI/Issues/Incest.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/UI/Issues/Rape.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 9.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/UI/Memes/Rape.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 9.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/UI/Memes/SexualDissolutely.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.6 KiB  | 
							
								
								
									
										21
									
								
								changelogs.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					Version Beta 1.0.1.5
 | 
				
			||||||
 | 
					 - changed icon for precepts and memes
 | 
				
			||||||
 | 
					 - added stat factors to precepts
 | 
				
			||||||
 | 
					 - added record randomizing on pawn generation
 | 
				
			||||||
 | 
					   - pawns will have different sex drive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version Beta 1.0.1.4
 | 
				
			||||||
 | 
					 - gender supremacy affects to pawn's vulnerability
 | 
				
			||||||
 | 
					 - nymps will get passion for sex skill always
 | 
				
			||||||
 | 
					 - raping prisoner reduces will
 | 
				
			||||||
 | 
					 - added incestous precepts
 | 
				
			||||||
 | 
					 - more detailed implementations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version Beta 1.0.1.3
 | 
				
			||||||
 | 
					 - added sextype precepts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version Beta 1.0.1.2
 | 
				
			||||||
 | 
					 - added precept interactions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version Beta 1.0.1.1
 | 
				
			||||||
 | 
					 - added ideologies
 | 
				
			||||||