diff --git a/CHANGELOG.md b/CHANGELOG.md
index af67de6..89390cf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,42 +3,43 @@
**Changes:**
- Cocoon Weaver Gene
-- Spawn Spelopede Gene (Can be changed to spawn megascarabs or other insects via xml)
-- Queens & Caste logic (see below)
+- Spawn Spelopede Gene (Can be changed to spawn Megascarabs or other insects via xml)
+- Queens & Caste Logic (see below)
- Addition to InsectIncubator: Now fertilizes eggs once placed inside a host, and breeds out eggs twice as fast.
-- Many new icons
-- Custom background icons when Vanilla-Expanded-Framework is loaded
**Internal:**
-- Renamed abilities to have _ability_ in their name, to not exactly match the gene-defnames.
-- Moved Insect-Incubator & Insect-Breeder to hive category and folders (from breeding)
+- Renamed Abilities to have _ability_ in their name, to not exactly match the gene-defnames.
+- Moved Insect-Incubator & Insect-Breeder to Hive Category and Folders
**Fixes:**
- Cockeater Ability has now Icon of Cockeater Gene
- Cockeater now leaves a bite wound!
- Pythokin-Patch checks for Licentialabs (#30)
-- Removed Sex-Change thoughts for pawns born or spawned with a gender-altering gene (Issue #32, PR #33 by @callavico)
**Queen & Caste Logic**
There are 3 genes revolting around a new, hopefully flexible insect-caste system. Queens, Drones and Workers. These reproduce either through normal sex, or can utilize the insect birth once [this PR](https://gitgud.io/Ed86/rjw/-/merge_requests/266) has been merged in.
-Update: It has been merged into [RJW 5.3.5](https://gitgud.io/Ed86/rjw/-/tags/5.3.5), make sure you update!
In general, the logic is the following:
- A queen can have sex with anyone. If the partner was a drone, there is chance for the baby to become a queen, drone or worker.
- If the partner of the queen was not a drone, the baby will be a worker.
- If the drone didn't mate with a queen but someone else, normal inheritance happens
-- The assignment is done by xenotypes for queen and drones. The baby will get all xenogenes of their parents chosen xenotypes.
+- The assignemnt is done by xenotypes for queen and drones. The baby will get all xenogenes of their parents xenotypes.
- For workers, every queen can have a set of genes for their workers defined in [a special def](./Common/Defs/QueenWorkerMappingDefs/QueenWorkerMappingDefs_base.xml). These will be added as endogenes, so that pawns can still become xenotypes.
-- There is a default gene-set for workers, making dumb, sterile and servile pawns.
-- Chances for Offsprings (Drone, Queen, Worker) is defined in an [XML-Def](./Common/Defs/HiveOffspringChanceDef/HiveOffspringChanceDefs.xml). They are set per Queen.
+- There is a default set for worker genes, making mentally dumb, sterile and servile pawns.
+- Chances for Offsprings (Drone, Queen, Worker) is defined in an [XML-Def](./Common/Defs/HiveOffspringChanceDef/HiveOffspringChanceDefs.xml)
-I am not sure if I want to have a specific mapping defining that queen can only mate with certain drones, let me know how you feel about it.
+I am not sure if I want to have a specific mapping defining that Queen can only mate with certain Drones, let me know how you feel about it.
*Queens can be male*. I just used the female-term, but implementation is gender-neutral.
+**ToDo:**
+
+- Icons: Cocoon, Spelopede Spawn
+- Sound: Spelopede Spawn
+
# 1.1.4
Fixes:
diff --git a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
index aadecc9..7482459 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
@@ -11,34 +11,21 @@
rjw_genes_breeding1-1
-
-
-
+
@@ -30,7 +23,7 @@
rjw_genes_much_cumMales of this species produce a lot of fluid.
- Genes/Icons/Much_Cum
+ Genes/Icons/Bonus_CumRJW_Genes.Gene_MuchCum5341
@@ -41,7 +34,7 @@
rjw_genes_very_much_cumMales of this species produce a whole lot of fluid. They are like fountains basically.
- Genes/Icons/Very_Much_Cum
+ Genes/Icons/Much_Bonus_CumRJW_Genes.Gene_VeryMuchCum5351
@@ -62,14 +55,7 @@
-
+
@@ -99,13 +78,6 @@
When this Xenotype transfers nutrition via cumshot, the giver will not get hungry. (Licentia Configuration for Transfer Nutrition must be enabled).Genes/Icons/Generous_Donor538
-
-
-
-
+
rjw_genes_extra_penis
@@ -40,7 +34,7 @@
rjw_genes_extra_vaginaFemales of this species grow an additional vagina .
- Genes/Icons/Extra_Vagina
+ Genes/Icons/extra_femaleRJW_Genes.Gene_ExtraVagina703
@@ -52,7 +46,7 @@
rjw_genes_no_vaginaFemales of this do not have a vagina.
- Genes/Icons/No_Vagina
+ Genes/Icons/No_Female_GenitaliaRJW_Genes.Gene_NoVagina704
@@ -133,19 +127,5 @@
BreastAmount
-
+
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml b/Common/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml
index 5c43285..c5d8826 100644
--- a/Common/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml
@@ -2,14 +2,7 @@
rjw_genes_genitalia_size
-
-
-
-
-
@@ -65,7 +58,7 @@
rjw_genes_slime_genitaliaCarriers of this gene have slime genitalia.
- Genes/Icons/Slime_Genitalia
+ Genes/Icons/Genitalia_SlimeRJW_Genes.Gene_SlimeGenitalia807
@@ -74,10 +67,9 @@
rjw_genes_ovipositor_genitaliaCarriers of this gene have ovipositors similar to insects.
- Genes/Icons/Ovipositor_Genitalia
+ Genes/Icons/Genitalia_InsectRJW_Genes.Gene_OvipositorGenitalia808
-
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/GeneDefs_Hive.xml b/Common/Defs/GeneDefs/GeneDefs_Hive.xml
index 33c9c74..84b15ff 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Hive.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Hive.xml
@@ -1,24 +1,13 @@
-
-
- rjw_genes_hive
-
-
-
-
-
-
-
+ rjw_genes_queenqueenThis gene represents the royal caste amongst its xenotype. Children of a queen are usually born as sterile workers, unless the father was a drone. Having multiple (adult) queens leads to intense rivalry and can throw the whole colony into chaos!
- Genes/Icons/queen
+ Things/Mote/Heart1
+ rjw_genes_hive0.5
@@ -52,13 +41,14 @@
-3
-
+ rjw_genes_dronedroneThis gene represents the drone caste amongst its xenotype. Drones are highly specialised experts that ensure the hives functioning. Other than that, drones are the only xenotypes capable of producing fertile offspring with a queen.
- Genes/Icons/drone
+ Things/Mote/Heart2
+ rjw_genes_hive
rjw_genes_hive_caste
@@ -80,13 +70,14 @@
-
+ rjw_genes_workerworker
- This gene marks the lowest caste of a hive, the workers. Usually sterile, they are despised by higher castes and only live to serve with labour.
- Genes/Icons/worker
+ This gene represents the lowest caste of a hive, the workers. Usually sterile, they are despised by higher castes and only live to serve with labour.
+ Things/Mote/Heart3
+ rjw_genes_hive
rjw_genes_hive_caste
@@ -122,13 +113,14 @@
-
+ rjw_genes_zealous_loyaltyloyaltyCarriers of this gene are genetically wired to worship carriers of the 'Queen'-gene. They receive a massive relation-ship bonus towards the queen and a slight mood bonus. Having multiple queens in the colony causes severe distress.Things/Mote/Heart10
+ rjw_genes_hive
-
-
+ rjw_genes_cocoonweavercocooner
- Carriers of this gene can produce a cocoon to prepare helpless (or willing) victims for breeding.
- Genes/Icons/Cocoon
+ Carriers of this gene can produce a cocoon to prepare helpless victims for breeding.
+ Things/Mote/Heart11
+ rjw_genes_hive
rjw_genes_ability_cocoonweaver
@@ -162,13 +148,14 @@
-1
-
+ rjw_genes_spawn_spelopede
- spelopede
+ cocoonerCarriers of this gene can generate tame spelopedes. Higher psychic-sensitivity will spawn more spelopedes.World/WorldObjects/Expanding/Insects12
+ rjw_genes_hive
rjw_genes_ability_spawn_spelopede
@@ -179,44 +166,28 @@
-1
+
+
+ rjw_genes_insectincubator
+
+ RJW_Genes.Gene_InsectIncubator
+ Pawns with this gene are able to host more insect eggs, hatch them faster and fertilize any inserted egg.
+ Genes/Icons/More_Egg_Space
+ 52
+ rjw_genes_hive
+ 1
+ -1
+
+
+
+ rjw_genes_insectbreeder
+
+ Pawns with this gene are able to fertilize eggs with any fertile penis.
+ World/WorldObjects/Expanding/Insects
+ 53
+ rjw_genes_hive
+ 1
+ -1
+
-
- rjw_genes_insectincubator
-
- RJW_Genes.Gene_InsectIncubator
- Pawns with this gene are able to hold more insect eggs.
- Genes/Icons/Egg
- 52
- 1
- -1
-
-
-
- rjw_genes_insectbreeder
-
- Pawns with this gene are able to fertilize eggs with any fertile penis.
- Genes/Icons/Insect_Breeder
- 53
- 1
- -1
-
-
-
-
@@ -135,7 +107,7 @@
paralysing kissCarriers of this gene are able to briefly stun an enemy with a kiss.
- Genes/Icons/Paralysing_Kiss
+ Genes/Icons/rjw_genes_lipsrjw_genes_lifeforce12rjw_genes_fertilin
@@ -153,13 +125,6 @@
- rjw_genes_drainerCarriers of this gene are able to absorb a great amount of fertilin by draining the vitality of the partner. This is done passively through having sex with a non-drained pawn that does not have this gene.
- Genes/Icons/Vitality_Drainer
+ Things/Mote/Heartrjw_genes_lifeforce4rjw_genes_fertilin1-1
-
-
-
-
-
-
-
+ rjw_genes_orgasm_rush
+ rjw_genes_specialOn Orgasm, carriers of this gene get a boost in activity. (rest-need is partially filled)1-2
@@ -22,9 +11,10 @@
1
-
+ rjw_genes_youth_fountain
+ rjw_genes_specialHaving sex with a carrier of this gene makes the partner slightly younger. (Partner stays adult)2-2
@@ -32,9 +22,10 @@
2
-
+ rjw_genes_sex_age_drain
+ rjw_genes_specialHaving sex transfers some of the partners life-time to themselves. (Pawn stays adult)2-1
@@ -42,12 +33,13 @@
3
-
+ rjw_genes_aphrodisiac_pheromones
+ rjw_genes_specialRJW_Genes.Gene_Aphrodisiac_PheromonesPheremones of this pawn induce an incressed sexdrive to others nearby.
- Genes/Icons/Pheromones
+ UI/Memes/FleshPurity411
diff --git a/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml b/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml
index 0cd226f..e168411 100644
--- a/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml
@@ -9,13 +9,6 @@
Genes/Icons/Female_OnlyRJW_Genes.Gene_FemaleOnly1
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml b/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml
index 646d4c8..38dfa28 100644
--- a/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml
+++ b/Common/Defs/GeneDefs/Xenotype_Lifeforce.xml
@@ -6,7 +6,7 @@
Succubi are strongly enhanced xenohumans. These overnaturally beautiful creatures strive parasitically on the Fertilin found in semen.Succubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this.
- Genes/Icons/Xenotypes/Xenotype-Succubus
+ UI/Icons/Xenotypes/SanguophagePawnBecameSanguophage0.50.1~140
@@ -53,7 +53,7 @@
Incubi are strongly enhanced xenohumans. These overnaturally beautiful creatures strive parasitically on the Fertilin found in semen.Incubi are beautiful and extremely hungry Xenohumans. They strive on having sex and extracting their victims life-force through this.
- Genes/Icons/Xenotypes/Xenotype-Incubus
+ UI/Icons/Xenotypes/SanguophagePawnBecameSanguophage0.50.1~140
@@ -98,7 +98,7 @@
Cumazone are a female only xenotype that excel at meele combat. Originally created as bodyguards for glitterworld amazon communities, they spred to other systems by mere strength and providing for some fetishes. They can use Fertilin to enhance their skin to overpower any combatant in meele. Their only source for Fertilin is biting of male genitalia - so be sure to have a steady supply of victim males or prepare to raid unsuspecting men of the rim.Female only, strong meele fighters, that use Fertilin from bitten-off cocks for powerful buffs.
- Genes/Icons/Xenotypes/Xenotype-Cumazon
+ UI/Icons/Xenotypes/Neanderthal0.50.1~1402.5
diff --git a/Common/Defs/ThoughtDefs/Thoughts_Hive.xml b/Common/Defs/ThoughtDefs/Thoughts_Hive.xml
index 8a232b3..b728812 100644
--- a/Common/Defs/ThoughtDefs/Thoughts_Hive.xml
+++ b/Common/Defs/ThoughtDefs/Thoughts_Hive.xml
@@ -30,19 +30,6 @@
-
- rjw_genes_queen_despises_workers_social
- Thought_SituationalSocial
- RJW_Genes.ThoughtWorker_WorkerDespised_Social
-
-
-
- those workers are not even worth a glance.
- -20
-
-
-
-
rjw_genes_multiple_queens_mood
diff --git a/Common/Textures/Genes/Icons/Bonus_Cum.png b/Common/Textures/Genes/Icons/Bonus_Cum.png
new file mode 100644
index 0000000..e6c51a4
Binary files /dev/null and b/Common/Textures/Genes/Icons/Bonus_Cum.png differ
diff --git a/Common/Textures/Genes/Icons/Cocoon.png b/Common/Textures/Genes/Icons/Cocoon.png
deleted file mode 100644
index 5e9b0bc..0000000
Binary files a/Common/Textures/Genes/Icons/Cocoon.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Egg.png b/Common/Textures/Genes/Icons/Egg.png
deleted file mode 100644
index a635f14..0000000
Binary files a/Common/Textures/Genes/Icons/Egg.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Extra_Vagina.png b/Common/Textures/Genes/Icons/Extra_Vagina.png
deleted file mode 100644
index 4c93501..0000000
Binary files a/Common/Textures/Genes/Icons/Extra_Vagina.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Fervent_Ovipositor.png b/Common/Textures/Genes/Icons/Fervent_Ovipositor.png
deleted file mode 100644
index daa1704..0000000
Binary files a/Common/Textures/Genes/Icons/Fervent_Ovipositor.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Genitalia_Insect.png b/Common/Textures/Genes/Icons/Genitalia_Insect.png
new file mode 100644
index 0000000..e71cabe
Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Insect.png differ
diff --git a/Common/Textures/Genes/Icons/Genitalia_Slime.png b/Common/Textures/Genes/Icons/Genitalia_Slime.png
new file mode 100644
index 0000000..ee7ae69
Binary files /dev/null and b/Common/Textures/Genes/Icons/Genitalia_Slime.png differ
diff --git a/Common/Textures/Genes/Icons/Insect_Breeder.png b/Common/Textures/Genes/Icons/Insect_Breeder.png
deleted file mode 100644
index 4898614..0000000
Binary files a/Common/Textures/Genes/Icons/Insect_Breeder.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Loose_Female_Genitalia.png b/Common/Textures/Genes/Icons/Loose_Female_Genitalia.png
new file mode 100644
index 0000000..63b6a9c
Binary files /dev/null and b/Common/Textures/Genes/Icons/Loose_Female_Genitalia.png differ
diff --git a/Common/Textures/Genes/Icons/Loose_Vagina.png b/Common/Textures/Genes/Icons/Loose_Vagina.png
deleted file mode 100644
index c1b5808..0000000
Binary files a/Common/Textures/Genes/Icons/Loose_Vagina.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Loyalty.png b/Common/Textures/Genes/Icons/Loyalty.png
deleted file mode 100644
index f7cbe57..0000000
Binary files a/Common/Textures/Genes/Icons/Loyalty.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/More_Egg_Space.png b/Common/Textures/Genes/Icons/More_Egg_Space.png
new file mode 100644
index 0000000..35fbcb3
Binary files /dev/null and b/Common/Textures/Genes/Icons/More_Egg_Space.png differ
diff --git a/Common/Textures/Genes/Icons/Much_Bonus_Cum.png b/Common/Textures/Genes/Icons/Much_Bonus_Cum.png
new file mode 100644
index 0000000..d512725
Binary files /dev/null and b/Common/Textures/Genes/Icons/Much_Bonus_Cum.png differ
diff --git a/Common/Textures/Genes/Icons/No_Cum.png b/Common/Textures/Genes/Icons/No_Cum.png
index 8bcdc81..2084b5e 100644
Binary files a/Common/Textures/Genes/Icons/No_Cum.png and b/Common/Textures/Genes/Icons/No_Cum.png differ
diff --git a/Common/Textures/Genes/Icons/No_Female_Genitalia.png b/Common/Textures/Genes/Icons/No_Female_Genitalia.png
new file mode 100644
index 0000000..9405ce7
Binary files /dev/null and b/Common/Textures/Genes/Icons/No_Female_Genitalia.png differ
diff --git a/Common/Textures/Genes/Icons/No_Vagina.png b/Common/Textures/Genes/Icons/No_Vagina.png
deleted file mode 100644
index ec99f03..0000000
Binary files a/Common/Textures/Genes/Icons/No_Vagina.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Ovipositor_Genitalia.png b/Common/Textures/Genes/Icons/Ovipositor_Genitalia.png
deleted file mode 100644
index a2b5806..0000000
Binary files a/Common/Textures/Genes/Icons/Ovipositor_Genitalia.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Paralysing_Kiss.png b/Common/Textures/Genes/Icons/Paralysing_Kiss.png
deleted file mode 100644
index 20c4fd5..0000000
Binary files a/Common/Textures/Genes/Icons/Paralysing_Kiss.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Pheromones.png b/Common/Textures/Genes/Icons/Pheromones.png
deleted file mode 100644
index 88a6c53..0000000
Binary files a/Common/Textures/Genes/Icons/Pheromones.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png b/Common/Textures/Genes/Icons/RJW-Genes_Endogene_Background (Not in use now).png
similarity index 100%
rename from Common/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png
rename to Common/Textures/Genes/Icons/RJW-Genes_Endogene_Background (Not in use now).png
diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png b/Common/Textures/Genes/Icons/RJW-Genes_Xenogene_Background (Not in use now).png
similarity index 100%
rename from Common/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png
rename to Common/Textures/Genes/Icons/RJW-Genes_Xenogene_Background (Not in use now).png
diff --git a/Common/Textures/Genes/Icons/Slime_Genitalia.png b/Common/Textures/Genes/Icons/Slime_Genitalia.png
deleted file mode 100644
index 09bbd61..0000000
Binary files a/Common/Textures/Genes/Icons/Slime_Genitalia.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Tight_Female_Genitalia.png b/Common/Textures/Genes/Icons/Tight_Female_Genitalia.png
new file mode 100644
index 0000000..d0931fa
Binary files /dev/null and b/Common/Textures/Genes/Icons/Tight_Female_Genitalia.png differ
diff --git a/Common/Textures/Genes/Icons/Tight_Vagina.png b/Common/Textures/Genes/Icons/Tight_Vagina.png
deleted file mode 100644
index cd8be97..0000000
Binary files a/Common/Textures/Genes/Icons/Tight_Vagina.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Vitality_Drainer.png b/Common/Textures/Genes/Icons/Vitality_Drainer.png
deleted file mode 100644
index eb310c1..0000000
Binary files a/Common/Textures/Genes/Icons/Vitality_Drainer.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png b/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png
deleted file mode 100644
index 9ffab2c..0000000
Binary files a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png b/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png
deleted file mode 100644
index 8d285e5..0000000
Binary files a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png b/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png
deleted file mode 100644
index e831799..0000000
Binary files a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png b/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png
deleted file mode 100644
index 14d6685..0000000
Binary files a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png b/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png
deleted file mode 100644
index 9b0f425..0000000
Binary files a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png b/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png
deleted file mode 100644
index dddb34d..0000000
Binary files a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/drone.png b/Common/Textures/Genes/Icons/drone.png
deleted file mode 100644
index e600639..0000000
Binary files a/Common/Textures/Genes/Icons/drone.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/extra_female.png b/Common/Textures/Genes/Icons/extra_female.png
new file mode 100644
index 0000000..1a6ae6e
Binary files /dev/null and b/Common/Textures/Genes/Icons/extra_female.png differ
diff --git a/Common/Textures/Genes/Icons/much_cum.png b/Common/Textures/Genes/Icons/much_cum.png
deleted file mode 100644
index 412030f..0000000
Binary files a/Common/Textures/Genes/Icons/much_cum.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/queen.png b/Common/Textures/Genes/Icons/queen.png
deleted file mode 100644
index 8ef515f..0000000
Binary files a/Common/Textures/Genes/Icons/queen.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/very_much_cum.png b/Common/Textures/Genes/Icons/very_much_cum.png
deleted file mode 100644
index 0e692ff..0000000
Binary files a/Common/Textures/Genes/Icons/very_much_cum.png and /dev/null differ
diff --git a/Common/Textures/Genes/Icons/worker.png b/Common/Textures/Genes/Icons/worker.png
deleted file mode 100644
index 743caa0..0000000
Binary files a/Common/Textures/Genes/Icons/worker.png and /dev/null differ
diff --git a/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs b/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs
index 00b4c82..8a93c51 100644
--- a/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs
@@ -1,5 +1,6 @@
using Verse;
using rjw;
+using RimWorld;
namespace RJW_Genes
{
@@ -53,7 +54,7 @@ namespace RJW_Genes
internal void AddFeaturelessBreast()
{
var partBPR = Genital_Helper.get_breastsBPR(pawn);
- added_nipples = pawn.health.AddHediff(Genital_Helper.featureless_chest, partBPR);
+ this.added_nipples = pawn.health.AddHediff(Genital_Helper.featureless_chest, partBPR);
}
}
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs b/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs
index 8aad9ab..d23b2df 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs
@@ -9,6 +9,9 @@ namespace RJW_Genes
internal Hediff removed_anus;
+ // TODO: This gene only works if another Gene was set specifying the genitalia.
+ // If it is added later, it still works, but on creation it needs a different
+ // TODO: If all Genitalia are removed by genes, RJW adds some to the pawns at spawn
public override void PostMake()
{
base.PostMake();
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs b/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs
index caa0a5c..874ff5f 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs
@@ -52,5 +52,15 @@ namespace RJW_Genes
}
}
+ /*
+ ///
+ /// Adds a "rjw.featurelesschest", which means nipples but nothing else (like male human pawns do).
+ ///
+ internal void AddFeaturelessBreast()
+ {
+ var partBPR = Genital_Helper.get_breastsBPR(pawn);
+ //this.added_nipples = pawn.health.AddHediff(Genital_Helper.featureless_chest, partBPR);
+ }
+ */
}
}
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs b/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs
index b107a5a..be67ef4 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs
@@ -9,6 +9,9 @@ namespace RJW_Genes
internal Hediff removed_penis;
+ // TODO: This gene only works if another Gene was set specifying the genitalia.
+ // If it is added later, it still works, but on creation it needs a different
+ // TODO: If all Genitalia are removed by genes, RJW adds some to the pawns at spawn
public override void PostMake()
{
base.PostMake();
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs b/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs
index 438d76e..8083f58 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs
@@ -8,7 +8,10 @@ namespace RJW_Genes
{
internal Hediff removed_vagina;
-
+
+ // TODO: This gene only works if another Gene was set specifying the genitalia.
+ // If it is added later, it still works, but on creation it needs a different
+ // TODO: If all Genitalia are removed by genes, RJW adds some to the pawns at spawn
public override void PostMake()
{
base.PostMake();
diff --git a/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs b/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs
deleted file mode 100644
index e098a8c..0000000
--- a/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using rjw;
-using Verse;
-
-namespace RJW_Genes
-{
-
- ///
- /// Removes breasts for female (and trap, futa) pawns and adds Udders.
- /// Wished for in Issue #27.
- ///
- /// TODO: Currently, the sexualizer over-writes the added udders and just adds another pair of breasts!
- /// I commented out the gene in .xml for now.
- ///
- public class Gene_UdderBreasts : RJW_Gene
- {
-
- Hediff removed_breasts;
- Hediff added_udders;
-
- public override void PostMake()
- {
- base.PostMake();
-
- // Breasts are replaced for female,trap and futa pawns
- if ( removed_breasts == null
- && (GenderUtility.IsFemale(pawn) || GenderHelper.GetSex(pawn) == GenderHelper.Sex.futa || GenderHelper.GetSex(pawn) == GenderHelper.Sex.trap)
- )
- {
- RemoveButStoreBreasts();
- AddUdders();
- }
-
- }
-
- public override void PostAdd()
- {
- base.PostAdd();
-
- // Breasts are replaced for female,trap and futa pawns
- if (removed_breasts == null
- && (GenderUtility.IsFemale(pawn) || GenderHelper.GetSex(pawn) == GenderHelper.Sex.futa || GenderHelper.GetSex(pawn) == GenderHelper.Sex.trap)
- )
- {
- RemoveButStoreBreasts();
- AddUdders();
- }
- }
-
- public override void PostRemove()
- {
- base.PostRemove();
- // Re-Add the old breasts
- if (removed_breasts != null)
- pawn.health.AddHediff(removed_breasts);
- if (added_udders != null)
- pawn.health.RemoveHediff(added_udders);
- }
-
- internal void RemoveButStoreBreasts()
- {
- var partBPR = Genital_Helper.get_breastsBPR(pawn);
- Hediff breastsToRemove = Genital_Helper.get_AllPartsHediffList(pawn).FindLast(x => GenitaliaUtility.IsBreasts(x));
-
- if (breastsToRemove != null)
- {
- removed_breasts = breastsToRemove;
- pawn.health.RemoveHediff(breastsToRemove);
- }
- }
-
- internal void AddUdders()
- {
- BodyPartRecord bpr = Genital_Helper.get_uddersBPR(pawn);
- added_udders = pawn.health.AddHediff(Genital_Helper.udder_breasts, bpr);
- }
- }
-
-}
\ No newline at end of file
diff --git a/Source/Genes/Gender/GenderUtility.cs b/Source/Genes/Gender/GenderUtility.cs
index 10b811d..3297a0b 100644
--- a/Source/Genes/Gender/GenderUtility.cs
+++ b/Source/Genes/Gender/GenderUtility.cs
@@ -75,13 +75,6 @@ namespace RJW_Genes
private static readonly List wasSexThoughts = Traverse.Create(typeof(GenderHelper)).Field("old_sex_list").GetValue>();
private static readonly List sexChangeThoughts = Traverse.Create(typeof(GenderHelper)).Field("SexChangeThoughts").GetValue>();
- ///
- /// This method removes all RJW-Sexchange-Hediffs from the pawn.
- /// It used with the RJW_Gene.Notify_OnPawnGeneration() to check for pawns on spawn.
- ///
- /// Fixes Issue #32, where pawns that spawn fresh with a "all female" gene may have m2f thoughts.
- ///
- /// The pawn that needs to have SexChange-Thoughts removed.
public static void RemoveAllSexChangeThoughts(Pawn pawn)
{
// Shouldn't ever be true in the normal case, but this stops someone from calling this with an incorrect setup
@@ -90,7 +83,7 @@ namespace RJW_Genes
if(wasSexThoughts == null || sexChangeThoughts == null || !wasSexThoughts.Any() || !sexChangeThoughts.Any())
{
- Log.Warning($"Couldn't get values from RJW.\nold_sex_list: {wasSexThoughts.ToStringSafeEnumerable()}\nSexChangeThoughts: {sexChangeThoughts.ToStringSafeEnumerable()}");
+ Log.Error($"Couldn't get values from RJW.\nold_sex_list: {wasSexThoughts.ToStringSafeEnumerable()}\nSexChangeThoughts: {sexChangeThoughts.ToStringSafeEnumerable()}");
return;
}
diff --git a/Source/Genes/Gender/Gene_FemaleOnly.cs b/Source/Genes/Gender/Gene_FemaleOnly.cs
index 97c4365..bc8ac20 100644
--- a/Source/Genes/Gender/Gene_FemaleOnly.cs
+++ b/Source/Genes/Gender/Gene_FemaleOnly.cs
@@ -41,7 +41,7 @@ namespace RJW_Genes
public override void Notify_OnPawnGeneration()
{
base.Notify_OnPawnGeneration();
- // If this is Pawn generation, then we can assume that the pawn was never any gender other than female, so they shouldn't have sex change thoughts. (Issue #32)
+ // If this is Pawn generation, then we can assume that the pawn was never any gender other than female, so they shouldn't have sex change thoughts.
GenderUtility.RemoveAllSexChangeThoughts(pawn);
}
}
diff --git a/Source/Genes/Gender/Gene_MaleOnly.cs b/Source/Genes/Gender/Gene_MaleOnly.cs
index e081700..eba7ce5 100644
--- a/Source/Genes/Gender/Gene_MaleOnly.cs
+++ b/Source/Genes/Gender/Gene_MaleOnly.cs
@@ -41,7 +41,7 @@ namespace RJW_Genes
public override void Notify_OnPawnGeneration()
{
base.Notify_OnPawnGeneration();
- // If this is Pawn generation, then we can assume that the pawn was never any gender other than male, so they shouldn't have sex change thoughts. (Issue #32)
+ // If this is Pawn generation, then we can assume that the pawn was never any gender other than male, so they shouldn't have sex change thoughts.
GenderUtility.RemoveAllSexChangeThoughts(pawn);
}
}
diff --git a/Source/Genes/Genitalia/GenitaliaUtility.cs b/Source/Genes/Genitalia/GenitaliaUtility.cs
index c762071..4dc289a 100644
--- a/Source/Genes/Genitalia/GenitaliaUtility.cs
+++ b/Source/Genes/Genitalia/GenitaliaUtility.cs
@@ -99,7 +99,6 @@ namespace RJW_Genes
case "rjw_genes_demonic_genitalia": return Genital_Helper.average_breasts;
case "rjw_genes_dragon_genitalia": return Genital_Helper.average_breasts;
case "rjw_genes_slime_genitalia": return Genital_Helper.slime_breasts;
- case "rjw_genes_udder_breasts": return Genital_Helper.udder_breasts;
case "rjw_genes_ovipositor_genitalia": return Genital_Helper.average_breasts;
default: return Genital_Helper.generic_breasts;
diff --git a/Source/Genes/Hive/Genes/Gene_FerventOvipositor.cs b/Source/Genes/Hive/Genes/Gene_FerventOvipositor.cs
deleted file mode 100644
index 353148a..0000000
--- a/Source/Genes/Hive/Genes/Gene_FerventOvipositor.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-using Verse;
-using rjw;
-
-namespace RJW_Genes
-{
-
- ///
- /// Manages the rjw_genes_fervent_ovipositor to grow eggs much faster.
- ///
- /// TODO: Move the Multiplier into XML
- /// TODO: This gene only works after the first egg, the first egg for two new pawns spawns at the same time (strange).
- ///
- public class Gene_FerventOvipositor : Gene
- {
-
- const int MULTIPLIER = 3; // Tick 3 times as much, making a pawn with this Gene Produce Eggs 4 times as fast as the normal.
-
- public override void Tick()
- {
- base.Tick();
-
- if (pawn == null) return;
-
- Hediff_PartBaseNatural OvipositorF = (Hediff_PartBaseNatural) pawn.health.hediffSet.GetFirstHediffOfDef(rjw.Genital_Helper.ovipositorF);
-
- if (OvipositorF == null) return;
-
- OvipositorF.nextEggTick = Math.Max(OvipositorF.nextEggTick - MULTIPLIER, -1);
-
- // DevNote: I first had a for-loop calling OviPositorF.tick(), but I fear that would be a performance sink.
- // Also, it would double other aspects as well, such as bleeding out through your insect-PP or dropping out the eggs.
- }
-
-
- }
-}
diff --git a/Source/Genes/Hive/Thoughts/ThoughtWorker_QueenPresent_Social.cs b/Source/Genes/Hive/Thoughts/ThoughtWorker_QueenPresent_Social.cs
index e4e7792..e6b9ea8 100644
--- a/Source/Genes/Hive/Thoughts/ThoughtWorker_QueenPresent_Social.cs
+++ b/Source/Genes/Hive/Thoughts/ThoughtWorker_QueenPresent_Social.cs
@@ -12,9 +12,6 @@ namespace RJW_Genes
{
protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
{
- // p is the pawn `thinking`, and other is the pawn being thought about.
- // here: p = loyal pawn, other = potential queen
-
if (!p.RaceProps.Humanlike)
return (ThoughtState) false;
diff --git a/Source/Genes/Hive/Thoughts/ThoughtWorker_WorkerDespised_Social.cs b/Source/Genes/Hive/Thoughts/ThoughtWorker_WorkerDespised_Social.cs
deleted file mode 100644
index 8a9ad53..0000000
--- a/Source/Genes/Hive/Thoughts/ThoughtWorker_WorkerDespised_Social.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace RJW_Genes
-{
- public class ThoughtWorker_WorkerDespised_Social : ThoughtWorker
- {
- protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
- {
- // p is the pawn `thinking`, and other is the pawn being thought about.
- // here: p = queen, other = potential worker
-
- if (!p.RaceProps.Humanlike)
- return (ThoughtState) false;
-
- if (!other.RaceProps.Humanlike)
- return (ThoughtState) false;
-
- if (!RelationsUtility.PawnsKnowEachOther(p, other))
- return (ThoughtState) false;
-
- // Only check if they are spawned
- if (!p.Spawned || !other.Spawned)
- return (ThoughtState)false;
-
- if (GeneUtility.HasGeneNullCheck(p, GeneDefOf.rjw_genes_queen) && GeneUtility.HasGeneNullCheck(other, GeneDefOf.rjw_genes_worker))
- {
- return (ThoughtState)true;
- }
-
- return (ThoughtState)false;
- }
- }
-}
diff --git a/Source/Genes/RJW_Gene.cs b/Source/Genes/RJW_Gene.cs
index c006d2c..dfa05bf 100644
--- a/Source/Genes/RJW_Gene.cs
+++ b/Source/Genes/RJW_Gene.cs
@@ -16,8 +16,6 @@ namespace RJW_Genes
///
/// Executed via PawnGenerator.GenerateGenes at Pawn generation
/// Allows for execution of code that should only happen during PawnGeneration
- ///
- /// This has an accompanying patch `Patch_AddNotifyOnGeneration.cs`.
///
public virtual void Notify_OnPawnGeneration()
{
diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj
index 3084f31..4343cee 100644
--- a/Source/Rjw-Genes.csproj
+++ b/Source/Rjw-Genes.csproj
@@ -43,9 +43,7 @@
-
-
@@ -103,7 +101,6 @@
-
diff --git a/TODOS.md b/TODOS.md
index 16c5906..7e223a1 100644
--- a/TODOS.md
+++ b/TODOS.md
@@ -39,14 +39,14 @@ Can't help but think about Rexxar Porn now I am a bad person.
**Hive Mother:**
-- [X] Spawn the small scarabs
-- [X] Fertilise Eggs inside her
-- [X] Produce cocoons
+- [] Spawn the small scarabs
+- [] Fertilise Eggs inside her
+- [] Produce cocoons
- [] Maybe: Insert "dropped" Insect eggs
- [] Very fragile, no use except breeding
- [] Maybe: can only eat insect jelly
-- [X] Should look like a nice green-yellow alien as we all know fuckable insects would look like.
-- [X] There can only be one Hive Mother, some penalties if there are others. This could be implement with an "Alpha Gene" that gives heavy penalties when other Alpha exists.
+- [] Should look like a nice green-yellow alien as we all know fuckable insects would look like.
+- [] There can only be one Hive Mother, some penalties if there are others. This could be implement with an "Alpha Gene" that gives heavy penalties when other Alpha exists.
## Genes with Abilities and more Effects