Compare commits

...

13 commits

Author SHA1 Message Date
amevarashi
255a8c53af Merge branch dev 2024-06-20 18:30:38 +05:00
amevarashi
145cdfbe34 1.5.1.1 2024-06-20 18:27:21 +05:00
amevarashi
b5f37623b5 GetGenitalSize returns penis size for futa 2024-06-13 21:58:57 +05:00
amevarashi
40af29a193 Added url and fixed author name in About.xml 2024-06-13 21:57:18 +05:00
amevarashi
0a5a9769e7 CI: expose About.xml, change package name and version to project name and branch name respectively 2024-06-13 20:41:36 +05:00
amevarashi
ebb9708efe Updated contributing section of README.md 2024-06-13 20:37:53 +05:00
amevarashi
861c753e22 Implemented Sleipnir's fix for futa genital size !4 2024-06-11 22:09:25 +05:00
amevarashi
0459c722ea Move About.xml 2024-05-23 18:31:20 +05:00
amevarashi
1bbdc47180 1.5.1.0 2024-05-23 18:31:20 +05:00
amevarashi
d1603e0e4b Updated csproj and CI 2024-05-22 22:22:15 +05:00
amevarashi
a3055eb6ec Added different About.xml for the uncompiled mod 2024-05-03 20:15:20 +05:00
amevarashi
2f7a1c0883 initial 1.5 2024-04-29 21:02:37 +05:00
amevarashi
e19b6d8ff3 Fix 1.4 cproj 2024-03-24 14:48:16 +05:00
53 changed files with 6393 additions and 96 deletions

78
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,78 @@
# ### Specify the Docker image
image: mcr.microsoft.com/dotnet/sdk:8.0-alpine
# ### Define variables
variables:
# 1) Name of directory where restore and build objects are stored.
OBJECTS_DIRECTORY: 'IdeologyAddon/obj'
# 2) Name of directory used for keeping restored dependencies.
NUGET_PACKAGES_DIRECTORY: '.nuget'
# 3) A relative path to the source code from project repository root.
SOURCE_CODE_PATH: 'Source/'
# ### Define global cache rule
cache:
# Per-stage and per-branch caching.
key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"
paths:
# 1) Main JSON file holding information about package dependency tree, packages versions,
# frameworks etc. It also holds information where to the dependencies were restored.
- '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/project.assets.json'
# 2) Other NuGet and MSBuild related files. Also needed.
- '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/*.csproj.nuget.*'
# 3) Path to the directory where restored dependencies are kept.
- '$NUGET_PACKAGES_DIRECTORY'
policy: pull-push
# ### Restore project dependencies
#
# NuGet packages by default are restored to '.nuget/packages' directory
# in the user's home directory. That directory is out of scope of GitLab caching.
#
# To get around this, a custom path can be specified using the '--packages <PATH>' option
# for 'dotnet restore' command. In this example, a temporary directory is created
# in the root of project repository, so its content can be cached.
#
# Learn more about GitLab cache: https://docs.gitlab.com/ee/ci/caching/index.html
#before_script:
# - 'cd $SOURCE_CODE_PATH'
# - 'dotnet restore --packages ../$NUGET_PACKAGES_DIRECTORY'
build:
stage: build
rules:
- if: $CI_COMMIT_BRANCH != "master"
# ### Build all projects discovered from solution file.
script:
- 'cd $SOURCE_CODE_PATH'
- 'dotnet restore --packages ../$NUGET_PACKAGES_DIRECTORY'
- 'dotnet build -c Release --no-restore'
- 'cd $CI_PROJECT_DIR/About'
- 'mv -f RealAbout.xml About.xml'
artifacts:
untracked: false
when: on_success
expire_in: 1 day
paths:
- "*" # Include everything
exclude:
- ".*" # Exclude dot files
- ".*/**/*" # Exclude everything in the dot folders
- "Source/**/*" # Exclude everything in the Source folder
release_dev:
stage: deploy
rules:
- if: $CI_COMMIT_TAG
when: never # Do not run this job when a tag is created manually
- if: $CI_COMMIT_BRANCH == "dev" # Run this job when commits are pushed or merged to the dev branch
variables:
GIT_STRATEGY: none # Do not clone repo and skip 'before_script'
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_BRANCH}"
script:
- apk add zip
- zip -rq mod.zip ./
- echo "${PACKAGE_REGISTRY_URL}"
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file About/About.xml "${PACKAGE_REGISTRY_URL}/About.xml"'
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file mod.zip "${PACKAGE_REGISTRY_URL}/rjw_sexperience_ideology.zip"'

Binary file not shown.

View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<DutyDef>
<defName>Gangbang_Rape</defName>
<hook>HighPriority</hook>
<socialModeMax>Off</socialModeMax>
<thinkNode Class="ThinkNode_Priority">
<subNodes>
<li Class="ThinkNode_ConditionalInGatheringArea">
<subNodes>
<li Class="ThinkNode_ConditionalRandom">
<chance>0.25</chance>
<subNodes>
<li Class="RJWSexperience.Ideology.JobGiver_GangbangVictim"/>
</subNodes>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderInGatheringArea">
<locomotionUrgency>Jog</locomotionUrgency>
<ticksBetweenWandersRange>50~250</ticksBetweenWandersRange>
</li>
</subNodes>
</thinkNode>
</DutyDef>
<DutyDef>
<defName>Gangbang_Consensual</defName>
<hook>HighPriority</hook>
<socialModeMax>Off</socialModeMax>
<thinkNode Class="ThinkNode_Priority">
<subNodes>
<li Class="ThinkNode_ConditionalInGatheringArea">
<subNodes>
<li Class="ThinkNode_ConditionalRandom">
<chance>0.25</chance>
<subNodes>
<li Class="RJWSexperience.Ideology.JobGiver_GangbangConsensual"/>
</subNodes>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderInGatheringArea">
<locomotionUrgency>Jog</locomotionUrgency>
<ticksBetweenWandersRange>50~250</ticksBetweenWandersRange>
</li>
</subNodes>
</thinkNode>
</DutyDef>
<DutyDef>
<defName>FuckVictim</defName>
<hook>HighPriority</hook>
<socialModeMax>Off</socialModeMax>
<thinkNode Class="ThinkNode_Priority">
<subNodes>
<li Class="RJWSexperience.Ideology.JobGiver_GangbangVictim"/>
</subNodes>
</thinkNode>
</DutyDef>
<DutyDef>
<defName>DrugOrgy</defName>
<hook>HighPriority</hook>
<socialModeMax>Off</socialModeMax>
<thinkNode Class="ThinkNode_Priority">
<subNodes>
<li Class="ThinkNode_ConditionalInGatheringArea">
<subNodes>
<li Class="ThinkNode_ConditionalRandom">
<chance>0.15</chance>
<subNodes>
<li Class="RJWSexperience.Ideology.JobGiver_DrugOrgy"/>
</subNodes>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderInGatheringArea">
<locomotionUrgency>Jog</locomotionUrgency>
<ticksBetweenWandersRange>50~250</ticksBetweenWandersRange>
</li>
</subNodes>
</thinkNode>
</DutyDef>
</Defs>

View file

@ -0,0 +1,50 @@
<?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>
<GoodwillSituationDef>
<defName>Necrophile_Necrophile</defName>
<label>necrophile agreement</label>
<workerClass>GoodwillSituationWorker_MemeCompatibility</workerClass>
<meme>Necrophile</meme>
<otherMeme>Necrophile</otherMeme>
<naturalGoodwillOffset>30</naturalGoodwillOffset>
</GoodwillSituationDef>
<!-- Disagreement -->
<GoodwillSituationDef>
<defName>Zoophile_All</defName>
<label>zoophile</label>
<workerClass>RJWSexperience.Ideology.GoodwillSituationWorker_OneWayReceive</workerClass>
<meme>Zoophile</meme>
<versusAll>true</versusAll>
<naturalGoodwillOffset>-50</naturalGoodwillOffset>
</GoodwillSituationDef>
<GoodwillSituationDef>
<defName>Rapist_All</defName>
<label>rapist</label>
<workerClass>RJWSexperience.Ideology.GoodwillSituationWorker_OneWayReceive</workerClass>
<meme>Rapist</meme>
<versusAll>true</versusAll>
<naturalGoodwillOffset>-20</naturalGoodwillOffset>
</GoodwillSituationDef>
<GoodwillSituationDef>
<defName>Necrophile_All</defName>
<label>necrophile</label>
<workerClass>RJWSexperience.Ideology.GoodwillSituationWorker_OneWayReceive</workerClass>
<meme>Necrophile</meme>
<versusAll>true</versusAll>
<naturalGoodwillOffset>-50</naturalGoodwillOffset>
</GoodwillSituationDef>
</Defs>

View file

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<InteractionDef>
<defName>Speech_Gangbang</defName>
<label>gangbang speech</label>
<workerClass>InteractionWorker</workerClass>
<ignoreTimeSinceLastInteraction>True</ignoreTimeSinceLastInteraction>
<symbol>Things/Mote/SpeechSymbols/Speech</symbol>
<logRulesInitiator>
<include><li>SpeechUtility</li></include>
<rulesStrings>
<li>r_logentry->[INITIATOR_nameDef] [spokeof] [speechtopic].</li>
<li>r_logentry(p=0.2)->[INITIATOR_nameDef] [crazy].</li>
<li>speechtopic->the meaning and true value of rape</li>
<li>speechtopic->expressions of rape</li>
<li>speechtopic->controlled lustful</li>
<li>speechtopic->the warmth of pussy</li>
<li>speechtopic->the meaning of cum</li>
<li>speechtopic->love and rape</li>
<li>speechtopic->symbolizing rape</li>
<li>speechtopic->dick and pussy</li>
<li>speechtopic->the art of rape</li>
<li>speechtopic->the seduction of victim</li>
<li>speechtopic->the music of screams</li>
<li>speechtopic->cums on the floor</li>
<li>crazy->screamed maniacally</li>
<li>crazy->broke into a chant</li>
<li>crazy->chanted towards the heavens</li>
<li>crazy->spat in the sacrifice's genital</li>
<li>crazy->cackled</li>
<li>crazy->brandished a condom</li>
<li>crazy->muttered repetitively while masturbating</li>
</rulesStrings>
</logRulesInitiator>
</InteractionDef>
<InteractionDef>
<defName>Speech_Zoophile</defName>
<label>zoophile speech</label>
<workerClass>InteractionWorker</workerClass>
<ignoreTimeSinceLastInteraction>True</ignoreTimeSinceLastInteraction>
<symbol>Things/Mote/SpeechSymbols/Speech</symbol>
<logRulesInitiator>
<include><li>SpeechUtility</li></include>
<rulesStrings>
<li>r_logentry->[INITIATOR_nameDef] [spokeof] [speechtopic].</li>
<li>speechtopic->the meaning and true value of bestiality</li>
<li>speechtopic->expressions of bestiality</li>
<li>speechtopic->controlled lustful</li>
<li>speechtopic->the warmth of cum</li>
<li>speechtopic->the meaning of interspecies breeding</li>
<li>speechtopic->animal and love</li>
<li>speechtopic->symbolizing bestiality</li>
<li>speechtopic->breed and birth</li>
<li>speechtopic->the art of breeding</li>
<li>speechtopic->the seduction of animals</li>
<li>speechtopic->cums on the floor</li>
</rulesStrings>
</logRulesInitiator>
</InteractionDef>
<InteractionDef>
<defName>Speech_Lewd</defName>
<label>lewd speech</label>
<workerClass>InteractionWorker</workerClass>
<ignoreTimeSinceLastInteraction>True</ignoreTimeSinceLastInteraction>
<symbol>Things/Mote/SpeechSymbols/Speech</symbol>
<logRulesInitiator>
<include><li>SpeechUtility</li></include>
<rulesStrings>
<li>r_logentry->[INITIATOR_nameDef] [spokeof] [speechtopic].</li>
<li>r_logentry(p=0.2)->[INITIATOR_nameDef] [crazy].</li>
<li>speechtopic->the meaning and true value of sex</li>
<li>speechtopic->expressions of sex</li>
<li>speechtopic->uncontrolled lustful</li>
<li>speechtopic->the warmth of pussy</li>
<li>speechtopic->the meaning of cum</li>
<li>speechtopic->love and incest</li>
<li>speechtopic->symbolizing rape</li>
<li>speechtopic->dick and pussy</li>
<li>speechtopic->the art of sex</li>
<li>speechtopic->the seduction of [spokeof]</li>
<li>speechtopic->the music of moan</li>
<li>speechtopic->cums on the floor</li>
<li>crazy->moaned maniacally</li>
<li>crazy->threw a dildo</li>
<li>crazy->threw an onahole</li>
<li>crazy->chanted towards the heavens</li>
<li>crazy->moaned</li>
<li>crazy->brandished a dildo</li>
<li>crazy->muttered repetitively while masturbating</li>
</rulesStrings>
</logRulesInitiator>
</InteractionDef>
</Defs>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef>
<defName>RapeVictim</defName>
<driverClass>RJWSexperience.Ideology.JobDriver_RapeVictim</driverClass>
<reportString>rapin' victim</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
<JobDef>
<defName>DrugSex</defName>
<driverClass>RJWSexperience.Ideology.JobDriver_SexDrugOrgy</driverClass>
<reportString>lovin'.</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
<JobDef>
<defName>GettinDrugSex</defName>
<driverClass>RJWSexperience.Ideology.JobDriver_DrugSexReceiver</driverClass>
<reportString>lovin'.</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
<JobDef>
<defName>DrugMasturbate</defName>
<driverClass>RJWSexperience.Ideology.JobDriver_DrugMasturabate</driverClass>
<reportString>masturbatin'.</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
<JobDef>
<defName>Gangbang</defName>
<driverClass>RJWSexperience.Ideology.JobDriver_Gangbang</driverClass>
<reportString>lovin'.</reportString>
<casualInterruptible>false</casualInterruptible>
</JobDef>
<JobDef>
<defName>GettinGangbang</defName>
<driverClass>RJWSexperience.Ideology.JobDriver_GangbangReceiver</driverClass>
<reportString>gettin' gangbanged.</reportString>
<checkOverrideOnDamage>Never</checkOverrideOnDamage>
<casualInterruptible>false</casualInterruptible>
</JobDef>
</Defs>

View file

@ -0,0 +1,246 @@
<?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_BondOnly</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>r_deityName->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>
<MemeDef ParentName="SexualDissoulutelyBase">
<defName>Lewd</defName>
<label>lewd</label>
<description>Perverts.</description>
<iconPath>UI/Memes/SexualDissolutely</iconPath>
<impact>3</impact>
<consumableBuildings>
<li>Burnbong_Aphrodisiac</li>
</consumableBuildings>
<requireOne>
<li>
<li>Lovin_FreeApproved</li>
</li>
<li>
<li>Incestuos_Free</li>
</li>
<li>
<li>Sex_Free</li>
<li>Sex_Promiscuous</li>
</li>
</requireOne>
<requiredRituals>
<li>
<precept>DateRitualConsumable</precept>
<pattern>DrugOrgy</pattern>
<building>Burnbong_Aphrodisiac</building>
</li>
</requiredRituals>
<generalRules>
<rulesStrings>
<li>memeAdjective->horny</li>
<li>memeAdjective->lewd</li>
<li>memeAdjective->arousing</li>
<li>memeAdjective->sexy</li>
<li>memeAdjective->estrous</li>
<li>memeAdjective->decadent</li>
<li>memeHyphenPrefix->estro</li>
<li>memeHyphenPrefix->lust</li>
<li>memeConcept->lust</li>
<li>memeConcept->libido</li>
<li>memeConcept->estrus</li>
<li>memeConcept->arousal</li>
<li>memeConcept->desire</li>
<li>memeConcept->sex</li>
<li>memeConcept->perversion</li>
<li>r_deityName->slaanesh</li>
</rulesStrings>
</generalRules>
<symbolPacks>
<li>
<ideoName>Cult of Slaanesh</ideoName>
<theme>pleasure</theme>
<adjective>decadent</adjective>
<member>heretic</member>
</li>
</symbolPacks>
<addDesignators>
<li>Autobong_Aphrodisiac</li>
</addDesignators>
<agreeableTraits>
<li>Nymphomaniac</li>
</agreeableTraits>
</MemeDef>
<MemeDef ParentName="SexualDissoulutelyBase">
<defName>Necrophile</defName>
<label>necrophile</label>
<description>Corpse fuckers.</description>
<iconPath>UI/Memes/Necrophile</iconPath>
<impact>2</impact>
<requireOne>
<li>
<li>Necrophilia_Acceptable</li>
<li>Necrophilia_Approved</li>
</li>
<li>
<li>Corpses_DontCare</li>
</li>
</requireOne>
<generalRules>
<rulesStrings>
<li>r_deityName->sonic</li>
<li>r_deityName->mega man</li>
<li>memeConcept->corpse</li>
<li>memeConcept->dead</li>
</rulesStrings>
</generalRules>
<agreeableTraits>
<li>Necrophiliac</li>
</agreeableTraits>
</MemeDef>
</Defs>

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>BabyFaction</defName>
<label>baby faction</label>
<iconPath>UI/Issues/Birth</iconPath>
</IssueDef>
<!-- Precepts -->
<PreceptDef>
<defName>BabyFaction_AlwaysMother</defName>
<issue>BabyFaction</issue>
<label>always mother(default)</label>
<description>New born babies always follow mother's faction and ideology.</description>
<impact>Low</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>BabyFaction_AlwaysFather</defName>
<issue>BabyFaction</issue>
<label>always father</label>
<description>New born babies always follow father's faction and ideology(if exists).</description>
<impact>Low</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>BabyFaction_AlwaysColony</defName>
<issue>BabyFaction</issue>
<label>always colony</label>
<description>New born babies are always player's faction and ideology.</description>
<impact>Low</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
</Defs>

