diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e473f22..98b247f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,44 +1,20 @@
-# To contribute improvements to CI/CD templates, please follow the Development guide at:
-# https://docs.gitlab.com/ee/development/cicd/templates.html
-# This specific template is located at:
-# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/dotNET-Core.gitlab-ci.yml
-
# ### Specify the Docker image
-image: mcr.microsoft.com/dotnet/sdk:latest
+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.
- # NOTE: Please edit this path so it matches the structure of your project!
SOURCE_CODE_PATH: 'Source/'
# ### Define global cache rule
-#
-# Before building the project, all dependencies (e.g. third-party NuGet packages)
-# must be restored. Jobs on GitLab.com's Shared Runners are executed on autoscaled machines.
-#
-# Each machine is used only once (for security reasons) and after that is removed.
-# This means that, before every job, a dependency restore must be performed
-# because restored dependencies are removed along with machines. Fortunately,
-# GitLab provides cache mechanism with the aim of keeping restored dependencies
-# for other jobs.
-#
-# This example shows how to configure cache to pass over restored
-# dependencies for re-use.
-#
-# With global cache rule, cached dependencies will be downloaded before every job
-# and then unpacked to the paths as specified below.
cache:
# Per-stage and per-branch caching.
key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"
paths:
- # Specify three paths that should be cached:
- #
# 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'
@@ -46,18 +22,7 @@ cache:
- '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/*.csproj.nuget.*'
# 3) Path to the directory where restored dependencies are kept.
- '$NUGET_PACKAGES_DIRECTORY'
- #
- # 'pull-push' policy means that latest cache will be downloaded (if it exists)
- # before executing the job, and a newer version will be uploaded afterwards.
- # Such a setting saves time when there are no changes in referenced third-party
- # packages.
- #
- # For example, if you run a pipeline with changes in your code,
- # but with no changes within third-party packages which your project is using,
- # then project restore will happen quickly as all required dependencies
- # will already be there — unzipped from cache.
- # 'pull-push' policy is the default cache policy, you do not have to specify it explicitly.
policy: pull-push
# ### Restore project dependencies
@@ -76,42 +41,38 @@ cache:
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'
- - 'curl -s --create-dirs "$RJW_DLL_URL" -o ../../rjw/$RIMWORLD_VERSION/Assemblies/RJW.dll'
- - 'dotnet build --no-restore'
+ - '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
+ - "*" # Include everything
exclude:
- ".*" # Exclude dot files
- ".*/**/*" # Exclude everything in the dot folders
- "Source/**/*" # Exclude everything in the Source folder
-#tests:
-# stage: test
- # ### Run the tests
-# script:
-# - 'dotnet test --no-restore'
-
release_dev:
stage: deploy
-# image: registry.gitlab.com/gitlab-org/release-cli:latest # this image currently is amd64 only
- image: alpine:latest
rules:
- if: $CI_COMMIT_TAG
- when: never # Do not run this job when a tag is created manually
- - if: $CI_COMMIT_BRANCH == "ci-test" # Run this job when commits are pushed or merged to the dev branch
+ when: never # Do not run this job when a tag is created manually
+ - if: $CI_COMMIT_BRANCH == "dev" # Run this job when commits are pushed or merged to the dev branch
+ variables:
+ GIT_STRATEGY: none # Do not clone repo and skip 'before_script'
+ PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_BRANCH}"
script:
- - 'ls -l'
- - 'apk add gitlab-release-cli'
- release:
- tag_name: '$CI_COMMIT_BRANCH-$CI_PIPELINE_IID' # The version is incremented per pipeline.
- description: 'Automated release based on commit $CI_COMMIT_SHORT_SHA $CI_COMMIT_TAG'
- ref: '$CI_COMMIT_SHA' # The tag is created from the pipeline SHA.
-
+ - apk add zip
+ - zip -rq mod.zip ./
+ - echo "${PACKAGE_REGISTRY_URL}"
+ - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file About/About.xml "${PACKAGE_REGISTRY_URL}/About.xml"'
+ - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file mod.zip "${PACKAGE_REGISTRY_URL}/rjw_sexperience_ideology.zip"'
diff --git a/1.5/Assemblies/RJWSexperience.Ideology.dll b/1.5/Assemblies/RJWSexperience.Ideology.dll
new file mode 100644
index 0000000..f4c6716
Binary files /dev/null and b/1.5/Assemblies/RJWSexperience.Ideology.dll differ
diff --git a/1.5/Defs/DutyDefs/Duties_Rituals_sex.xml b/1.5/Defs/DutyDefs/Duties_Rituals_sex.xml
new file mode 100644
index 0000000..87b4ade
--- /dev/null
+++ b/1.5/Defs/DutyDefs/Duties_Rituals_sex.xml
@@ -0,0 +1,89 @@
+
+
+
+
+ Gangbang_Rape
+ HighPriority
+ Off
+
+
+
creation(tag=meme_Zoophile) ->[deity0_name] loves breeding with beasts.
+
episode(uses=1,tag=meme_Zoophile) ->[deity0_name] said to all, "Sigmar forbids this!"
+
+
setup(tag=meme_Zoophile) ->Someday, [founderName] was so horny that accidentally fucked with an animal and loved it.
+
story(uses=1,tag=meme_Zoophile) ->For spreading animals, [founderName] started to breed with animals.
+
+
lessonIntro(tag=meme_Zoophile) ->Someday, i had sex with animal. It was much better than humans!
+
lesson(tag=meme_Zoophile) ->Only the animals can satisfy me.
+
lessonReinforcement(tag=meme_Zoophile) ->Breed with animals. It is the eternal hapiness.
+
+
archistBasis(tag=meme_Zoophile) ->Archists are always seeking ultimate pleasure.
+
archistFact(tag=meme_Zoophile) ->That was breeding with animals.
+
archistProphecy(tag=meme_Zoophile) ->[inTheEnd], the archotechs will finally unlock the interspecies breeding, so that they may lead ultimate pleasure.
+
+
animistFact(tag=meme_Zoophile) ->The most powerful spirits are those of beasts, and spirits of beasts will be restless unless beasts rule.
+
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.
archistProphecy(tag=meme_Rapist) ->[inTheEnd], the rapists never stop raping.
+
+
animistFact(tag=meme_Rapist) ->The most powerful spirits are those of rapists, and spirits of rapists will rape all.
+
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.
+
+
+
+
+ Bestiality_Acceptable
+ Bestiality
+
+ Bestiality is a normal, unremarkable part of life.
+ Medium
+ 10
+ 10
+ true
+
+
+ 0.75
+
+
+
+
+
+
+ Bestiality_OnlyVenerated
+ Bestiality
+
+ One who sex with venerated animals should be honored and respected. But having sex with other animals will be denounced
+ High
+ 0
+ 1000
+
+
+ RSI_SexWithVeneratedAnimal
+ Bestiality_Know_Honorable
+ Someone sex with animal
+ true
+
+
+
+
+
+
+
+
+ true
+
+
+ 2.0
+
+
+
+
+ true
+
+
+ false
+
+
+ 0.05
+
+
+
+
+ 0.65
+
+
+
+
+
+
+ Bestiality_BondOnly
+ Bestiality
+
+ Sex with Bonded animals should be honored and respected. But having sex with other animals will be denounced.
+ High
+ 0
+ 1000
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/PreceptDefs/Precepts_Pregnancy.xml b/1.5/Defs/PreceptDefs/Precepts_Pregnancy.xml
new file mode 100644
index 0000000..bdd6015
--- /dev/null
+++ b/1.5/Defs/PreceptDefs/Precepts_Pregnancy.xml
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+ Pregnancy
+
+ UI/Issues/Birth
+
+
+
+
+ Pregnancy_Holy
+ Pregnancy
+
+ To be pregnant is a duty worthy of respect. Women carry our society into the next generation.
+ Medium
+ 10
+
+
+ Pregnancy_Respected_Pregnant
+
+
+ Pregnancy_Respected_Pregnant_Social
+
+
+
+
+
+ Pregnancy_Elevated
+ Pregnancy
+
+ Being pregnant is considered noble.
+ Low
+ 20
+
+
+ Pregnancy_Elevated_Pregnant
+
+
+ Pregnancy_Elevated_Pregnant_Social
+
+
+
+
+
+ Pregnancy_NoRules
+ Pregnancy
+
+ There are no thoughts about pregnancy.
+ Low
+ 30
+
+
+
+
+
+ Pregnancy_Required
+ Pregnancy
+ High
+ 40
+
+ Women should be pregnant - those who are not, are seen unworthy.
+
+
+ Pregnancy_Respected_Pregnant
+
+
+ Pregnancy_Respected_Pregnant_Social
+
+
+ Pregnancy_Horrible_NonPregnant
+
+
+ Pregnancy_Horrible_NonPregnant_Social
+
+
+
+
+
+ Pregnancy_Horrible
+ Pregnancy
+ Low
+ 50
+
+ Being Pregnant is unclean. Take care and stay pure.
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/PreceptDefs/Precepts_SexProselytizing.xml b/1.5/Defs/PreceptDefs/Precepts_SexProselytizing.xml
new file mode 100644
index 0000000..81e0f58
--- /dev/null
+++ b/1.5/Defs/PreceptDefs/Precepts_SexProselytizing.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ SexProselytizing
+
+ UI/Issues/Submissive
+
+
+
+ ProselyzingByOrgasm
+ SexProselytizing
+
+ Giving orgasm converts partner towards this ideology.
+ Medium
+ 50
+ 400
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/PreceptDefs/Precepts_SizeMatters.xml b/1.5/Defs/PreceptDefs/Precepts_SizeMatters.xml
new file mode 100644
index 0000000..c060ec4
--- /dev/null
+++ b/1.5/Defs/PreceptDefs/Precepts_SizeMatters.xml
@@ -0,0 +1,219 @@
+
+
+
+
+
+ GenitalSize
+
+ UI/Memes/SexualDissolutely
+
+
+
+
+
+ GenitalSize_Big_Better
+ GenitalSize
+ The size matters.
+
+ High
+ 20
+ 200
+
+
+ GenitalSize_Approved
+
+
+ GenitalSize_Approved_Social
+
+
+
+
+
+ GenitalSize_NoRules
+ GenitalSize
+ The size is unimportant.
+
+ High
+ 10
+ 100
+
+
+
+
+
+ GenitalSize_Smaller_Better
+ GenitalSize
+ The greeks actually believed, that a big genital is an animalistic feature. Important members are known for their small genitals.
+
+ High
+ 30
+ 200
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml b/1.5/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml
new file mode 100644
index 0000000..211c6f1
--- /dev/null
+++ b/1.5/Defs/PreceptDefs/RitualPatternDefs/RitualPatterns_sex.xml
@@ -0,0 +1,67 @@
+
+
+
+ NamerRitualFestival
+ true
+ RitualSpotOrAltar
+
+
Rape
+
+
+
+
+ Gangbang
+ Gangbang
+ gangbang
+ 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.
+ UI/Issues/Gangbang
+ false
+ Gangbang
+
+
+
+
+ Gangbang_Consensual
+ Gangbang_Consensual
+ gangbang
+ A ritualistic gangbang. The organizer will give a speech to excite the crowd, then fucked by the crowd.
+ UI/Issues/Gangbang_Consensual
+ false
+ Gangbang_Consensual
+
+
+
+
+ GangbangByAnimal
+ GangbangByAnimal
+ gangbang by animal
+ A ritualistic animal gangbang. The organizer will give a speech to excite the crowd, then animals begin fuck victim.
+ UI/Commands/Breeding_Pawn_off
+ false
+ BestialGangbang
+
+
+
+
+ GangbangByAnimal_Consensual
+ GangbangByAnimal_Consensual
+ gangbang by animal
+ A ritualistic animal gangbang. The organizer will give a speech to excite the crowd, then animals begin fuck the organizer.
+ UI/Commands/Breeding_Pawn_on
+ false
+ BestialGangbang_Consensual
+
+
+
+
+ DrugOrgy
+ drug orgy
+ 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.
+ UI/Icons/Rituals/SmokeCircle
+ false
+ DrugOrgy
+ DrugOrgy
+ DrugOrgy
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml b/1.5/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml
new file mode 100644
index 0000000..13c8abc
--- /dev/null
+++ b/1.5/Defs/PreconfiguredIdeos/IdeoPresetDefs_sex.xml
@@ -0,0 +1,36 @@
+
+
+
+ Animal_Breeders
+
+ Animals are our better half.
+ Intense
+
+
AnimalPersonhood
+
Zoophile
+
+
+
+
+ Savage_Rapist_Brigands
+
+ All of them are ours.
+ Intense
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/Rituals/Ritual_Outcomes_sex.xml b/1.5/Defs/Rituals/Ritual_Outcomes_sex.xml
new file mode 100644
index 0000000..a6c9646
--- /dev/null
+++ b/1.5/Defs/Rituals/Ritual_Outcomes_sex.xml
@@ -0,0 +1,400 @@
+
+
+
+ Gangbang
+ Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.
+ RitualOutcomeEffectWorker_Consumable
+
+
If the {0} is satisfying, one of the participants might gain an inspiration.
+
+
+
+ initiator
+
+ 0.10
+
+
+
+
+
+
(1, -0.20)
+
(3, -0.05)
+
(5, 0.05)
+
(10, 0.10)
+
+
+
+
+ true
+
+ 0.2
+ an altar
+
+
+
+ 0.15
+ FeelingBroken
+ 0.3
+ victim
+
+
+
+ 0.15
+ FeelingBroken
+ 0.5
+ victim
+
+
+
+ 0.3
+ FeelingBroken
+ 0.9
+ victim
+
+
+
+ 0.4
+ Sex
+ 0.7
+
+
+
+ 0.4
+ Sex
+ 0.9
+
+
+
+
+
+ 0.05
+ TerribleGangbang
+ The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.
+ -2
+
+
+
+ 0.10
+ BoringGangbang
+ The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.
+ -1
+
+
+
+ 0.6
+ FunGangbang
+ The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.
+ There's a 5% chance that a random participant gets an inspiration.
+ 1
+
+
+
+ 0.25
+ UnforgettableGangbang
+ The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.
+ There's a 10% chance that a random participant gets an inspiration.
+ 2
+
+
+
+
+
+ Gangbang_Consensual
+ Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.
+ RitualOutcomeEffectWorker_Consumable
+
+
If the {0} is satisfying, one of the participants might gain an inspiration.
+
+
+
+ initiator
+
+ 0.10
+
+
+
+
+
+
(1, -0.20)
+
(3, -0.05)
+
(5, 0.05)
+
(10, 0.10)
+
+
+
+
+ true
+
+ 0.2
+ an altar
+
+
+
+ 0.4
+ Sex
+ 0.7
+
+
+
+ 1.0
+ Sex
+ 0.8
+
+
+
+
+
+ 0.05
+ TerribleGangbang
+ The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.
+ -2
+
+
+
+ 0.10
+ BoringGangbang
+ The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.
+ -1
+
+
+
+ 0.6
+ FunGangbang
+ The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.
+ There's a 5% chance that a random participant gets an inspiration.
+ 1
+
+
+
+ 0.25
+ UnforgettableGangbang
+ The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.
+ There's a 10% chance that a random participant gets an inspiration.
+ 2
+
+
+
+
+
+ BestialGangbang
+ Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.
+ RitualOutcomeEffectWorker_Consumable
+
+
If the {0} is satisfying, one of the participants might gain an inspiration.
+
+
+
+ initiator
+
+ 0.10
+
+
+
+
+
+
(1, -0.50)
+
(3, -0.30)
+
(5, -0.15)
+
(10, -0.10)
+
+
+
+
+ true
+
+ 0.2
+ an altar
+
+
+
+ 0.45
+ FeelingBroken
+ 0.3
+ victim
+
+
+
+ 0.45
+ FeelingBroken
+ 0.5
+ victim
+
+
+
+ 0.8
+ FeelingBroken
+ 0.9
+ victim
+
+
+
+
+
+ 0.05
+ TerribleGangbang
+ The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.
+ -2
+
+
+
+ 0.10
+ BoringGangbang
+ The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.
+ -1
+
+
+
+ 0.65
+ FunGangbang
+ The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.
+ There's a 5% chance that a random participant gets an inspiration.
+ 1
+
+
+
+ 0.2
+ UnforgettableGangbang
+ The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.
+ There's a 10% chance that a random participant gets an inspiration.
+ 2
+
+
+
+
+
+ BestialGangbang_Consensual
+ Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.
+ RitualOutcomeEffectWorker_Consumable
+
+
If the {0} is satisfying, one of the participants might gain an inspiration.
+
+
+
+ initiator
+
+ 0.10
+
+
+
+
+
+
(1, 0.20)
+
(3, 0.40)
+
(5, 0.65)
+
(10, 1.20)
+
+
+
+
+ true
+
+ 0.2
+ an altar
+
+
+
+
+
+ 0.05
+ TerribleGangbang
+ The {0} was terrible! The speech was stuttering and incoherent, and the victim was botched - everyone was waiting for it to end.
+ -2
+
+
+
+ 0.10
+ BoringGangbang
+ The {0} was boring. The speech was repetitive and the victim was noticeably flawed. It just didn't feel dignified.
+ -1
+
+
+
+ 0.65
+ FunGangbang
+ The {0} was satisfying. The speech felt meaningful, and the victim was precise and dignified.
+ There's a 5% chance that a random participant gets an inspiration.
+ 1
+
+
+
+ 0.2
+ UnforgettableGangbang
+ The {0} was spectacular! The speech brought everyone to the edge of a frenzy and the victim was like succubus.
+ There's a 10% chance that a random participant gets an inspiration.
+ 2
+
+
+
+
+
+ DrugOrgy
+ Depending on ritual quality, participants will get between {MINMOOD} and {MAXMOOD} mood for {MOODDAYS} days.
+ RitualOutcomeEffectWorker_RemoveConsumableBuilding
+
+
If the {0} is satisfying, one of the participants might gain an inspiration.
+
+
+
+
+
+
+
+
(1, -0.50)
+
(3, 0.0)
+
(5, 0.10)
+
(10, 0.30)
+
+
+
+
+
+ Impressiveness
+
+
+
0, 0
+
50, 0.1
+
120, 0.2
+
+
+
+
+
+ 0.7
+ Sex
+ 0.7
+
+
+
+
+
+ 0.05
+ TerribleOrgy
+ The {0} was terrible!
+ -2
+
+
+
+ 0.10
+ BoringOrgy
+ The {0} was boring.
+ -1
+
+
+
+ 0.6
+ FunOrgy
+ The {0} was satisfying.
+ There's a 5% chance that a random participant gets an inspiration.
+ 1
+
+
+
+ 0.25
+ UnforgettableOrgy
+ The {0} was spectacular!
+ There's a 10% chance that a random participant gets an inspiration.
+ 2
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/Rituals/Ritual_Targets_sex.xml b/1.5/Defs/Rituals/Ritual_Targets_sex.xml
new file mode 100644
index 0000000..5805f34
--- /dev/null
+++ b/1.5/Defs/Rituals/Ritual_Targets_sex.xml
@@ -0,0 +1,15 @@
+
+
+
+ RitualSpotOrAltar_Gangbang
+ RitualObligationTargetWorker_AnyRitualSpotOrAltar_Scarification
+
+
+
+ DrugOrgy
+ RitualObligationTargetWorker_ConsumableBuilding
+
+
Burnbong_Aphrodisiac
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/ThingDefs/Buildings_Ideo_sex.xml b/1.5/Defs/ThingDefs/Buildings_Ideo_sex.xml
new file mode 100644
index 0000000..eaaba10
--- /dev/null
+++ b/1.5/Defs/ThingDefs/Buildings_Ideo_sex.xml
@@ -0,0 +1,134 @@
+
+
+
+ Burnbong_Aphrodisiac
+
+ 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.
+ RealtimeOnly
+
+ Graphic_Single
+ Things/Building/Misc/Burnbong/Burnbong
+ (1.2,1.2)
+
+ (0.92, 1 ,0.92)
+
+
+ (1,1)
+
+ 30
+ 30
+
+
+ 30
+
+ false
+
+ 50
+ 10000
+ 25
+
+
+
+ BurnbongSmoke
+
+
+ 0.5
+ (0, 0, 0.42)
+
+
+ HumpShroomEffect
+ true
+ 10
+ 0.01
+
+
+
+
+
+
+ Autobong_Aphrodisiac
+
+ An automatic humpshroom-burning device which generates an estro-smoke cloud around itself. Anyone in the cloud will become horny over time.
+ Building
+
+ Things/Building/Misc/Autobong/Autobong
+ Graphic_Single
+ (2,2)
+ CutoutComplex
+
+ Things/Building/Misc/Autobong/Autobong
+ Building
+ PassThroughOnly
+ 42
+ Normal
+ RealtimeOnly
+ 0.20
+ false
+ (2,2)
+
+ 80
+ 800
+
+ true
+
+ 10
+ 3
+
+
+
Metallic
+
Woody
+
+ 100
+ true
+
+
MicroelectronicsBasics
+
+
+
+ 0.35
+ 10.0
+
+
+
HumpShroom
+
+
+ 1
+ true
+ true
+
+
+ 10
+ (252,187,113,0)
+
+
+ CompGatherSpot
+
+
+ CompPowerTrader
+ 150
+ true
+
+
+
+ HumpShroomEffect
+ 4.9
+ 0.005
+ true
+
+
+ BurnbongSmoke
+ 4.9
+ 4
+ AutobongSmoke
+ 25
+
+
+ Misc
+ true
+
+
PlaceWorker_SmokeCloudMaker
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml b/1.5/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml
new file mode 100644
index 0000000..9488047
--- /dev/null
+++ b/1.5/Defs/ThoughtDefs/Thoughts_Ritual_sex_Quality.xml
@@ -0,0 +1,115 @@
+
+
+
+
+ TerribleGangbang
+ Thought_AttendedRitual
+ 6
+ 3
+
+
+
+ That orgy was awesome! Everything was perfect.
+ 16
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/InteractionDef/Masturbation.xml b/1.5/Patches/InteractionDef/Masturbation.xml
new file mode 100644
index 0000000..53a35ac
--- /dev/null
+++ b/1.5/Patches/InteractionDef/Masturbation.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ /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"]
+
+
+
+
RSI_Masturbated
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/InteractionDef/Necro.xml b/1.5/Patches/InteractionDef/Necro.xml
new file mode 100644
index 0000000..0a02d95
--- /dev/null
+++ b/1.5/Patches/InteractionDef/Necro.xml
@@ -0,0 +1,25 @@
+
+
+
+
+ /Defs/InteractionDef[defName="Necro_Anal" or defName="Necro_DoublePenetration" or defName="Necro_DoublePenetrationM" or defName="Necro_Vaginal"]
+
+
+
+
RSI_SexWithCorpse
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Necro_Reverse_Anal" or defName="Necro_Reverse_DoublePenetration" or defName="Necro_Reverse_DoublePenetrationM" or defName="Necro_Reverse_Vaginal"]
+
+
+
+
RSI_SexWithCorpse
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/InteractionDef/Rape.xml b/1.5/Patches/InteractionDef/Rape.xml
new file mode 100644
index 0000000..34bc418
--- /dev/null
+++ b/1.5/Patches/InteractionDef/Rape.xml
@@ -0,0 +1,83 @@
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Vaginal"]
+
+
+
+
RSI_VaginalSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Anal" or defName="Rape_Rimming"]
+
+
+
+
RSI_AnalSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Beakjob" or defName="Rape_Cunnilingus" or defName="Rape_Fellatio" or defName="Rape_Oral"]
+
+
+
+
RSI_OralSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Breastjob" or defName="Rape_Fingering" or defName="Rape_Footjob" or defName="Rape_Handjob"]
+
+
+
+
RSI_MiscSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_DoublePenetration" or defName="Rape_DoublePenetrationM" or defName="Rape_Fisting" or defName="Rape_Scissoring"]
+
+
+
+
RSI_PromiscuousSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/InteractionDef/Rape_Reverse.xml b/1.5/Patches/InteractionDef/Rape_Reverse.xml
new file mode 100644
index 0000000..2f3a047
--- /dev/null
+++ b/1.5/Patches/InteractionDef/Rape_Reverse.xml
@@ -0,0 +1,83 @@
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Reverse_Vaginal"]
+
+
+
+
RSI_VaginalSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Reverse_Anal" or defName="Rape_Reverse_Rimming"]
+
+
+
+
RSI_AnalSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Reverse_Beakjob" or defName="Rape_Reverse_Cunnilingus" or defName="Rape_Reverse_Fellatio"]
+
+
+
+
RSI_OralSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Reverse_Breastjob" or defName="Rape_Reverse_Fingering" or defName="Rape_Reverse_Footjob" or defName="Rape_Reverse_Handjob"]
+
+
+
+
RSI_MiscSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Rape_Reverse_DoublePenetration" or defName="Rape_Reverse_DoublePenetrationM" or defName="Rape_Reverse_Fisting" or defName="Rape_Reverse_Scissoring"]
+
+
+
+
RSI_PromiscuousSex
+
RSI_Raped
+
+
+
+
RSI_WasRaped
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/InteractionDef/Sex.xml b/1.5/Patches/InteractionDef/Sex.xml
new file mode 100644
index 0000000..0be25d3
--- /dev/null
+++ b/1.5/Patches/InteractionDef/Sex.xml
@@ -0,0 +1,73 @@
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Vaginal"]
+
+
+
+
RSI_VaginalSex
+
+
+
RSI_VaginalSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Anal" or defName="Sex_Rimming"]
+
+
+
+
RSI_AnalSex
+
+
+
RSI_AnalSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Beakjob" or defName="Sex_Cunnilingus" or defName="Sex_Fellatio" or defName="Sex_Makeout" or defName="Sex_Sixtynine"]
+
+
+
+
RSI_OralSex
+
+
+
RSI_OralSex
+
+
+
+
+
+
+ /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"]
+
+
+
+
RSI_MiscSex
+
+
+
RSI_MiscSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_DoublePenetration" or defName="Sex_DoublePenetrationM" or defName="Sex_Fisting" or defName="Sex_Scissoring"]
+
+
+
+
RSI_PromiscuousSex
+
+
+
RSI_PromiscuousSex
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/InteractionDef/Sex_Reverse.xml b/1.5/Patches/InteractionDef/Sex_Reverse.xml
new file mode 100644
index 0000000..2e41ab5
--- /dev/null
+++ b/1.5/Patches/InteractionDef/Sex_Reverse.xml
@@ -0,0 +1,73 @@
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Reverse_Vaginal"]
+
+
+
+
RSI_VaginalSex
+
+
+
RSI_VaginalSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Reverse_Anal" or defName="Sex_Reverse_Rimming"]
+
+
+
+
RSI_AnalSex
+
+
+
RSI_AnalSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Reverse_Beakjob" or defName="Sex_Reverse_Cunnilingus" or defName="Sex_Reverse_Fellatio"]
+
+
+
+
RSI_OralSex
+
+
+
RSI_OralSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Reverse_Breastjob" or defName="Sex_Reverse_Fingering" or defName="Sex_Reverse_Footjob" or defName="Sex_Reverse_Handjob"]
+
+
+
+
RSI_MiscSex
+
+
+
RSI_MiscSex
+
+
+
+
+
+
+ /Defs/InteractionDef[defName="Sex_Reverse_DoublePenetration" or defName="Sex_Reverse_DoublePenetrationM" or defName="Sex_Reverse_Fisting"]
+
+
+
+
RSI_PromiscuousSex
+
+
+
RSI_PromiscuousSex
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/RJW_Drugs.xml b/1.5/Patches/RJW_Drugs.xml
new file mode 100644
index 0000000..e0a93bb
--- /dev/null
+++ b/1.5/Patches/RJW_Drugs.xml
@@ -0,0 +1,47 @@
+
+
+
+
+ Defs/HediffDef[defName="HumpShroomEffect"]/stages
+
+
+
+
+
+ 1.25
+ 0.25
+
+
+
+ 0.3
+
+ 1.1
+
+ 2
+ 0.5
+
+
+
+ 0.6
+
+ 1.33
+
+ 3
+ 0.75
+
+
+
+ 0.9
+
+ 1.33
+
+ 5
+ 1.5
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/RJW_Precepts.xml b/1.5/Patches/RJW_Precepts.xml
new file mode 100644
index 0000000..94c6160
--- /dev/null
+++ b/1.5/Patches/RJW_Precepts.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ Defs/PreceptDef[defName="Corpses_DontCare"]/requiredMemes
+
+
+
+
+
+
+
+ Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]/nullifyingPrecepts
+
+ Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]
+
+
+
Submissive_Male
+
Submissive_Female
+
+
+
+
+ Defs/ThoughtDef[defName="GotRaped" or defName="GotAnalRaped" or defName="GotAnalRapedByFemale" or defName="GotRapedUnconscious" or defName="HateMyRapist" or defName="AllowedMeToGetRaped"]/nullifyingPrecepts
+
+
Submissive_Male
+
Submissive_Female
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/RJW_ThoughtDefsDeath.xml b/1.5/Patches/RJW_ThoughtDefsDeath.xml
new file mode 100644
index 0000000..99ea439
--- /dev/null
+++ b/1.5/Patches/RJW_ThoughtDefsDeath.xml
@@ -0,0 +1,68 @@
+
+
+
+
+ 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
+
+ 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"]
+
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
SocialAffection_Small
+
+
+
+
+ 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
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
SocialAffection_Small
+
+
+
+
+
+ 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
+
+ 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"]
+
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
+
+
+
+ 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
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
+
+
+
+
+ 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
+
+ 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"]
+
+
+
SocialAffection_Psychopath
+
SocialAffection_OnlyFamily
+
+
+
+
+ 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
+
+
SocialAffection_Psychopath
+
SocialAffection_OnlyFamily
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.5/Patches/RJW_ThoughtDefsLost.xml b/1.5/Patches/RJW_ThoughtDefsLost.xml
new file mode 100644
index 0000000..43dd8fb
--- /dev/null
+++ b/1.5/Patches/RJW_ThoughtDefsLost.xml
@@ -0,0 +1,68 @@
+
+
+
+
+ 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
+
+ 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"]
+
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
SocialAffection_Small
+
+
+
+
+ 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
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
SocialAffection_Small
+
+
+
+
+
+ Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]/nullifyingPrecepts
+
+ Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]
+
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
+
+
+
+ Defs/ThoughtDef[defName="MyMotherLost" or defName="MyFatherLost" or defName="MyGrandchildLost" or defName="MySisterLost" or defName="MyBrotherLost" or defName="MyDaughterLost" or defName="MySonLost"]/nullifyingPrecepts
+
+
SocialAffection_Psychopath
+
SocialAffection_Dry
+
+
+
+
+
+ Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]/nullifyingPrecepts
+
+ Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]
+
+
+
SocialAffection_Psychopath
+
SocialAffection_OnlyFamily
+
+
+
+
+ Defs/ThoughtDef[defName="ColonistLost" or defName="PawnWithGoodOpinionLost" or defName="PawnWithBadOpinionLost"]/nullifyingPrecepts
+
+
SocialAffection_Psychopath
+
SocialAffection_OnlyFamily
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/About/About.xml b/About/About.xml
index f9aa52b..f7bc102 100644
--- a/About/About.xml
+++ b/About/About.xml
@@ -1,35 +1,38 @@
-
+
- RJW Sexperience Ideology
- aamevarashi
-
-
+ https://gitgud.io/amevarashi/rjw-sexperience-ideology/-/raw/master/About/Manifest.xmlhttps://gitgud.io/amevarashi/rjw-sexperience-ideology
-
+
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e6a9f77..b78e14f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,16 @@
+## Version 1.5.1.1
+* Changed size matters precepts for futanari: now they only check penis size and do not reverse it
+
+## Version 1.5.1.0
+* Rimworld 1.5
+
## Version 1.4.1.0
* 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
* Fixed SecondaryRomanceChanceFactor patch
+
## Version 1.0.2.0
* Removed Incestuos_IncestOnly conflict with Zoophile
* Patched manual romance to respect incestuous precepts
@@ -13,24 +21,30 @@
* Removed "not obedient" social thought for raping a slave
* Bestiality_Acceptable now nullifies RJW bestiality thoughts
* Fixed swapped baseMoodEffect of holy and elevated pregnancy precepts
+
## Version 1.0.1.2
* Removed 100% certainty spam for sex proselyzing
* Maybe removed sex proselyzing error with bestiality
+
## Version 1.0.1.1
* Fixed Ideology overwriting Sexperience's mod settings label
* Fixed submissive gender can't be marked for comfort
* Fixed new precepts adding thoughts to children
* Fixed Sexual Proselyzing precept
* Fixed biotech pregnancy not counting for pregnancy precepts
+
## Version 1.0.1.0
* Rimworld 1.4
### by Twonki
* Added Pregnancy, Sex Proselyzing and Size Matters precepts
+
## Version 1.0.0.3
* Fixed error in *_Gendered precept comps
+
## Version 1.0.0.2
* Fixed error in Sex_Promiscuous that happend when RJW Sexperience was not used
* Optimized Virgin_*_Taken thoughts
+
## Version 1.0.0.1
* Fixed SexAbility errors if used without RJW Sexperience
### by XenoMorphie
diff --git a/LoadFolders.xml b/LoadFolders.xml
index 48ed2ca..c04e50f 100644
--- a/LoadFolders.xml
+++ b/LoadFolders.xml
@@ -8,4 +8,8 @@
/
1.4
+
+
/
+
1.5
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 48aedd7..feca10d 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,14 @@ The only consistent way to get in touch with me is the RJW Discord server #sexpe
Please, ping me in the RJW Discord if you rased the issue here.
### Contributing
+All work should be done based of the `dev` branch! Trying to compile on the `master` branch will fail - this is intentional. While I can't do something like that for XML and translations, I may choose to reject the pull request based on the amount of work required to transfer all commits into the `dev` branch.
+
+The best practices:
+1. Fork this repository.
+2. In your fork create a new branch based on `dev`. The name of the new branch should reflect what you are changing in 3 words or less, separated by `-`. For example `rmb-menu-refactor` or `japanese-translation`.
+3. Make your changes and commit them to the new branch.
+4. Create a new merge request from your branch into the `dev` branch of this repository.
+
To be consistent with RJW, please use TABS not SPACES.
-Please, ping me in the RJW Discord after creating a merge request.
\ No newline at end of file
+Please, ping me in the RJW Discord after creating a merge request.
diff --git a/Source/IdeologyAddon/DebugAction.cs b/Source/IdeologyAddon/DebugAction.cs
index 55838d7..2b1763d 100644
--- a/Source/IdeologyAddon/DebugAction.cs
+++ b/Source/IdeologyAddon/DebugAction.cs
@@ -1,4 +1,5 @@
-using rjw;
+using LudeonTK;
+using rjw;
using RJWSexperience.Ideology.HistoryEvents;
using RJWSexperience.Ideology.Patches;
using System.Collections.Generic;
diff --git a/Source/IdeologyAddon/IdeoUtility.cs b/Source/IdeologyAddon/IdeoUtility.cs
index 05ffd75..c103729 100644
--- a/Source/IdeologyAddon/IdeoUtility.cs
+++ b/Source/IdeologyAddon/IdeoUtility.cs
@@ -61,27 +61,44 @@ namespace RJWSexperience.Ideology
}
}
+ ///
+ /// If the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina).
+ /// For futanari return the biggest penis size
+ ///
public static float GetGenitalSize(Pawn p)
{
if (p == null)
return 0f;
- // Iff the pawn has multiple genitalia, the "best" is picked (the biggest penis or tightest vagina)
- float bestSeenSize = 0f;
+ float bestSize = 0f;
+ bool foundPenis = false;
foreach (Hediff part in Genital_Helper.get_AllPartsHediffList(p))
{
+ float size;
// Only check for Vaginas and Penises, not for Anus or for things not categorized as primary sexual parts
- if (Genital_Helper.is_penis(part) || Genital_Helper.is_vagina(part))
+ if (Genital_Helper.is_penis(part))
{
- bestSeenSize = part.Severity > bestSeenSize ? part.Severity : bestSeenSize;
+ if (!foundPenis)
+ {
+ foundPenis = true;
+ bestSize = 0f;
+ }
+ size = part.Severity;
}
+ else if (!foundPenis && Genital_Helper.is_vagina(part))
+ {
+ // For vagina, the scale is inverted.
+ size = 1 - part.Severity;
+ }
+ else
+ {
+ continue;
+ }
+
+ bestSize = size > bestSize ? size : bestSize;
}
- // For Women, the scale is inverted.
- if (p.gender == Gender.Female)
- return 1 - bestSeenSize;
-
- return bestSeenSize;
+ return bestSize;
}
public static bool IsVisiblyPregnant(Pawn pawn)
diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj
index a5593cf..f2f51af 100644
--- a/Source/IdeologyAddon/IdeologyAddon.csproj
+++ b/Source/IdeologyAddon/IdeologyAddon.csproj
@@ -1,27 +1,27 @@
+ Debug
+ 1.5
+ 1.1
+ $(TargetGameVersion).$(InternalModVersion){B4481C38-31B1-422D-B5AA-0059FE7CCA1C}LibraryRJWSexperience.IdeologyRJWSexperience.Ideologynet48true
- ..\..\1.4\Assemblies\
+ ..\..\$(TargetGameVersion)\Assemblies\false
- False
+ false
+ false
+ false
+ none8.0
-
-
- ..\..\..\rjw\1.4\Assemblies\RJW.dll
- False
-
-
-
- 1.4.*
+ $(TargetGameVersion).*2.*
@@ -29,5 +29,41 @@
compile; build; native; contentfiles; analyzers; buildtransitive
-
+
+
+
+
+
+ obj\RJW.dll
+ False
+
+
+
+
+ https://gitgud.io/Ed86/rjw/-/raw/master/$(TargetGameVersion)/Assemblies/RJW.dll
+
+
+
+
+
+
+ ..\..\..\rjw\$(TargetGameVersion)\Assemblies\RJW.dll
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/IdeologyAddon/Properties/AssemblyInfo.cs b/Source/IdeologyAddon/Properties/AssemblyInfo.cs
index 8f041b0..9b85306 100644
--- a/Source/IdeologyAddon/Properties/AssemblyInfo.cs
+++ b/Source/IdeologyAddon/Properties/AssemblyInfo.cs
@@ -1,10 +1,9 @@
using System.Reflection;
-using System.Runtime.CompilerServices;
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: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
@@ -14,23 +13,21 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
-// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
-// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[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.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.5.*")]
diff --git a/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs b/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs
index 82a541e..3ef5e10 100644
--- a/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs
+++ b/Source/IdeologyAddon/Rituals/JobGiver_DrugOrgy.cs
@@ -2,6 +2,7 @@
using rjw;
using System;
using System.Collections.Generic;
+using System.Linq;
using Verse;
using Verse.AI;
@@ -35,7 +36,7 @@ namespace RJWSexperience.Ideology
{
if (duty != null)
{
- List pawns = pawn.Map.mapPawns.AllPawnsSpawned.FindAll(x => x.mindState?.duty?.def == duty.def);
+ IEnumerable pawns = pawn.Map.mapPawns.AllPawnsSpawned.Where(x => x.mindState?.duty?.def == duty.def);
return pawns.RandomElementByWeightWithDefault(x => SexAppraiser.would_fuck(pawn, x), 0.1f);
}
@@ -190,7 +191,14 @@ namespace RJWSexperience.Ideology
get_loved.AddFinishAction(delegate
{
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;
return get_loved;
diff --git a/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs b/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs
index eae27e5..48df03e 100644
--- a/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs
+++ b/Source/IdeologyAddon/Rituals/JobGiver_GangbangConsensual.cs
@@ -135,7 +135,14 @@ namespace RJWSexperience.Ideology
get_banged.AddFinishAction(delegate
{
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);
if (Bed != null && pawn.Downed)
diff --git a/Source/IdeologyAddon/Rituals/RitualOutcomeComps.cs b/Source/IdeologyAddon/Rituals/RitualOutcomeComps.cs
index b03416f..a0a91b2 100644
--- a/Source/IdeologyAddon/Rituals/RitualOutcomeComps.cs
+++ b/Source/IdeologyAddon/Rituals/RitualOutcomeComps.cs
@@ -36,14 +36,14 @@ namespace RJWSexperience.Ideology
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(),
present = false,
uncertainOutcome = true,
- effect = ExpectedOffsetDesc(true, -1f),
+ qualityChange = ExpectedOffsetDesc(true, -1f),
quality = qualityOffset,
positive = true
};
@@ -62,22 +62,22 @@ namespace RJWSexperience.Ideology
public override bool Applies(LordJob_Ritual ritual)
{
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 /= ritual.assignments.AllPawns.Count;
+ avgNeed /= ritual.assignments.AllCandidatePawns.Count;
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(),
present = false,
uncertainOutcome = true,
- effect = ExpectedOffsetDesc(true, -1f),
+ qualityChange = ExpectedOffsetDesc(true, -1f),
quality = qualityOffset,
positive = true
};
diff --git a/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs b/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs
index 6d970f3..a4c68a6 100644
--- a/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs
+++ b/Source/IdeologyAddon/RomanceChanceFactorHelpers.cs
@@ -1,4 +1,5 @@
-using RimWorld;
+using LudeonTK;
+using RimWorld;
using RJWSexperience.Ideology.Precepts;
using System.Collections.Generic;
using System.Linq;