Compare commits

...

10 Commits

Author SHA1 Message Date
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
amevarashi a5b01e26dd Add README.md 2023-11-16 21:10:28 +05:00
amevarashi 0c0b6753ad 1.4.1.0 2023-11-06 16:33:05 +05:00
amevarashi 71df71a0eb Fixed: Pawns raping despite Rape-Abhorrent precept 2023-11-06 16:28:08 +05:00
amevarashi 472933e192 Migrated project to SDK 2023-11-06 14:33:26 +05:00
55 changed files with 6443 additions and 171 deletions

77
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,77 @@
# ### 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:
- "*" # Incluse 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/rsi/test"
script:
- apk add zip
- zip -rq mod.zip ./
- echo "${PACKAGE_REGISTRY_URL}"
- '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,37 @@
<?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>aamevarashi</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.0</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>
<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 +43,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.0.2.1</version> <version>1.5.1.0</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,3 +1,8 @@
## Version 1.5.1.0
* Rimworld 1.5
## 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.
* 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

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>

44
README.md Normal file
View File

@ -0,0 +1,44 @@
## RJW Sexperience Ideology
This is a submod for the RJW mod for RimWorld. Does not require "base" RJW Sexperience.
This project was started by the motd1233 on the Loverslab/GitHub as a part of RJW Sexperience mod. I took over the mod some time after they stopped updating. Ideology content was moved to a separate mod shortly after.
### Features
This mod adds:
- Memes
- Lewd
- Rapist
- Zoophile
- Necrophile
- Rituals
- Consensual gangbang
- Rape gangbang
- Consensual animal gangbang
- Rape animal gangbang
- Drug orgy
- Precepts
- Baby faction
- Bestiality
- Incest
- Necrophilia
- Rape
- Allowed sex type
- Social affection
- Submissive gender
- Virginity
- Pregnancy
- Sex proselyzing
- Size matters
- Buildings
- HumpShroom bong
- HumpShroom Autobong
### Contacts / Feedback
The only consistent way to get in touch with me is the RJW Discord server #sexperience-amevarashi. You can find the link in the [RJW Loverslab Thread](https://www.loverslab.com/topic/110270-mod-rimjobworld/). Loverslab is no good because I check it even less than the repositories.
Please, ping me in the RJW Discord if you rased the issue here.
### Contributing
To be consistent with RJW, please use TABS not SPACES.
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

@ -2,6 +2,7 @@
using Verse; using Verse;
using System.Linq; using System.Linq;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace RJWSexperience.Ideology.HistoryEvents namespace RJWSexperience.Ideology.HistoryEvents
{ {
@ -27,6 +28,7 @@ namespace RJWSexperience.Ideology.HistoryEvents
//Log.Message($"[RSI] Recorded event {historyEvent.def.ToStringWithPartner(pawn, partner)}"); //Log.Message($"[RSI] Recorded event {historyEvent.def.ToStringWithPartner(pawn, partner)}");
} }
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static HistoryEvent CreateEvent(this HistoryEventDef def, Pawn pawn) public static HistoryEvent CreateEvent(this HistoryEventDef def, Pawn pawn)
{ {
return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer)); return new HistoryEvent(def, pawn.Named(HistoryEventArgsNames.Doer));

View File