View file

@ -0,0 +1,744 @@
<?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>RSI_SexWithAnimal</defName>
<label>sex with animal</label>
<modExtensions>
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_SecondaryEvents">
<generationRules>
<li>
<filter>
<relations>
<isVeneratedAnimal>true</isVeneratedAnimal>
</relations>
</filter>
<historyEventDef>RSI_SexWithVeneratedAnimal</historyEventDef>
</li>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
<relations>
<isVeneratedAnimal>false</isVeneratedAnimal>
</relations>
</filter>
<historyEventDef>RSI_SexWithNonVeneratedAnimal</historyEventDef>
</li>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
<relations>
<hasOneOfRelations>
<li>Bond</li>
</hasOneOfRelations>
</relations>
</filter>
<historyEventDef>RSI_SexWithBondedAnimal</historyEventDef>
</li>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
<relations>
<hasNoneOfRelations>
<li>Bond</li>
</hasNoneOfRelations>
</relations>
</filter>
<historyEventDef>RSI_SexWithNonBondAnimal</historyEventDef>
</li>
</generationRules>
</li>
</modExtensions>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_SexWithVeneratedAnimal</defName>
<label>sex with venerated animal</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_SexWithNonVeneratedAnimal</defName>
<label>sex with non venerated animal</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_SexWithBondedAnimal</defName>
<label>Sex with bonded</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_SexWithNonBondAnimal</defName>
<label>Sex with non Bonded</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_UnwillingToDo">
<eventDef>RSI_SexWithAnimal</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Abhorrent</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Know_Abhorrent</thought>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Abhorrent</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Know_Abhorrent</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
</filter>
<multiplier>0.05</multiplier>
</li>
</rules>
</li>
</modExtensions>
</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>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Horrible</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Know_Horrible</thought>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Horrible</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Know_Horrible</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
</filter>
<multiplier>0.1</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyBestialityMtb">
<multiplier>5.0</multiplier>
</li>
</modExtensions>
</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>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Know_Disapproved</thought>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Know_Disapproved</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
</filter>
<multiplier>0.5</multiplier>
</li>
</rules>
</li>
</modExtensions>
</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>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyBestialityMtb">
<multiplier>0.75</multiplier>
</li>
</modExtensions>
</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>RSI_SexWithNonVeneratedAnimal</eventDef>
<thought>Bestiality_Nonvenerated_Disapproved</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithNonVeneratedAnimal</eventDef>
<thought>Bestiality_Nonvenerated_Know_Disapproved</thought>
<description>Someone sex with any animal</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Honorable</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Know_Honorable</thought>
<description>Someone sex with animal</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<relations>
<isVeneratedAnimal>true</isVeneratedAnimal>
</relations>
</filter>
<multiplier>2.0</multiplier>
</li>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
<relations>
<isVeneratedAnimal>false</isVeneratedAnimal>
</relations>
</filter>
<multiplier>0.05</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyBestialityMtb">
<multiplier>0.65</multiplier>
</li>
</modExtensions>
</PreceptDef>
<!-- Bond Only precept by Hawkeye32 -->
<PreceptDef>
<defName>Bestiality_BondOnly</defName>
<issue>Bestiality</issue>
<label>only bonded</label>
<description>Sex with Bonded 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>RSI_SexWithNonBondAnimal</eventDef>
<thought>Bestiality_NonBonded_Disapproved</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithNonBondAnimal</eventDef>
<thought>Bestiality_NonBonded_Know_Disapproved</thought>
<description>Someone sex with any animal</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithBondedAnimal</eventDef>
<thought>Bestiality_Bond_Approved</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithBondedAnimal</eventDef>
<thought>Bestiality_Bond_Approved_Know</thought>
<description>Someone sex with non bonded animal</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
<relations>
<hasOneOfRelations>
<li>Bond</li>
</hasOneOfRelations>
</relations>
</filter>
<multiplier>2.0</multiplier>
</li>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
<relations>
<hasNoneOfRelations>
<li>Bond</li>
</hasNoneOfRelations>
</relations>
</filter>
<multiplier>0.1</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyBestialityMtb">
<multiplier>0.5</multiplier>
</li>
</modExtensions>
</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>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Honorable</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithAnimal</eventDef>
<thought>Bestiality_Know_Honorable</thought>
<description>Someone sex with animal</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Honorable</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithVeneratedAnimal</eventDef>
<thought>Bestiality_Know_Honorable</thought>
<description>Someone sex with animal</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<partner>
<isAnimal>true</isAnimal>
</partner>
</filter>
<multiplier>2.0</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyBestialityMtb">
<multiplier>0.5</multiplier>
</li>
</modExtensions>
</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_BondOnly</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_BondOnly</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_BondOnly</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_BondOnly</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_BondOnly</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_BondOnly</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_NonBonded_Disapproved</defName>
<durationDays>6</durationDays>
<stackLimit>1</stackLimit>
<nullifyingPrecepts>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</li>
<li>Bestiality_OnlyVenerated</li>
</nullifyingPrecepts>
<stages>
<li>
<label>sex with non-bonded animal</label>
<description>I had sex with a non bonded animal. How could I?</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Bestiality_Bond_Approved</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 bonded animal</label>
<description>I went wild with my bonded animal!</description>
<baseMoodEffect>8</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Bestiality_Bond_Approved_Know</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>15</durationDays>
<stackLimit>2</stackLimit>
<nullifyingPrecepts>
<li>Bestiality_Abhorrent</li>
<li>Bestiality_Horrible</li>
<li>Bestiality_Disapproved</li>
</nullifyingPrecepts>
<stages>
<li>
<label>sex with bonded animal</label>
<description>Shares a special bond.</description>
<baseOpinionOffset>5</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Bestiality_NonBonded_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>
<li>Bestiality_OnlyVenerated</li>
</nullifyingPrecepts>
<stages>
<li>
<label>Had sex with a non bonded 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>

View file

@ -0,0 +1,516 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Incestuos</defName>
<label>incest</label>
<iconPath>UI/Issues/Incest</iconPath>
</IssueDef>
<HistoryEventDef>
<defName>RSI_CloseRelativeMarriage</defName>
<label>Marriage between close relatives</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_IncestuosMarriage</defName>
<label>Incestuos marriage</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_NonIncestuosMarriage</defName>
<label>Non-incestuos marriage</label>
<modExtensions>
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_EventOverrides">
<overrideRules>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>CloseRelative</li>
</hasOneOfRelationDegrees>
</relations>
</filter>
<historyEventDef>RSI_CloseRelativeMarriage</historyEventDef>
</li>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>FarRelative</li>
</hasOneOfRelationDegrees>
</relations>
</filter>
<historyEventDef>RSI_IncestuosMarriage</historyEventDef>
</li>
</overrideRules>
</li>
</modExtensions>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_CloseRelativeSex</defName>
<label>Sex between close relatives</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_IncestuosSex</defName>
<label>Incestuos sex</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_NonIncestuosSex</defName>
<label>Non-incestuos sex</label>
<modExtensions>
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_EventOverrides">
<overrideRules>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>CloseRelative</li>
</hasOneOfRelationDegrees>
</relations>
</filter>
<historyEventDef>RSI_CloseRelativeSex</historyEventDef>
</li>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>FarRelative</li>
</hasOneOfRelationDegrees>
</relations>
</filter>
<historyEventDef>RSI_IncestuosSex</historyEventDef>
</li>
</overrideRules>
</li>
</modExtensions>
</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>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_Incest">
<allowManualRomanceOnlyFor>
<li>CloseRelative</li>
<li>FarRelative</li>
<li>NotRelated</li>
</allowManualRomanceOnlyFor>
<bloodRelationDegreeRomanceFactors>
<li>
<bloodRelationDegree>CloseRelative</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
<li>
<bloodRelationDegree>FarRelative</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
<li>
<bloodRelationDegree>NotRelated</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
</bloodRelationDegreeRomanceFactors>
</li>
</modExtensions>
</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>RSI_CloseRelativeMarriage</eventDef>
<thought>IncestuosMarriage_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_CloseRelativeSex</eventDef>
<thought>Sex_Know_Incest_Disapproved</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>CloseRelative</li>
</hasOneOfRelationDegrees>
<hasNoneOfRelations>
<li>Spouse</li>
</hasNoneOfRelations>
</relations>
</filter>
<multiplier>0.5</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_Incest">
<allowManualRomanceOnlyFor>
<li>FarRelative</li>
<li>NotRelated</li>
</allowManualRomanceOnlyFor>
<bloodRelationDegreeRomanceFactors>
<li>
<bloodRelationDegree>FarRelative</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
<li>
<bloodRelationDegree>NotRelated</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
</bloodRelationDegreeRomanceFactors>
</li>
</modExtensions>
</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>RSI_IncestuosMarriage</eventDef>
<thought>IncestuosMarriage_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_IncestuosMarriage</eventDef>
<thought>Sex_Know_IncestMarriage_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_IncestuosSex</eventDef>
<thought>Sex_Know_Incest_Disapproved</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>CloseRelative</li>
<li>FarRelative</li>
</hasOneOfRelationDegrees>
<hasNoneOfRelations>
<li>Spouse</li>
</hasNoneOfRelations>
</relations>
</filter>
<multiplier>0.5</multiplier>
</li>
</rules>
</li>
</modExtensions>
</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>RSI_IncestuosMarriage</eventDef>
<thought>IncestuosMarriage_Forbidden</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_IncestuosMarriage</eventDef>
<thought>Sex_Know_IncestMarriage_Forbidden</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_IncestuosSex</eventDef>
<thought>Sex_Know_Incest_Forbidden</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>CloseRelative</li>
<li>FarRelative</li>
</hasOneOfRelationDegrees>
<hasNoneOfRelations>
<li>Spouse</li>
</hasNoneOfRelations>
</relations>
</filter>
<multiplier>0.1</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_Incest">
<bloodRelationDegreeRomanceFactors>
<li>
<bloodRelationDegree>CloseRelative</bloodRelationDegree>
<romanceChanceFactor>0.03</romanceChanceFactor> <!-- same as vanilla "parent" -->
</li>
<li>
<bloodRelationDegree>FarRelative</bloodRelationDegree>
<romanceChanceFactor>0.03</romanceChanceFactor>
</li>
</bloodRelationDegreeRomanceFactors>
</li>
</modExtensions>
</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>
<comps>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_NonIncestuosMarriage</eventDef>
<thought>Sex_Know_IncestMarriage_Violated</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_NonIncestuosSex</eventDef>
<thought>Sex_Know_Incest_Violated</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyPreference">
<rules>
<li>
<filter>
<relations>
<hasOneOfRelationDegrees>
<li>NotRelated</li>
</hasOneOfRelationDegrees>
</relations>
</filter>
<multiplier>0.1</multiplier>
</li>
</rules>
</li>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_Incest">
<allowManualRomanceOnlyFor>
<li>CloseRelative</li>
<li>FarRelative</li>
</allowManualRomanceOnlyFor>
<bloodRelationDegreeRomanceFactors>
<li>
<bloodRelationDegree>CloseRelative</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
<li>
<bloodRelationDegree>FarRelative</bloodRelationDegree>
<romanceChanceFactor>1</romanceChanceFactor>
</li>
<li>
<bloodRelationDegree>NotRelated</bloodRelationDegree>
<romanceChanceFactor>0.03</romanceChanceFactor>
</li>
</bloodRelationDegreeRomanceFactors>
</li>
</modExtensions>
</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>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Masturbation</defName>
<label>masturbation</label>
<iconPath>UI/Issues/Bestiality</iconPath>
</IssueDef>
<HistoryEventDef>
<defName>RSI_Masturbated</defName>
<label>masturbated</label>
</HistoryEventDef>
<!-- Precepts -->
<PreceptDef>
<defName>Masturbation_Abhorrent</defName>
<issue>Masturbation</issue>
<label>abhorrent</label>
<description>Masturbation is unacceptable.</description>
<impact>Medium</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>100</displayOrderInImpact>
<comps>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_Masturbated</eventDef>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Masturbation_Disapproved</defName>
<issue>Masturbation</issue>
<label>disapproved</label>
<description>Masturbation is somewhat shameful.</description>
<impact>Low</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>100</displayOrderInImpact>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyFappinMtb">
<multiplier>2.0</multiplier>
</li>
</modExtensions>
</PreceptDef>
</Defs>

View file