@ -1,113 +1,69 @@
<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.NET.Sdk">
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <TargetGameVersion>1.5</TargetGameVersion>
<InternalModVersion>1.0</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>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJWSexperience.Ideology</RootNamespace> <RootNamespace>RJWSexperience.Ideology</RootNamespace>
<AssemblyName>RJWSexperience.Ideology</AssemblyName> <AssemblyName>RJWSexperience.Ideology</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> <TargetFramework>net48</TargetFramework>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\RJWSexperience_Ideology\Assemblies\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>..\..\1.4\Assemblies\</OutputPath> <OutputPath>..\..\$(TargetGameVersion)\Assemblies\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<ErrorReport>prompt</ErrorReport> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<WarningLevel>4</WarningLevel> <Deterministic>false</Deterministic>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
<LangVersion>8.0</LangVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<Reference Include="RJW">
<HintPath>..\..\..\rjw\1.4\Assemblies\RJW.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Compile Include="BloodRelationDegree.cs" />
<Compile Include="DebugAction.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="HistoryEvents\DefExtension_SecondaryEvents.cs" />
<Compile Include="HistoryEvents\DefExtension_EventOverrides.cs" />
<Compile Include="HistoryEvents\TwoPawnEventRule.cs" />
<Compile Include="InteractionDefExtension_HistoryEvents.cs" />
<Compile Include="GoodwillSituationWorker_MemeCompatibility.cs" />
<Compile Include="Harmony.cs" />
<Compile Include="HistoryEvents\ArgsNamesCustom.cs" />
<Compile Include="Keyed.cs" />
<Compile Include="Precepts\DefExtension_Incest.cs" />
<Compile Include="Precepts\IPreceptTipPostfix.cs" />
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_GenitalSize.cs" />
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_GenitalSize_Social.cs" />
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_NonPregnant.cs" />
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_NonPregnant_Social.cs" />
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_Pregnant.cs" />
<Compile Include="PreceptWorkers\ThoughtWorker_Precept_Pregnant_Social.cs" />
<Compile Include="Filters\RelationFilter.cs" />
<Compile Include="RelationHelpers.cs" />
<Compile Include="RomanceChanceFactorHelpers.cs" />
<Compile Include="Filters\TwoPawnFilter.cs" />
<Compile Include="Filters\SinglePawnFilter.cs" />
<Compile Include="Precepts\Comp_SelfTookMemoryThought_Gendered.cs" />
<Compile Include="Precepts\Comp_KnowsMemoryThought_Gendered.cs" />
<Compile Include="HistoryEvents\HistoryEventDefExtensionMethods.cs" />
<Compile Include="Patches\RJW_Patch_ChancePerHour.cs" />
<Compile Include="Precepts\DefExtension_ModifyMtb.cs" />
<Compile Include="Precepts\DefExtension_ModifyFappinMtb.cs" />
<Compile Include="Precepts\DefExtension_ModifyRapeCPMtb.cs" />
<Compile Include="Precepts\DefExtension_ModifyNecroMtb.cs" />
<Compile Include="Precepts\DefExtension_ModifyBestialityMtb.cs" />
<Compile Include="Precepts\DefExtension_ModifyPreference.cs" />
<Compile Include="Precepts\DefExtension_MultipleMemesRequired.cs" />
<Compile Include="Rituals\JobGiver_GangbangConsensual.cs" />
<Compile Include="Rituals\LordJob_Rituals.cs" />
<Compile Include="Patches\RJW_Patch_Ideo.cs" />
<Compile Include="Patches\Sexperience_Patch.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Patches\Rimworld_Patch.cs" />
<Compile Include="Rituals\JobGiver_DrugOrgy.cs" />
<Compile Include="Rituals\JobGiver_GangbangVictim.cs" />
<Compile Include="Rituals\RitualBehaviorWorkers.cs" />
<Compile Include="Rituals\RitualOutcomeComps.cs" />
<Compile Include="Rituals\RitualRoles.cs" />
<Compile Include="RsiMod.cs" />
<Compile Include="RsiSettings.cs" />
<Compile Include="StatParts.cs" />
<Compile Include="IdeoUtility.cs" />
<Compile Include="Thoughts\ThoughtDefExtension_IncreaseRecord.cs" />
<Compile Include="Thoughts\ThoughtDefExtension_StageFromValue.cs" />
<Compile Include="Thoughts\Thought_IncreaseRecord.cs" />
<Compile Include="Thoughts\Thought_Opinionbased.cs" />
<Compile Include="RsiDefOf.cs" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Krafs.Rimworld.Ref"> <PackageReference Include="Krafs.Rimworld.Ref">
<Version>1.4.3704</Version> <Version>$(TargetGameVersion).*</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Lib.Harmony"> <PackageReference Include="Lib.Harmony">
<Version>2.2.2</Version> <Version>2.*</Version>
<ExcludeAssets>runtime</ExcludeAssets> <ExcludeAssets>runtime</ExcludeAssets>
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <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

@ -7,10 +7,55 @@ using RJWSexperience.Ideology.HistoryEvents;
using RJWSexperience.Ideology.Precepts; using RJWSexperience.Ideology.Precepts;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection.Emit;
using Verse; using Verse;
namespace RJWSexperience.Ideology.Patches namespace RJWSexperience.Ideology.Patches
{ {
[HarmonyPatch(typeof(xxx), nameof(xxx.can_rape))]
public static class RJW_Patch_CannotRapeBecauseIdeo
{
/// <summary>
/// Injects IdeoCanRape call into is_human block of xxx.can_rape
/// </summary>
/// <param name="instructions">Original method instructions</param>
/// <returns>Modified method instructions</returns>
[HarmonyTranspiler]
public static IEnumerable<CodeInstruction> AddIdeoCheck(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
{
using IEnumerator<CodeInstruction> enumerator = instructions.GetEnumerator();
System.Reflection.FieldInfo wildMode = AccessTools.Field(typeof(RJWSettings), nameof(RJWSettings.WildMode));
Label labelWildMode = generator.DefineLabel();
bool done = false;
while (enumerator.MoveNext())
{
if (!done && enumerator.Current.LoadsField(wildMode))
{
// Found RJWSettings.WildMode check, insert before
// Need to move labels to our instruction because previous check jumps to one of them, skipping our call
var existingLabels = enumerator.Current.labels;
enumerator.Current.labels = new List<Label>() { labelWildMode };
// Load the first argument - Pawn
yield return new CodeInstruction(OpCodes.Ldarg_0) { labels = existingLabels };
// Call the check. Consumes pawn and pushes bool
yield return CodeInstruction.Call(typeof(RJW_Patch_CannotRapeBecauseIdeo), nameof(IdeoCanRape));;
// If bool is true, jump to the next check
yield return new CodeInstruction(OpCodes.Brtrue_S, labelWildMode);
// The bool was false, push false and exit the method
yield return new CodeInstruction(OpCodes.Ldc_I4_0);
yield return new CodeInstruction(OpCodes.Ret);
done = true;
}
yield return enumerator.Current;
}
}
public static bool IdeoCanRape(Pawn pawn) => RsiDefOf.HistoryEvent.RSI_Raped.CreateEvent(pawn).DoerWillingToDo();
}
[HarmonyPatch(typeof(xxx), nameof(xxx.is_rapist))] [HarmonyPatch(typeof(xxx), nameof(xxx.is_rapist))]
public static class RJW_Patch_is_rapist public static class RJW_Patch_is_rapist
{ {

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;