@ -0,0 +1,309 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Necrophilia</defName>
<label>necrophilia</label>
<iconPath>UI/Issues/Necrophilia</iconPath>
</IssueDef>
<HistoryEventDef>
<defName>RSI_SexWithCorpse</defName>
<label>fucked corpse</label>
</HistoryEventDef>
<!-- Precepts -->
<PreceptDef>
<defName>Necrophilia_Abhorrent</defName>
<issue>Necrophilia</issue>
<label>abhorrent</label>
<description>Necrophilia beings is deeply evil.</description>
<impact>Low</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>100</displayOrderInImpact>
<defaultSelectionWeight>30</defaultSelectionWeight>
<conflictingMemes>
<li>Necrophile</li>
</conflictingMemes>
<comps>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_SexWithCorpse</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Abhorrent</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Know_Abhorrent</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Necrophilia_Horrible</defName>
<issue>Necrophilia</issue>
<label>horrible</label>
<description>Necrophilia is a horrible thing.</description>
<impact>Low</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>200</displayOrderInImpact>
<defaultSelectionWeight>30</defaultSelectionWeight>
<conflictingMemes>
<li>Necrophile</li>
</conflictingMemes>
<comps>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Horrible</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Know_Horrible</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyNecroMtb">
<multiplier>8.0</multiplier>
</li>
</modExtensions>
</PreceptDef>
<PreceptDef>
<defName>Necrophilia_Disapproved</defName>
<issue>Necrophilia</issue>
<label>disapproved</label>
<description>Necrophilia is extremely distasteful.</description>
<impact>Low</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>300</displayOrderInImpact>
<defaultSelectionWeight>20</defaultSelectionWeight>
<conflictingMemes>
<li>Necrophile</li>
</conflictingMemes>
<comps>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Know_Disapproved</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Necrophilia_Acceptable</defName>
<issue>Necrophilia</issue>
<label>acceptable</label>
<description>Necrophilia is a normal, unremarkable part of life.</description>
<impact>Medium</impact>
<displayOrderInIssue>10</displayOrderInIssue>
<defaultSelectionWeight>10</defaultSelectionWeight>
<approvesOfSlavery>true</approvesOfSlavery>
<requiredMemes>
<li>Necrophile</li>
</requiredMemes>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyNecroMtb">
<multiplier>0.75</multiplier>
</li>
</modExtensions>
</PreceptDef>
<PreceptDef>
<defName>Necrophilia_Approved</defName>
<issue>Necrophilia</issue>
<label>approved</label>
<description>Fucking corpse is approval.</description>
<impact>High</impact>
<displayOrderInIssue>0</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<requiredMemes>
<li>Necrophile</li>
<li>Lewd</li>
</requiredMemes>
<comps>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Approved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_SexWithCorpse</eventDef>
<thought>Necrophilia_Know_Approved</thought>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyNecroMtb">
<multiplier>0.5</multiplier>
</li>
</modExtensions>
</PreceptDef>
<!-- Thoughts -->
<ThoughtDef>
<defName>Necrophilia_Abhorrent</defName>
<durationDays>6</durationDays>
<stackLimit>1</stackLimit>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<nullifyingPrecepts>
<li>Necrophilia_Approved</li>
<li>Necrophilia_Acceptable</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<description>I had fucked corpse.</description>
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Know_Abhorrent</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>15</durationDays>
<stackLimit>100</stackLimit>
<stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<nullifyingPrecepts>
<li>Necrophilia_Approved</li>
<li>Necrophilia_Acceptable</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<baseOpinionOffset>-30</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Horrible</defName>
<durationDays>6</durationDays>
<stackLimit>1</stackLimit>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<nullifyingPrecepts>
<li>Necrophilia_Approved</li>
<li>Necrophilia_Acceptable</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<description>I had fucked corpse.</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Know_Horrible</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>15</durationDays>
<stackLimit>100</stackLimit>
<stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<nullifyingPrecepts>
<li>Necrophilia_Approved</li>
<li>Necrophilia_Acceptable</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<baseOpinionOffset>-20</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Disapproved</defName>
<durationDays>6</durationDays>
<stackLimit>1</stackLimit>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<nullifyingPrecepts>
<li>Necrophilia_Approved</li>
<li>Necrophilia_Acceptable</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<description>I had fucked corpse.</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Know_Disapproved</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>15</durationDays>
<stackLimit>100</stackLimit>
<stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
<nullifyingTraits>
<li>Necrophiliac</li>
</nullifyingTraits>
<nullifyingPrecepts>
<li>Necrophilia_Approved</li>
<li>Necrophilia_Acceptable</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<baseOpinionOffset>-10</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Approved</defName>
<durationDays>6</durationDays>
<stackLimit>1</stackLimit>
<nullifyingPrecepts>
<li>Necrophilia_Abhorrent</li>
<li>Necrophilia_Horrible</li>
<li>Necrophilia_Disapproved</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<description>I had fucked corpse.</description>
<baseMoodEffect>4</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Necrophilia_Know_Approved</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>25</durationDays>
<stackLimit>100</stackLimit>
<stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
<nullifyingPrecepts>
<li>Necrophilia_Abhorrent</li>
<li>Necrophilia_Horrible</li>
<li>Necrophilia_Disapproved</li>
</nullifyingPrecepts>
<stages>
<li>
<label>fucked corpse</label>
<baseOpinionOffset>5</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -0,0 +1,206 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- This Precept was based on the "Blindness Precept" from ideology -->
<!-- Issue -->
<IssueDef>
<defName>Pregnancy</defName>
<label>pregnancy</label>
<iconPath>UI/Issues/Birth</iconPath>
</IssueDef>
<!-- Precepts -->
<PreceptDef>
<defName>Pregnancy_Holy</defName>
<issue>Pregnancy</issue>
<label>holy</label>
<description>To be pregnant is a duty worthy of respect. Women carry our society into the next generation.</description>
<impact>Medium</impact>
<displayOrderInIssue>10</displayOrderInIssue>
<comps>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Respected_Pregnant</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Respected_Pregnant_Social</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Pregnancy_Elevated</defName>
<issue>Pregnancy</issue>
<label>elevated</label>
<description>Being pregnant is considered noble.</description>
<impact>Low</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<comps>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Elevated_Pregnant</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Elevated_Pregnant_Social</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Pregnancy_NoRules</defName>
<issue>Pregnancy</issue>
<label>indifferent</label>
<description>There are no thoughts about pregnancy.</description>
<impact>Low</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<comps>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Pregnancy_Required</defName>
<issue>Pregnancy</issue>
<impact>High</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<label>breeding</label>
<description>Women should be pregnant - those who are not, are seen unworthy.</description>
<comps>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Respected_Pregnant</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Respected_Pregnant_Social</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Horrible_NonPregnant</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Horrible_NonPregnant_Social</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Pregnancy_Horrible</defName>
<issue>Pregnancy</issue>
<impact>Low</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<label>horrible</label>
<description>Being Pregnant is unclean. Take care and stay pure.</description>
<comps>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Horrible_Pregnant</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>Pregnancy_Horrible_Pregnant_Social</thought>
</li>
</comps>
</PreceptDef>
<!-- Thoughts : Pregnant -->
<ThoughtDef>
<defName>Pregnancy_Respected_Pregnant</defName> <!-- should probably be Pregnancy_Holy_Pregnant -->
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant</workerClass>
<thoughtClass>Thought_Situational</thoughtClass>
<stages>
<li>
<label>pregnant</label>
<description>I am pregnant. This makes me a pillar of society.</description>
<baseMoodEffect>10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Pregnancy_Elevated_Pregnant</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant</workerClass>
<thoughtClass>Thought_Situational</thoughtClass>
<stages>
<li>
<label>pregnant</label>
<description>I am soon making our colony stronger.</description>
<baseMoodEffect>5</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Pregnancy_Respected_Pregnant_Social</defName> <!-- should probably be Pregnancy_Holy_Pregnant_Social -->
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social</workerClass>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<stages>
<li>
<label>pregnant</label>
<baseOpinionOffset>20</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Pregnancy_Elevated_Pregnant_Social</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social</workerClass>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<stages>
<li>
<label>pregnant</label>
<baseOpinionOffset>10</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Pregnancy_Horrible_Pregnant_Social</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant_Social</workerClass>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<stages>
<li>
<label>pregnant</label>
<baseOpinionOffset>-20</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Pregnancy_Horrible_Pregnant</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_Pregnant</workerClass>
<thoughtClass>Thought_Situational</thoughtClass>
<stages>
<li>
<label>pregnant</label>
<description>How did I end up like this? I never wanted to be pregnant!</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<!-- Thoughts: Not Pregnant -->
<ThoughtDef>
<defName>Pregnancy_Horrible_NonPregnant</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_NonPregnant</workerClass>
<thoughtClass>Thought_Situational</thoughtClass>
<doNotApplyToQuestLodgers>true</doNotApplyToQuestLodgers>
<gender>Female</gender>
<stages>
<li>
<label>not pregnant</label>
<description>I wish to be pregnant.</description>
<baseMoodEffect>-6</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Pregnancy_Horrible_NonPregnant_Social</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_NonPregnant_Social</workerClass>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<gender>Female</gender>
<stages>
<li>
<label>unfertilized</label>
<baseOpinionOffset>-5</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -0,0 +1,438 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Rape</defName>
<label>rape</label>
<iconPath>UI/Issues/Rape</iconPath>
</IssueDef>
<HistoryEventDef>
<defName>RSI_Raped</defName>
<label>raped</label>
<modExtensions>
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_EventOverrides">
<overrideRules>
<li>
<filter>
<partner>
<isSlave>true</isSlave>
</partner>
</filter>
<historyEventDef>RSI_RapedSlave</historyEventDef>
</li>
<li>
<filter>
<partner>
<isPrisoner>true</isPrisoner>
</partner>
</filter>
<historyEventDef>RSI_RapedPrisoner</historyEventDef>
</li>
</overrideRules>
</li>
</modExtensions>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_RapedSlave</defName>
<label>raped slave</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_RapedPrisoner</defName>
<label>raped prisoner</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_WasRaped</defName>
<label>was raped</label>
<modExtensions>
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_EventOverrides">
<overrideRules>
<li>
<filter>
<doer>
<isSlave>true</isSlave>
</doer>
</filter>
<historyEventDef>RSI_WasRapedSlave</historyEventDef>
</li>
<li>
<filter>
<doer>
<isPrisoner>true</isPrisoner>
</doer>
</filter>
<historyEventDef>RSI_WasRapedPrisoner</historyEventDef>
</li>
</overrideRules>
</li>
</modExtensions>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_WasRapedSlave</defName>
<label>was raped</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_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>
<exclusionTags>
<li>RapeBad</li>
</exclusionTags>
<conflictingMemes>
<li>Rapist</li>
</conflictingMemes>
<associatedMemes>
<li>HumanPrimacy</li>
<li>Collectivist</li>
</associatedMemes>
<comps>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_Raped</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_Raped</eventDef>
<thought>Rape_Abhorrent</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_Raped</eventDef>
<thought>Rape_Know_Abhorrent</thought>
<description>Someone raped other</description>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Rape_Horrible</thought>
<description>Raped prisoner</description>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Rape_Know_Horrible</thought>
<description>Someone raped prisoner</description>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_RapedSlave</eventDef>
<thought>Rape_Disapproved</thought>
<description>Raped slave</description>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_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>
<exclusionTags>
<li>RapeBad</li>
</exclusionTags>
<conflictingMemes>
<li>Rapist</li>
</conflictingMemes>
<associatedMemes>
<li>HumanPrimacy</li>
</associatedMemes>
<comps>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_Raped</eventDef>
<thought>Rape_Horrible</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_Raped</eventDef>
<thought>Rape_Know_Horrible</thought>
<description>Someone raped other</description>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Rape_Disapproved</thought>
<description>Raped prisoner</description>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Rape_Know_Disapproved</thought>
<description>Someone raped prisoner</description>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyRapeCPMtb">
<multiplier>3.0</multiplier>
</li>
</modExtensions>
</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>
<exclusionTags>
<li>RapeBad</li>
</exclusionTags>
<conflictingMemes>
<li>Rapist</li>
</conflictingMemes>
<associatedMemes>
<li>HumanPrimacy</li>
</associatedMemes>
<comps>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_Raped</eventDef>
<thought>Rape_Disapproved</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_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>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyRapeCPMtb">
<multiplier>0.75</multiplier>
</li>
</modExtensions>
</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>RSI_Raped</eventDef>
<thought>BloodlustStoleSomeLovin</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_Raped</eventDef>
<thought>Rape_Know_Honorable</thought>
<description>Someone raped other</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>BloodlustStoleSomeLovin</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Rape_Know_Honorable</thought>
<description>Someone raped other</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_RapedSlave</eventDef>
<thought>BloodlustStoleSomeLovin</thought>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_RapedSlave</eventDef>
<thought>Rape_Know_Honorable</thought>
<description>Someone raped other</description>
<onlyForNonSlaves>true</onlyForNonSlaves>
</li>
</comps>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_ModifyRapeCPMtb">
<multiplier>0.5</multiplier>
</li>
</modExtensions>
</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>

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PreceptDef>
<defName>GangbangCeremony</defName>
<label>gangbang</label>
<description>A ritualistic gangbang where a initiator rape a victim. The audience will rape as the initiator.</description>
<issue>Ritual</issue>
<impact>Medium</impact>
<iconPath>UI/Issues/Gangbang</iconPath>
<preceptClass>Precept_Ritual</preceptClass>
<ritualPatternBase>Gangbang</ritualPatternBase>
<allowDuplicates>true</allowDuplicates>
<countsTowardsPreceptLimit>false</countsTowardsPreceptLimit>
<selectionWeight>1.0</selectionWeight>
<displayOrderInImpact>100</displayOrderInImpact>
<ignoreLimitsInEditMode>false</ignoreLimitsInEditMode>
<receivesExpectationsQualityOffset>true</receivesExpectationsQualityOffset>
<canGenerateAsSpecialPrecept>false</canGenerateAsSpecialPrecept>
<exclusionTags>
<li>RapeBad</li>
</exclusionTags>
<requiredMemes>
<li>Rapist</li>
</requiredMemes>
</PreceptDef>
<PreceptDef>
<defName>GangbangCeremony_Consensual</defName>
<label>gangbang</label>
<description>A ritualistic gangbang where a organizer being fucked. The audience will fuck the organizer.</description>
<issue>Ritual</issue>
<impact>Medium</impact>
<iconPath>UI/Issues/Gangbang_Consensual</iconPath>
<preceptClass>Precept_Ritual</preceptClass>
<ritualPatternBase>Gangbang_Consensual</ritualPatternBase>
<allowDuplicates>true</allowDuplicates>
<countsTowardsPreceptLimit>false</countsTowardsPreceptLimit>
<selectionWeight>1.0</selectionWeight>
<displayOrderInImpact>100</displayOrderInImpact>
<ignoreLimitsInEditMode>false</ignoreLimitsInEditMode>
<receivesExpectationsQualityOffset>true</receivesExpectationsQualityOffset>
<canGenerateAsSpecialPrecept>false</canGenerateAsSpecialPrecept>
<requiredMemes>
<li>Lewd</li>
</requiredMemes>
</PreceptDef>
<PreceptDef>
<defName>AnimalGangbangCeremony</defName>
<label>animal gangbang</label>
<description>A ritualistic gangbang where animals rape a victim.</description>
<issue>Ritual</issue>
<impact>Medium</impact>
<iconPath>UI/Commands/Breeding_Pawn_off</iconPath>
<preceptClass>Precept_Ritual</preceptClass>
<ritualPatternBase>GangbangByAnimal</ritualPatternBase>
<allowDuplicates>true</allowDuplicates>
<countsTowardsPreceptLimit>false</countsTowardsPreceptLimit>
<selectionWeight>1.0</selectionWeight>
<displayOrderInImpact>100</displayOrderInImpact>
<ignoreLimitsInEditMode>false</ignoreLimitsInEditMode>
<receivesExpectationsQualityOffset>true</receivesExpectationsQualityOffset>
<canGenerateAsSpecialPrecept>false</canGenerateAsSpecialPrecept>
<modExtensions>
<li Class="RJWSexperience.Ideology.Precepts.DefExtension_MultipleMemesRequired">
<requiredAllMemes>
<li>Rapist</li>
<li>Zoophile</li>
</requiredAllMemes>
</li>
</modExtensions>
</PreceptDef>
<PreceptDef>
<defName>AnimalGangbangCeremony_Consensual</defName>
<label>animal gangbang</label>
<description>A ritualistic gangbang where animals fuck the organizer.</description>
<issue>Ritual</issue>
<impact>Medium</impact>
<iconPath>UI/Commands/Breeding_Pawn_on</iconPath>
<preceptClass>Precept_Ritual</preceptClass>
<ritualPatternBase>GangbangByAnimal_Consensual</ritualPatternBase>
<allowDuplicates>true</allowDuplicates>
<countsTowardsPreceptLimit>false</countsTowardsPreceptLimit>
<selectionWeight>1.0</selectionWeight>
<displayOrderInImpact>100</displayOrderInImpact>
<ignoreLimitsInEditMode>false</ignoreLimitsInEditMode>
<receivesExpectationsQualityOffset>true</receivesExpectationsQualityOffset>
<canGenerateAsSpecialPrecept>false</canGenerateAsSpecialPrecept>
<requiredMemes>
<li>Zoophile</li>
</requiredMemes>
</PreceptDef>
<PreceptDef>
<defName>DrugOrgyCeremony</defName>
<label>drug orgy</label>
<description>An orgy using massive aphrodisiac.</description>
<issue>Ritual</issue>
<impact>Medium</impact>
<iconPath>UI/Issues/Gangbang</iconPath>
<preceptClass>Precept_Ritual</preceptClass>
<ritualPatternBase>DrugOrgy</ritualPatternBase>
<allowDuplicates>true</allowDuplicates>
<countsTowardsPreceptLimit>false</countsTowardsPreceptLimit>
<selectionWeight>1.0</selectionWeight>
<displayOrderInImpact>100</displayOrderInImpact>
<ignoreLimitsInEditMode>false</ignoreLimitsInEditMode>
<receivesExpectationsQualityOffset>true</receivesExpectationsQualityOffset>
<canGenerateAsSpecialPrecept>false</canGenerateAsSpecialPrecept>
<requiredMemes>
<li>Lewd</li>
</requiredMemes>
</PreceptDef>
</Defs>

View file

@ -0,0 +1,384 @@
<?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>RSI_VaginalSex</defName>
<label>vaginal sex</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_AnalSex</defName>
<label>anal sex</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_OralSex</defName>
<label>oral sex</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_PromiscuousSex</defName>
<label>promiscuous sex</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_MiscSex</defName>
<label>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_UnwillingToDo">
<eventDef>RSI_AnalSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_AnalSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_AnalSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_OralSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_OralSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_OralSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_MiscSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_PromiscuousSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_PromiscuousSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_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_UnwillingToDo">
<eventDef>RSI_VaginalSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_VaginalSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_VaginalSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_OralSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_OralSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_OralSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_MiscSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_PromiscuousSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_PromiscuousSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_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_UnwillingToDo">
<eventDef>RSI_VaginalSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_VaginalSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_VaginalSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_AnalSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_AnalSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_AnalSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_MiscSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Know_Promiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_PromiscuousSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_PromiscuousSex</eventDef>
<thought>Sex_Promiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_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 MayRequire="rjw.sexperience">1.25</SexAbility>
</statFactors>
<comps>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_VaginalSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_VaginalSex</eventDef>
<thought>Sex_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_VaginalSex</eventDef>
<thought>Sex_Know_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_AnalSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_AnalSex</eventDef>
<thought>Sex_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_AnalSex</eventDef>
<thought>Sex_Know_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_OralSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_OralSex</eventDef>
<thought>Sex_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_OralSex</eventDef>
<thought>Sex_Know_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_UnwillingToDo">
<eventDef>RSI_MiscSex</eventDef>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_MiscSex</eventDef>
<thought>Sex_Know_NonPromiscuous</thought>
</li>
<li Class="PreceptComp_KnowsMemoryThought">
<eventDef>RSI_PromiscuousSex</eventDef>
<thought>Sex_Know_Promiscuous_Approval</thought>
</li>
</comps>
</PreceptDef>
<!-- Thoughts -->
<ThoughtDef>
<defName>Sex_Promiscuous</defName>
<durationDays>1</durationDays>
<stackLimit>1</stackLimit>
<thoughtClass>RJWSexperience.Ideology.Thought_IncreaseRecord</thoughtClass>
<stages>
<li>
<label>promiscuous sex</label>
<description>I was immoral. It makes me aroused.</description>
<baseMoodEffect>5</baseMoodEffect>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_IncreaseRecord" MayRequire="rjw.sexperience">
<recordDef>Lust</recordDef>
<increment>3.0</increment>
</li>
</modExtensions>
</ThoughtDef>
<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>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>SexProselytizing</defName>
<label>sex type</label>
<iconPath>UI/Issues/Submissive</iconPath>
</IssueDef>
<PreceptDef>
<defName>ProselyzingByOrgasm</defName>
<issue>SexProselytizing</issue>
<label>Sexual Proselyzing</label>
<description>Giving orgasm converts partner towards this ideology.</description>
<impact>Medium</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>400</displayOrderInImpact>
</PreceptDef>
</Defs>

View file

@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>GenitalSize</defName>
<label>Size Matters</label>
<iconPath>UI/Memes/SexualDissolutely</iconPath>
</IssueDef>
<!-- Precepts Male -->
<PreceptDef>
<defName>GenitalSize_Big_Better</defName>
<issue>GenitalSize</issue>
<description>The size matters.</description>
<label>Bigger = Better</label>
<impact>High</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>200</displayOrderInImpact>
<comps>
<li Class="PreceptComp_SituationalThought">
<thought>GenitalSize_Approved</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>GenitalSize_Approved_Social</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>GenitalSize_NoRules</defName>
<issue>GenitalSize</issue>
<description>The size is unimportant.</description>
<label>No Rules</label>
<impact>High</impact>
<displayOrderInIssue>10</displayOrderInIssue>
<displayOrderInImpact>100</displayOrderInImpact>
<comps>
</comps>
</PreceptDef>
<PreceptDef>
<defName>GenitalSize_Smaller_Better</defName>
<issue>GenitalSize</issue>
<description>The greeks actually believed, that a big genital is an animalistic feature. Important members are known for their small genitals.</description>
<label>Smaller = Better</label>
<impact>High</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>200</displayOrderInImpact>
<comps>
<li Class="PreceptComp_SituationalThought">
<thought>GenitalSize_Disapproved</thought>
</li>
<li Class="PreceptComp_SituationalThought">
<thought>GenitalSize_Disapproved_Social</thought>
</li>
</comps>
</PreceptDef>
<!-- Thoughts - Mood -->
<ThoughtDef>
<defName>GenitalSize_Approved</defName>
<thoughtClass>Thought_Situational</thoughtClass>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize</workerClass>
<stages>
<li>
<label>Despised Genitalsize</label>
<description>I ... I am okay the way I am!</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
<li>
<label>Unwanted Genitalsize</label>
<description>I think I am below average.</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
<li>
<label>Normal Genitals</label>
<description>I guess I am the average.</description>
<baseMoodEffect>0</baseMoodEffect>
</li>
<li>
<label>Appreciated Genitals</label>
<description>I think I am above average.</description>
<baseMoodEffect>+5</baseMoodEffect>
</li>
<li>
<label>Venerated Genitals</label>
<description>Don't want to be the elephant in the room, but parts of me are.</description>
<baseMoodEffect>+10</baseMoodEffect>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_StageFromValue">
<!-- We have 5 stages, which map directly to genitalia severity:
Micro(<0.2), Small(>0.2&&<0.4), Normal(>0.4&&<0.6), Big(>0.6&&<0.8), Huge(>0.8) -->
<minimumValueforStage>
<li>0</li>
<li>0.2</li>
<li>0.4</li>
<li>0.6</li>
<li>0.8</li>
</minimumValueforStage>
</li>
</modExtensions>
</ThoughtDef>
<ThoughtDef>
<defName>GenitalSize_Disapproved</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize</workerClass>
<thoughtClass>Thought_Situational</thoughtClass>
<stages>
<li>
<label>Venerated Genitals</label>
<description>I do not need great genitals, as I am a being of supreme intellect and grace.</description>
<baseMoodEffect>+10</baseMoodEffect>
</li>
<li>
<label>Appreciated Genitals</label>
<description>I think I am below average.</description>
<baseMoodEffect>+5</baseMoodEffect>
</li>
<li>
<label>Normal Genitals</label>
<description>I guess I am the average.</description>
<baseMoodEffect>0</baseMoodEffect>
</li>
<li>
<label>Unwanted Genitals</label>
<description>I think I am above average.</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
<li>
<label>Despised Genitals</label>
<description>I am closer to an animal, than to a human. Why did I have to be born this way? </description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_StageFromValue">
<!-- We have 5 stages, which map directly to genitalia severity:
Micro(<0.2), Small(>0.2&&<0.4), Normal(>0.4&&<0.6), Big(>0.6&&<0.8), Huge(>0.8) -->
<minimumValueforStage>
<li>0</li>
<li>0.2</li>
<li>0.4</li>
<li>0.6</li>
<li>0.8</li>
</minimumValueforStage>
</li>
</modExtensions>
</ThoughtDef>
<!-- Social-Thoughts (Opinion)-->
<ThoughtDef>
<defName>GenitalSize_Approved_Social</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social</workerClass>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<stages>
<li>
<label>Unwanted Genitals</label>
<baseOpinionOffset>-5</baseOpinionOffset>
</li>
<li>
<label>Normal Genitals</label>
<baseOpinionOffset>0</baseOpinionOffset>
</li>
<li>
<label>Favorable Genitals</label>
<baseOpinionOffset>+5</baseOpinionOffset>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_StageFromValue">
<!-- We have 3 stages, which map directly to genitalia severity:
Unfavorable(<0.4), Normal(>0.4&&<0.6), Favorable(>0.6) -->
<minimumValueforStage>
<li>0</li>
<li>0.4</li>
<li>0.6</li>
</minimumValueforStage>
</li>
</modExtensions>
</ThoughtDef>
<ThoughtDef>
<defName>GenitalSize_Disapproved_Social</defName>
<workerClass>RJWSexperience.Ideology.PreceptWorkers.ThoughtWorker_Precept_GenitalSize_Social</workerClass>
<thoughtClass>Thought_SituationalSocial</thoughtClass>
<stages>
<li>
<label>Favorable Genitals</label>
<baseOpinionOffset>+5</baseOpinionOffset>
</li>
<li>
<label>Normal Genitals</label>
<baseOpinionOffset>0</baseOpinionOffset>
</li>
<li>
<label>Unwanted Genitals</label>
<baseOpinionOffset>-5</baseOpinionOffset>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_StageFromValue">
<!-- We have 3 stages, which map directly to genitalia severity:
Favorable(<0.4), Normal(>0.4&&<0.6), Unfavorable(>0.6) -->
<minimumValueforStage>
<li>0</li>
<li>0.4</li>
<li>0.6</li>
</minimumValueforStage>
</li>
</modExtensions>
</ThoughtDef>
</Defs>

View file

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>SocialAffection</defName>
<label>social affection</label>
<iconPath>UI/Issues/SocialAffection</iconPath>
</IssueDef>
<!-- Precepts -->
<PreceptDef>
<defName>SocialAffection_Normal</defName>
<issue>SocialAffection</issue>
<label>normal(vanilla)</label>
<description>Just normal.</description>
<impact>Low</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>SocialAffection_Small</defName>
<issue>SocialAffection</issue>
<label>only immediate family</label>
<description>Care about only immediate family.</description>
<impact>Medium</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>SocialAffection_OnlyFamily</defName>
<issue>SocialAffection</issue>
<label>only family</label>
<description>Don't care about non-family memeber's tragedy.</description>
<impact>Medium</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>SocialAffection_Dry</defName>
<issue>SocialAffection</issue>
<label>not family</label>
<description>Don't care about family memeber's tragedy.</description>
<impact>High</impact>
<displayOrderInIssue>20</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>SocialAffection_Psychopath</defName>
<issue>SocialAffection</issue>
<label>Psychopath</label>
<description>Don't care about others.</description>
<impact>High</impact>
<displayOrderInIssue>10</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
</Defs>

View file

@ -0,0 +1,204 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Submissive</defName>
<label>submissive</label>
<iconPath>UI/Issues/Submissive</iconPath>
</IssueDef>
<!-- Precepts -->
<PreceptDef>
<defName>Submissive_None</defName>
<issue>Submissive</issue>
<label>Normal</label>
<description>Just normal.</description>
<impact>Low</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
</PreceptDef>
<PreceptDef>
<defName>Submissive_Male</defName>
<issue>Submissive</issue>
<label>submissive male</label>
<description>Males are submissive. They will obey and accept even being raped.</description>
<impact>High</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<requiredMemes>
<li>FemaleSupremacy</li>
</requiredMemes>
<comps>
<li Class="PreceptComp_UnwillingToDo_Gendered">
<eventDef>RSI_Raped</eventDef>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRaped</eventDef>
<thought>BeenRaped_Submissive</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRaped</eventDef>
<thought>BeenRaped_NotSubmissive</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_Raped</eventDef>
<thought>Raped_Know_NotBeingSubmissive</thought>
<doersGender>Male</doersGender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedPrisoner</eventDef>
<thought>BeenRaped_Submissive</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedPrisoner</eventDef>
<thought>BeenRaped_NotSubmissive</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Raped_Know_NotBeingSubmissive</thought>
<doersGender>Male</doersGender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedSlave</eventDef>
<thought>BeenRaped_Submissive</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedSlave</eventDef>
<thought>BeenRaped_NotSubmissive</thought>
<gender>Female</gender>
</li>
<!--<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_RapedSlave</eventDef>
<thought>Raped_Know_NotBeingSubmissive</thought>
<doersGender>Male</doersGender>
</li>-->
</comps>
</PreceptDef>
<PreceptDef>
<defName>Submissive_Female</defName>
<issue>Submissive</issue>
<label>submissive female</label>
<description>Females are submissive. They will obey and accept even being raped.</description>
<impact>High</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<requiredMemes>
<li>MaleSupremacy</li>
</requiredMemes>
<comps>
<li Class="PreceptComp_UnwillingToDo_Gendered">
<eventDef>RSI_Raped</eventDef>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRaped</eventDef>
<thought>BeenRaped_Submissive</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRaped</eventDef>
<thought>BeenRaped_NotSubmissive</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_Raped</eventDef>
<thought>Raped_Know_NotBeingSubmissive</thought>
<doersGender>Female</doersGender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedPrisoner</eventDef>
<thought>BeenRaped_Submissive</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedPrisoner</eventDef>
<thought>BeenRaped_NotSubmissive</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_RapedPrisoner</eventDef>
<thought>Raped_Know_NotBeingSubmissive</thought>
<doersGender>Female</doersGender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedSlave</eventDef>
<thought>BeenRaped_Submissive</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_WasRapedSlave</eventDef>
<thought>BeenRaped_NotSubmissive</thought>
<gender>Male</gender>
</li>
<!--<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_RapedSlave</eventDef>
<thought>Raped_Know_NotBeingSubmissive</thought>
<doersGender>Female</doersGender>
</li>-->
</comps>
</PreceptDef>
<!-- Thoughts -->
<ThoughtDef>
<defName>BeenRaped_Submissive</defName>
<durationDays>10</durationDays>
<stackLimit>100</stackLimit>
<thoughtClass>Thought_Memory</thoughtClass>
<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
<nullifyingTraits>
<li>Masochist</li>
</nullifyingTraits>
<stages>
<li>
<label>had been raped</label>
<description>I had to accept. But i don't feel so good.</description>
<baseMoodEffect>-3</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>BeenRaped_NotSubmissive</defName>
<durationDays>15</durationDays>
<stackLimit>100</stackLimit>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
<nullifyingTraits>
<li>Masochist</li>
</nullifyingTraits>
<stages>
<li>
<label>{0} raped me</label>
<description>How dare...</description>
<baseMoodEffect>-30</baseMoodEffect>
<baseOpinionOffset>-200</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Raped_Know_NotBeingSubmissive</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>15</durationDays>
<stackLimit>100</stackLimit>
<stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
<stages>
<li>
<label>not obedient</label>
<baseOpinionOffset>-30</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -0,0 +1,360 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Issues -->
<IssueDef>
<defName>Virginity_Female</defName>
<label>virginity of female</label>
<iconPath>UI/Issues/Female</iconPath>
</IssueDef>
<IssueDef>
<defName>Virginity_Male</defName>
<label>virginity of male</label>
<iconPath>UI/Issues/Male</iconPath>
</IssueDef>
<HistoryEventDef>
<defName>RSI_VirginTaken</defName>
<label>virgin taken</label>
<modExtensions>
<li Class="RJWSexperience.Ideology.HistoryEvents.DefExtension_SecondaryEvents">
<generationRules>
<li>
<filter>
<relations>
<hasNoneOfRelations>
<li>Spouse</li>
</hasNoneOfRelations>
</relations>
</filter>
<historyEventDef>RSI_VirginTakenNotSpouse</historyEventDef>
</li>
</generationRules>
</li>
</modExtensions>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_TookVirgin</defName>
<label>took virgin</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_VirginStolen</defName>
<label>virgin stolen</label>
</HistoryEventDef>
<HistoryEventDef>
<defName>RSI_VirginTakenNotSpouse</defName>
<label>virgin was taken by a stranger</label>
</HistoryEventDef>
<!-- Precepts -->
<PreceptDef>
<defName>Virgin_UselessF</defName>
<issue>Virginity_Female</issue>
<label>useless</label>
<description>Female's virginity is useless.</description>
<impact>Medium</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>10</defaultSelectionWeight>
</PreceptDef>
<PreceptDef>
<defName>Virgin_UselessM</defName>
<issue>Virginity_Male</issue>
<label>useless</label>
<description>Male's virginity is useless.</description>
<impact>Low</impact>
<displayOrderInIssue>50</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>80</defaultSelectionWeight>
</PreceptDef>
<PreceptDef>
<defName>Virgin_PreciousF</defName>
<issue>Virginity_Female</issue>
<label>precious</label>
<description>Female's virginity is precious.</description>
<impact>Medium</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>80</defaultSelectionWeight>
<comps>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginStolen</eventDef>
<thought>Virgin_Precious_Taken_Forcefully</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginTaken</eventDef>
<thought>Virgin_Precious_Taken</thought>
<gender>Female</gender>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_TookVirgin</eventDef>
<thought>TookVirginity</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Virgin_PreciousM</defName>
<issue>Virginity_Male</issue>
<label>precious</label>
<description>Male's virginity is precious.</description>
<impact>Medium</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>1</defaultSelectionWeight>
<comps>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginStolen</eventDef>
<thought>Virgin_Precious_Taken_Forcefully</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginTaken</eventDef>
<thought>Virgin_Precious_Taken</thought>
<gender>Male</gender>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_TookVirgin</eventDef>
<thought>TookVirginity</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Virgin_OnlyForSpouseF</defName>
<issue>Virginity_Female</issue>
<label>precious(strict)</label>
<description>Losing virginity before marriage is evil.</description>
<impact>Medium</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>80</defaultSelectionWeight>
<requiredMemes>
<li>MaleSupremacy</li>
</requiredMemes>
<conflictingMemes>
<li>FemaleSupremacy</li>
</conflictingMemes>
<associatedMemes>
<li>MaleSupremacy</li>
</associatedMemes>
<comps>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginStolen</eventDef>
<thought>Virgin_Precious_Taken_Forcefully</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginTaken</eventDef>
<thought>Virgin_Precious_Taken</thought>
<gender>Female</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_VirginTakenNotSpouse</eventDef>
<thought>Virgin_OnlyForSpouse_Know_Taken</thought>
<doersGender>Female</doersGender>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_TookVirgin</eventDef>
<thought>TookVirginity</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Virgin_OnlyForSpouseM</defName>
<issue>Virginity_Male</issue>
<label>precious(strict)</label>
<description>Losing virginity before marriage is evil.</description>
<impact>Medium</impact>
<displayOrderInIssue>40</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>20</defaultSelectionWeight>
<requiredMemes>
<li>FemaleSupremacy</li>
</requiredMemes>
<conflictingMemes>
<li>MaleSupremacy</li>
</conflictingMemes>
<associatedMemes>
<li>FemaleSupremacy</li>
</associatedMemes>
<comps>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginStolen</eventDef>
<thought>Virgin_Precious_Taken_Forcefully</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginTaken</eventDef>
<thought>Virgin_Precious_Taken</thought>
<gender>Male</gender>
</li>
<li Class="RJWSexperience.Ideology.Precepts.Comp_KnowsMemoryThought_Gendered">
<eventDef>RSI_VirginTakenNotSpouse</eventDef>
<thought>Virgin_OnlyForSpouse_Know_Taken</thought>
<doersGender>Male</doersGender>
</li>
<li Class="PreceptComp_SelfTookMemoryThought">
<eventDef>RSI_TookVirgin</eventDef>
<thought>TookVirginity</thought>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Virgin_ShamefulF</defName>
<issue>Virginity_Female</issue>
<label>shameful</label>
<description>Remaining as virgin is shameful thing and being laughed at.</description>
<impact>Medium</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>1</defaultSelectionWeight>
<associatedMemes>
<li>FemaleSupremacy</li>
</associatedMemes>
<comps>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginTaken</eventDef>
<thought>Virgin_Shameful_Taken</thought>
<gender>Female</gender>
</li>
</comps>
</PreceptDef>
<PreceptDef>
<defName>Virgin_ShamefulM</defName>
<issue>Virginity_Male</issue>
<label>shameful</label>
<description>Remaining as virgin is shameful thing and being laughed at.</description>
<impact>Medium</impact>
<displayOrderInIssue>30</displayOrderInIssue>
<displayOrderInImpact>1000</displayOrderInImpact>
<defaultSelectionWeight>40</defaultSelectionWeight>
<associatedMemes>
<li>MaleSupremacy</li>
</associatedMemes>
<comps>
<li Class="RJWSexperience.Ideology.Precepts.Comp_SelfTookMemoryThought_Gendered">
<eventDef>RSI_VirginTaken</eventDef>
<thought>Virgin_Shameful_Taken</thought>
<gender>Male</gender>
</li>
</comps>
</PreceptDef>
<!-- Thoughts -->
<ThoughtDef>
<defName>Virgin_Precious_Taken_Forcefully</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>30</durationDays>
<stackLimit>1</stackLimit>
<stages>
<li>
<label>Virginity stolen</label>
<description>My virginity was taken forcefully.</description>
<baseMoodEffect>-10</baseMoodEffect>
<baseOpinionOffset>-200</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>Virgin_Precious_Taken</defName>
<thoughtClass>RJWSexperience.Ideology.Thought_Opinionbased</thoughtClass>
<durationDays>7</durationDays>
<stackLimit>1</stackLimit>
<stages>
<li>
<label>Lost virginity to {0}</label>
<description>I am no longer virgin.</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
<li>
<label>Lost virginity to {0}</label>
<description>I am no longer virgin.</description>
<baseMoodEffect>-3</baseMoodEffect>
</li>
<li>
<label>Lost virginity to {0}</label>
<description>I am no longer virgin.</description>
<baseMoodEffect>-1</baseMoodEffect>
</li>
<li>
<label>Gave virginity to {0}</label>
<description>I gave my virginity to my love.</description>
<baseMoodEffect>5</baseMoodEffect>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_StageFromValue">
<minimumValueforStage>
<li>-100</li>
<li>-50</li>
<li>0</li>
<li>75</li>
</minimumValueforStage>
</li>
</modExtensions>
</ThoughtDef>
<ThoughtDef>
<defName>Virgin_Shameful_Taken</defName>
<thoughtClass>RJWSexperience.Ideology.Thought_Opinionbased</thoughtClass>
<durationDays>7</durationDays>
<stackLimit>1</stackLimit>
<stages>
<li>
<label>Lost virginity to {0}</label>
<description>Finally!</description>
<baseMoodEffect>5</baseMoodEffect>
</li>
<li>
<label>Lost virginity to {0}</label>
<description>Finally!</description>
<baseMoodEffect>10</baseMoodEffect>
</li>
<li>
<label>Lost virginity to {0}</label>
<description>Finally!</description>
<baseMoodEffect>20</baseMoodEffect>
</li>
</stages>
<modExtensions>
<li Class="RJWSexperience.Ideology.ThoughtDefExtension_StageFromValue">
<minimumValueforStage>
<li>-100</li>
<li>0</li>
<li>75</li>
</minimumValueforStage>
</li>
</modExtensions>
</ThoughtDef>
<ThoughtDef>
<defName>Virgin_OnlyForSpouse_Know_Taken</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>30</durationDays>
<stackLimit>100</stackLimit>
<stackLimitForSameOtherPawn>3</stackLimitForSameOtherPawn>
<nullifyingTraits>
<li>Nymphomaniac</li>
</nullifyingTraits>
<stages>
<li>
<label>slut</label>
<baseOpinionOffset>-30</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RitualPatternDef Abstract="True" Name="GangbangBase" ParentName="CelebrationPartyChat">
<nameMaker>NamerRitualFestival</nameMaker>
<canStartAnytime>true</canStartAnytime>
<ritualObligationTargetFilter>RitualSpotOrAltar</ritualObligationTargetFilter>
<tags>
<li>Rape</li>
</tags>
</RitualPatternDef>
<RitualPatternDef ParentName="GangbangBase">
<defName>Gangbang</defName>
<ritualBehavior>Gangbang</ritualBehavior>
<shortDescOverride>gangbang</shortDescOverride>
<descOverride>A ritualistic gangbang. The organizer will give a speech to excite the crowd, then fuck the victim. If the organizer cannot fuck victim, the ritual will be canceled.</descOverride>
<iconPathOverride>UI/Issues/Gangbang</iconPathOverride>
<ritualOnlyForIdeoMembers>false</ritualOnlyForIdeoMembers>
<ritualOutcomeEffect>Gangbang</ritualOutcomeEffect>
<patternGroupTag/>
</RitualPatternDef>
<RitualPatternDef ParentName="GangbangBase">
<defName>Gangbang_Consensual</defName>
<ritualBehavior>Gangbang_Consensual</ritualBehavior>
<shortDescOverride>gangbang</shortDescOverride>
<descOverride>A ritualistic gangbang. The organizer will give a speech to excite the crowd, then fucked by the crowd.</descOverride>
<iconPathOverride>UI/Issues/Gangbang_Consensual</iconPathOverride>
<ritualOnlyForIdeoMembers>false</ritualOnlyForIdeoMembers>
<ritualOutcomeEffect>Gangbang_Consensual</ritualOutcomeEffect>
<patternGroupTag/>
</RitualPatternDef>
<RitualPatternDef ParentName="GangbangBase">
<defName>GangbangByAnimal</defName>
<ritualBehavior>GangbangByAnimal</ritualBehavior>
<shortDescOverride>gangbang by animal</shortDescOverride>
<descOverride>A ritualistic animal gangbang. The organizer will give a speech to excite the crowd, then animals begin fuck victim.</descOverride>
<iconPathOverride>UI/Commands/Breeding_Pawn_off</iconPathOverride>
<ritualOnlyForIdeoMembers>false</ritualOnlyForIdeoMembers>
<ritualOutcomeEffect>BestialGangbang</ritualOutcomeEffect>
<patternGroupTag/>
</RitualPatternDef>
<RitualPatternDef ParentName="GangbangBase">
<defName>GangbangByAnimal_Consensual</defName>
<ritualBehavior>GangbangByAnimal_Consensual</ritualBehavior>
<shortDescOverride>gangbang by animal</shortDescOverride>
<descOverride>A ritualistic animal gangbang. The organizer will give a speech to excite the crowd, then animals begin fuck the organizer.</descOverride>
<iconPathOverride>UI/Commands/Breeding_Pawn_on</iconPathOverride>
<ritualOnlyForIdeoMembers>false</ritualOnlyForIdeoMembers>
<ritualOutcomeEffect>BestialGangbang_Consensual</ritualOutcomeEffect>
<patternGroupTag/>
</RitualPatternDef>
<RitualPatternDef ParentName="CelebrationConsumable">
<defName>DrugOrgy</defName>
<shortDescOverride>drug orgy</shortDescOverride>
<descOverride>An orgy with large amounts of aphrodisiac. Participants will gather around a lustbong, light it on fire, and fuck each other while inhaling the fumes.</descOverride>
<iconPathOverride>UI/Icons/Rituals/SmokeCircle</iconPathOverride>
<ritualOnlyForIdeoMembers>false</ritualOnlyForIdeoMembers>
<ritualObligationTargetFilter>DrugOrgy</ritualObligationTargetFilter>
<ritualBehavior>DrugOrgy</ritualBehavior>
<ritualOutcomeEffect>DrugOrgy</ritualOutcomeEffect>
</RitualPatternDef>
</Defs>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<IdeoPresetDef>
<defName>Animal_Breeders</defName>
<label>animal breeders</label>
<description>Animals are our better half.</description>
<categoryDef>Intense</categoryDef>
<memes>
<li>AnimalPersonhood</li>
<li>Zoophile</li>
</memes>
</IdeoPresetDef>
<IdeoPresetDef>
<defName>Savage_Rapist_Brigands</defName>
<label>savage rapist brigands</label>
<description>All of them are ours.</description>
<categoryDef>Intense</categoryDef>
<memes>
<li>Rapist</li>
<li>Nudism</li>
<li>Raider</li>
</memes>
</IdeoPresetDef>
<IdeoPresetDef>
<defName>Hentai_Tribe</defName>
<label>hentai tribe</label>
<categoryDef>Intense</categoryDef>
<description>Impregnate.</description>
<memes>
<li>MaleSupremacy</li>
<li>Rapist</li>
</memes>
</IdeoPresetDef>
</Defs>

View file

@ -0,0 +1,466 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RitualBehaviorDef Name="GangbangBehaviorBase" Abstract="True" ParentName="DateRitualBehavior">
<preceptRequirements>
<li Class="PreceptRequirement_Altar"/>
</preceptRequirements>
<durationTicks>7500</durationTicks>
<roles Inherit="False">
<li Class="RitualRoleTag">
<label>initiator</label>
<id>initiator</id>
<tag>Initiator</tag>
<precept>IdeoRole_Moralist</precept>
<required>True</required>
<substitutable>true</substitutable>
<maxCount>1</maxCount>
<countsAsParticipant>False</countsAsParticipant>
</li>
</roles>
</RitualBehaviorDef>
<RitualBehaviorDef ParentName="GangbangBehaviorBase">
<defName>Gangbang</defName>
<workerClass>RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang</workerClass>
<roles>
<li Class="RJWSexperience.Ideology.RitualRole_RapeVictim">
<label>victim</label>
<missingDesc>a victim</missingDesc>
<id>victim</id>
<maxCount>1</maxCount>
<required>true</required>
<countsAsParticipant>False</countsAsParticipant>
<ignoreBleeding>true</ignoreBleeding>
<allowNonAggroMentalState>true</allowNonAggroMentalState>
<allowOtherIdeos>true</allowOtherIdeos>
</li>
</roles>
<stages Inherit="False">
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithVictim">
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_PawnDeliveredOrNotValid"/>
</endTriggers>
<failTriggers>
<li Class="StageFailTrigger_TargetPawnUnreachable">
<takerId>initiator</takerId>
<takeeId>victim</takeeId>
<desc>Victim is not reachable.</desc>
</li>
</failTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>DeliverPawnToAltar</dutyDef>
</li>
<li>
<roleId>victim</roleId>
<dutyDef>Idle</dutyDef>
</li>
</roleBehaviors>
</li>
<li>
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Gangbang</speakerInteraction>
<customPositions>
<li Class="RitualPosition_Lectern">
<maxDistanceToFocus>5</maxDistanceToFocus>
</li>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
<li>
<roleId>victim</roleId>
<dutyDef>LayDownAwake</dutyDef>
</li>
</roleBehaviors>
</li>
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithVictim">
<defaultDuty>Gangbang_Rape</defaultDuty>
<essential>True</essential>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.9</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>FuckVictim</dutyDef>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
</roleBehaviors>
</li>
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithVictim">
<defaultDuty>Gangbang_Rape</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Gangbang</speakerInteraction>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
</roleBehaviors>
</li>
</stages>
</RitualBehaviorDef>
<RitualBehaviorDef ParentName="GangbangBehaviorBase">
<defName>Gangbang_Consensual</defName>
<workerClass>RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang_Consensual</workerClass>
<stages Inherit="False">
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithInitiator">
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_RolesArrived">
<roleIds>
<li>initiator</li>
</roleIds>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>ArriveToCell</dutyDef>
</li>
</roleBehaviors>
</li>
<li>
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Gangbang</speakerInteraction>
<customPositions>
<li Class="RitualPosition_Lectern">
<maxDistanceToFocus>5</maxDistanceToFocus>
</li>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
</roleBehaviors>
</li>
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithInitiator">
<defaultDuty>Gangbang_Consensual</defaultDuty>
<essential>True</essential>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>1.0</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>LayDownAwake</dutyDef>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
</roleBehaviors>
</li>
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithInitiator">
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Gangbang</speakerInteraction>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
</roleBehaviors>
</li>
</stages>
</RitualBehaviorDef>
<RitualBehaviorDef ParentName="GangbangBehaviorBase">
<defName>GangbangByAnimal</defName>
<workerClass>RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang</workerClass>
<roles>
<li Class="RJWSexperience.Ideology.RitualRole_HumanBreedee">
<label>breedee</label>
<missingDesc>a breedee who will be fucked by animal</missingDesc>
<id>victim</id>
<maxCount>1</maxCount>
<required>True</required>
<countsAsParticipant>False</countsAsParticipant>
<ignoreBleeding>true</ignoreBleeding>
</li>
<li Class="RJWSexperience.Ideology.RitualRole_AnimalBreeder">
<label>breeder</label>
<id>animal</id>
<maxCount>30</maxCount>
<required>false</required>
<missingDesc>a breedable animal</missingDesc>
<countsAsParticipant>false</countsAsParticipant>
</li>
</roles>
<stages Inherit="False">
<li Class="RitualStage_InteractWithRole">
<targets>
<li>
<pawnId>initiator</pawnId>
<targetId>victim</targetId>
</li>
</targets>
<defaultDuty>Spectate</defaultDuty>
<spectateDistanceOverride>5~7</spectateDistanceOverride>
<failTriggers>
<li Class="StageFailTrigger_TargetPawnUnreachable">
<takerId>initiator</takerId>
<takeeId>victim</takeeId>
<desc>Victim is not reachable.</desc>
</li>
</failTriggers>
<endTriggers>
<li Class="StageEndTrigger_RolesArrived">
<roleIds>
<li>initiator</li>
</roleIds>
<clearTag>true</clearTag>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>DeliverPawnToCellIfAliveThenIdle</dutyDef>
<customPositions>
<li Class="RitualPosition_DuelistStart">
<distFromTarget>2</distFromTarget>
<duelistIndex>0</duelistIndex>
</li>
</customPositions>
</li>
<li>
<roleId>victim</roleId>
<dutyDef>Idle</dutyDef>
</li>
</roleBehaviors>
</li>
<li>
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Zoophile</speakerInteraction>
<customPositions>
<li Class="RitualPosition_Lectern">
<maxDistanceToFocus>5</maxDistanceToFocus>
</li>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
<li>
<roleId>animal</roleId>
<dutyDef>Spectate</dutyDef>
</li>
<li>
<roleId>victim</roleId>
<dutyDef>LayDownAwake</dutyDef>
</li>
</roleBehaviors>
</li>
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithVictim_All">
<defaultDuty>Spectate</defaultDuty>
<essential>True</essential>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.9</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>animal</roleId>
<dutyDef>Gangbang_Rape</dutyDef>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
<li>
<roleId>victim</roleId>
<dutyDef>LayDownAwake</dutyDef>
</li>
</roleBehaviors>
</li>
<li>
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Zoophile</speakerInteraction>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
<li>
<roleId>victim</roleId>
<dutyDef>LayDownAwake</dutyDef>
</li>
</roleBehaviors>
</li>
</stages>
</RitualBehaviorDef>
<RitualBehaviorDef ParentName="GangbangBehaviorBase">
<defName>GangbangByAnimal_Consensual</defName>
<workerClass>RJWSexperience.Ideology.RitualBehaviorWorker_Gangbang_Consensual</workerClass>
<roles>
<li Class="RJWSexperience.Ideology.RitualRole_AnimalBreeder">
<label>breeder</label>
<id>animal</id>
<maxCount>30</maxCount>
<required>false</required>
<missingDesc>a breedable animal</missingDesc>
<countsAsParticipant>false</countsAsParticipant>
</li>
</roles>
<stages Inherit="False">
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithInitiator">
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_RolesArrived">
<roleIds>
<li>initiator</li>
</roleIds>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>ArriveToCell</dutyDef>
</li>
</roleBehaviors>
</li>
<li>
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Zoophile</speakerInteraction>
<customPositions>
<li Class="RitualPosition_Lectern">
<maxDistanceToFocus>5</maxDistanceToFocus>
</li>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
<li>
<roleId>animal</roleId>
<dutyDef>Spectate</dutyDef>
</li>
</roleBehaviors>
</li>
<li Class="RJWSexperience.Ideology.RitualStage_InteractWithInitiator">
<defaultDuty>Spectate</defaultDuty>
<essential>True</essential>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.9</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>animal</roleId>
<dutyDef>Gangbang_Consensual</dutyDef>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
<li>
<roleId>initiator</roleId>
<dutyDef>LayDownAwake</dutyDef>
</li>
</roleBehaviors>
</li>
<li>
<defaultDuty>Spectate</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>0.1</percentage>
</li>
</endTriggers>
<roleBehaviors>
<li>
<roleId>initiator</roleId>
<dutyDef>SpeakOnCellFacingSpectators</dutyDef>
<speakerInteraction>Speech_Zoophile</speakerInteraction>
<customPositions>
<li Class="RitualPosition_OnInteractionCell" />
</customPositions>
</li>
</roleBehaviors>
</li>
</stages>
</RitualBehaviorDef>
<RitualBehaviorDef ParentName="DateRitualBehavior">
<defName>DrugOrgy</defName>
<durationTicks>7500</durationTicks>
<roles Inherit="False"/>
<spectatorsLabel>Participants</spectatorsLabel>
<spectatorGerund>participate</spectatorGerund>
<stages Inherit="False">
<li>
<defaultDuty>DrugOrgy</defaultDuty>
<endTriggers>
<li Class="StageEndTrigger_DurationPercentage">
<percentage>1.0</percentage>
</li>
</endTriggers>
</li>
</stages>
</RitualBehaviorDef>
</Defs>

View file

@ -0,0 +1,400 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RitualOutcomeEffectDef>
<defName>Gangbang</defName>
<description>Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.</description>
<workerClass>RitualOutcomeEffectWorker_Consumable</workerClass>
<extraPredictedOutcomeDescriptions>
<li>If the {0} is satisfying, one of the participants might gain an inspiration.</li>
</extraPredictedOutcomeDescriptions>
<comps>
<li Class="RitualOutcomeComp_RolePresentNotSubstituted">
<roleId>initiator</roleId>
<label>moral guide present</label>
<qualityOffset>0.10</qualityOffset>
</li>
<li Class="RitualOutcomeComp_ParticipantCount">
<label>participant count</label>
<curve>
<points>
<li>(1, -0.20)</li>
<li>(3, -0.05)</li>
<li>(5, 0.05)</li>
<li>(10, 0.10)</li>
</points>
</curve>
</li>
<li Class="RitualOutcomeComp_RitualTargetDefs">
<allowAltars>true</allowAltars>
<label>started at altar</label>
<qualityOffset>0.2</qualityOffset>
<expectedThingLabelTip>an altar</expectedThingLabelTip>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_HediffBased">
<label>victim broken</label>
<qualityOffset>0.15</qualityOffset>
<hediffDef>FeelingBroken</hediffDef>
<minSeverity>0.3</minSeverity>
<roleId>victim</roleId>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_HediffBased">
<label>victim extremly broken</label>
<qualityOffset>0.15</qualityOffset>
<hediffDef>FeelingBroken</hediffDef>
<minSeverity>0.5</minSeverity>
<roleId>victim</roleId>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_HediffBased">
<label>victim completely broken</label>
<qualityOffset>0.3</qualityOffset>
<hediffDef>FeelingBroken</hediffDef>
<minSeverity>0.9</minSeverity>
<roleId>victim</roleId>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_NeedBased">
<label>statisfied participants</label>
<qualityOffset>0.4</qualityOffset>
<needDef>Sex</needDef>
<minAvgNeed>0.7</minAvgNeed>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_NeedBased">
<label>completly statisfied participants</label>
<qualityOffset>0.4</qualityOffset>
<needDef>Sex</needDef>
<minAvgNeed>0.9</minAvgNeed>
</li>
</comps>
<outcomeChances>
<li>
<label>Terrible</label>
<chance>0.05</chance>
<memory>TerribleGangbang</memory>
<description>The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.</description>
<positivityIndex>-2</positivityIndex>
</li>
<li>
<label>Boring</label>
<chance>0.10</chance>
<memory>BoringGangbang</memory>
<description>The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.</description>
<positivityIndex>-1</positivityIndex>
</li>
<li>
<label>Satisfying</label>
<chance>0.6</chance>
<memory>FunGangbang</memory>
<description>The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.</description>
<potentialExtraOutcomeDesc>There's a 5% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>1</positivityIndex>
</li>
<li>
<label>Spectacular</label>
<chance>0.25</chance>
<memory>UnforgettableGangbang</memory>
<description>The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.</description>
<potentialExtraOutcomeDesc>There's a 10% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>2</positivityIndex>
</li>
</outcomeChances>
</RitualOutcomeEffectDef>
<RitualOutcomeEffectDef>
<defName>Gangbang_Consensual</defName>
<description>Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.</description>
<workerClass>RitualOutcomeEffectWorker_Consumable</workerClass>
<extraPredictedOutcomeDescriptions>
<li>If the {0} is satisfying, one of the participants might gain an inspiration.</li>
</extraPredictedOutcomeDescriptions>
<comps>
<li Class="RitualOutcomeComp_RolePresentNotSubstituted">
<roleId>initiator</roleId>
<label>moral guide present</label>
<qualityOffset>0.10</qualityOffset>
</li>
<li Class="RitualOutcomeComp_ParticipantCount">
<label>participant count</label>
<curve>
<points>
<li>(1, -0.20)</li>
<li>(3, -0.05)</li>
<li>(5, 0.05)</li>
<li>(10, 0.10)</li>
</points>
</curve>
</li>
<li Class="RitualOutcomeComp_RitualTargetDefs">
<allowAltars>true</allowAltars>
<label>started at altar</label>
<qualityOffset>0.2</qualityOffset>
<expectedThingLabelTip>an altar</expectedThingLabelTip>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_NeedBased">
<label>statisfied participants</label>
<qualityOffset>0.4</qualityOffset>
<needDef>Sex</needDef>
<minAvgNeed>0.7</minAvgNeed>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_NeedBased">
<label>completly statisfied participants</label>
<qualityOffset>1.0</qualityOffset>
<needDef>Sex</needDef>
<minAvgNeed>0.8</minAvgNeed>
</li>
</comps>
<outcomeChances>
<li>
<label>Terrible</label>
<chance>0.05</chance>
<memory>TerribleGangbang</memory>
<description>The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.</description>
<positivityIndex>-2</positivityIndex>
</li>
<li>
<label>Boring</label>
<chance>0.10</chance>
<memory>BoringGangbang</memory>
<description>The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.</description>
<positivityIndex>-1</positivityIndex>
</li>
<li>
<label>Satisfying</label>
<chance>0.6</chance>
<memory>FunGangbang</memory>
<description>The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.</description>
<potentialExtraOutcomeDesc>There's a 5% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>1</positivityIndex>
</li>
<li>
<label>Spectacular</label>
<chance>0.25</chance>
<memory>UnforgettableGangbang</memory>
<description>The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.</description>
<potentialExtraOutcomeDesc>There's a 10% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>2</positivityIndex>
</li>
</outcomeChances>
</RitualOutcomeEffectDef>
<RitualOutcomeEffectDef>
<defName>BestialGangbang</defName>
<description>Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.</description>
<workerClass>RitualOutcomeEffectWorker_Consumable</workerClass>
<extraPredictedOutcomeDescriptions>
<li>If the {0} is satisfying, one of the participants might gain an inspiration.</li>
</extraPredictedOutcomeDescriptions>
<comps>
<li Class="RitualOutcomeComp_RolePresentNotSubstituted">
<roleId>initiator</roleId>
<label>moral guide present</label>
<qualityOffset>0.10</qualityOffset>
</li>
<li Class="RitualOutcomeComp_ParticipantCount">
<label>participant count</label>
<curve>
<points>
<li>(1, -0.50)</li>
<li>(3, -0.30)</li>
<li>(5, -0.15)</li>
<li>(10, -0.10)</li>
</points>
</curve>
</li>
<li Class="RitualOutcomeComp_RitualTargetDefs">
<allowAltars>true</allowAltars>
<label>started at altar</label>
<qualityOffset>0.2</qualityOffset>
<expectedThingLabelTip>an altar</expectedThingLabelTip>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_HediffBased">
<label>breedee broken</label>
<qualityOffset>0.45</qualityOffset>
<hediffDef>FeelingBroken</hediffDef>
<minSeverity>0.3</minSeverity>
<roleId>victim</roleId>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_HediffBased">
<label>breedee extremly broken</label>
<qualityOffset>0.45</qualityOffset>
<hediffDef>FeelingBroken</hediffDef>
<minSeverity>0.5</minSeverity>
<roleId>victim</roleId>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_HediffBased">
<label>breedee completely broken</label>
<qualityOffset>0.8</qualityOffset>
<hediffDef>FeelingBroken</hediffDef>
<minSeverity>0.9</minSeverity>
<roleId>victim</roleId>
</li>
</comps>
<outcomeChances>
<li>
<label>Terrible</label>
<chance>0.05</chance>
<memory>TerribleGangbang</memory>
<description>The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.</description>
<positivityIndex>-2</positivityIndex>
</li>
<li>
<label>Boring</label>
<chance>0.10</chance>
<memory>BoringGangbang</memory>
<description>The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.</description>
<positivityIndex>-1</positivityIndex>
</li>
<li>
<label>Satisfying</label>
<chance>0.65</chance>
<memory>FunGangbang</memory>
<description>The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.</description>
<potentialExtraOutcomeDesc>There's a 5% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>1</positivityIndex>
</li>
<li>
<label>Spectacular</label>
<chance>0.2</chance>
<memory>UnforgettableGangbang</memory>
<description>The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.</description>
<potentialExtraOutcomeDesc>There's a 10% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>2</positivityIndex>
</li>
</outcomeChances>
</RitualOutcomeEffectDef>
<RitualOutcomeEffectDef>
<defName>BestialGangbang_Consensual</defName>
<description>Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.</description>
<workerClass>RitualOutcomeEffectWorker_Consumable</workerClass>
<extraPredictedOutcomeDescriptions>
<li>If the {0} is satisfying, one of the participants might gain an inspiration.</li>
</extraPredictedOutcomeDescriptions>
<comps>
<li Class="RitualOutcomeComp_RolePresentNotSubstituted">
<roleId>initiator</roleId>
<label>moral guide present</label>
<qualityOffset>0.10</qualityOffset>
</li>
<li Class="RitualOutcomeComp_ParticipantCount">
<label>participant count</label>
<curve>
<points>
<li>(1, 0.20)</li>
<li>(3, 0.40)</li>
<li>(5, 0.65)</li>
<li>(10, 1.20)</li>
</points>
</curve>
</li>
<li Class="RitualOutcomeComp_RitualTargetDefs">
<allowAltars>true</allowAltars>
<label>started at altar</label>
<qualityOffset>0.2</qualityOffset>
<expectedThingLabelTip>an altar</expectedThingLabelTip>
</li>
</comps>
<outcomeChances>
<li>
<label>Terrible</label>
<chance>0.05</chance>
<memory>TerribleGangbang</memory>
<description>The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.</description>
<positivityIndex>-2</positivityIndex>
</li>
<li>
<label>Boring</label>
<chance>0.10</chance>
<memory>BoringGangbang</memory>
<description>The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.</description>
<positivityIndex>-1</positivityIndex>
</li>
<li>
<label>Satisfying</label>
<chance>0.65</chance>
<memory>FunGangbang</memory>
<description>The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.</description>
<potentialExtraOutcomeDesc>There's a 5% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>1</positivityIndex>
</li>
<li>
<label>Spectacular</label>
<chance>0.2</chance>
<memory>UnforgettableGangbang</memory>
<description>The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.</description>
<potentialExtraOutcomeDesc>There's a 10% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>2</positivityIndex>
</li>
</outcomeChances>
</RitualOutcomeEffectDef>
<RitualOutcomeEffectDef>
<defName>DrugOrgy</defName>
<description>Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.</description>
<workerClass>RitualOutcomeEffectWorker_RemoveConsumableBuilding</workerClass>
<extraPredictedOutcomeDescriptions>
<li>If the {0} is satisfying, one of the participants might gain an inspiration.</li>
</extraPredictedOutcomeDescriptions>
<comps>
<li Class="RitualOutcomeComp_DestroyConsumableBuilding" />
<li Class="RitualOutcomeComp_ParticipantCount">
<label>participant count</label>
<curve>
<points>
<li>(1, -0.50)</li>
<li>(3, 0.0)</li>
<li>(5, 0.10)</li>
<li>(10, 0.30)</li>
</points>
</curve>
</li>
<li Class="RitualOutcomeComp_RoomStat">
<label>room impressiveness</label>
<statDef>Impressiveness</statDef>
<curve>
<points>
<li>0, 0</li>
<li>50, 0.1</li>
<li>120, 0.2</li>
</points>
</curve>
</li>
<li Class="RJWSexperience.Ideology.RitualOutcomeComp_NeedBased">
<label>statisfied participants</label>
<qualityOffset>0.7</qualityOffset>
<needDef>Sex</needDef>
<minAvgNeed>0.7</minAvgNeed>
</li>
</comps>
<outcomeChances>
<li>
<label>Terrible</label>
<chance>0.05</chance>
<memory>TerribleOrgy</memory>
<description>The {0} was terrible!</description>
<positivityIndex>-2</positivityIndex>
</li>
<li>
<label>Boring</label>
<chance>0.10</chance>
<memory>BoringOrgy</memory>
<description>The {0} was boring.</description>
<positivityIndex>-1</positivityIndex>
</li>
<li>
<label>Satisfying</label>
<chance>0.6</chance>
<memory>FunOrgy</memory>
<description>The {0} was satisfying.</description>
<potentialExtraOutcomeDesc>There's a 5% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>1</positivityIndex>
</li>
<li>
<label>Spectacular</label>
<chance>0.25</chance>
<memory>UnforgettableOrgy</memory>
<description>The {0} was spectacular!</description>
<potentialExtraOutcomeDesc>There's a 10% chance that a random participant gets an inspiration.</potentialExtraOutcomeDesc>
<positivityIndex>2</positivityIndex>
</li>
</outcomeChances>
</RitualOutcomeEffectDef>
</Defs>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RitualObligationTargetFilterDef>
<defName>RitualSpotOrAltar_Gangbang</defName>
<workerClass>RitualObligationTargetWorker_AnyRitualSpotOrAltar_Scarification</workerClass>
</RitualObligationTargetFilterDef>
<RitualObligationTargetFilterDef>
<defName>DrugOrgy</defName>
<workerClass>RitualObligationTargetWorker_ConsumableBuilding</workerClass>
<thingDefs>
<li>Burnbong_Aphrodisiac</li>
</thingDefs>
</RitualObligationTargetFilterDef>
</Defs>

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="IdeoSmokerBase">
<defName>Burnbong_Aphrodisiac</defName>
<label>lustbong</label>
<description>A wood structure packed with humpshroom. It can be ignited during a ritual and produce a huge amount of humpshroom smoke for a few hours, after which it is destroyed.</description>
<drawerType>RealtimeOnly</drawerType>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Things/Building/Misc/Burnbong/Burnbong</texPath>
<drawSize>(1.2,1.2)</drawSize>
<shadowData>
<volume>(0.92, 1 ,0.92)</volume>
</shadowData>
</graphicData>
<size>(1,1)</size>
<costList>
<WoodLog>30</WoodLog>
<HumpShroom>30</HumpShroom>
</costList>
<killedLeavings>
<HumpShroom>30</HumpShroom>
</killedLeavings>
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
<statBases>
<MaxHitPoints>50</MaxHitPoints>
<WorkToBuild>10000</WorkToBuild>
<Mass>25</Mass>
</statBases>
<comps>
<li Class="CompProperties_RitualTargetEffecterSpawner">
<effecter>BurnbongSmoke</effecter>
</li>
<li Class="CompProperties_FireOverlayRitual">
<fireSize>0.5</fireSize>
<offset>(0, 0, 0.42)</offset>
</li>
<li Class="CompProperties_RitualHediffGiverInRoom">
<hediff>HumpShroomEffect</hediff>
<resetLastRecreationalDrugTick>true</resetLastRecreationalDrugTick>
<minRadius>10</minRadius>
<severity>0.01</severity>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>Autobong_Aphrodisiac</defName>
<label>estro-bong</label>
<description>An automatic humpshroom-burning device which generates an estro-smoke cloud around itself. Anyone in the cloud will become horny over time.</description>
<category>Building</category>
<graphicData>
<texPath>Things/Building/Misc/Autobong/Autobong</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(2,2)</drawSize>
<shaderType>CutoutComplex</shaderType>
</graphicData>
<uiIconPath>Things/Building/Misc/Autobong/Autobong</uiIconPath>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>42</pathCost>
<tickerType>Normal</tickerType>
<drawerType>RealtimeOnly</drawerType>
<fillPercent>0.20</fillPercent>
<canGenerateDefaultDesignator>false</canGenerateDefaultDesignator>
<size>(2,2)</size>
<statBases>
<MaxHitPoints>80</MaxHitPoints>
<WorkToBuild>800</WorkToBuild>
</statBases>
<selectable>true</selectable>
<costList>
<HumpShroom>10</HumpShroom>
<ComponentIndustrial>3</ComponentIndustrial>
</costList>
<stuffCategories>
<li>Metallic</li>
<li>Woody</li>
</stuffCategories>
<costStuffCount>100</costStuffCount>
<leaveResourcesWhenKilled>true</leaveResourcesWhenKilled>
<researchPrerequisites>
<li>MicroelectronicsBasics</li>
</researchPrerequisites>
<comps>
<li Class="CompProperties_Refuelable">
<fuelConsumptionRate>0.35</fuelConsumptionRate>
<fuelCapacity>10.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>HumpShroom</li>
</thingDefs>
</fuelFilter>
<initialFuelPercent>1</initialFuelPercent>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<consumeFuelOnlyWhenPowered>true</consumeFuelOnlyWhenPowered>
</li>
<li Class="CompProperties_Glower">
<glowRadius>10</glowRadius>
<glowColor>(252,187,113,0)</glowColor>
</li>
<li>
<compClass>CompGatherSpot</compClass>
</li>
<li Class="CompProperties_Power">
<compClass>CompPowerTrader</compClass>
<basePowerConsumption>150</basePowerConsumption>
<shortCircuitInRain>true</shortCircuitInRain>
</li>
<li Class="CompProperties_Flickable"/>
<li Class="CompProperties_GiveHediffSeverity">
<hediff>HumpShroomEffect</hediff>
<range>4.9</range>
<severityPerSecond>0.005</severityPerSecond>
<drugExposure>true</drugExposure>
</li>
<li Class="CompProperties_SmokeCloudMaker">
<sourceStreamEffect>BurnbongSmoke</sourceStreamEffect>
<cloudRadius>4.9</cloudRadius>
<fleckScale>4</fleckScale>
<cloudFleck>AutobongSmoke</cloudFleck>
<fleckSpawnMTB>25</fleckSpawnMTB>
</li>
</comps>
<designationCategory>Misc</designationCategory>
<drawPlaceWorkersWhileSelected>true</drawPlaceWorkersWhileSelected>
<placeWorkers>
<li>PlaceWorker_SmokeCloudMaker</li>
</placeWorkers>
</ThingDef>
</Defs>

View file

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThoughtDef>
<defName>TerribleGangbang</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>terrible gangbang</label>
<description>That gangbang was terrible. ugh.</description>
<baseMoodEffect>-3</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>BoringGangbang</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>boring gangbang</label>
<description>That gangbang was not good. Wish I never went.</description>
<baseMoodEffect>-1</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>FunGangbang</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>fun gangbang</label>
<description>That was a fun gangbang. It really satisfied me.</description>
<baseMoodEffect>8</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>UnforgettableGangbang</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>unforgettable gangbang</label>
<description>That gangbang was awesome! Everything was perfect.</description>
<baseMoodEffect>16</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>TerribleOrgy</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>terrible orgy</label>
<description>That orgy was terrible. ugh.</description>
<baseMoodEffect>-3</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>BoringOrgy</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>boring orgy</label>
<description>That orgy was not good. Wish I never went.</description>
<baseMoodEffect>-1</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>FunOrgy</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>fun orgy</label>
<description>That was a fun orgy. It really satisfied me.</description>
<baseMoodEffect>8</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>UnforgettableOrgy</defName>
<thoughtClass>Thought_AttendedRitual</thoughtClass>
<durationDays>6</durationDays>
<stackLimit>3</stackLimit>
<stages>
<li>
<label>unforgettable orgy</label>
<description>That orgy was awesome! Everything was perfect.</description>
<baseMoodEffect>16</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Masturbation_AutoBreastjob" or defName="Masturbation_AutoFellatio" or defName="Masturbation_Breastjob" or defName="Masturbation_HandjobA" or defName="Masturbation_HandjobP" or defName="Masturbation_HandjobV"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_Masturbated</li>
</pawnEvents>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Necro_Anal" or defName="Necro_DoublePenetration" or defName="Necro_DoublePenetrationM" or defName="Necro_Vaginal"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_SexWithCorpse</li>
</pawnEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Necro_Reverse_Anal" or defName="Necro_Reverse_DoublePenetration" or defName="Necro_Reverse_DoublePenetrationM" or defName="Necro_Reverse_Vaginal"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_SexWithCorpse</li>
</pawnEvents>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Vaginal"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_VaginalSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_VaginalSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Anal" or defName="Rape_Rimming"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_AnalSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_AnalSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Beakjob" or defName="Rape_Cunnilingus" or defName="Rape_Fellatio" or defName="Rape_Oral"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_OralSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_OralSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Breastjob" or defName="Rape_Fingering" or defName="Rape_Footjob" or defName="Rape_Handjob"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_MiscSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_MiscSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_DoublePenetration" or defName="Rape_DoublePenetrationM" or defName="Rape_Fisting" or defName="Rape_Scissoring"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_PromiscuousSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_PromiscuousSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Vaginal"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_VaginalSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_VaginalSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Anal" or defName="Rape_Reverse_Rimming"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_AnalSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_AnalSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Beakjob" or defName="Rape_Reverse_Cunnilingus" or defName="Rape_Reverse_Fellatio"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_OralSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_OralSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Reverse_Breastjob" or defName="Rape_Reverse_Fingering" or defName="Rape_Reverse_Footjob" or defName="Rape_Reverse_Handjob"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_MiscSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_MiscSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Rape_Reverse_DoublePenetration" or defName="Rape_Reverse_DoublePenetrationM" or defName="Rape_Reverse_Fisting" or defName="Rape_Reverse_Scissoring"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_PromiscuousSex</li>
<li>RSI_Raped</li>
</pawnEvents>
<partnerEvents>
<!--<li>RSI_PromiscuousSex</li>-->
<li>RSI_WasRaped</li>
</partnerEvents>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Vaginal"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_VaginalSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_VaginalSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Anal" or defName="Sex_Rimming"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_AnalSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_AnalSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Beakjob" or defName="Sex_Cunnilingus" or defName="Sex_Fellatio" or defName="Sex_Makeout" or defName="Sex_Sixtynine"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_OralSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_OralSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Breastjob" or defName="Sex_Fingering" or defName="Sex_Footjob" or defName="Sex_Handjob" or defName="Sex_MutualHandholding" or defName="Sex_MutualMasturbation" or defName="Sex_MutualTailholding"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_MiscSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_MiscSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_DoublePenetration" or defName="Sex_DoublePenetrationM" or defName="Sex_Fisting" or defName="Sex_Scissoring"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_PromiscuousSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_PromiscuousSex</li>
</partnerEvents>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Reverse_Vaginal"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_VaginalSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_VaginalSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Reverse_Anal" or defName="Sex_Reverse_Rimming"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_AnalSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_AnalSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Reverse_Beakjob" or defName="Sex_Reverse_Cunnilingus" or defName="Sex_Reverse_Fellatio"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_OralSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_OralSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Reverse_Breastjob" or defName="Sex_Reverse_Fingering" or defName="Sex_Reverse_Footjob" or defName="Sex_Reverse_Handjob"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_MiscSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_MiscSex</li>
</partnerEvents>
</li>
</value>
</Operation>
<Operation Class="PatchOperationAddModExtension">
<xpath>/Defs/InteractionDef[defName="Sex_Reverse_DoublePenetration" or defName="Sex_Reverse_DoublePenetrationM" or defName="Sex_Reverse_Fisting"]</xpath>
<value>
<li Class="RJWSexperience.Ideology.InteractionDefExtension_HistoryEvents">
<pawnEvents>
<li>RSI_PromiscuousSex</li>
</pawnEvents>
<partnerEvents>
<li>RSI_PromiscuousSex</li>
</partnerEvents>
</li>
</value>
</Operation>
</Patch>

47
1.5/Patches/RJW_Drugs.xml Normal file
View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationReplace">
<xpath>Defs/HediffDef[defName="HumpShroomEffect"]/stages</xpath>
<value>
<stages>
<li>
<label>lingering</label>
<statOffsets>
<SexFrequency>1.25</SexFrequency>
<SexSatisfaction>0.25</SexSatisfaction>
</statOffsets>
</li>
<li>
<minSeverity>0.3</minSeverity>
<label>mild</label>
<restFallFactor>1.1</restFallFactor>
<statOffsets>
<SexFrequency>2</SexFrequency>
<SexSatisfaction>0.5</SexSatisfaction>
</statOffsets>
</li>
<li>
<minSeverity>0.6</minSeverity>
<label>moderate</label>
<restFallFactor>1.33</restFallFactor>
<statOffsets>
<SexFrequency>3</SexFrequency>
<SexSatisfaction>0.75</SexSatisfaction>
</statOffsets>
</li>
<li>
<minSeverity>0.9</minSeverity>
<label>high</label>
<restFallFactor>1.33</restFallFactor>
<statOffsets>
<SexFrequency>5</SexFrequency>
<SexSatisfaction>1.5</SexSatisfaction>
</statOffsets>
</li>
</stages>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>Defs/PreceptDef[defName="Corpses_DontCare"]/requiredMemes</xpath>
<value>
<li>Necrophile</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/PreceptDef[defName="Corpses_DontCare"]/associatedMemes</xpath>
<value>
<li>Necrophile</li>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/PreceptDef[defName="Lovin_FreeApproved"]</xpath>
<value>
<statOffsets>
<SexFrequency>0.5</SexFrequency>
<SexAbility MayRequire="rjw.sexperience">0.25</SexAbility>
</statOffsets>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>Defs/StatDef[defName="Vulnerability"]/parts</xpath>
<value>
<li Class="RJWSexperience.Ideology.StatPart_GenderPrimacy">
<modifier>0.5</modifier>
</li>
</value>
</Operation>
</Patch>

View file

@ -0,0 +1,114 @@
<?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_BondOnly</li>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</li>
</nullifyingPrecepts>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="GotAnalBredByAnimal"]</xpath>
<value>
<nullifyingPrecepts>
<li>Bestiality_OnlyVenerated</li>
<li>Bestiality_BondOnly</li>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</li>
</nullifyingPrecepts>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="AllowedAnimalToBreed"]</xpath>
<value>
<nullifyingPrecepts>
<li>Bestiality_OnlyVenerated</li>
<li>Bestiality_BondOnly</li>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</li>
</nullifyingPrecepts>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="GotLickedByAnimal"]</xpath>
<value>
<nullifyingPrecepts>
<li>Bestiality_OnlyVenerated</li>
<li>Bestiality_BondOnly</li>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</li>
</nullifyingPrecepts>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="GotGropedByAnimal"]</xpath>
<value>
<nullifyingPrecepts>
<li>Bestiality_OnlyVenerated</li>
<li>Bestiality_BondOnly</li>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</li>
</nullifyingPrecepts>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="AllowedAnimalToGrope"]</xpath>
<value>
<nullifyingPrecepts>
<li>Bestiality_OnlyVenerated</li>
<li>Bestiality_BondOnly</li>
<li>Bestiality_Honorable</li>
<li>Bestiality_Acceptable</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>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]</xpath>
<value>
<nullifyingPrecepts>
<li>Submissive_Male</li>
<li>Submissive_Female</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]/nullifyingPrecepts</xpath>
<value>
<li>Submissive_Male</li>
<li>Submissive_Female</li>
</value>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="MyKinDied" or defName="MyCousinDied" or defName="MyGrandparentDied" or defName="MyUncleDied" or defName="MyAuntDied" or defName="MyHalfSiblingDied" or defName="MyNephewDied" or defName="MyNieceDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied"]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyKinDied" or defName="MyCousinDied" or defName="MyGrandparentDied" or defName="MyUncleDied" or defName="MyAuntDied" or defName="MyHalfSiblingDied" or defName="MyNephewDied" or defName="MyNieceDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied"]</xpath>
<value>
<nullifyingPrecepts>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
<li>SocialAffection_Small</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyKinDied" or defName="MyCousinDied" or defName="MyGrandparentDied" or defName="MyUncleDied" or defName="MyAuntDied" or defName="MyHalfSiblingDied" or defName="MyNephewDied" or defName="MyNieceDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied" or defName="MyHalfSiblingDied"]/nullifyingPrecepts</xpath>
<value>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
<li>SocialAffection_Small</li>
</value>
</match>
</Operation>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="MyMotherDied" or defName="MyFatherDied" or defName="MyGrandchildDied" or defName="MySisterDied" or defName="MyBrotherDied" or defName="MyDaughterDied" or defName="MySonDied" or defName="WitnessedDeathFamily" or defName="MyPupDied" or defName="MyPupDiedFemale" or defName="KilledMyPup" or defName="KilledMyPupFemale" or defName="SoldMyPup" ]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyMotherDied" or defName="MyFatherDied" or defName="MyGrandchildDied" or defName="MySisterDied" or defName="MyBrotherDied" or defName="MyDaughterDied" or defName="MySonDied" or defName="WitnessedDeathFamily" or defName="MyPupDied" or defName="MyPupDiedFemale" or defName="KilledMyPup" or defName="KilledMyPupFemale" or defName="SoldMyPup"]</xpath>
<value>
<nullifyingPrecepts>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyMotherDied" or defName="MyFatherDied" or defName="MyGrandchildDied" or defName="MySisterDied" or defName="MyBrotherDied" or defName="MyDaughterDied" or defName="MySonDied" or defName="WitnessedDeathFamily" or defName="MyPupDied" or defName="MyPupDiedFemale" or defName="KilledMyPup" or defName="KilledMyPupFemale" or defName="SoldMyPup"]/nullifyingPrecepts</xpath>
<value>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
</value>
</match>
</Operation>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="KnowGuestExecuted" or defName="KnowColonistExecuted" or defName="KnowPrisonerDiedInnocent" or defName="KnowColonistDied" or defName="PawnWithGoodOpinionDied" or defName="PawnWithBadOpinionDied" or defName="WitnessedDeathAlly" or defName="WitnessedDeathNonAlly" or defName="ColonistBanishedToDie" or defName="PrisonerBanishedToDie" or defName="ColonistBanishedToDie" or defName="ColonistLeftUnburied"]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowGuestExecuted" or defName="KnowColonistExecuted" or defName="KnowPrisonerDiedInnocent" or defName="KnowColonistDied" or defName="PawnWithGoodOpinionDied" or defName="PawnWithBadOpinionDied" or defName="WitnessedDeathAlly" or defName="WitnessedDeathNonAlly" or defName="ColonistBanishedToDie" or defName="PrisonerBanishedToDie" or defName="ColonistBanishedToDie" or defName="ColonistLeftUnburied"]</xpath>
<value>
<nullifyingPrecepts>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_OnlyFamily</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="KnowGuestExecuted" or defName="KnowColonistExecuted" or defName="KnowPrisonerDiedInnocent" or defName="KnowColonistDied" or defName="PawnWithGoodOpinionDied" or defName="PawnWithBadOpinionDied" or defName="WitnessedDeathAlly" or defName="WitnessedDeathNonAlly" or defName="ColonistBanishedToDie" or defName="PrisonerBanishedToDie" or defName="ColonistBanishedToDie" or defName="ColonistLeftUnburied"]/nullifyingPrecepts</xpath>
<value>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_OnlyFamily</li>
</value>
</match>
</Operation>
</Patch>

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<Patch>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="MyKinLost" or defName="MyCousinLost" or defName="MyGrandparentLost" or defName="MyUncleLost" or defName="MyAuntLost" or defName="MyHalfSiblingLost" or defName="MyNephewLost" or defName="MyNieceLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost"]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyKinLost" or defName="MyCousinLost" or defName="MyGrandparentLost" or defName="MyUncleLost" or defName="MyAuntLost" or defName="MyHalfSiblingLost" or defName="MyNephewLost" or defName="MyNieceLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost"]</xpath>
<value>
<nullifyingPrecepts>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
<li>SocialAffection_Small</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyKinLost" or defName="MyCousinLost" or defName="MyGrandparentLost" or defName="MyUncleLost" or defName="MyAuntLost" or defName="MyHalfSiblingLost" or defName="MyNephewLost" or defName="MyNieceLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost" or defName="MyHalfSiblingLost"]/nullifyingPrecepts</xpath>
<value>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
<li>SocialAffection_Small</li>
</value>
</match>
</Operation>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]</xpath>
<value>
<nullifyingPrecepts>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]/nullifyingPrecepts</xpath>
<value>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_Dry</li>
</value>
</match>
</Operation>
<Operation Class="PatchOperationConditional">
<xpath>Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]/nullifyingPrecepts</xpath>
<nomatch Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]</xpath>
<value>
<nullifyingPrecepts>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_OnlyFamily</li>
</nullifyingPrecepts>
</value>
</nomatch>
<match Class="PatchOperationAdd">
<xpath>Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]/nullifyingPrecepts</xpath>
<value>
<li>SocialAffection_Psychopath</li>
<li>SocialAffection_OnlyFamily</li>
</value>
</match>
</Operation>
</Patch>

View file

@ -1,35 +1,38 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ModMetaData> <ModMetaData>
<name>RJW Sexperience Ideology</name> <name>RJW Sexperience Ideology</name>
<author>aamevarashi</author> <author>amevarashi</author>
<supportedVersions> <supportedVersions>
<li>1.3</li> <li>1.3</li>
<li>1.4</li> <li>1.4</li>
</supportedVersions> <li>1.5</li>
<modDependencies> </supportedVersions>
<li> <modVersion>1.5.1.1</modVersion>
<packageId>Ludeon.RimWorld.Ideology</packageId> <modDependencies>
<displayName>Ideology</displayName> <li>
</li> <packageId>Ludeon.RimWorld.Ideology</packageId>
<li> <displayName>Ideology</displayName>
<packageId>brrainz.harmony</packageId> </li>
<displayName>Harmony</displayName> <li>
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl> <packageId>brrainz.harmony</packageId>
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl> <displayName>Harmony</displayName>
</li> <steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
<li> <downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
<packageId>rim.job.world</packageId> </li>
<displayName>RimJobWorld</displayName> <li>
<downloadUrl>https://gitgud.io/Ed86/rjw</downloadUrl> <packageId>rim.job.world</packageId>
</li> <displayName>RimJobWorld</displayName>
</modDependencies> <downloadUrl>https://gitgud.io/Ed86/rjw</downloadUrl>
<loadAfter> </li>
<li>Ludeon.RimWorld.Ideology</li> </modDependencies>
<li>brrainz.harmony</li> <loadAfter>
<li>rim.job.world</li> <li>Ludeon.RimWorld.Ideology</li>
</loadAfter> <li>brrainz.harmony</li>
<packageId>rjw.sexperience.ideology</packageId> <li>rim.job.world</li>
<description><![CDATA[ </loadAfter>
<packageId>rjw.sexperience.ideology</packageId>
<url>https://gitgud.io/amevarashi/rjw-sexperience-ideology</url>
<description><![CDATA[
This is a submod for RJW that adds: This is a submod for RJW that adds:
Ideology content: Ideology content:
- Memes: lewd, rapist, zoophile and necrophile memes - Memes: lewd, rapist, zoophile and necrophile memes
@ -41,6 +44,5 @@ Credits:
moreorganstodump Original Author moreorganstodump Original Author
c0ffee RJW 4.9.0 update c0ffee RJW 4.9.0 update
Hawkeye32 Bound Only bestiality precept Hawkeye32 Bound Only bestiality precept
Twonki Pregnancy, Sex Proselyzing and Size Matters precepts]]> Twonki Pregnancy, Sex Proselyzing and Size Matters precepts]]></description>
</description>
</ModMetaData> </ModMetaData>

View file

@ -1,15 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest> <Manifest>
<identifier>RJWSexperienceIdeology</identifier> <identifier>RJWSexperienceIdeology</identifier>
<version>1.4.1.0</version> <version>1.5.1.1</version>
<dependencies> <dependencies>
<li>RimJobWorld >= 5.3.0</li> <li>RimJobWorld &gt;= 5.3.0</li>
</dependencies> </dependencies>
<incompatibleWith />
<loadAfter>
</loadAfter>
<suggests>
</suggests>
<manifestUri>https://gitgud.io/amevarashi/rjw-sexperience-ideology/-/raw/master/About/Manifest.xml</manifestUri> <manifestUri>https://gitgud.io/amevarashi/rjw-sexperience-ideology/-/raw/master/About/Manifest.xml</manifestUri>
<downloadUri>https://gitgud.io/amevarashi/rjw-sexperience-ideology</downloadUri> <downloadUri>https://gitgud.io/amevarashi/rjw-sexperience-ideology</downloadUri>
</Manifest> </Manifest>

View file

@ -1,8 +1,16 @@
## Version 1.5.1.1
* Changed size matters precepts for futanari: now they only check penis size and do not reverse it
## Version 1.5.1.0
* Rimworld 1.5
## Version 1.4.1.0 ## Version 1.4.1.0
* Changed to a new versioning system. Now the first two digits are a Rimworld version, followed by the major and minor version of the mod. * Changed to a new versioning system. Now the first two digits are a Rimworld version, followed by the major and minor version of the mod.
* Fixed: Pawns raping despite Rape-Abhorrent precept * Fixed: Pawns raping despite Rape-Abhorrent precept
## Version 1.0.2.1 ## Version 1.0.2.1
* Fixed SecondaryRomanceChanceFactor patch * Fixed SecondaryRomanceChanceFactor patch
## Version 1.0.2.0 ## Version 1.0.2.0
* Removed Incestuos_IncestOnly conflict with Zoophile * Removed Incestuos_IncestOnly conflict with Zoophile
* Patched manual romance to respect incestuous precepts * Patched manual romance to respect incestuous precepts
@ -13,24 +21,30 @@
* Removed "not obedient" social thought for raping a slave * Removed "not obedient" social thought for raping a slave
* Bestiality_Acceptable now nullifies RJW bestiality thoughts * Bestiality_Acceptable now nullifies RJW bestiality thoughts
* Fixed swapped baseMoodEffect of holy and elevated pregnancy precepts * Fixed swapped baseMoodEffect of holy and elevated pregnancy precepts
## Version 1.0.1.2 ## Version 1.0.1.2
* Removed 100% certainty spam for sex proselyzing * Removed 100% certainty spam for sex proselyzing
* Maybe removed sex proselyzing error with bestiality * Maybe removed sex proselyzing error with bestiality
## Version 1.0.1.1 ## Version 1.0.1.1
* Fixed Ideology overwriting Sexperience's mod settings label * Fixed Ideology overwriting Sexperience's mod settings label
* Fixed submissive gender can't be marked for comfort * Fixed submissive gender can't be marked for comfort
* Fixed new precepts adding thoughts to children * Fixed new precepts adding thoughts to children
* Fixed Sexual Proselyzing precept * Fixed Sexual Proselyzing precept
* Fixed biotech pregnancy not counting for pregnancy precepts * Fixed biotech pregnancy not counting for pregnancy precepts
## Version 1.0.1.0 ## Version 1.0.1.0
* Rimworld 1.4 * Rimworld 1.4
### by Twonki ### by Twonki
* Added Pregnancy, Sex Proselyzing and Size Matters precepts * Added Pregnancy, Sex Proselyzing and Size Matters precepts
## Version 1.0.0.3 ## Version 1.0.0.3
* Fixed error in *_Gendered precept comps * Fixed error in *_Gendered precept comps
## Version 1.0.0.2 ## Version 1.0.0.2
* Fixed error in Sex_Promiscuous that happend when RJW Sexperience was not used * Fixed error in Sex_Promiscuous that happend when RJW Sexperience was not used
* Optimized Virgin_*_Taken thoughts * Optimized Virgin_*_Taken thoughts
## Version 1.0.0.1 ## Version 1.0.0.1
* Fixed SexAbility errors if used without RJW Sexperience * Fixed SexAbility errors if used without RJW Sexperience
### by XenoMorphie ### by XenoMorphie

View file

@ -8,4 +8,8 @@
<li>/</li> <li>/</li>
<li>1.4</li> <li>1.4</li>
</v1.4> </v1.4>
<v1.5>
<li>/</li>
<li>1.5</li>
</v1.5>
</loadFolders> </loadFolders>

View file

@ -39,6 +39,14 @@ The only consistent way to get in touch with me is the RJW Discord server #sexpe
Please, ping me in the RJW Discord if you rased the issue here. Please, ping me in the RJW Discord if you rased the issue here.
### Contributing ### Contributing
All work should be done based of the `dev` branch! Trying to compile on the `master` branch will fail - this is intentional. While I can't do something like that for XML and translations, I may choose to reject the pull request based on the amount of work required to transfer all commits into the `dev` branch.
The best practices:
1. Fork this repository.
2. In your fork create a new branch based on `dev`. The name of the new branch should reflect what you are changing in 3 words or less, separated by `-`. For example `rmb-menu-refactor` or `japanese-translation`.
3. Make your changes and commit them to the new branch.
4. Create a new merge request from your branch into the `dev` branch of this repository.
To be consistent with RJW, please use TABS not SPACES. To be consistent with RJW, please use TABS not SPACES.
Please, ping me in the RJW Discord after creating a merge request. Please, ping me in the RJW Discord after creating a merge request.

View file

@ -1,4 +1,5 @@
using rjw; using LudeonTK;
using rjw;
using RJWSexperience.Ideology.HistoryEvents; using RJWSexperience.Ideology.HistoryEvents;
using RJWSexperience.Ideology.Patches; using RJWSexperience.Ideology.Patches;
using System.Collections.Generic; using System.Collections.Generic;

View file

@ -61,27 +61,44 @@ namespace RJWSexperience.Ideology
} }
} }
///<summary>
/// If the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina).
/// For futanari return the biggest penis size
///</summary>
public static float GetGenitalSize(Pawn p) public static float GetGenitalSize(Pawn p)
{ {
if (p == null) if (p == null)
return 0f; return 0f;
// Iff the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina) float bestSize = 0f;
float bestSeenSize = 0f; bool foundPenis = false;
foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p)) foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p))
{ {
float size;
// Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts // Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts
if (Genital_Helper.is_penis(part) || Genital_Helper.is_vagina(part)) if (Genital_Helper.is_penis(part))
{ {
bestSeenSize = part.Severity > bestSeenSize ? part.Severity : bestSeenSize; if (!foundPenis)
{
foundPenis = true;
bestSize = 0f;
}
size = part.Severity;
} }
else if (!foundPenis && Genital_Helper.is_vagina(part))
{
// For vagina, the scale is inverted.
size = 1 - part.Severity;
}
else
{
continue;
}
bestSize = size > bestSize ? size : bestSize;
} }
// For Women, the scale is inverted. return bestSize;
if (p.gender == Gender.Female)
return 1 - bestSeenSize;
return bestSeenSize;
} }
public static bool IsVisiblyPregnant(Pawn pawn) public static bool IsVisiblyPregnant(Pawn pawn)

View file

@ -1,27 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<TargetGameVersion>1.5</TargetGameVersion>
<InternalModVersion>1.1</InternalModVersion>
<Version>$(TargetGameVersion).$(InternalModVersion)</Version>
<ProjectGuid>{B4481C38-31B1-422D-B5AA-0059FE7CCA1C}</ProjectGuid> <ProjectGuid>{B4481C38-31B1-422D-B5AA-0059FE7CCA1C}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<RootNamespace>RJWSexperience.Ideology</RootNamespace> <RootNamespace>RJWSexperience.Ideology</RootNamespace>
<AssemblyName>RJWSexperience.Ideology</AssemblyName> <AssemblyName>RJWSexperience.Ideology</AssemblyName>
<TargetFramework>net48</TargetFramework> <TargetFramework>net48</TargetFramework>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>..\..\1.4\Assemblies\</OutputPath> <OutputPath>..\..\$(TargetGameVersion)\Assemblies\</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<Deterministic>false</Deterministic>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
<LangVersion>8.0</LangVersion> <LangVersion>8.0</LangVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<Reference Include="RJW">
<HintPath>..\..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Krafs.Rimworld.Ref"> <PackageReference Include="Krafs.Rimworld.Ref">
<Version>1.4.*</Version> <Version>$(TargetGameVersion).*</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Lib.Harmony"> <PackageReference Include="Lib.Harmony">
<Version>2.*</Version> <Version>2.*</Version>
@ -29,5 +29,41 @@
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup />
<Choose>
<When Condition=" '$(Configuration)' == 'Release' ">
<ItemGroup>
<Reference Include="RJW">
<HintPath>obj\RJW.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<PropertyGroup>
<RjwUrl>https://gitgud.io/Ed86/rjw/-/raw/master/$(TargetGameVersion)/Assemblies/RJW.dll</RjwUrl>
</PropertyGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="RJW">
<HintPath>..\..\..\rjw\$(TargetGameVersion)\Assemblies\RJW.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
</Otherwise>
</Choose>
<Target Name="DownloadRJW" BeforeTargets="BeforeBuild" Condition=" '$(Configuration)' == 'Release' ">
<DownloadFile
SourceUrl="$(RjwUrl)"
DestinationFolder="obj"
DestinationFileName="RJW.dll">
</DownloadFile>
</Target>
<Target Name="PostBuildAction" AfterTargets="Build">
<XmlPoke XmlInputPath="..\..\About\RealAbout.xml" Query="//ModMetaData/modVersion" Value="$(Version)" />
<XmlPoke XmlInputPath="..\..\About\Manifest.xml" Query="//Manifest/version" Value="$(Version)" />
</Target>
</Project> </Project>

View file

@ -1,10 +1,9 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 // General Information about an assembly is controlled through the following
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 // set of attributes. Change these attribute values to modify the information
// 이러한 특성 값을 변경하세요. // associated with an assembly.
[assembly: AssemblyTitle("IdeologyAddon")] [assembly: AssemblyTitle("IdeologyAddon")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
@ -14,23 +13,21 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 // Setting ComVisible to false makes the types in this assembly not visible
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 // to COM components. If you need to access a type in this assembly from
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. // COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. // 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("b4481c38-31b1-422d-b5aa-0059fe7cca1c")] [assembly: Guid("b4481c38-31b1-422d-b5aa-0059fe7cca1c")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. // Version information for an assembly consists of the following four values:
// //
// 주 버전 // Major Version
// 부 버전 // Minor Version
// 빌드 번호 // Build Number
// 수정 버전 // Revision
// // You can specify all the values or you can default the Build and Revision Numbers
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 // by using the '*' as shown below:
// 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.5.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -2,6 +2,7 @@
using rjw; using rjw;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using Verse; using Verse;
using Verse.AI; using Verse.AI;
@ -35,7 +36,7 @@ namespace RJWSexperience.Ideology
{ {
if (duty != null) if (duty != null)
{ {
List<Pawn> pawns = pawn.Map.mapPawns.AllPawnsSpawned.FindAll(x => x.mindState?.duty?.def == duty.def); IEnumerable<Pawn> pawns = pawn.Map.mapPawns.AllPawnsSpawned.Where(x => x.mindState?.duty?.def == duty.def);
return pawns.RandomElementByWeightWithDefault(x => SexAppraiser.would_fuck(pawn, x), 0.1f); return pawns.RandomElementByWeightWithDefault(x => SexAppraiser.would_fuck(pawn, x), 0.1f);
} }
@ -190,7 +191,14 @@ namespace RJWSexperience.Ideology
get_loved.AddFinishAction(delegate get_loved.AddFinishAction(delegate
{ {
if (xxx.is_human(pawn)) if (xxx.is_human(pawn))
pawn.Drawer.renderer.graphics.ResolveApparelGraphics(); {
CompRJW comp = CompRJW.Comp(pawn);
if (comp != null)
{
comp.drawNude = false;
pawn.Drawer.renderer.SetAllGraphicsDirty();
}
}
}); });
get_loved.socialMode = RandomSocialMode.Off; get_loved.socialMode = RandomSocialMode.Off;
return get_loved; return get_loved;

View file

@ -135,7 +135,14 @@ namespace RJWSexperience.Ideology
get_banged.AddFinishAction(delegate get_banged.AddFinishAction(delegate
{ {
if (xxx.is_human(pawn)) if (xxx.is_human(pawn))
pawn.Drawer.renderer.graphics.ResolveApparelGraphics(); {
CompRJW comp = CompRJW.Comp(pawn);
if (comp != null)
{
comp.drawNude = false;
pawn.Drawer.renderer.SetAllGraphicsDirty();
}
}
GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn); GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn);
if (Bed != null && pawn.Downed) if (Bed != null && pawn.Downed)

View file

@ -36,14 +36,14 @@ namespace RJWSexperience.Ideology
return false; return false;
} }
public override ExpectedOutcomeDesc GetExpectedOutcomeDesc(Precept_Ritual ritual, TargetInfo ritualTarget, RitualObligation obligation, RitualRoleAssignments assignments, RitualOutcomeComp_Data data) public override QualityFactor GetQualityFactor(Precept_Ritual ritual, TargetInfo ritualTarget, RitualObligation obligation, RitualRoleAssignments assignments, RitualOutcomeComp_Data data)
{ {
return new ExpectedOutcomeDesc return new QualityFactor
{ {
label = LabelForDesc.CapitalizeFirst(), label = LabelForDesc.CapitalizeFirst(),
present = false, present = false,
uncertainOutcome = true, uncertainOutcome = true,
effect = ExpectedOffsetDesc(true, -1f), qualityChange = ExpectedOffsetDesc(true, -1f),
quality = qualityOffset, quality = qualityOffset,
positive = true positive = true
}; };
@ -62,22 +62,22 @@ namespace RJWSexperience.Ideology
public override bool Applies(LordJob_Ritual ritual) public override bool Applies(LordJob_Ritual ritual)
{ {
float avgNeed = 0; float avgNeed = 0;
foreach (Pawn pawn in ritual.assignments.AllPawns) foreach (Pawn pawn in ritual.assignments.AllCandidatePawns)
{ {
avgNeed += pawn.needs?.TryGetNeed(needDef)?.CurLevel ?? 0f; avgNeed += pawn.needs?.TryGetNeed(needDef)?.CurLevel ?? 0f;
} }
avgNeed /= ritual.assignments.AllPawns.Count; avgNeed /= ritual.assignments.AllCandidatePawns.Count;
return avgNeed >= minAvgNeed; return avgNeed >= minAvgNeed;
} }
public override ExpectedOutcomeDesc GetExpectedOutcomeDesc(Precept_Ritual ritual, TargetInfo ritualTarget, RitualObligation obligation, RitualRoleAssignments assignments, RitualOutcomeComp_Data data) public override QualityFactor GetQualityFactor(Precept_Ritual ritual, TargetInfo ritualTarget, RitualObligation obligation, RitualRoleAssignments assignments, RitualOutcomeComp_Data data)
{ {
return new ExpectedOutcomeDesc return new QualityFactor
{ {
label = LabelForDesc.CapitalizeFirst(), label = LabelForDesc.CapitalizeFirst(),
present = false, present = false,
uncertainOutcome = true, uncertainOutcome = true,
effect = ExpectedOffsetDesc(true, -1f), qualityChange = ExpectedOffsetDesc(true, -1f),
quality = qualityOffset, quality = qualityOffset,
positive = true positive = true
}; };

View file

@ -1,4 +1,5 @@
using RimWorld; using LudeonTK;
using RimWorld;
using RJWSexperience.Ideology.Precepts; using RJWSexperience.Ideology.Precepts;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;