diff --git a/Common/Textures/Genes/Icons/Big_Breasts.png b/1.4/Textures/Genes/Icons/Big_Breasts.png similarity index 100% rename from Common/Textures/Genes/Icons/Big_Breasts.png rename to 1.4/Textures/Genes/Icons/Big_Breasts.png diff --git a/Common/Textures/Genes/Icons/Big_Male_Genitalia.png b/1.4/Textures/Genes/Icons/Big_Male_Genitalia.png similarity index 100% rename from Common/Textures/Genes/Icons/Big_Male_Genitalia.png rename to 1.4/Textures/Genes/Icons/Big_Male_Genitalia.png diff --git a/Common/Textures/Genes/Icons/Cocoon.png b/1.4/Textures/Genes/Icons/Cocoon.png similarity index 100% rename from Common/Textures/Genes/Icons/Cocoon.png rename to 1.4/Textures/Genes/Icons/Cocoon.png diff --git a/Common/Textures/Genes/Icons/Cum-Base.png b/1.4/Textures/Genes/Icons/Cum-Base.png similarity index 100% rename from Common/Textures/Genes/Icons/Cum-Base.png rename to 1.4/Textures/Genes/Icons/Cum-Base.png diff --git a/Common/Textures/Genes/Icons/Cumflation.png b/1.4/Textures/Genes/Icons/Cumflation.png similarity index 100% rename from Common/Textures/Genes/Icons/Cumflation.png rename to 1.4/Textures/Genes/Icons/Cumflation.png diff --git a/1.4/Textures/Genes/Icons/Cumflation_Immunity.png b/1.4/Textures/Genes/Icons/Cumflation_Immunity.png new file mode 100644 index 0000000..643e0bf Binary files /dev/null and b/1.4/Textures/Genes/Icons/Cumflation_Immunity.png differ diff --git a/Common/Textures/Genes/Icons/Drone.png b/1.4/Textures/Genes/Icons/Drone.png similarity index 100% rename from Common/Textures/Genes/Icons/Drone.png rename to 1.4/Textures/Genes/Icons/Drone.png diff --git a/Common/Textures/Genes/Icons/Egg.png b/1.4/Textures/Genes/Icons/Egg.png similarity index 100% rename from Common/Textures/Genes/Icons/Egg.png rename to 1.4/Textures/Genes/Icons/Egg.png diff --git a/Common/Textures/Genes/Icons/Elasticity.png b/1.4/Textures/Genes/Icons/Elasticity.png similarity index 100% rename from Common/Textures/Genes/Icons/Elasticity.png rename to 1.4/Textures/Genes/Icons/Elasticity.png diff --git a/Common/Textures/Genes/Icons/Empty.png b/1.4/Textures/Genes/Icons/Empty.png similarity index 100% rename from Common/Textures/Genes/Icons/Empty.png rename to 1.4/Textures/Genes/Icons/Empty.png diff --git a/Common/Textures/Genes/Icons/Extra_Anus.png b/1.4/Textures/Genes/Icons/Extra_Anus.png similarity index 100% rename from Common/Textures/Genes/Icons/Extra_Anus.png rename to 1.4/Textures/Genes/Icons/Extra_Anus.png diff --git a/Common/Textures/Genes/Icons/Extra_Breasts.png b/1.4/Textures/Genes/Icons/Extra_Breasts.png similarity index 100% rename from Common/Textures/Genes/Icons/Extra_Breasts.png rename to 1.4/Textures/Genes/Icons/Extra_Breasts.png diff --git a/Common/Textures/Genes/Icons/Extra_Vagina.png b/1.4/Textures/Genes/Icons/Extra_Vagina.png similarity index 100% rename from Common/Textures/Genes/Icons/Extra_Vagina.png rename to 1.4/Textures/Genes/Icons/Extra_Vagina.png diff --git a/Common/Textures/Genes/Icons/Female_Only.png b/1.4/Textures/Genes/Icons/Female_Only.png similarity index 100% rename from Common/Textures/Genes/Icons/Female_Only.png rename to 1.4/Textures/Genes/Icons/Female_Only.png diff --git a/Common/Textures/Genes/Icons/FertilinAlt.png b/1.4/Textures/Genes/Icons/FertilinAlt.png similarity index 100% rename from Common/Textures/Genes/Icons/FertilinAlt.png rename to 1.4/Textures/Genes/Icons/FertilinAlt.png diff --git a/Common/Textures/Genes/Icons/FertilinDrainAlt.png b/1.4/Textures/Genes/Icons/FertilinDrainAlt.png similarity index 100% rename from Common/Textures/Genes/Icons/FertilinDrainAlt.png rename to 1.4/Textures/Genes/Icons/FertilinDrainAlt.png diff --git a/Common/Textures/Genes/Icons/Fervent_Ovipositor.png b/1.4/Textures/Genes/Icons/Fervent_Ovipositor.png similarity index 100% rename from Common/Textures/Genes/Icons/Fervent_Ovipositor.png rename to 1.4/Textures/Genes/Icons/Fervent_Ovipositor.png diff --git a/Common/Textures/Genes/Icons/Futa.png b/1.4/Textures/Genes/Icons/Futa.png similarity index 100% rename from Common/Textures/Genes/Icons/Futa.png rename to 1.4/Textures/Genes/Icons/Futa.png diff --git a/Common/Textures/Genes/Icons/Generous_Donor.png b/1.4/Textures/Genes/Icons/Generous_Donor.png similarity index 100% rename from Common/Textures/Genes/Icons/Generous_Donor.png rename to 1.4/Textures/Genes/Icons/Generous_Donor.png diff --git a/Common/Textures/Genes/Icons/Genitalia_Canine.png b/1.4/Textures/Genes/Icons/Genitalia_Canine.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_Canine.png rename to 1.4/Textures/Genes/Icons/Genitalia_Canine.png diff --git a/Common/Textures/Genes/Icons/Genitalia_Demon.png b/1.4/Textures/Genes/Icons/Genitalia_Demon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_Demon.png rename to 1.4/Textures/Genes/Icons/Genitalia_Demon.png diff --git a/1.4/Textures/Genes/Icons/Genitalia_Draconic.png b/1.4/Textures/Genes/Icons/Genitalia_Draconic.png new file mode 100644 index 0000000..cb763d6 Binary files /dev/null and b/1.4/Textures/Genes/Icons/Genitalia_Draconic.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Equine.png b/1.4/Textures/Genes/Icons/Genitalia_Equine.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_Equine.png rename to 1.4/Textures/Genes/Icons/Genitalia_Equine.png diff --git a/1.4/Textures/Genes/Icons/Genitalia_Feline.png b/1.4/Textures/Genes/Icons/Genitalia_Feline.png new file mode 100644 index 0000000..c03cc27 Binary files /dev/null and b/1.4/Textures/Genes/Icons/Genitalia_Feline.png differ diff --git a/Common/Textures/Genes/Icons/Healpussy.png b/1.4/Textures/Genes/Icons/Healpussy.png similarity index 100% rename from Common/Textures/Genes/Icons/Healpussy.png rename to 1.4/Textures/Genes/Icons/Healpussy.png diff --git a/Common/Textures/Genes/Icons/Hypersexual.png b/1.4/Textures/Genes/Icons/Hypersexual.png similarity index 100% rename from Common/Textures/Genes/Icons/Hypersexual.png rename to 1.4/Textures/Genes/Icons/Hypersexual.png diff --git a/Common/Textures/Genes/Icons/Insect_Breeder.png b/1.4/Textures/Genes/Icons/Insect_Breeder.png similarity index 100% rename from Common/Textures/Genes/Icons/Insect_Breeder.png rename to 1.4/Textures/Genes/Icons/Insect_Breeder.png diff --git a/Common/Textures/Genes/Icons/Loose_Anus.png b/1.4/Textures/Genes/Icons/Loose_Anus.png similarity index 100% rename from Common/Textures/Genes/Icons/Loose_Anus.png rename to 1.4/Textures/Genes/Icons/Loose_Anus.png diff --git a/Common/Textures/Genes/Icons/Loose_Vagina.png b/1.4/Textures/Genes/Icons/Loose_Vagina.png similarity index 100% rename from Common/Textures/Genes/Icons/Loose_Vagina.png rename to 1.4/Textures/Genes/Icons/Loose_Vagina.png diff --git a/Common/Textures/Genes/Icons/Loyalty.png b/1.4/Textures/Genes/Icons/Loyalty.png similarity index 100% rename from Common/Textures/Genes/Icons/Loyalty.png rename to 1.4/Textures/Genes/Icons/Loyalty.png diff --git a/Common/Textures/Genes/Icons/Male_Only.png b/1.4/Textures/Genes/Icons/Male_Only.png similarity index 100% rename from Common/Textures/Genes/Icons/Male_Only.png rename to 1.4/Textures/Genes/Icons/Male_Only.png diff --git a/Common/Textures/Genes/Icons/Much_Cum.png b/1.4/Textures/Genes/Icons/Much_Cum.png similarity index 100% rename from Common/Textures/Genes/Icons/Much_Cum.png rename to 1.4/Textures/Genes/Icons/Much_Cum.png diff --git a/Common/Textures/Genes/Icons/Necrophile.png b/1.4/Textures/Genes/Icons/Necrophile.png similarity index 100% rename from Common/Textures/Genes/Icons/Necrophile.png rename to 1.4/Textures/Genes/Icons/Necrophile.png diff --git a/Common/Textures/Genes/Icons/No_Anus.png b/1.4/Textures/Genes/Icons/No_Anus.png similarity index 100% rename from Common/Textures/Genes/Icons/No_Anus.png rename to 1.4/Textures/Genes/Icons/No_Anus.png diff --git a/Common/Textures/Genes/Icons/No_Breasts.png b/1.4/Textures/Genes/Icons/No_Breasts.png similarity index 100% rename from Common/Textures/Genes/Icons/No_Breasts.png rename to 1.4/Textures/Genes/Icons/No_Breasts.png diff --git a/Common/Textures/Genes/Icons/No_Cum.png b/1.4/Textures/Genes/Icons/No_Cum.png similarity index 100% rename from Common/Textures/Genes/Icons/No_Cum.png rename to 1.4/Textures/Genes/Icons/No_Cum.png diff --git a/Common/Textures/Genes/Icons/No_Male_Genitalia.png b/1.4/Textures/Genes/Icons/No_Male_Genitalia.png similarity index 100% rename from Common/Textures/Genes/Icons/No_Male_Genitalia.png rename to 1.4/Textures/Genes/Icons/No_Male_Genitalia.png diff --git a/Common/Textures/Genes/Icons/No_Vagina.png b/1.4/Textures/Genes/Icons/No_Vagina.png similarity index 100% rename from Common/Textures/Genes/Icons/No_Vagina.png rename to 1.4/Textures/Genes/Icons/No_Vagina.png diff --git a/Common/Textures/Genes/Icons/Ovipositor_Genitalia.png b/1.4/Textures/Genes/Icons/Ovipositor_Genitalia.png similarity index 100% rename from Common/Textures/Genes/Icons/Ovipositor_Genitalia.png rename to 1.4/Textures/Genes/Icons/Ovipositor_Genitalia.png diff --git a/Common/Textures/Genes/Icons/Paralysing_Kiss.png b/1.4/Textures/Genes/Icons/Paralysing_Kiss.png similarity index 100% rename from Common/Textures/Genes/Icons/Paralysing_Kiss.png rename to 1.4/Textures/Genes/Icons/Paralysing_Kiss.png diff --git a/Common/Textures/Genes/Icons/Pheromone.png b/1.4/Textures/Genes/Icons/Pheromone.png similarity index 100% rename from Common/Textures/Genes/Icons/Pheromone.png rename to 1.4/Textures/Genes/Icons/Pheromone.png diff --git a/Common/Textures/Genes/Icons/Pheromones.png b/1.4/Textures/Genes/Icons/Pheromones.png similarity index 100% rename from Common/Textures/Genes/Icons/Pheromones.png rename to 1.4/Textures/Genes/Icons/Pheromones.png diff --git a/Common/Textures/Genes/Icons/Placeholder.png b/1.4/Textures/Genes/Icons/Placeholder.png similarity index 100% rename from Common/Textures/Genes/Icons/Placeholder.png rename to 1.4/Textures/Genes/Icons/Placeholder.png diff --git a/Common/Textures/Genes/Icons/Queen.png b/1.4/Textures/Genes/Icons/Queen.png similarity index 100% rename from Common/Textures/Genes/Icons/Queen.png rename to 1.4/Textures/Genes/Icons/Queen.png diff --git a/Common/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png b/1.4/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png similarity index 100% rename from Common/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png rename to 1.4/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png b/1.4/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png rename to 1.4/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png b/1.4/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png rename to 1.4/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png diff --git a/Common/Textures/Genes/Icons/Rape.png b/1.4/Textures/Genes/Icons/Rape.png similarity index 100% rename from Common/Textures/Genes/Icons/Rape.png rename to 1.4/Textures/Genes/Icons/Rape.png diff --git a/Common/Textures/Genes/Icons/Slime_Genitalia.png b/1.4/Textures/Genes/Icons/Slime_Genitalia.png similarity index 100% rename from Common/Textures/Genes/Icons/Slime_Genitalia.png rename to 1.4/Textures/Genes/Icons/Slime_Genitalia.png diff --git a/Common/Textures/Genes/Icons/Small_Breasts.png b/1.4/Textures/Genes/Icons/Small_Breasts.png similarity index 100% rename from Common/Textures/Genes/Icons/Small_Breasts.png rename to 1.4/Textures/Genes/Icons/Small_Breasts.png diff --git a/Common/Textures/Genes/Icons/Small_Male_Genitalia.png b/1.4/Textures/Genes/Icons/Small_Male_Genitalia.png similarity index 100% rename from Common/Textures/Genes/Icons/Small_Male_Genitalia.png rename to 1.4/Textures/Genes/Icons/Small_Male_Genitalia.png diff --git a/Common/Textures/Genes/Icons/Spelopede_Dispenser.png b/1.4/Textures/Genes/Icons/Spelopede_Dispenser.png similarity index 100% rename from Common/Textures/Genes/Icons/Spelopede_Dispenser.png rename to 1.4/Textures/Genes/Icons/Spelopede_Dispenser.png diff --git a/Common/Textures/Genes/Icons/Succubus_Tail.png b/1.4/Textures/Genes/Icons/Succubus_Tail.png similarity index 100% rename from Common/Textures/Genes/Icons/Succubus_Tail.png rename to 1.4/Textures/Genes/Icons/Succubus_Tail.png diff --git a/Common/Textures/Genes/Icons/Succubus_Wings.png b/1.4/Textures/Genes/Icons/Succubus_Wings.png similarity index 100% rename from Common/Textures/Genes/Icons/Succubus_Wings.png rename to 1.4/Textures/Genes/Icons/Succubus_Wings.png diff --git a/Common/Textures/Genes/Icons/Tight_Anus.png b/1.4/Textures/Genes/Icons/Tight_Anus.png similarity index 100% rename from Common/Textures/Genes/Icons/Tight_Anus.png rename to 1.4/Textures/Genes/Icons/Tight_Anus.png diff --git a/Common/Textures/Genes/Icons/Tight_Vagina.png b/1.4/Textures/Genes/Icons/Tight_Vagina.png similarity index 100% rename from Common/Textures/Genes/Icons/Tight_Vagina.png rename to 1.4/Textures/Genes/Icons/Tight_Vagina.png diff --git a/Common/Textures/Genes/Icons/Vaginal_cum_absorption.png b/1.4/Textures/Genes/Icons/Vaginal_cum_absorption.png similarity index 100% rename from Common/Textures/Genes/Icons/Vaginal_cum_absorption.png rename to 1.4/Textures/Genes/Icons/Vaginal_cum_absorption.png diff --git a/Common/Textures/Genes/Icons/Very_Much_Cum.png b/1.4/Textures/Genes/Icons/Very_Much_Cum.png similarity index 100% rename from Common/Textures/Genes/Icons/Very_Much_Cum.png rename to 1.4/Textures/Genes/Icons/Very_Much_Cum.png diff --git a/Common/Textures/Genes/Icons/Vitality_Drainer.png b/1.4/Textures/Genes/Icons/Vitality_Drainer.png similarity index 100% rename from Common/Textures/Genes/Icons/Vitality_Drainer.png rename to 1.4/Textures/Genes/Icons/Vitality_Drainer.png diff --git a/Common/Textures/Genes/Icons/Worker.png b/1.4/Textures/Genes/Icons/Worker.png similarity index 100% rename from Common/Textures/Genes/Icons/Worker.png rename to 1.4/Textures/Genes/Icons/Worker.png diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png b/1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png similarity index 100% rename from Common/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png rename to 1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png b/1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png similarity index 100% rename from Common/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png rename to 1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png b/1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png similarity index 100% rename from Common/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png rename to 1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png b/1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png similarity index 100% rename from Common/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png rename to 1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png b/1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png similarity index 100% rename from Common/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png rename to 1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png diff --git a/Common/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png b/1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png similarity index 100% rename from Common/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png rename to 1.4/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png diff --git a/Common/Textures/Genes/Icons/Zoophile.png b/1.4/Textures/Genes/Icons/Zoophile.png similarity index 100% rename from Common/Textures/Genes/Icons/Zoophile.png rename to 1.4/Textures/Genes/Icons/Zoophile.png diff --git a/Common/Textures/Genes/Icons/cockeater.png b/1.4/Textures/Genes/Icons/cockeater.png similarity index 100% rename from Common/Textures/Genes/Icons/cockeater.png rename to 1.4/Textures/Genes/Icons/cockeater.png diff --git a/Common/Textures/Genes/Icons/cumeater.png b/1.4/Textures/Genes/Icons/cumeater.png similarity index 100% rename from Common/Textures/Genes/Icons/cumeater.png rename to 1.4/Textures/Genes/Icons/cumeater.png diff --git a/Common/Textures/Genes/Icons/extra_male.png b/1.4/Textures/Genes/Icons/extra_male.png similarity index 100% rename from Common/Textures/Genes/Icons/extra_male.png rename to 1.4/Textures/Genes/Icons/extra_male.png diff --git a/Common/Textures/Genes/Icons/rjw_genes_lips.png b/1.4/Textures/Genes/Icons/rjw_genes_lips.png similarity index 100% rename from Common/Textures/Genes/Icons/rjw_genes_lips.png rename to 1.4/Textures/Genes/Icons/rjw_genes_lips.png diff --git a/Common/Textures/Genes/Icons/rjw_naked_prowess.png b/1.4/Textures/Genes/Icons/rjw_naked_prowess.png similarity index 100% rename from Common/Textures/Genes/Icons/rjw_naked_prowess.png rename to 1.4/Textures/Genes/Icons/rjw_naked_prowess.png diff --git a/Common/Textures/Genes/Icons/seduce.png b/1.4/Textures/Genes/Icons/seduce.png similarity index 100% rename from Common/Textures/Genes/Icons/seduce.png rename to 1.4/Textures/Genes/Icons/seduce.png diff --git a/Common/Textures/Genes/Icons/vagina_base.png b/1.4/Textures/Genes/Icons/vagina_base.png similarity index 100% rename from Common/Textures/Genes/Icons/vagina_base.png rename to 1.4/Textures/Genes/Icons/vagina_base.png diff --git a/Common/Textures/Things/Mote/Cocoon/WeaveA.psd b/1.4/Textures/Things/Mote/Cocoon/WeaveA.psd similarity index 100% rename from Common/Textures/Things/Mote/Cocoon/WeaveA.psd rename to 1.4/Textures/Things/Mote/Cocoon/WeaveA.psd diff --git a/Common/Textures/Things/Mote/Cocoon/WeaveB.psd b/1.4/Textures/Things/Mote/Cocoon/WeaveB.psd similarity index 100% rename from Common/Textures/Things/Mote/Cocoon/WeaveB.psd rename to 1.4/Textures/Things/Mote/Cocoon/WeaveB.psd diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail/RJW_Genes_Succubus_Tail_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings/RJW_Genes_Succubus_Wings_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L1_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_L2_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R1_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Tail_R2_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png b/1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png rename to 1.4/Textures/Things/Pawn/Humanlike/BodyAttachments/deprecated_rjw_genes_succubus/Succubus_Wings_south.png diff --git a/Common/Textures/Genes/Icons/Animal_Mating_Call.png b/1.5/Textures/Genes/Icons/Animal_Mating_Call.png similarity index 100% rename from Common/Textures/Genes/Icons/Animal_Mating_Call.png rename to 1.5/Textures/Genes/Icons/Animal_Mating_Call.png diff --git a/1.5/Textures/Genes/Icons/Big_Breasts.png b/1.5/Textures/Genes/Icons/Big_Breasts.png new file mode 100644 index 0000000..a9d1786 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Big_Breasts.png differ diff --git a/1.5/Textures/Genes/Icons/Big_Male_Genitalia.png b/1.5/Textures/Genes/Icons/Big_Male_Genitalia.png new file mode 100644 index 0000000..68396ba Binary files /dev/null and b/1.5/Textures/Genes/Icons/Big_Male_Genitalia.png differ diff --git a/1.5/Textures/Genes/Icons/Cocoon.png b/1.5/Textures/Genes/Icons/Cocoon.png new file mode 100644 index 0000000..4e62420 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Cocoon.png differ diff --git a/1.5/Textures/Genes/Icons/Cum-Base.png b/1.5/Textures/Genes/Icons/Cum-Base.png new file mode 100644 index 0000000..05ec22a Binary files /dev/null and b/1.5/Textures/Genes/Icons/Cum-Base.png differ diff --git a/1.5/Textures/Genes/Icons/Cumflation.png b/1.5/Textures/Genes/Icons/Cumflation.png new file mode 100644 index 0000000..4d8d470 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Cumflation.png differ diff --git a/Common/Textures/Genes/Icons/Cumflation_Immunity.png b/1.5/Textures/Genes/Icons/Cumflation_Immunity.png similarity index 100% rename from Common/Textures/Genes/Icons/Cumflation_Immunity.png rename to 1.5/Textures/Genes/Icons/Cumflation_Immunity.png diff --git a/1.5/Textures/Genes/Icons/Drone.png b/1.5/Textures/Genes/Icons/Drone.png new file mode 100644 index 0000000..a631565 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Drone.png differ diff --git a/1.5/Textures/Genes/Icons/Egg.png b/1.5/Textures/Genes/Icons/Egg.png new file mode 100644 index 0000000..81b16bd Binary files /dev/null and b/1.5/Textures/Genes/Icons/Egg.png differ diff --git a/1.5/Textures/Genes/Icons/Elasticity.png b/1.5/Textures/Genes/Icons/Elasticity.png new file mode 100644 index 0000000..91a8fd7 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Elasticity.png differ diff --git a/1.5/Textures/Genes/Icons/Empty.png b/1.5/Textures/Genes/Icons/Empty.png new file mode 100644 index 0000000..1f295f8 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Empty.png differ diff --git a/1.5/Textures/Genes/Icons/Extra_Anus.png b/1.5/Textures/Genes/Icons/Extra_Anus.png new file mode 100644 index 0000000..6097374 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Extra_Anus.png differ diff --git a/1.5/Textures/Genes/Icons/Extra_Breasts.png b/1.5/Textures/Genes/Icons/Extra_Breasts.png new file mode 100644 index 0000000..3247920 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Extra_Breasts.png differ diff --git a/1.5/Textures/Genes/Icons/Extra_Vagina.png b/1.5/Textures/Genes/Icons/Extra_Vagina.png new file mode 100644 index 0000000..12bb91a Binary files /dev/null and b/1.5/Textures/Genes/Icons/Extra_Vagina.png differ diff --git a/1.5/Textures/Genes/Icons/Female_Only.png b/1.5/Textures/Genes/Icons/Female_Only.png new file mode 100644 index 0000000..7b97f02 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Female_Only.png differ diff --git a/Common/Textures/Genes/Icons/Fertile_anus.png b/1.5/Textures/Genes/Icons/Fertile_anus.png similarity index 100% rename from Common/Textures/Genes/Icons/Fertile_anus.png rename to 1.5/Textures/Genes/Icons/Fertile_anus.png diff --git a/1.5/Textures/Genes/Icons/FertilinAlt.png b/1.5/Textures/Genes/Icons/FertilinAlt.png new file mode 100644 index 0000000..f89bc2d Binary files /dev/null and b/1.5/Textures/Genes/Icons/FertilinAlt.png differ diff --git a/1.5/Textures/Genes/Icons/FertilinDrainAlt.png b/1.5/Textures/Genes/Icons/FertilinDrainAlt.png new file mode 100644 index 0000000..adb198b Binary files /dev/null and b/1.5/Textures/Genes/Icons/FertilinDrainAlt.png differ diff --git a/1.5/Textures/Genes/Icons/Fervent_Ovipositor.png b/1.5/Textures/Genes/Icons/Fervent_Ovipositor.png new file mode 100644 index 0000000..b9cc33e Binary files /dev/null and b/1.5/Textures/Genes/Icons/Fervent_Ovipositor.png differ diff --git a/Common/Textures/Genes/Icons/FireLeaves.png b/1.5/Textures/Genes/Icons/FireLeaves.png similarity index 100% rename from Common/Textures/Genes/Icons/FireLeaves.png rename to 1.5/Textures/Genes/Icons/FireLeaves.png diff --git a/Common/Textures/Genes/Icons/FleshPurity.png b/1.5/Textures/Genes/Icons/FleshPurity.png similarity index 100% rename from Common/Textures/Genes/Icons/FleshPurity.png rename to 1.5/Textures/Genes/Icons/FleshPurity.png diff --git a/1.5/Textures/Genes/Icons/Futa.png b/1.5/Textures/Genes/Icons/Futa.png new file mode 100644 index 0000000..dfadd1c Binary files /dev/null and b/1.5/Textures/Genes/Icons/Futa.png differ diff --git a/Common/Textures/Genes/Icons/Gene_LitteredBirths.png b/1.5/Textures/Genes/Icons/Gene_LitteredBirths.png similarity index 100% rename from Common/Textures/Genes/Icons/Gene_LitteredBirths.png rename to 1.5/Textures/Genes/Icons/Gene_LitteredBirths.png diff --git a/1.5/Textures/Genes/Icons/Generous_Donor.png b/1.5/Textures/Genes/Icons/Generous_Donor.png new file mode 100644 index 0000000..e49daf1 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Generous_Donor.png differ diff --git a/1.5/Textures/Genes/Icons/Genitalia_Canine.png b/1.5/Textures/Genes/Icons/Genitalia_Canine.png new file mode 100644 index 0000000..24283b6 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Genitalia_Canine.png differ diff --git a/1.5/Textures/Genes/Icons/Genitalia_Demon.png b/1.5/Textures/Genes/Icons/Genitalia_Demon.png new file mode 100644 index 0000000..e3400e8 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Genitalia_Demon.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Draconic.png b/1.5/Textures/Genes/Icons/Genitalia_Draconic.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_Draconic.png rename to 1.5/Textures/Genes/Icons/Genitalia_Draconic.png diff --git a/1.5/Textures/Genes/Icons/Genitalia_Equine.png b/1.5/Textures/Genes/Icons/Genitalia_Equine.png new file mode 100644 index 0000000..9577293 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Genitalia_Equine.png differ diff --git a/Common/Textures/Genes/Icons/Genitalia_Feline.png b/1.5/Textures/Genes/Icons/Genitalia_Feline.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_Feline.png rename to 1.5/Textures/Genes/Icons/Genitalia_Feline.png diff --git a/Common/Textures/Genes/Icons/Genitalia_alien_icon.png b/1.5/Textures/Genes/Icons/Genitalia_alien_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_alien_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_alien_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_croc_icon.png b/1.5/Textures/Genes/Icons/Genitalia_croc_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_croc_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_croc_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_ghost_icon.png b/1.5/Textures/Genes/Icons/Genitalia_ghost_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_ghost_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_ghost_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_hemi_icon.png b/1.5/Textures/Genes/Icons/Genitalia_hemi_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_hemi_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_hemi_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_human.png b/1.5/Textures/Genes/Icons/Genitalia_human.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_human.png rename to 1.5/Textures/Genes/Icons/Genitalia_human.png diff --git a/Common/Textures/Genes/Icons/Genitalia_marine_icon.png b/1.5/Textures/Genes/Icons/Genitalia_marine_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_marine_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_marine_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_necro_icon.png b/1.5/Textures/Genes/Icons/Genitalia_necro_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_necro_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_necro_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_orc_icon.png b/1.5/Textures/Genes/Icons/Genitalia_orc_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_orc_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_orc_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_racoon_icon.png b/1.5/Textures/Genes/Icons/Genitalia_racoon_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_racoon_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_racoon_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_screw_icon.png b/1.5/Textures/Genes/Icons/Genitalia_screw_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_screw_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_screw_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_tentacle_icon.png b/1.5/Textures/Genes/Icons/Genitalia_tentacle_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_tentacle_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_tentacle_icon.png diff --git a/Common/Textures/Genes/Icons/Genitalia_thin_icon.png b/1.5/Textures/Genes/Icons/Genitalia_thin_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/Genitalia_thin_icon.png rename to 1.5/Textures/Genes/Icons/Genitalia_thin_icon.png diff --git a/1.5/Textures/Genes/Icons/Healpussy.png b/1.5/Textures/Genes/Icons/Healpussy.png new file mode 100644 index 0000000..46a11a3 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Healpussy.png differ diff --git a/1.5/Textures/Genes/Icons/Hypersexual.png b/1.5/Textures/Genes/Icons/Hypersexual.png new file mode 100644 index 0000000..417196d Binary files /dev/null and b/1.5/Textures/Genes/Icons/Hypersexual.png differ diff --git a/1.5/Textures/Genes/Icons/Insect_Breeder.png b/1.5/Textures/Genes/Icons/Insect_Breeder.png new file mode 100644 index 0000000..5315179 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Insect_Breeder.png differ diff --git a/1.5/Textures/Genes/Icons/Loose_Anus.png b/1.5/Textures/Genes/Icons/Loose_Anus.png new file mode 100644 index 0000000..ada02ee Binary files /dev/null and b/1.5/Textures/Genes/Icons/Loose_Anus.png differ diff --git a/1.5/Textures/Genes/Icons/Loose_Vagina.png b/1.5/Textures/Genes/Icons/Loose_Vagina.png new file mode 100644 index 0000000..57a4706 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Loose_Vagina.png differ diff --git a/1.5/Textures/Genes/Icons/Loyalty.png b/1.5/Textures/Genes/Icons/Loyalty.png new file mode 100644 index 0000000..8ac3c4c Binary files /dev/null and b/1.5/Textures/Genes/Icons/Loyalty.png differ diff --git a/1.5/Textures/Genes/Icons/Male_Only.png b/1.5/Textures/Genes/Icons/Male_Only.png new file mode 100644 index 0000000..7e15cbc Binary files /dev/null and b/1.5/Textures/Genes/Icons/Male_Only.png differ diff --git a/Common/Textures/Genes/Icons/Mating_Call_2.png b/1.5/Textures/Genes/Icons/Mating_Call_2.png similarity index 100% rename from Common/Textures/Genes/Icons/Mating_Call_2.png rename to 1.5/Textures/Genes/Icons/Mating_Call_2.png diff --git a/1.5/Textures/Genes/Icons/Much_Cum.png b/1.5/Textures/Genes/Icons/Much_Cum.png new file mode 100644 index 0000000..21a9a17 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Much_Cum.png differ diff --git a/1.5/Textures/Genes/Icons/Necrophile.png b/1.5/Textures/Genes/Icons/Necrophile.png new file mode 100644 index 0000000..5b2bf61 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Necrophile.png differ diff --git a/1.5/Textures/Genes/Icons/No_Anus.png b/1.5/Textures/Genes/Icons/No_Anus.png new file mode 100644 index 0000000..7cfb774 Binary files /dev/null and b/1.5/Textures/Genes/Icons/No_Anus.png differ diff --git a/1.5/Textures/Genes/Icons/No_Breasts.png b/1.5/Textures/Genes/Icons/No_Breasts.png new file mode 100644 index 0000000..fd17996 Binary files /dev/null and b/1.5/Textures/Genes/Icons/No_Breasts.png differ diff --git a/1.5/Textures/Genes/Icons/No_Cum.png b/1.5/Textures/Genes/Icons/No_Cum.png new file mode 100644 index 0000000..a7964f0 Binary files /dev/null and b/1.5/Textures/Genes/Icons/No_Cum.png differ diff --git a/1.5/Textures/Genes/Icons/No_Male_Genitalia.png b/1.5/Textures/Genes/Icons/No_Male_Genitalia.png new file mode 100644 index 0000000..bad56cf Binary files /dev/null and b/1.5/Textures/Genes/Icons/No_Male_Genitalia.png differ diff --git a/1.5/Textures/Genes/Icons/No_Vagina.png b/1.5/Textures/Genes/Icons/No_Vagina.png new file mode 100644 index 0000000..a4f47ee Binary files /dev/null and b/1.5/Textures/Genes/Icons/No_Vagina.png differ diff --git a/1.5/Textures/Genes/Icons/Ovipositor_Genitalia.png b/1.5/Textures/Genes/Icons/Ovipositor_Genitalia.png new file mode 100644 index 0000000..97421e1 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Ovipositor_Genitalia.png differ diff --git a/1.5/Textures/Genes/Icons/Paralysing_Kiss.png b/1.5/Textures/Genes/Icons/Paralysing_Kiss.png new file mode 100644 index 0000000..20c4fd5 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Paralysing_Kiss.png differ diff --git a/1.5/Textures/Genes/Icons/Pheromone.png b/1.5/Textures/Genes/Icons/Pheromone.png new file mode 100644 index 0000000..342f695 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Pheromone.png differ diff --git a/Common/Textures/Genes/Icons/Pheromone_Spit.png b/1.5/Textures/Genes/Icons/Pheromone_Spit.png similarity index 100% rename from Common/Textures/Genes/Icons/Pheromone_Spit.png rename to 1.5/Textures/Genes/Icons/Pheromone_Spit.png diff --git a/1.5/Textures/Genes/Icons/Pheromones.png b/1.5/Textures/Genes/Icons/Pheromones.png new file mode 100644 index 0000000..88a6c53 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Pheromones.png differ diff --git a/1.5/Textures/Genes/Icons/Placeholder.png b/1.5/Textures/Genes/Icons/Placeholder.png new file mode 100644 index 0000000..9b73621 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Placeholder.png differ diff --git a/1.5/Textures/Genes/Icons/Queen.png b/1.5/Textures/Genes/Icons/Queen.png new file mode 100644 index 0000000..b087f03 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Queen.png differ diff --git a/1.5/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png b/1.5/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png new file mode 100644 index 0000000..a15e618 Binary files /dev/null and b/1.5/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png differ diff --git a/1.5/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png b/1.5/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png new file mode 100644 index 0000000..5d8b0e0 Binary files /dev/null and b/1.5/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png differ diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png b/1.5/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png rename to 1.5/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png b/1.5/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png rename to 1.5/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Mating_Call.png b/1.5/Textures/Genes/Icons/RJW_Genes_Mating_Call.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_Mating_Call.png rename to 1.5/Textures/Genes/Icons/RJW_Genes_Mating_Call.png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png b/1.5/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png rename to 1.5/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png b/1.5/Textures/Genes/Icons/RJW_Genes_SexualTamer.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_SexualTamer.png rename to 1.5/Textures/Genes/Icons/RJW_Genes_SexualTamer.png diff --git a/Common/Textures/Genes/Icons/RJW_Genes_Udder.png b/1.5/Textures/Genes/Icons/RJW_Genes_Udder.png similarity index 100% rename from Common/Textures/Genes/Icons/RJW_Genes_Udder.png rename to 1.5/Textures/Genes/Icons/RJW_Genes_Udder.png diff --git a/1.5/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png b/1.5/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png new file mode 100644 index 0000000..b3b359e Binary files /dev/null and b/1.5/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png differ diff --git a/1.5/Textures/Genes/Icons/Rape.png b/1.5/Textures/Genes/Icons/Rape.png new file mode 100644 index 0000000..8ad84ea Binary files /dev/null and b/1.5/Textures/Genes/Icons/Rape.png differ diff --git a/Common/Textures/Genes/Icons/RoundC.png b/1.5/Textures/Genes/Icons/RoundC.png similarity index 100% rename from Common/Textures/Genes/Icons/RoundC.png rename to 1.5/Textures/Genes/Icons/RoundC.png diff --git a/Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd b/1.5/Textures/Genes/Icons/Samples/AnimalMatingcall.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/AnimalMatingcall.psd rename to 1.5/Textures/Genes/Icons/Samples/AnimalMatingcall.psd diff --git a/Common/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd b/1.5/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd rename to 1.5/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd diff --git a/Common/Textures/Genes/Icons/Samples/Gene_Fertile.png b/1.5/Textures/Genes/Icons/Samples/Gene_Fertile.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_Fertile.png rename to 1.5/Textures/Genes/Icons/Samples/Gene_Fertile.png diff --git a/Common/Textures/Genes/Icons/Samples/Gene_Inbred.png b/1.5/Textures/Genes/Icons/Samples/Gene_Inbred.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_Inbred.png rename to 1.5/Textures/Genes/Icons/Samples/Gene_Inbred.png diff --git a/Common/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png b/1.5/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png rename to 1.5/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png diff --git a/Common/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png b/1.5/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png rename to 1.5/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png diff --git a/Common/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png b/1.5/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png rename to 1.5/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png diff --git a/Common/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png b/1.5/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png rename to 1.5/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png diff --git a/Common/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd b/1.5/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd rename to 1.5/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd diff --git a/Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd b/1.5/Textures/Genes/Icons/Samples/Pheromone_Spit.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Pheromone_Spit.psd rename to 1.5/Textures/Genes/Icons/Samples/Pheromone_Spit.psd diff --git a/Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd b/1.5/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd rename to 1.5/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd diff --git a/Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd b/1.5/Textures/Genes/Icons/Samples/Sexual_Tamer.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Sexual_Tamer.psd rename to 1.5/Textures/Genes/Icons/Samples/Sexual_Tamer.psd diff --git a/Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd b/1.5/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd rename to 1.5/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd diff --git a/Common/Textures/Genes/Icons/Samples/Time.png b/1.5/Textures/Genes/Icons/Samples/Time.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/Time.png rename to 1.5/Textures/Genes/Icons/Samples/Time.png diff --git a/Common/Textures/Genes/Icons/Samples/blocked_masturbation.psd b/1.5/Textures/Genes/Icons/Samples/blocked_masturbation.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/blocked_masturbation.psd rename to 1.5/Textures/Genes/Icons/Samples/blocked_masturbation.psd diff --git a/Common/Textures/Genes/Icons/Samples/disease_immunity.psd b/1.5/Textures/Genes/Icons/Samples/disease_immunity.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/disease_immunity.psd rename to 1.5/Textures/Genes/Icons/Samples/disease_immunity.psd diff --git a/Common/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd b/1.5/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd rename to 1.5/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd diff --git a/Common/Textures/Genes/Icons/Samples/hardwired_progenity.psd b/1.5/Textures/Genes/Icons/Samples/hardwired_progenity.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/hardwired_progenity.psd rename to 1.5/Textures/Genes/Icons/Samples/hardwired_progenity.psd diff --git a/Common/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png b/1.5/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png similarity index 100% rename from Common/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png rename to 1.5/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png diff --git a/Common/Textures/Genes/Icons/Samples/living_cumbucket.psd b/1.5/Textures/Genes/Icons/Samples/living_cumbucket.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/living_cumbucket.psd rename to 1.5/Textures/Genes/Icons/Samples/living_cumbucket.psd diff --git a/Common/Textures/Genes/Icons/Samples/low_fertility.psd b/1.5/Textures/Genes/Icons/Samples/low_fertility.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/low_fertility.psd rename to 1.5/Textures/Genes/Icons/Samples/low_fertility.psd diff --git a/Common/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd b/1.5/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd rename to 1.5/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd diff --git a/Common/Textures/Genes/Icons/Samples/rut.psd b/1.5/Textures/Genes/Icons/Samples/rut.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/rut.psd rename to 1.5/Textures/Genes/Icons/Samples/rut.psd diff --git a/Common/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd b/1.5/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd rename to 1.5/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd diff --git a/Common/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd b/1.5/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd rename to 1.5/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd diff --git a/Common/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd b/1.5/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd rename to 1.5/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd diff --git a/Common/Textures/Genes/Icons/Samples/vulnerability.psd b/1.5/Textures/Genes/Icons/Samples/vulnerability.psd similarity index 100% rename from Common/Textures/Genes/Icons/Samples/vulnerability.psd rename to 1.5/Textures/Genes/Icons/Samples/vulnerability.psd diff --git a/Common/Textures/Genes/Icons/Sexual_Tamer.png b/1.5/Textures/Genes/Icons/Sexual_Tamer.png similarity index 100% rename from Common/Textures/Genes/Icons/Sexual_Tamer.png rename to 1.5/Textures/Genes/Icons/Sexual_Tamer.png diff --git a/1.5/Textures/Genes/Icons/Slime_Genitalia.png b/1.5/Textures/Genes/Icons/Slime_Genitalia.png new file mode 100644 index 0000000..91e6cd0 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Slime_Genitalia.png differ diff --git a/1.5/Textures/Genes/Icons/Small_Breasts.png b/1.5/Textures/Genes/Icons/Small_Breasts.png new file mode 100644 index 0000000..e2005b7 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Small_Breasts.png differ diff --git a/1.5/Textures/Genes/Icons/Small_Male_Genitalia.png b/1.5/Textures/Genes/Icons/Small_Male_Genitalia.png new file mode 100644 index 0000000..19924d2 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Small_Male_Genitalia.png differ diff --git a/1.5/Textures/Genes/Icons/Spelopede_Dispenser.png b/1.5/Textures/Genes/Icons/Spelopede_Dispenser.png new file mode 100644 index 0000000..4308892 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Spelopede_Dispenser.png differ diff --git a/1.5/Textures/Genes/Icons/Succubus_Tail.png b/1.5/Textures/Genes/Icons/Succubus_Tail.png new file mode 100644 index 0000000..afe26f7 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Succubus_Tail.png differ diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png b/1.5/Textures/Genes/Icons/Succubus_Wings.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png rename to 1.5/Textures/Genes/Icons/Succubus_Wings.png diff --git a/1.5/Textures/Genes/Icons/Tight_Anus.png b/1.5/Textures/Genes/Icons/Tight_Anus.png new file mode 100644 index 0000000..dd57b1d Binary files /dev/null and b/1.5/Textures/Genes/Icons/Tight_Anus.png differ diff --git a/1.5/Textures/Genes/Icons/Tight_Vagina.png b/1.5/Textures/Genes/Icons/Tight_Vagina.png new file mode 100644 index 0000000..eab0606 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Tight_Vagina.png differ diff --git a/Common/Textures/Genes/Icons/TrialDefend.png b/1.5/Textures/Genes/Icons/TrialDefend.png similarity index 100% rename from Common/Textures/Genes/Icons/TrialDefend.png rename to 1.5/Textures/Genes/Icons/TrialDefend.png diff --git a/1.5/Textures/Genes/Icons/Vaginal_cum_absorption.png b/1.5/Textures/Genes/Icons/Vaginal_cum_absorption.png new file mode 100644 index 0000000..4148bde Binary files /dev/null and b/1.5/Textures/Genes/Icons/Vaginal_cum_absorption.png differ diff --git a/1.5/Textures/Genes/Icons/Very_Much_Cum.png b/1.5/Textures/Genes/Icons/Very_Much_Cum.png new file mode 100644 index 0000000..f2fedc1 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Very_Much_Cum.png differ diff --git a/1.5/Textures/Genes/Icons/Vitality_Drainer.png b/1.5/Textures/Genes/Icons/Vitality_Drainer.png new file mode 100644 index 0000000..1de65a9 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Vitality_Drainer.png differ diff --git a/1.5/Textures/Genes/Icons/Worker.png b/1.5/Textures/Genes/Icons/Worker.png new file mode 100644 index 0000000..1f4e0c8 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Worker.png differ diff --git a/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png new file mode 100644 index 0000000..9ffab2c Binary files /dev/null and b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png differ diff --git a/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png new file mode 100644 index 0000000..8d285e5 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png differ diff --git a/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png new file mode 100644 index 0000000..e831799 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png differ diff --git a/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png new file mode 100644 index 0000000..14d6685 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png differ diff --git a/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png new file mode 100644 index 0000000..9b0f425 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png differ diff --git a/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png new file mode 100644 index 0000000..dddb34d Binary files /dev/null and b/1.5/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png differ diff --git a/1.5/Textures/Genes/Icons/Zoophile.png b/1.5/Textures/Genes/Icons/Zoophile.png new file mode 100644 index 0000000..a31c470 Binary files /dev/null and b/1.5/Textures/Genes/Icons/Zoophile.png differ diff --git a/Common/Textures/Genes/Icons/bisexuality.png b/1.5/Textures/Genes/Icons/bisexuality.png similarity index 100% rename from Common/Textures/Genes/Icons/bisexuality.png rename to 1.5/Textures/Genes/Icons/bisexuality.png diff --git a/Common/Textures/Genes/Icons/blocked_masturbation.png b/1.5/Textures/Genes/Icons/blocked_masturbation.png similarity index 100% rename from Common/Textures/Genes/Icons/blocked_masturbation.png rename to 1.5/Textures/Genes/Icons/blocked_masturbation.png diff --git a/1.5/Textures/Genes/Icons/cockeater.png b/1.5/Textures/Genes/Icons/cockeater.png new file mode 100644 index 0000000..0b60a46 Binary files /dev/null and b/1.5/Textures/Genes/Icons/cockeater.png differ diff --git a/1.5/Textures/Genes/Icons/cumeater.png b/1.5/Textures/Genes/Icons/cumeater.png new file mode 100644 index 0000000..3150a18 Binary files /dev/null and b/1.5/Textures/Genes/Icons/cumeater.png differ diff --git a/Common/Textures/Genes/Icons/disease_immunity.png b/1.5/Textures/Genes/Icons/disease_immunity.png similarity index 100% rename from Common/Textures/Genes/Icons/disease_immunity.png rename to 1.5/Textures/Genes/Icons/disease_immunity.png diff --git a/1.5/Textures/Genes/Icons/extra_male.png b/1.5/Textures/Genes/Icons/extra_male.png new file mode 100644 index 0000000..743ae44 Binary files /dev/null and b/1.5/Textures/Genes/Icons/extra_male.png differ diff --git a/Common/Textures/Genes/Icons/feminizer.png b/1.5/Textures/Genes/Icons/feminizer.png similarity index 100% rename from Common/Textures/Genes/Icons/feminizer.png rename to 1.5/Textures/Genes/Icons/feminizer.png diff --git a/Common/Textures/Genes/Icons/hardwired_progenity.png b/1.5/Textures/Genes/Icons/hardwired_progenity.png similarity index 100% rename from Common/Textures/Genes/Icons/hardwired_progenity.png rename to 1.5/Textures/Genes/Icons/hardwired_progenity.png diff --git a/Common/Textures/Genes/Icons/homosexuality.png b/1.5/Textures/Genes/Icons/homosexuality.png similarity index 100% rename from Common/Textures/Genes/Icons/homosexuality.png rename to 1.5/Textures/Genes/Icons/homosexuality.png diff --git a/Common/Textures/Genes/Icons/living_cumbucket.png b/1.5/Textures/Genes/Icons/living_cumbucket.png similarity index 100% rename from Common/Textures/Genes/Icons/living_cumbucket.png rename to 1.5/Textures/Genes/Icons/living_cumbucket.png diff --git a/Common/Textures/Genes/Icons/low_fertility.png b/1.5/Textures/Genes/Icons/low_fertility.png similarity index 100% rename from Common/Textures/Genes/Icons/low_fertility.png rename to 1.5/Textures/Genes/Icons/low_fertility.png diff --git a/Common/Textures/Genes/Icons/major_vulnerability.png b/1.5/Textures/Genes/Icons/major_vulnerability.png similarity index 100% rename from Common/Textures/Genes/Icons/major_vulnerability.png rename to 1.5/Textures/Genes/Icons/major_vulnerability.png diff --git a/Common/Textures/Genes/Icons/minor_vulnerability.png b/1.5/Textures/Genes/Icons/minor_vulnerability.png similarity index 100% rename from Common/Textures/Genes/Icons/minor_vulnerability.png rename to 1.5/Textures/Genes/Icons/minor_vulnerability.png diff --git a/Common/Textures/Genes/Icons/penis_rock_icon.png b/1.5/Textures/Genes/Icons/penis_rock_icon.png similarity index 100% rename from Common/Textures/Genes/Icons/penis_rock_icon.png rename to 1.5/Textures/Genes/Icons/penis_rock_icon.png diff --git a/Common/Textures/Genes/Icons/pregnancy_overwrite.png b/1.5/Textures/Genes/Icons/pregnancy_overwrite.png similarity index 100% rename from Common/Textures/Genes/Icons/pregnancy_overwrite.png rename to 1.5/Textures/Genes/Icons/pregnancy_overwrite.png diff --git a/1.5/Textures/Genes/Icons/rjw_genes_lips.png b/1.5/Textures/Genes/Icons/rjw_genes_lips.png new file mode 100644 index 0000000..13062a1 Binary files /dev/null and b/1.5/Textures/Genes/Icons/rjw_genes_lips.png differ diff --git a/1.5/Textures/Genes/Icons/rjw_naked_prowess.png b/1.5/Textures/Genes/Icons/rjw_naked_prowess.png new file mode 100644 index 0000000..d54231c Binary files /dev/null and b/1.5/Textures/Genes/Icons/rjw_naked_prowess.png differ diff --git a/Common/Textures/Genes/Icons/rut.png b/1.5/Textures/Genes/Icons/rut.png similarity index 100% rename from Common/Textures/Genes/Icons/rut.png rename to 1.5/Textures/Genes/Icons/rut.png diff --git a/1.5/Textures/Genes/Icons/seduce.png b/1.5/Textures/Genes/Icons/seduce.png new file mode 100644 index 0000000..635132c Binary files /dev/null and b/1.5/Textures/Genes/Icons/seduce.png differ diff --git a/Common/Textures/Genes/Icons/sex_curiosity.png b/1.5/Textures/Genes/Icons/sex_curiosity.png similarity index 100% rename from Common/Textures/Genes/Icons/sex_curiosity.png rename to 1.5/Textures/Genes/Icons/sex_curiosity.png diff --git a/Common/Textures/Genes/Icons/sex_disabled.png b/1.5/Textures/Genes/Icons/sex_disabled.png similarity index 100% rename from Common/Textures/Genes/Icons/sex_disabled.png rename to 1.5/Textures/Genes/Icons/sex_disabled.png diff --git a/Common/Textures/Genes/Icons/sex_enabled.png b/1.5/Textures/Genes/Icons/sex_enabled.png similarity index 100% rename from Common/Textures/Genes/Icons/sex_enabled.png rename to 1.5/Textures/Genes/Icons/sex_enabled.png diff --git a/Common/Textures/Genes/Icons/sexual_genetic_swap.png b/1.5/Textures/Genes/Icons/sexual_genetic_swap.png similarity index 100% rename from Common/Textures/Genes/Icons/sexual_genetic_swap.png rename to 1.5/Textures/Genes/Icons/sexual_genetic_swap.png diff --git a/Common/Textures/Genes/Icons/sexual_genetic_thief.png b/1.5/Textures/Genes/Icons/sexual_genetic_thief.png similarity index 100% rename from Common/Textures/Genes/Icons/sexual_genetic_thief.png rename to 1.5/Textures/Genes/Icons/sexual_genetic_thief.png diff --git a/Common/Textures/Genes/Icons/size_blinded.png b/1.5/Textures/Genes/Icons/size_blinded.png similarity index 100% rename from Common/Textures/Genes/Icons/size_blinded.png rename to 1.5/Textures/Genes/Icons/size_blinded.png diff --git a/Common/Textures/Genes/Icons/stretcher.png b/1.5/Textures/Genes/Icons/stretcher.png similarity index 100% rename from Common/Textures/Genes/Icons/stretcher.png rename to 1.5/Textures/Genes/Icons/stretcher.png diff --git a/Common/Textures/Genes/Icons/twinkifier.png b/1.5/Textures/Genes/Icons/twinkifier.png similarity index 100% rename from Common/Textures/Genes/Icons/twinkifier.png rename to 1.5/Textures/Genes/Icons/twinkifier.png diff --git a/1.5/Textures/Genes/Icons/vagina_base.png b/1.5/Textures/Genes/Icons/vagina_base.png new file mode 100644 index 0000000..3f300a0 Binary files /dev/null and b/1.5/Textures/Genes/Icons/vagina_base.png differ diff --git a/Common/Textures/Other/rjw-genes-previews/Preview.jpg b/1.5/Textures/Other/rjw-genes-previews/Preview.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/Preview.jpg rename to 1.5/Textures/Other/rjw-genes-previews/Preview.jpg diff --git a/Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg b/1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg rename to 1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg diff --git a/Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg b/1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg rename to 1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg diff --git a/Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg b/1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg rename to 1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg diff --git a/Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg b/1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg rename to 1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg diff --git a/Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg b/1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg rename to 1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg diff --git a/Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg b/1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg similarity index 100% rename from Common/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg rename to 1.5/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg diff --git a/1.5/Textures/Things/Mote/Cocoon/WeaveA.psd b/1.5/Textures/Things/Mote/Cocoon/WeaveA.psd new file mode 100644 index 0000000..2328868 Binary files /dev/null and b/1.5/Textures/Things/Mote/Cocoon/WeaveA.psd differ diff --git a/1.5/Textures/Things/Mote/Cocoon/WeaveB.psd b/1.5/Textures/Things/Mote/Cocoon/WeaveB.psd new file mode 100644 index 0000000..c1a852e Binary files /dev/null and b/1.5/Textures/Things/Mote/Cocoon/WeaveB.psd differ diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png rename to 1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png rename to 1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png rename to 1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png rename to 1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png diff --git a/Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png similarity index 100% rename from Common/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png rename to 1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png diff --git a/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png new file mode 100644 index 0000000..62453b0 Binary files /dev/null and b/1.5/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png differ diff --git a/1.6/Assemblies/CumpilationPatcher.dll b/1.6/Assemblies/CumpilationPatcher.dll new file mode 100644 index 0000000..74d6ed7 Binary files /dev/null and b/1.6/Assemblies/CumpilationPatcher.dll differ diff --git a/1.6/Assemblies/Rjw-Genes.dll b/1.6/Assemblies/Rjw-Genes.dll index 4778bf2..025d7e0 100644 Binary files a/1.6/Assemblies/Rjw-Genes.dll and b/1.6/Assemblies/Rjw-Genes.dll differ diff --git a/1.6/Defs/AbilityDefs/Ability_MatingCall.xml b/1.6/Defs/AbilityDefs/Ability_MatingCall.xml index 5600d56..383895f 100644 --- a/1.6/Defs/AbilityDefs/Ability_MatingCall.xml +++ b/1.6/Defs/AbilityDefs/Ability_MatingCall.xml @@ -13,7 +13,7 @@ false 50 - 30 + 0 410 @@ -35,7 +35,7 @@ PsycastPsychicEffect
  • - 30 + 40
  • CompAbilityEffect_GiveHediff diff --git a/1.6/Defs/GeneDefs/GeneDefs_Damage.xml b/1.6/Defs/GeneDefs/GeneDefs_Damage.xml index 9b159e6..086777f 100644 --- a/1.6/Defs/GeneDefs/GeneDefs_Damage.xml +++ b/1.6/Defs/GeneDefs/GeneDefs_Damage.xml @@ -24,24 +24,4 @@ - - rjw_genes_elasticity - - rjw_genes_damage - This Xenotype does not suffer any injury from being stretched by large penetrations or large volumes of fluid. - Genes/Icons/Elasticity - - -1 - 1 - 1 - - -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • - - - - \ No newline at end of file diff --git a/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml b/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml index 543c542..d5efbae 100644 --- a/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml +++ b/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml @@ -27,7 +27,7 @@
  • HorsePenis HorseVagina - Anus + GenericAnus
  • 802 @@ -58,7 +58,7 @@
  • DogPenis DogVagina - Anus + GenericAnus
  • 803 @@ -73,7 +73,7 @@
  • CatPenis CatVagina - Anus + GenericAnus
  • 804 @@ -106,7 +106,7 @@
  • DragonPenis DragonVagina - Anus + GenericAnus
  • ScaleLoverQuirk @@ -189,8 +189,6 @@
  • HemiPenis - CloacalVagina - CloacalAnus
  • ScaleLoverQuirk @@ -235,31 +233,4 @@ - - rjw_genes_rodent_genitalia - - Carriers of this gene develop rodent genitalia. - Genes/Icons/Genitalia_croc_icon - -
  • - RodentPenis - RodentVagina -
  • - - - - - rjw_genes_cloacal_genitalia - - Carriers of this gene develop cloacal genitalia. - Genes/Icons/Genitalia_croc_icon - -
  • - CloacalPenis - CloacalVagina - CloacalAnus -
  • -
    -
    - \ No newline at end of file diff --git a/1.6/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml b/1.6/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml index 4e97276..45537fd 100644 --- a/1.6/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml +++ b/1.6/Defs/HediffDefs/Hediffs_InfectiveGenderChanges.xml @@ -30,7 +30,7 @@
  • Consciousness - -0.05 + -0.5
  • diff --git a/1.6/Defs/RaceGeneDefs/RaceGeneDefs_Base.xml b/1.6/Defs/RaceGeneDefs/RaceGeneDefs_Base.xml new file mode 100644 index 0000000..2e03f2b --- /dev/null +++ b/1.6/Defs/RaceGeneDefs/RaceGeneDefs_Base.xml @@ -0,0 +1,30 @@ + + + + Insect_base + +
  • + AG_InsectBlood + 0.5 +
  • +
  • + rjw_genes_ovipositor_genitalia + 0.5 +
  • +
    +
    + + + Slime_base + +
  • + AG_SlimeBlood + 0.5 +
  • +
  • + rjw_genes_slime_genitalia + 0.5 +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.6/Defs/RaceGeneDefs/RaceGeneDefs_Vanilla_Racegroups.xml b/1.6/Defs/RaceGeneDefs/RaceGeneDefs_Vanilla_Racegroups.xml new file mode 100644 index 0000000..ca732bf --- /dev/null +++ b/1.6/Defs/RaceGeneDefs/RaceGeneDefs_Vanilla_Racegroups.xml @@ -0,0 +1,285 @@ + + + + Canine + +
  • Canine_Group
  • +
  • CanineAnimal
  • +
  • CanineSingleGenderAnimal
  • +
  • CanineSkinAnimal
  • +
    + +
  • + Ears_Floppy + 0.75 +
  • +
  • + Tail_Furry + 0.2 +
  • +
  • + Furskin + 0.5 +
  • +
  • + rjw_genes_canine_genitalia + 0.4 +
  • +
  • + ViolenceDisabled + 0.05 +
  • +
  • + PsychicBonding + 0.05 +
  • +
  • + Mood_Sanguine + 0.1 +
  • +
    +
    + + + + Insect + +
  • Insect_Group
  • +
  • ArthropodOvipositorAnimal
  • +
  • ArthropodOvipositorHornyAnimal
  • +
    + +
  • + Beauty_Ugly + 0.5 +
  • +
  • + Immunity_Strong + 0.6 +
  • +
  • + ToxicEnvironmentResistance_Partial + 0.4 +
  • +
  • + rjw_genes_ovipositor_genitalia + 0.15 +
  • +
  • + rjw_genes_insectincubator + 0.1 +
  • +
  • + rjw_genes_insectbreeder + 0.1 +
  • +
  • + Body_Thin + 0.3 +
  • +
    +
    + + + Feline + +
  • Feline_Group
  • +
  • FelineAnimal
  • +
  • FelineHornyAnimal
  • +
  • FelineSingleGenderAnimal
  • +
  • AA_SandProwlerAnimal
  • +
    + + +
  • + Tail_Furry + 0.2 +
  • +
  • + Furskin + 0.5 +
  • +
  • + Ears_Cat + 0.9 +
  • +
  • + PsychicBonding + 0.05 +
  • +
  • + Sleepy + 0.25 +
  • +
  • + DarkVision + 0.25 +
  • +
  • + rjw_genes_feline_genitalia + 0.25 +
  • +
    +
    + + + Equine + +
  • Equine_Group
  • +
  • HorseAnimal
  • +
    + +
  • + Furskin + 0.2 +
  • +
  • + rjw_genes_equine_genitalia + 0.25 +
  • +
  • + MoveSpeed_Quick + 0.4 +
  • +
  • + MoveSpeed_VeryQuick + 0.1 +
  • +
  • + rjw_genes_much_fluid + 0.3 +
  • +
  • + rjw_genes_very_much_fluid + 0.05 +
  • +
  • + Body_Hulk + 0.4 +
  • +
    +
    + + + Dragon + +
  • Dragon_Group
  • +
  • ThrumboAnimal
  • +
  • DragonAnimal
  • +
  • DragonSingleGenderAnimal
  • +
    + +
  • + Unstoppable + 0.25 +
  • +
  • + Headbone_CenterHorn + 0.9 +
  • +
  • + VoiceRoar + 0.6 +
  • +
  • + MaxTemp_SmallIncrease + 0.7 +
  • +
  • + MaxTemp_LargeIncrease + 0.1 +
  • +
  • + rjw_genes_dragon_genitalia + 0.6 +
  • +
  • + FireResistant + 0.15 +
  • +
  • + rjw_genes_much_fluid + 0.3 +
  • +
  • + rjw_genes_very_much_fluid + 0.05 +
  • +
  • + Body_Hulk + 0.7 +
  • +
    +
    + + + Rodent + +
  • Rodent_Group
  • +
  • RodentAnimal
  • +
  • RodentSingleGenderAnimal
  • +
  • DragonSingleGenderAnimal
  • +
    + +
  • + Furskin + 0.2 +
  • +
  • + Fertile + 0.25 +
  • +
  • + FastRunner + 0.6 +
  • +
  • + rjw_genes_small_genitalia + 0.6 +
  • +
  • + Immunity_Strong + 0.4 +
  • +
  • + ToxicEnvironmentResistance_Partial + 0.1 +
  • +
  • + Body_Thin + 0.45 +
  • +
    +
    + + + Racoon + +
  • Raccon_Group
  • +
  • RaccoonAnimal
  • +
    + +
  • + Furskin + 0.25 +
  • +
  • + Tail_Furry + 0.25 +
  • +
  • + StrongStomach + 0.5 +
  • +
  • + Immunity_Strong + 0.2 +
  • +
  • + ToxicEnvironmentResistance_Partial + 0.1 +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.6/Defs/RaceGeneDefs/RaceGeneDefs_template.xml b/1.6/Defs/RaceGeneDefs/RaceGeneDefs_template.xml new file mode 100644 index 0000000..b092257 --- /dev/null +++ b/1.6/Defs/RaceGeneDefs/RaceGeneDefs_template.xml @@ -0,0 +1,65 @@ + + + + + + \ No newline at end of file diff --git a/1.6/Defs/ThoughtDefs/Thoughts_Disease.xml b/1.6/Defs/ThoughtDefs/Thoughts_Disease.xml index beb0944..8997a52 100644 --- a/1.6/Defs/ThoughtDefs/Thoughts_Disease.xml +++ b/1.6/Defs/ThoughtDefs/Thoughts_Disease.xml @@ -36,7 +36,7 @@ -3
  • - + -8
  • diff --git a/1.6/Languages/English/Keyed/Bestiality.xml b/1.6/Languages/English/Keyed/Bestiality.xml new file mode 100644 index 0000000..e6edf59 --- /dev/null +++ b/1.6/Languages/English/Keyed/Bestiality.xml @@ -0,0 +1,4 @@ + + + animal-hybrid + diff --git a/1.6/Languages/English/Keyed/Mod_Settings_AnimalGeneInheritance.xml b/1.6/Languages/English/Keyed/Mod_Settings_AnimalGeneInheritance.xml new file mode 100644 index 0000000..bb7012d --- /dev/null +++ b/1.6/Languages/English/Keyed/Mod_Settings_AnimalGeneInheritance.xml @@ -0,0 +1,18 @@ + + + + enabled + If toggled, Animal Pregnancies will try inherit genes. + + + + + genes as xenogenes + If toggled on, animal genes will be added as xenogenes. + + enable VE genetics hybridation + If enabled and if you have VE genetics it will enable the hybridation system. + + + + diff --git a/1.6/Languages/English/Keyed/StatsReports.xml b/1.6/Languages/English/Keyed/StatsReports.xml index 63085f9..715bccb 100644 --- a/1.6/Languages/English/Keyed/StatsReports.xml +++ b/1.6/Languages/English/Keyed/StatsReports.xml @@ -4,6 +4,5 @@ Pawn doesn't have any children. Pawn has a decent amount of children. Pawn has a lot of children. - Unable to geneticaly adapt or alter {PAWN_nameDef}'s genitals. diff --git a/1.6/Mods/Cumpilation/Assemblies/CumpilationPatcher.dll b/1.6/Mods/Cumpilation/Assemblies/CumpilationPatcher.dll index 586660a..74d6ed7 100644 Binary files a/1.6/Mods/Cumpilation/Assemblies/CumpilationPatcher.dll and b/1.6/Mods/Cumpilation/Assemblies/CumpilationPatcher.dll differ diff --git a/1.6/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml b/1.6/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml index a25d8da..306e2be 100644 --- a/1.6/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml +++ b/1.6/Mods/Genie/Defs/GeneDefs/GeneDefs_Curiosity_sex.xml @@ -11,7 +11,7 @@ 2 - + VRE_Curiosity_Sex 0 @@ -19,7 +19,7 @@ Genes/Icons/sex_curiosity -
  • +
  • Sex Sex
  • diff --git a/1.6/Mods/LicentiaLabs/Defs/GeneDefs/LicentiaLabs_GeneDefs.xml b/1.6/Mods/LicentiaLabs/Defs/GeneDefs/LicentiaLabs_GeneDefs.xml new file mode 100644 index 0000000..c62ac40 --- /dev/null +++ b/1.6/Mods/LicentiaLabs/Defs/GeneDefs/LicentiaLabs_GeneDefs.xml @@ -0,0 +1,68 @@ + + + + + rjw_genes_elasticity + + rjw_genes_damage + This Xenotype cannot get stretched by huge penetrators. + Genes/Icons/Elasticity + RJW_Genes.Gene_Elasticity + -1 + 1 + 1 + + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    + + + rjw_genes_likes_cumflation + + rjw_genes_fluids + This Xenotype loves being cumflated. + Genes/Icons/Cumflation + 536 + -1 + 2 + +
  • + LikesCumflation +
  • +
    + +
  • NotCumflatable
  • +
    + + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    + + + rjw_genes_cumflation_immunity + + rjw_genes_fluids + This Xenotype cannot get cumflated. + Genes/Icons/Cumflation_Immunity + 537 + +
  • NotCumflatable
  • +
    + + +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.6/Mods/LicentiaLabs/Defs/HediffDefs/Hediffs_CounterCumflation.xml b/1.6/Mods/LicentiaLabs/Defs/HediffDefs/Hediffs_CounterCumflation.xml new file mode 100644 index 0000000..282e54f --- /dev/null +++ b/1.6/Mods/LicentiaLabs/Defs/HediffDefs/Hediffs_CounterCumflation.xml @@ -0,0 +1,172 @@ + + + + rjw_genes_cumflation_counter + HediffWithComps + + cumflation negator + Negates the negative effects usually produced by being cumflated. + (240,200,110) + false + 1.0 + false + false + +
  • + -0.75 +
  • +
    + +
  • + + false +
  • +
  • + + 0.2 + false + + -0.1 + + +
  • + Moving + 0.1 +
  • + + +
  • + + 0.4 + false + + -0.3 + + +
  • + Moving + 0.3 +
  • + + -0.1 + +
  • + + 0.65 + false + + +0.5 + + +
  • + Moving + 0.6 +
  • + + -0.3 + +
  • + + 0.9 + false + + -0.7 + + +
  • + Moving + 1.0 +
  • + + -0.5 + +
    +
    + + + rjw_genes_cumstuffed_counter + HediffWithComps + + cumstuffed negated + Negates the negative effects that one would suffer from being cumstuffed. + (240,200,110) + false + 1.0 + false + false + +
  • + -0.75 +
  • +
    + +
  • + + false +
  • +
  • + + 0.2 + 0.95 + false + + -0.05 + + +
  • + Moving + 0.03 +
  • + + +
  • + + 0.4 + 0.9 + + -0.1 + + false + +
  • + Moving + 0.1 +
  • + + +
  • + + 0.6 + 0.75 + false + + -0.15 + + +
  • + Moving + 0.2 +
  • + + -0.15 + +
  • + + 0.8 + 0.5 + false + + -0.2 + + +
  • + Moving + 0.3 +
  • + + -0.3 + +
    +
    + +
    diff --git a/1.6/Mods/VE_Genetics/Defs/HedifDef/Hediffs_Animals.xml b/1.6/Mods/VE_Genetics/Defs/HedifDef/Hediffs_Animals.xml new file mode 100644 index 0000000..aa0c672 --- /dev/null +++ b/1.6/Mods/VE_Genetics/Defs/HedifDef/Hediffs_Animals.xml @@ -0,0 +1,19 @@ + + + + + rjw_genes_animal_control_hediff + + This creature is more controlable with a natural human part. + HediffWithComps + (0.9, 1.0, 0.35) + 1 + +
  • + true +
  • +
    + false +
    + +
    \ No newline at end of file diff --git a/1.6/Mods/VE_Genetics/Defs/RaceGeneDef/RaceGeneDefs_VEgenetic.xml b/1.6/Mods/VE_Genetics/Defs/RaceGeneDef/RaceGeneDefs_VEgenetic.xml new file mode 100644 index 0000000..80da257 --- /dev/null +++ b/1.6/Mods/VE_Genetics/Defs/RaceGeneDef/RaceGeneDefs_VEgenetic.xml @@ -0,0 +1,654 @@ + + + + + GR_Manbear_GenGroup + + +
  • GR_Manbear
  • +
  • GR_Bearman
  • +
    + + + +
  • + Immunity_Strong + 0.8 +
  • +
  • + MinTemp_LargeDecrease + 0.8 +
  • +
  • + Aggression_Aggressive + 0.8 +
  • +
  • + Sleepy + 0.8 +
  • +
  • + Beard_Always + 0.8 +
  • +
  • + VoiceRoar + 0.8 +
  • +
  • + Body_Fat + 0.8 +
  • +
  • + Body_Hulk + 0.8 +
  • +
  • + Hair_ReddishBrown + 0.8 +
  • +
  • + Hair_DarkBrown + 0.8 +
  • +
  • + Hair_DarkSaturatedReddish + 0.8 +
  • +
  • + Hair_DarkReddish + 0.8 +
  • +
  • + RobustDigestion + 0.8 +
  • +
  • + Furskin + 0.8 +
  • +
  • + Unstoppable + 0.8 +
  • +
  • + AptitudeTerrible_Artistic + 0.8 +
  • +
  • + AptitudeTerrible_Social + 0.8 +
  • +
  • + AptitudePoor_Intellectual + 0.8 +
  • + +
    + +
    + + + GR_Manalope_GenGroup + + +
  • GR_Manalope
  • +
  • GR_Booman
  • +
    + + + +
  • + FireSpew + 0.8 +
  • +
  • + Beauty_Ugly + 0.8 +
  • +
  • + Hair_Blonde + 0.8 +
  • +
  • + Hair_SandyBlonde + 0.8 +
  • +
  • + Hair_LightOrange + 0.8 +
  • +
  • + rjw_genes_udder + 0.8 +
  • + +
    + +
    + + + GR_Manchicken_GenGroup + + +
  • GR_Manchicken
  • +
  • GR_Turkeyman
  • +
    + + + +
  • + Mood_Optimist + 0.8 +
  • +
  • + Delicate + 0.8 +
  • +
  • + Beauty_Pretty + 0.8 +
  • +
  • + Body_Thin + 0.8 +
  • +
  • + AptitudeTerrible_Melee + 0.8 +
  • +
  • + AptitudeTerrible_Mining + 0.8 +
  • +
  • + AptitudeRemarkable_Social + 0.8 +
  • +
  • + AptitudeStrong_Intellectual + 0.8 +
  • + +
    + +
    + + + GR_Manffalo_GenGroup + + +
  • GR_Manffalo
  • +
  • GR_Muffaloman
  • +
    + + + +
  • + Headbone_Human + 0.9 +
  • +
  • + Headbone_MiniHorns + 0.9 +
  • +
  • + Furskin + 0.9 +
  • +
  • + MinTemp_SmallIncrease + 0.9 +
  • +
  • + rjw_genes_big_male_genitalia + 0.7 +
  • +
  • + rjw_genes_loose_female_genitalia + 0.7 +
  • +
  • + rjw_genes_big_breasts + 0.7 +
  • +
  • + rjw_genes_udder + 0.7 +
  • +
  • + rjw_genes_Needle_genitalia + 0.7 +
  • +
  • + rjw_mc_genes_perm_lactating + 0.05 +
  • +
  • + rjw_genes_zoophile + 0.5 +
  • +
  • + AptitudeTerrible_Intellectual + 0.05 +
  • +
  • + AptitudePoor_Intellectual + 0.7 +
  • +
    + +
    + + + GR_Manwolf_GenGroup + + +
  • GR_Manwolf
  • +
  • GR_Dogman
  • +
    + + + +
  • + AptitudeTerrible_Mining + 0.05 +
  • +
  • + PsychicBonding + 0.05 +
  • +
  • + Mood_Sanguine + 0.05 +
  • +
  • + Ears_Floppy + 0.9 +
  • +
  • + rjw_genes_canine_genitalia + 0.9 +
  • +
  • + Furskin + 0.9 +
  • +
  • + MinTemp_SmallIncrease + 0.9 +
  • +
  • + Libido_High + 0.9 +
  • +
  • + AptitudePoor_Mining + 0.5 +
  • +
  • + rjw_genes_zoophile + 0.5 +
  • +
  • + Mood_Optimist + 0.5 +
  • +
    + +
    + + + GR_Mancat_GenGroup + + +
  • GR_Mancat
  • +
  • GR_Catman
  • +
    + + + +
  • + PsychicBonding + 0.05 +
  • +
  • + AptitudeTerrible_Animals + 0.05 +
  • +
  • + Ears_Cat + 0.9 +
  • +
  • + Body_Thin + 0.9 +
  • +
  • + rjw_genes_feline_genitalia + 0.9 +
  • +
  • + Furskin + 0.9 +
  • +
  • + MinTemp_SmallIncrease + 0.9 +
  • +
  • + rjw_genes_small_male_genitalia + 0.7 +
  • +
  • + rjw_genes_tight_female_genitalia + 0.7 +
  • +
  • + rjw_genes_small_breasts + 0.7 +
  • +
  • + rjw_genes_tight_anus + 0.7 +
  • +
  • + DarkVision + 0.8 +
  • +
  • + AptitudePoor_Animals + 0.5 +
  • +
  • + Beauty_Pretty + 0.7 +
  • +
  • + rjw_genes_zoophile + 0.5 +
  • +
    + +
    + + + GR_Mansquirrel_GenGroup + + +
  • GR_Mansquirrel
  • +
  • GR_Moleman
  • +
    + + + +
  • + MoveSpeed_VeryQuick + 0.8 +
  • +
  • + KindInstinct + 0.8 +
  • +
  • + Delicate + 0.8 +
  • +
  • + Ears_Cat + 0.8 +
  • +
  • + Body_Thin + 0.8 +
  • +
  • + Tail_Furry + 0.8 +
  • +
  • + AptitudeTerrible_Shooting + 0.8 +
  • +
  • + AptitudeTerrible_Melee + 0.8 +
  • +
  • + AptitudeTerrible_Mining + 0.8 +
  • +
  • + AptitudeTerrible_Animals + 0.8 +
  • +
  • + AptitudeStrong_Intellectual + 0.8 +
  • +
  • + rjw_genes_Needle_genitalia + 0.8 +
  • +
  • + rjw_genes_zoophile + 0.8 +
  • + +
    + +
    + + + GR_Thrumboman_GenGroup + + +
  • GR_Thrumboman
  • +
    + + + +
  • + Unstoppable + 0.25 +
  • +
  • + Headbone_CenterHorn + 0.9 +
  • +
  • + VoiceRoar + 0.6 +
  • +
  • + MaxTemp_SmallIncrease + 0.7 +
  • +
  • + MaxTemp_LargeIncrease + 0.1 +
  • +
  • + rjw_genes_dragon_genitalia + 0.6 +
  • +
  • + FireResistant + 0.15 +
  • +
  • + rjw_genes_much_fluid + 0.3 +
  • +
  • + rjw_genes_very_much_fluid + 0.05 +
  • +
  • + Body_Hulk + 0.7 +
  • + +
    + +
    + + + + + GR_Hurseman_GenGroup + + +
  • GR_Hurseman
  • +
    + + + +
  • + Body_Standard + 0.9 +
  • +
  • + Body_Hulk + 0.7 +
  • +
  • + rjw_genes_equine_genitalia + 0.9 +
  • +
  • + rjw_genes_zoophile + 0.5 +
  • +
  • + rjw_genes_much_fluid + 0.5 +
  • +
  • + MoveSpeed_Quick + 0.5 +
  • +
  • + AptitudeTerrible_Mining + 0.5 +
  • +
  • + AptitudeTerrible_Intellectual + 0.5 +
  • +
  • + Furskin + 0.9 +
  • +
  • + MinTemp_SmallIncrease + 0.9 +
  • + +
    + +
    + + + + + GR_Manscarab_GenGroup + + +
  • GR_Manscarab
  • +
    + + + +
  • + Beauty_Ugly + 0.5 +
  • +
  • + Immunity_Strong + 0.6 +
  • +
  • + ToxicEnvironmentResistance_Partial + 0.4 +
  • +
  • + rjw_genes_ovipositor_genitalia + 0.15 +
  • +
  • + rjw_genes_insectincubator + 0.1 +
  • +
  • + rjw_genes_insectbreeder + 0.1 +
  • +
  • + Body_Thin + 0.3 +
  • + +
    + +
    + + + GR_Lizardman_GenGroup + + +
  • GR_Lizardman
  • +
    + + + +
  • + AcidSpray + 0.7 +
  • +
  • + MinTemp_SmallIncrease + 0.7 +
  • +
  • + MaxTemp_SmallIncrease + 0.7 +
  • +
  • + Robust + 0.7 +
  • +
  • + Hair_BaldOnly + 0.7 +
  • +
  • + Beard_NoBeardOnly + 0.7 +
  • +
  • + Body_Standard + 0.7 +
  • +
  • + Headbone_CenterHorn + 0.7 +
  • +
  • + AptitudeTerrible_Artistic + 0.7 +
  • +
  • + AptitudeTerrible_Social + 0.7 +
  • +
  • + rjw_genes_reptilian_genitalia + 0.7 +
  • + +
    + +
    + +
    \ No newline at end of file diff --git a/1.6/Mods/VE_Genetics/Defs/RaceGroupDef/Hybrid_Group.xml b/1.6/Mods/VE_Genetics/Defs/RaceGroupDef/Hybrid_Group.xml new file mode 100644 index 0000000..b356155 --- /dev/null +++ b/1.6/Mods/VE_Genetics/Defs/RaceGroupDef/Hybrid_Group.xml @@ -0,0 +1,164 @@ + + + + + Bear_Group + + +
  • Bear_Grizzly
  • +
  • Bear_Polar
  • +
    + +
  • GR_Manbear
  • +
  • GR_Bearman
  • +
    +
    + + + Boomalope_Group + +
  • Boomalope
  • +
    + +
  • GR_Manalope
  • +
  • GR_Booman
  • +
    +
    + + + Poultry_Group + +
  • Chicken
  • +
  • Cassowary
  • +
  • Emu
  • +
  • Ostrich
  • +
  • Goose
  • +
  • Turkey
  • +
  • Duck
  • +
    + +
  • GR_Manchicken
  • +
  • GR_Turkeyman
  • +
    +
    + + + Bovine_Group + +
  • Muffalo
  • +
  • Cow
  • +
  • Bison
  • +
  • Yak
  • +
    + + +
  • GR_Manffalo
  • +
  • GR_Muffaloman
  • +
    +
    + + + Canine_Group + +
  • Warg
  • +
  • Wolf_Timber
  • +
  • Wolf_Arctic
  • +
  • Fox_Fennec
  • +
  • Fox_Red
  • +
  • Fox_Arctic
  • +
  • Husky
  • +
  • LabradorRetriever
  • +
  • YorkshireTerrier
  • +
    + + +
  • GR_Manwolf
  • +
  • GR_Dogman
  • +
    +
    + + + Feline_Group + +
  • Cougar
  • +
  • Panther
  • +
  • Lynx
  • +
  • Cat
  • +
    + + +
  • GR_Mancat
  • +
  • GR_Catman
  • +
    +
    + + + Rabbit_Group + +
  • GuineaPig
  • +
  • Hare
  • +
  • Snowhare
  • +
  • Squirrel
  • +
  • Rat
  • +
  • Raccoon
  • +
    + + +
  • GR_Mansquirrel
  • +
  • GR_Moleman
  • +
    +
    + + + Thrumbo_Group + +
  • Thrumbo
  • +
    + + +
  • GR_Thrumboman
  • +
    +
    + + + Equine_Group + +
  • Dromedary
  • +
  • Elk
  • +
  • Horse
  • +
  • Caribou
  • +
  • Donkey
  • +
    + + +
  • GR_Hurseman
  • +
    +
    + + + Insect_Group + +
  • Megascarab
  • +
  • Spelopede
  • +
  • Megaspider
  • +
    + + +
  • GR_Manscarab
  • +
    +
    + + + Reptile_Group + +
  • Iguana
  • +
  • Cobra
  • +
  • Tortoise
  • +
    + + +
  • GR_Lizardman
  • +
    +
    + +
    \ No newline at end of file diff --git a/1.6/Patches/Xenotypes/PatchBSShared.xml b/1.6/Patches/Xenotypes/PatchBSShared.xml index 8502746..a057946 100644 --- a/1.6/Patches/Xenotypes/PatchBSShared.xml +++ b/1.6/Patches/Xenotypes/PatchBSShared.xml @@ -2,7 +2,8 @@ -
  • Big and Small - Heaven and Hell
  • +
  • Big and Small - Genes & More
  • +
  • Big and Small - Heaven and Hell
  • diff --git a/1.6/Patches/Xenotypes/PatchBSUndead.xml b/1.6/Patches/Xenotypes/PatchBSUndead.xml index c0a9632..0c2e592 100644 --- a/1.6/Patches/Xenotypes/PatchBSUndead.xml +++ b/1.6/Patches/Xenotypes/PatchBSUndead.xml @@ -9,9 +9,16 @@
  • Defs/XenotypeDef[defName="VU_Returned" or defName="VU_Ghoul" or defName="VU_Frankenstein"]/genes +
  • rjw_genes_Necro_genitalia
  • rjw_genes_no_sex_need
  • +
  • + Defs/XenotypeDef[defName="VU_Revenant"]/genes + +
  • rjw_genes_Necro_genitalia
  • + +
  • Defs/XenotypeDef[defName="VU_Lycantrope"]/genes diff --git a/1.6/Source/Animal_Inheritance/Defs/BestialityGeneInheritanceDef.cs b/1.6/Source/Animal_Inheritance/Defs/BestialityGeneInheritanceDef.cs new file mode 100644 index 0000000..ae0c51e --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Defs/BestialityGeneInheritanceDef.cs @@ -0,0 +1,8 @@ +namespace RJW_BGS +{ + public class BestialityGeneInheritanceDef + { + public string defName; + public float chance = 1f; + } +} diff --git a/1.6/Source/Animal_Inheritance/Defs/RaceGeneDef.cs b/1.6/Source/Animal_Inheritance/Defs/RaceGeneDef.cs new file mode 100644 index 0000000..10a9149 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Defs/RaceGeneDef.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using rjw; + +namespace RJW_BGS +{ + public class RaceGeneDef : Def + { + public int priority; + public string raceGroup; //keeping this for backwards compatibility + public List raceGroups; //racegroup, but in list form so multiple can be entered, preference to use this over racegroup + public List raceNames; + public List pawnKindNames; + public List genes; + public string hybridName; + } +} diff --git a/1.6/Source/Animal_Inheritance/Defs/RaceGeneDef_Helper.cs b/1.6/Source/Animal_Inheritance/Defs/RaceGeneDef_Helper.cs new file mode 100644 index 0000000..ac58a8c --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Defs/RaceGeneDef_Helper.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using rjw; +using Verse; + +namespace RJW_BGS +{ + public class RaceGeneDef_Helper + { + //code based on racegroupdefinternal which has a similar function + public static RaceGeneDef GetRaceGeneDefInternal(Pawn pawn) + { + List Valids = ValidRaceGeneDefs(pawn); + if (Valids.Count > 0) + { + RaceGeneDef result = Valids.MaxBy(r => r.priority); + return result; + } + return null; + } + + public static List ValidRaceGeneDefs(Pawn pawn) + { + PawnKindDef kindDef = pawn.kindDef; + if (kindDef == null) + { + RJW_Genes.ModLog.Warning($"Error looking up PawnKindDef for {pawn.Name} - Could not lookup Animal Inheritance Genes"); + return null; + } + + string raceName = kindDef.race.defName; + string pawnKindName = kindDef.defName; + //Wild animals have no name, so we will use pawnkindname instead + string pawnName = pawn.Name != null ? pawn.Name.ToStringFull : pawnKindName; + + RaceGroupDef raceGroupDef = GetRaceGroupDef(kindDef); + + RJW_Genes.ModLog.Debug($"Looking up Animal-Inheritable Genes for {pawnName} with KindDef {kindDef.defName},RaceName {raceName}, PawnKind {pawnKindName} and RaceGroup {raceGroupDef.defName}"); + + IEnumerable allDefs = DefDatabase.AllDefs; + List pawnKindDefs = allDefs.Where(delegate (RaceGeneDef group) + { + List pawnKindNames = group.pawnKindNames; + return pawnKindNames != null && pawnKindNames.Contains(pawnKindName); + }).ToList(); + if (pawnKindDefs.Count() > 0) + { + DebugPrintRaceGeneDefs("PawnKindDefs", pawnName,pawnKindDefs); + return pawnKindDefs; + } + RJW_Genes.ModLog.Debug($"Did not find PawnKindDefs for {pawnName}"); + + List raceKindDefs = allDefs.Where(delegate (RaceGeneDef group) + { + List raceNames = group.raceNames; + return raceNames != null && raceNames.Contains(raceName); + }).ToList(); + if (raceKindDefs.Count() > 0) + { + DebugPrintRaceGeneDefs("PawnKindDefs", pawnName, raceKindDefs); + return raceKindDefs; + } + RJW_Genes.ModLog.Debug($"Did not find RaceKindDefs for {pawnName}"); + + List raceGroupDefs = new List(); + if (raceGroupDef != null) + { + raceGroupDefs = allDefs.Where(delegate (RaceGeneDef group) + { + string raceGroupDefName = group.raceGroup; + List list_raceGroupDefName = group.raceGroups; + return (raceGroupDefName != null && raceGroupDefName == raceGroupDef.defName) + || (list_raceGroupDefName != null && list_raceGroupDefName.Contains(raceGroupDef.defName)); + }).ToList(); + } + + if (raceGroupDefs.Count() > 0) + { + DebugPrintRaceGeneDefs("RaceKindDefs", pawnName, raceGroupDefs); + return raceGroupDefs; + } + RJW_Genes.ModLog.Debug($"Did not find RaceGroupDefs for {pawnName}"); + + RJW_Genes.ModLog.Message($"Did not find any Genes inheritable for {pawnName}"); + return new List(); + } + + private static void DebugPrintRaceGeneDefs(String header,String identifier,List defs) + { + if (RJW_Genes.RJW_Genes_Settings.rjw_genes_detailed_debug) + { + var defString = "["; + foreach (RaceGeneDef raceGeneDef in defs) + defString += $"({raceGeneDef.priority}:{raceGeneDef.defName} - {raceGeneDef.genes.Count} Genes)"; + defString += "]"; + RJW_Genes.ModLog.Message($"Found the following {header}-Genes for {identifier}: {defString}"); + } + } + + + /// + /// These two Functions are Duplicates of private functions in RJW RaceGroupDef_Helper, used to get a racegroupdef from a kindDef. + /// If the RaceGroupDef_Helper class is made accessable directly, these functions can be removed. + /// + /// + /// + private static RaceGroupDef GetRaceGroupDef(PawnKindDef kindDef) + { + var raceName = kindDef.race.defName; + var pawnKindName = kindDef.defName; + var groups = DefDatabase.AllDefs; + + var kindMatches = groups.Where(group => group.pawnKindNames?.Contains(pawnKindName) ?? false).ToList(); + var raceMatches = groups.Where(group => group.raceNames?.Contains(raceName) ?? false).ToList(); + var count = kindMatches.Count() + raceMatches.Count(); + if (count == 0) + { + //ModLog.Message($"Pawn named '{pawn.Name}' matched no RaceGroupDef. If you want to create a matching RaceGroupDef you can use the raceName '{raceName}' or the pawnKindName '{pawnKindName}'."); + return null; + } + else if (count == 1) + { + // ModLog.Message($"Pawn named '{pawn.Name}' matched 1 RaceGroupDef."); + return kindMatches.Concat(raceMatches).Single(); + } + else + { + // ModLog.Message($"Pawn named '{pawn.Name}' matched {count} RaceGroupDefs."); + + // If there are multiple RaceGroupDef matches, choose one of them. + // First prefer defs NOT defined in rjw. + // Then prefer a match by kind over a match by race. + return kindMatches.FirstOrDefault(match => !IsThisMod(match)) + ?? raceMatches.FirstOrDefault(match => !IsThisMod(match)) + ?? kindMatches.FirstOrDefault() + ?? raceMatches.FirstOrDefault(); + } + } + + private static bool IsThisMod(Def def) + { + var rjwContent = LoadedModManager.RunningMods.Single(pack => pack.Name == "RimJobWorld"); + return rjwContent.AllDefs.Contains(def); + } + } +} diff --git a/1.6/Source/Animal_Inheritance/Defs/VGEHybridOffspringDefs.cs b/1.6/Source/Animal_Inheritance/Defs/VGEHybridOffspringDefs.cs new file mode 100644 index 0000000..60421fb --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Defs/VGEHybridOffspringDefs.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RJW_Genes +{ + public class VGEHybridOffspringDefs : Verse.Def + { + public List SupportedParentKindDefs; + public List PossibleHybridChildKindDefs; + } +} diff --git a/1.6/Source/Animal_Inheritance/InheritanceUtility.cs b/1.6/Source/Animal_Inheritance/InheritanceUtility.cs new file mode 100644 index 0000000..127c0e1 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/InheritanceUtility.cs @@ -0,0 +1,167 @@ +using System.Collections.Generic; +using Verse; +using RimWorld; +using rjw; +using RJW_Genes; +using System.Linq; + +namespace RJW_BGS +{ + public class InheritanceUtility + { + public static List AnimalInheritedGenes(Pawn father, Pawn mother) + { + List genelist = new List(); + //If Both are Humans, or Both are animals, do nothing & return empty GeneList + if (!mother.RaceProps.Humanlike && !father.RaceProps.Humanlike) + return genelist; + if (mother.RaceProps.Humanlike && father.RaceProps.Humanlike) + return genelist; + + RJW_Genes.ModLog.Message($"Trigger an Animal-Gene-Inheritance for {father.Name} and {mother.Name}"); + //One parent must be an animal and the other must be human, so only one needs to return + if (father != null && !father.RaceProps.Humanlike) + { + RJW_Genes.ModLog.Debug($"Father was found to be animal - looking up genes for {father.Name}"); + return SelectGenes(father); + } + if (mother != null && !mother.RaceProps.Humanlike) + { + RJW_Genes.ModLog.Debug($"Mother was found to be animal - looking up genes for {mother.Name}"); + return SelectGenes(mother); + } + + return genelist; + } + + /// + /// Looks up potential genes for an animal, + /// checks their chance and returns all 'triggered' genes. + /// + /// The animal for which to look up genes (Animals are Pawns in RW) + /// The genes that will be inherited from this animal. + public static List SelectGenes(Pawn pawn) + { + List genelist = new List(); + RaceGeneDef raceGeneDef = RaceGeneDef_Helper.GetRaceGeneDefInternal(pawn); + if (raceGeneDef != null) + { + foreach (BestialityGeneInheritanceDef gene in raceGeneDef.genes) + { + if (gene.chance * RJW_BGSSettings.rjw_bgs_global_gene_chance >= Rand.Range(0.01f,1f)) + { + GeneDef tmpGene = DefDatabase.GetNamed(gene.defName, false); + if (tmpGene != null) + { + genelist.Add(tmpGene); + } + else + { + RJW_Genes.ModLog.Warning($"Unable to find gene {gene.defName}, skipping. May need to update {raceGeneDef.defName} definition."); + } + } + } + } + RJW_Genes.ModLog.Debug($"From {raceGeneDef.genes.Count} possible genes in {raceGeneDef.defName}, {genelist.Count} were added by chance ({RJW_BGSSettings.rjw_bgs_global_gene_chance} chance multiplier from Settings)."); + return genelist; + } + + + /// + /// Adds a list of Genes to the pawns existing GeneSet. + /// Whether it is added as a Xenogene or Endogene is configured in Mod-Settings. + /// + /// The pawn for which Genes will be added + /// The Genes to add (Endogene by default, Xenogene with Mod Settings) + public static void AddGenes(Pawn pawn, List genes) + { + foreach (GeneDef gene in genes) + { + pawn.genes.AddGene(gene, RJW_BGSSettings.rjw_bgs_animal_genes_as_xenogenes); + } + } + + /// + /// Initiates a bestiality baby with genes if the baby does not exist earlier. + /// This is used to make rjw-egg-pregnancies work. + /// Related file: PatchRJWHediffInsect_Egg.cs + /// + /// The mother of the baby. + /// The father of the baby. + /// The baby created in non-pregnancy-way (has 0 Genes yet) + public static void NewGenes(Pawn mother, Pawn dad, Pawn baby) + { + if (!RJW_BGSSettings.rjw_bgs_enabled) + { + return; + } + + RJW_Genes.ModLog.Message($"Triggering an New-Gene Animal-Gene-Inheritance for {baby.Name} ({dad.Name} + {mother.Name})"); + if (baby.RaceProps.Humanlike) + { + if (baby.genes == null) + { + baby.genes = new Pawn_GeneTracker(baby); + } + + //Remove the hair and skin genes pawns always start with, should get correct ones from human parent anyway. + for (int i = baby.genes.Endogenes.Count - 1; i >= 0; i--) + { + baby.genes.RemoveGene(baby.genes.Endogenes[i]); + } + + List genes = PregnancyUtility.GetInheritedGenes(dad, mother); + List beastgenes = InheritanceUtility.AnimalInheritedGenes(dad, mother); + InheritanceUtility.AddGenes(baby, beastgenes); + InheritanceUtility.AddGenes(baby, genes); + if(baby.genes.GetFirstEndogeneByCategory(EndogeneCategory.Melanin) == null) + { + AddSkinColor(mother, dad, baby); + } + } + } + + public static void AddSkinColor(Pawn mother, Pawn father, Pawn baby) + { + if (mother != null && mother.genes != null) + { + GeneDef gene = mother.genes.GetFirstEndogeneByCategory(EndogeneCategory.Melanin); + if (gene != null) + { + baby.genes.AddGene(gene, false); + } + } + else if (father != null && father.genes != null) + { + GeneDef gene = father.genes.GetFirstEndogeneByCategory(EndogeneCategory.Melanin); + if (gene != null) + { + baby.genes.AddGene(gene, false); + } + } + else + { + Log.Message("Could not find skincolor of " + baby.Name + "'s parents, giving random skincolor."); + baby.genes.AddGene(PawnSkinColors.RandomSkinColorGene(baby), false); + } + } + + /// + /// Used only for debugging, to see what you loaded and how it looks. + /// + private static void LogAllFoundRaceGroupGenes() + { + foreach (RaceGroupDef def in DefDatabase.AllDefs) + { + Log.Message("defName = " + def.defName); + if (def.raceNames != null) + { + foreach (string race in def.raceNames) + { + Log.Message(race); + } + } + } + } + } +} diff --git a/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_BasePregnancy_VanillaExpandedGenetics.cs b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_BasePregnancy_VanillaExpandedGenetics.cs new file mode 100644 index 0000000..af9bab1 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_BasePregnancy_VanillaExpandedGenetics.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using UnityEngine; +using HarmonyLib; +using rjw; + +namespace RJW_BGS +{ + + +[HarmonyPatch(typeof(Hediff_BasePregnancy))] +public class Patch_RJW_BasePregnancy_VanillaExpandedGenetics +{ + public static HediffDef controler = DefDatabase.GetNamed("rjw_genes_animal_control_hediff", false); + + /// + /// This Patch (only) adds the "rjw_genes_animal_control_hediff" to newborn VE hybrid-animals. + /// + /// + [HarmonyPostfix] + [HarmonyPatch("GenerateBabies")] + public static void AddHediff (Hediff_BasePregnancy __instance) + { + + if (controler == null) return; + + if (!RJW_BGSSettings.rjw_bgs_VE_genetics) + { + return; + } + + foreach (Pawn baby in __instance.babies) + { + if(baby != null && VGEHybridUtility.SupportedHybridRaces.Contains(baby.kindDef)) + baby.health.AddHediff(controler); + } + + } + } +} diff --git a/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_BestialityPregnancyUtility.cs b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_BestialityPregnancyUtility.cs new file mode 100644 index 0000000..7f67390 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_BestialityPregnancyUtility.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using HarmonyLib; +using RimWorld; +using Verse; +using rjw; + +namespace RJW_BGS +{ + [HarmonyPatch(typeof(Hediff_BasePregnancy), "Initialize")] + public static class Patch_RJW_BestialityPregnancyUtility + { + [HarmonyPostfix] + public static void AddGenes(Pawn mother, Pawn dad, ref Hediff_BasePregnancy __instance) + { + if (!RJW_BGSSettings.rjw_bgs_enabled || (!mother.IsAnimal && !dad.IsAnimal)) + { + return; + } + foreach (Pawn baby in __instance.babies) + { + if (baby.RaceProps.Humanlike) + { + if (baby.genes == null) + { + baby.genes = new Pawn_GeneTracker(baby); + } + + //Remove the hair and skin genes pawns always start with, should get correct ones from human parent anyway. + for (int i = baby.genes.Endogenes.Count - 1; i >= 0; i--) + { + baby.genes.RemoveGene(baby.genes.Endogenes[i]); + } + + List humangenes = PregnancyUtility.GetInheritedGenes(dad, mother); + List beastgenes = InheritanceUtility.AnimalInheritedGenes(dad, mother); + InheritanceUtility.AddGenes(baby, beastgenes); + InheritanceUtility.AddGenes(baby, humangenes); + + // The mix-breed babies should be labelled hybrids + baby.genes.hybrid = true; + + //reason = "AbilityDisabledNoFertilinGene".Translate(this.parent.pawn); + baby.genes.xenotypeName = "rjw_genes_bestiality_hybrid_name".Translate(); + + RJW_Genes.ModLog.Debug($"Conception of a Bestiality-Child - Added {humangenes.Count} human-genes and {beastgenes.Count} animal-genes."); + } + } + } + } +} diff --git a/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_HediffInsect_Egg.cs b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_HediffInsect_Egg.cs new file mode 100644 index 0000000..9861537 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_HediffInsect_Egg.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using System.Reflection; +using System.Reflection.Emit; +using HarmonyLib; +using rjw; + +namespace RJW_BGS +{ + [HarmonyPatch(typeof(Hediff_InsectEgg), "GiveBirth")] + public static class Patch_RJW_HediffInsect_Egg + { + [HarmonyTranspiler] + public static IEnumerable Transpiler(IEnumerable instructions) + { + MethodInfo newgenes = AccessTools.Method(typeof(InheritanceUtility), "NewGenes", null, null); + FieldInfo implanter = AccessTools.Field(typeof(Hediff_InsectEgg), "implanter"); + FieldInfo father = AccessTools.Field(typeof(Hediff_InsectEgg), "father"); + + foreach (CodeInstruction instruction in instructions) + { + yield return instruction; + if (instruction.opcode == OpCodes.Call && instruction.operand.ToString() == "Void BabyPostBirth(Verse.Pawn, Verse.Pawn, Verse.Pawn)") + { + yield return new CodeInstruction(OpCodes.Ldloc_0, null); + yield return new CodeInstruction(OpCodes.Ldfld, implanter); + yield return new CodeInstruction(OpCodes.Ldarg_0, null); + yield return new CodeInstruction(OpCodes.Ldfld, father); + yield return new CodeInstruction(OpCodes.Ldloc_1, null); + yield return new CodeInstruction(OpCodes.Call, newgenes); + } + + } + } + } +} diff --git a/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_PregnancyHelper_VanillaExpandedGenetics.cs b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_PregnancyHelper_VanillaExpandedGenetics.cs new file mode 100644 index 0000000..36c7cfb --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Patches/Patch_RJW_PregnancyHelper_VanillaExpandedGenetics.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RJW_BGS; +using HarmonyLib; +using rjw; +using static rjw.Hediff_BasePregnancy; +using RJW_Genes; + +namespace RJW_BGS +{ + +[HarmonyPatch(typeof(PregnancyHelper))] +public class Patch_RJW_PregnancyHelper_VanillaExpandedGenetics +{ + + /// + /// This Patch changes the pregnancy logic to check for possible hybridization. + /// Iff the hybridization applies, this prefix skips the normal AddPregnancyHediff (by returning false). + /// + /// Small Note: Below we use `Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Mother);` + /// This completely creates the pregnancy, it does not need to be assigned to anything or added to some hediffs. + /// + /// There was an issue with Pawn Generation and this has been Reworked - Please see #116 for more documentation. + /// The current state of affairs is that hybrids are generated using RJW-Pregnancy and "switching" the Fathers KindDef only for Child Generation, before switching it back. + /// It's not easy to just change the Babies kindDef, because RJW-Preg runs a PawnGeneration Request. + /// Thus, if you just change that from Husky to Dogman, most of the things are still Husky and you get a lot of red errors after birth. + /// + /// Relevant RJW Files: + /// + /// - Hediff_BestialPregnancy https://gitgud.io/Ed86/rjw/-/blob/master/1.5/Source/Modules/Pregnancy/Hediffs/Hediff_BestialPregnancy.cs?ref_type=heads + /// - Hediff_BasePregnancy https://gitgud.io/Ed86/rjw/-/blob/master/1.5/Source/Modules/Pregnancy/Hediffs/Hediff_BasePregnancy.cs?ref_type=heads + /// + [HarmonyPrefix] + [HarmonyPatch("AddPregnancyHediff")] + public static bool AddPregnancyHediffPrefix(Pawn mother, Pawn father) + { + + // Error & Setting HandlingHandling, "true" means the normal method is run (and nothing else from this patch). + // Behaviour of Harmony Prefixes: https://harmony.pardeike.net/articles/patching-prefix.html + if (!RJW_BGSSettings.rjw_bgs_VE_genetics) return true; + if (mother == null || father == null) return true; + + RJW_Genes.ModLog.Debug("Trying to add RJW Pregnancy Hediff - Checking for potential VGE Animal-Hybridization"); + + bool humanMotherAndSupportedAnimal = xxx.is_human(mother) && VGEHybridUtility.SupportedInitialAnimalRaces.Contains(father.kindDef); + bool humanMotherAndSupportedHybrid = xxx.is_human(mother) && VGEHybridUtility.SupportedHybridRaces.Contains(father.kindDef); + bool humanFatherAndSupportedAnimal = xxx.is_human(father) && VGEHybridUtility.SupportedInitialAnimalRaces.Contains(mother.kindDef); + bool humanFatherAndSupportedHybrid = xxx.is_human(father) && VGEHybridUtility.SupportedHybridRaces.Contains(mother.kindDef); + + // Exit if there are no supported parents / nothing to do for my logic + if (!(humanMotherAndSupportedAnimal || humanMotherAndSupportedHybrid || humanFatherAndSupportedAnimal || humanFatherAndSupportedHybrid)) + { + RJW_Genes.ModLog.Debug("Aborting VGE-Hybdrization Pregnancy - Parents were unsupported RaceKinds"); + return true; + } + // Exit by chance + if((new Random()).NextDouble() > RJW_BGSSettings.rjw_bgs_ve_genetics_chance) + { + RJW_Genes.ModLog.Debug($"VGE-Hybridization chance ({Math.Round(RJW_BGSSettings.rjw_bgs_ve_genetics_chance,3)*100}%) was not met - continuing with normal pregnancy behaviour."); + return true; + } + + if (humanMotherAndSupportedAnimal) + { + RJW_Genes.ModLog.Debug("Found a human mother and a supported animal resulting in an animal-child - starting VGE pregnancy (rjw.Hediff_BestialPregnancy)"); + Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Father); + + var kindDef = VGEHybridUtility.LookupPossiblyOffspringHybrid(father.kindDef); + var stored = father.kindDef; + father.kindDef = kindDef; + Hediff_BasePregnancy preg = Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Father); + father.kindDef = stored; + + // "false" means the normal method is not run + return false; + } + else if (humanMotherAndSupportedHybrid) + { + + RJW_Genes.ModLog.Debug("Found a human mother and a hybrid - this behaviour has been disabled from 2.2.1 onward - sorry :("); + return true; + } + else if (humanFatherAndSupportedAnimal) + { + RJW_Genes.ModLog.Debug("Found a human father and a supported animal resulting in an animal-child - starting VGE pregnancy (rjw.Hediff_BestialPregnancy)"); + + var kindDef = VGEHybridUtility.LookupPossiblyOffspringHybrid(mother.kindDef); + var stored = mother.kindDef; + mother.kindDef = kindDef; + Hediff_BasePregnancy preg = Hediff_BasePregnancy.Create(mother, father, DnaGivingParent.Mother); + mother.kindDef = stored; + + return false; + } + else if (humanFatherAndSupportedHybrid) + { + RJW_Genes.ModLog.Debug("Found a human father and a hybrid - this behaviour has been disabled from 2.2.1 onward - sorry :("); + return true; + } + + RJW_Genes.ModLog.Debug("Issues in applying the Patch for VGE hybdritization - doing nothing and continuing with normal pregnancy."); + return true; + } + } + +} diff --git a/1.6/Source/Animal_Inheritance/Patches/Patch_Vanilla_PregnancyUtility.cs b/1.6/Source/Animal_Inheritance/Patches/Patch_Vanilla_PregnancyUtility.cs new file mode 100644 index 0000000..80c16bd --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Patches/Patch_Vanilla_PregnancyUtility.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using HarmonyLib; +using RimWorld; +using Verse; + +namespace RJW_BGS +{ + /// + /// This Patch is applied to change the normal pregnancy to add animal-inheritance. + /// If the settings allow animal gene inheritance, + /// the genes are determined and "simply added". + /// + [HarmonyPatch(typeof(PregnancyUtility), "GetInheritedGeneSet", new Type[] + { + typeof(Pawn), + typeof(Pawn), + //typeof(bool) + } + )] + public static class Patch_Vanilla_PregnancyUtility + { + [HarmonyPostfix] + public static void AnimalInheritedGenes(Pawn father, Pawn mother, ref GeneSet __result) + { + if (!RJW_BGSSettings.rjw_bgs_enabled) + { + return; + } + List genes = InheritanceUtility.AnimalInheritedGenes(father, mother); + if (genes.Any()) + { + RJW_Genes.ModLog.Debug($"Adding {(genes.Count)} Genes from an Animal-Pregnancy between {father} and {mother}"); + foreach (GeneDef gene in genes) + { + __result.AddGene(gene); + } + } else + { + RJW_Genes.ModLog.Debug($"Tried to add Genes from Animal-Pregnancy between {father} and {mother} but didn't find any"); + } + } + } +} diff --git a/1.6/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs b/1.6/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs new file mode 100644 index 0000000..b191904 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Settings/RJW_BGSSettings.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using UnityEngine; + +namespace RJW_BGS +{ + public class RJW_BGSSettings : ModSettings + { + public static void DoWindowContents(Rect inRect) + { + //Copied from RJW settings mostly + Rect outRect = new Rect(0f, 30f, inRect.width, inRect.height - 30f); + Rect rect = new Rect(0f, 0f, inRect.width - 16f, inRect.height + 300f); + //Widgets.BeginScrollView(outRect, ref RJWSettings.scrollPosition, rect, true); + Listing_Standard listing_Standard = new Listing_Standard(); + listing_Standard.maxOneColumn = true; + listing_Standard.ColumnWidth = rect.width / 2.05f; + listing_Standard.Begin(rect); + listing_Standard.Gap(5f); + listing_Standard.Gap(24f); + listing_Standard.CheckboxLabeled("rjw_genes_animal_inheritance_settings_enabled_key".Translate(), ref rjw_bgs_enabled, "rjw_genes_animal_inheritance_settings_enabled_explanation".Translate(), 0f, 1f); + //listing_Standard.CheckboxLabeled("sexfrenzy", ref sexfrenzy, "disable the effects", 0f, 1f); + listing_Standard.Gap(5f); + //1.6 Fix added (TipSignal?)(TipSignal) + listing_Standard.Label("gene inheritance chance: " + Math.Round((double)(RJW_BGSSettings.rjw_bgs_global_gene_chance * 100f), 0).ToString() + "%", -1f, (TipSignal?)(TipSignal)"modify chance for a gene to be inherited."); + RJW_BGSSettings.rjw_bgs_global_gene_chance = listing_Standard.Slider(RJW_BGSSettings.rjw_bgs_global_gene_chance, 0f, 5f); + listing_Standard.Gap(5f); + listing_Standard.CheckboxLabeled("rjw_genes_animal_inheritance_settings_added_as_xenogene_key".Translate(), ref rjw_bgs_animal_genes_as_xenogenes, "rjw_genes_animal_inheritance_settings_added_as_xenogene_explanation".Translate(), 0f, 1f); + listing_Standard.Gap(5f); + + listing_Standard.CheckboxLabeled("rjw_genes_animal_inheritance_settings_ve_genetics_hybridization_key".Translate(), ref rjw_bgs_VE_genetics, "rjw_genes_animal_inheritance_settings_ve_genetics_hybridization_explanation".Translate(), 0f, 1f); + listing_Standard.Gap(5f); + //1.6 Fix added (TipSignal?)(TipSignal) + listing_Standard.Label("VE Hybrid Chance: " + Math.Round((double)(RJW_BGSSettings.rjw_bgs_ve_genetics_chance * 100f), 0).ToString() + "%", -1f, (TipSignal?)(TipSignal)"modify chance for a bestiality child to be hybrid."); + RJW_BGSSettings.rjw_bgs_ve_genetics_chance = listing_Standard.Slider(RJW_BGSSettings.rjw_bgs_ve_genetics_chance, 0f, 1f); + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_enabled, "rjw_bgs_enabled", RJW_BGSSettings.rjw_bgs_enabled, true); + Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_global_gene_chance, "rjw_bgs_global_gene_chance", RJW_BGSSettings.rjw_bgs_global_gene_chance, true); + Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_animal_genes_as_xenogenes, "rjw_bgs_animal_genes_as_xenogenes", RJW_BGSSettings.rjw_bgs_animal_genes_as_xenogenes, true); + Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_VE_genetics, "rjw_bgs_VE_genetics", RJW_BGSSettings.rjw_bgs_VE_genetics, true); + Scribe_Values.Look(ref RJW_BGSSettings.rjw_bgs_ve_genetics_chance, "rjw_bgs_ve_genetics_chance", RJW_BGSSettings.rjw_bgs_ve_genetics_chance, true); + } + + public static float rjw_bgs_global_gene_chance = 1f; + public static bool rjw_bgs_enabled = true; + public static bool rjw_bgs_animal_genes_as_xenogenes = false; + public static bool rjw_bgs_VE_genetics = true; + public static float rjw_bgs_ve_genetics_chance = 0.25f; + } +} diff --git a/1.6/Source/Animal_Inheritance/Settings/RJW_BGSSettingsController.cs b/1.6/Source/Animal_Inheritance/Settings/RJW_BGSSettingsController.cs new file mode 100644 index 0000000..12ef107 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/Settings/RJW_BGSSettingsController.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using UnityEngine; + +namespace RJW_BGS +{ + public class RJW_BGSSettingsController : Mod + { + public RJW_BGSSettingsController(ModContentPack content) : base(content) + { + base.GetSettings(); + } + + public override string SettingsCategory() + { + return "RJW Genes Animal Gene Inheritance"; + } + public override void DoSettingsWindowContents(Rect inRect) + { + RJW_BGSSettings.DoWindowContents(inRect); + } + } +} diff --git a/1.6/Source/Animal_Inheritance/VGEHybridUtility.cs b/1.6/Source/Animal_Inheritance/VGEHybridUtility.cs new file mode 100644 index 0000000..3426f75 --- /dev/null +++ b/1.6/Source/Animal_Inheritance/VGEHybridUtility.cs @@ -0,0 +1,63 @@ +using RJW_Genes; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace RJW_BGS +{ + public class VGEHybridUtility + { + /// + /// All VGE-Hybrids that can result from Bestiality - these are drawn from the existing XML-Defs. + /// + public static List SupportedHybridRaces { + get{return DefDatabase.AllDefs.SelectMany(def => def.PossibleHybridChildKindDefs).Distinct().ToList();} + } + + /// + /// All Animals that can produce VGE Hybrids - these are drawn from the existing XML-Defs. + /// + public static List SupportedInitialAnimalRaces { + get { return DefDatabase.AllDefs.SelectMany(def => def.SupportedParentKindDefs).Distinct().ToList(); } + } + + /// + /// Returns a possible Hybrid KindDef for a given Animal. + /// Null if there is none. + /// Random one if there are multiple. + /// + /// The animal fathering the baby + /// KindDef for Hybrid originated from Parent Animal. Null on None, Not-Supported or Error. Random one from multiple. + public static PawnKindDef LookupPossiblyOffspringHybrid(PawnKindDef Parent) + { + if (Parent == null) return null; + if (!SupportedInitialAnimalRaces.Contains(Parent)) return null; + else + { + return DefDatabase.AllDefs + .Where(def => def.SupportedParentKindDefs.Contains(Parent)) + .SelectMany(def => def.PossibleHybridChildKindDefs) + .Distinct() + .RandomElementWithFallback(null); + // Man I am a true Java Developer + } + } + + /// + /// Small Method for debugging - I used it mostly on game-startup to see if reading all Defs worked fine. + /// Introduced after the VGE-Hybridization Rework from #116 + /// + public static void LogAllFoundVGEHybridDefinitions() + { + IEnumerable defs = DefDatabase.AllDefs; + var parents = defs.SelectMany(def => def.SupportedParentKindDefs).Distinct(); + var offsprings = defs.SelectMany(def => def.PossibleHybridChildKindDefs).Distinct(); + RJW_Genes.ModLog.Debug($"Found {defs.Count()} VGEHybridOffspringDefs, covering {parents.Count()} distinct possible parent-animals and {offsprings.Count()} distinct possible hybrid-children."); + } + + } + +} diff --git a/1.6/Source/Common/Helpers/LaborState.cs b/1.6/Source/Common/Helpers/LaborState.cs index abb00a1..8a0e59d 100644 --- a/1.6/Source/Common/Helpers/LaborState.cs +++ b/1.6/Source/Common/Helpers/LaborState.cs @@ -18,7 +18,7 @@ namespace RJW_Genes this.birthTotal = birthTotal; this.birthCount = 0; this.hasOvaryAgitator = pawn.health.hediffSet.HasHediff(HediffDef.Named("OvaryAgitator")); - this.hasBioscaffold = pawn.health.hediffSet.HasHediff(HediffDef.Named("Bioscaffold")); + this.hasBioscaffold = pawn.health.hediffSet.HasHediff(HediffDef.Named("OvaryAgitator")); } } } diff --git a/1.6/Source/Common/patches/PatchPregnancyHelper.cs b/1.6/Source/Common/patches/PatchPregnancyHelper.cs index a040924..8608fa6 100644 --- a/1.6/Source/Common/patches/PatchPregnancyHelper.cs +++ b/1.6/Source/Common/patches/PatchPregnancyHelper.cs @@ -5,10 +5,9 @@ using System.Text; using System.Threading.Tasks; using HarmonyLib; using RimWorld; +using Verse; using rjw; using rjw.Modules.Interactions; -using Verse; -using static rjw.RJWPregnancySettings; //using rjw.Modules.Interactions.Enums; namespace RJW_Genes @@ -18,18 +17,18 @@ namespace RJW_Genes { public static HediffDef vasectomydef = DefDatabase.GetNamed("Vasectomy", true); // Token: 0x0600000F RID: 15 - //[HarmonyPostfix] - //[HarmonyPatch("impregnate")] + [HarmonyPostfix] + [HarmonyPatch("impregnate")] private static void ImpregnatePostfix(ref SexProps props) { if (RJWSettings.DevMode) rjw.ModLog.Message("Rimjobworld::impregnate(" + props.sexType + "):: " + xxx.get_pawnname(props.pawn) + " + " + xxx.get_pawnname(props.partner) + ":"); //"mech" pregnancy - //if (props.sexType == xxx.rjwSextype.MechImplant) - //{ - // return; - //} + if (props.sexType == xxx.rjwSextype.MechImplant) + { + return; + } Pawn giver = props.pawn; // orgasmer Pawn receiver = props.partner; @@ -56,6 +55,7 @@ namespace RJW_Genes //"normal" and "beastial" pregnancy if (RJWSettings.DevMode) ModLog.Message(" 'normal' pregnancy checks"); + //interaction stuff if for handling futa/see who penetrates who in interaction if (!props.isReceiver && interaction.Extension.initiatorRequirement.genitalTags.Contains(GenitalTag.CanPenetrate) && @@ -77,13 +77,11 @@ namespace RJW_Genes return; } - if (!giver.GetLewdParts().AllRJWParts.Any(p => p.HasGenitalTag(GenitalTag.CanFertilize))) + if (!interaction.Extension.initiatorRequirement.genitalTags.Contains(GenitalTag.CanFertilize)) { if (RJWSettings.DevMode) ModLog.Message(xxx.get_pawnname(giver) + " has no parts to Fertilize with"); return; } - - //If recieving pawn has a Vasectomy,temporarily remove it to prevent fertility Malice, replace it after DoImpregnate. if (vasectomy != null) { if (RJWSettings.DevMode) ModLog.Message("vasectomy check"); @@ -91,9 +89,8 @@ namespace RJW_Genes } if (CanImpregnate2(giver, receiver, props.sexType)) { - if (RJWSettings.DevMode) ModLog.Message(xxx.get_pawnname(giver)+" is analy impregnating "+ xxx.get_pawnname(receiver)); - //DOES NOT EXIST - //PregnancyHelper.DoImpregnate(giver, receiver); + + PregnancyHelper.DoImpregnate(giver, receiver); } if (vasectomy != null) @@ -106,7 +103,7 @@ namespace RJW_Genes private static bool CanImpregnate2(Pawn fucker, Pawn fucked, xxx.rjwSextype sexType) { - if (fucker == null || fucked == null) + if (fucker == null || fucked == null) { return false; @@ -124,15 +121,15 @@ namespace RJW_Genes ":" })); } - //if (sexType == xxx.rjwSextype.MechImplant && !RJWPregnancySettings.mechanoid_pregnancy_enabled) - //{ - // if (RJWSettings.DevMode) - // { - // ModLog.Message(" mechanoid 'pregnancy' disabled"); - // } - //return false; + if (sexType == xxx.rjwSextype.MechImplant && !RJWPregnancySettings.mechanoid_pregnancy_enabled) + { + if (RJWSettings.DevMode) + { + ModLog.Message(" mechanoid 'pregnancy' disabled"); + } + return false; - //} + } if (sexType != xxx.rjwSextype.Vaginal && sexType != xxx.rjwSextype.DoublePenetration && !(sexType == xxx.rjwSextype.Anal && fucked.genes.HasActiveGene(GeneDefOf.rjw_genes_fertile_anus))) { if (RJWSettings.DevMode) @@ -151,15 +148,15 @@ namespace RJW_Genes return false; } - //if ((fucker.IsUnsexyRobot() || fucked.IsUnsexyRobot()) && sexType != xxx.rjwSextype.MechImplant) - // { - // if (RJWSettings.DevMode) - // { - // ModLog.Message(" unsexy robot cant be pregnant"); - // } - // return false; + if ((fucker.IsUnsexyRobot() || fucked.IsUnsexyRobot()) && sexType != xxx.rjwSextype.MechImplant) + { + if (RJWSettings.DevMode) + { + ModLog.Message(" unsexy robot cant be pregnant"); + } + return false; - //} + } if (!fucker.RaceHasPregnancy()) { if (RJWSettings.DevMode) @@ -199,7 +196,7 @@ namespace RJW_Genes } List genitalsList = fucker.GetGenitalsList(); - List genitalsList2 = fucked.GetGenitalsList(); + List genitalsList2 = fucked.GetGenitalsList(); if (!Genital_Helper.has_penis_fertile(fucker, genitalsList) && !Genital_Helper.has_penis_fertile(fucked, genitalsList2)) { if (RJWSettings.DevMode) @@ -226,7 +223,7 @@ namespace RJW_Genes return false; } - if (((xxx.is_animal(fucker) && xxx.is_human(fucked)) || (xxx.is_human(fucker) && xxx.is_animal(fucked))) && RJWPregnancySettings.bestial_pregnancy == BestialPregnancy.None) + if (((xxx.is_animal(fucker) && xxx.is_human(fucked)) || (xxx.is_human(fucker) && xxx.is_animal(fucked))) && !RJWPregnancySettings.bestial_pregnancy_enabled) { if (RJWSettings.DevMode) { diff --git a/1.6/Source/CumpilationLoader/CumpilationLoader.cs b/1.6/Source/CumpilationLoader/CumpilationLoader.cs index 64fe9f8..1b86a34 100644 --- a/1.6/Source/CumpilationLoader/CumpilationLoader.cs +++ b/1.6/Source/CumpilationLoader/CumpilationLoader.cs @@ -9,7 +9,6 @@ using RJW_Genes; using Verse; - namespace CumpilationPatcher { diff --git a/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj b/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj index 6207e63..30db072 100644 --- a/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj +++ b/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj @@ -46,7 +46,7 @@ False - ..\..\..\..\..\Mods\rjw\1.6\Assemblies\RJW.dll + ..\..\..\..\rjw\1.6\Assemblies\RJW.dll False diff --git a/1.6/Source/CumpilationLoader/Patches/Patch_Cumpilation_Inflatable.cs b/1.6/Source/CumpilationLoader/Patches/Patch_Cumpilation_Inflatable.cs index 42cdf96..9ba5828 100644 --- a/1.6/Source/CumpilationLoader/Patches/Patch_Cumpilation_Inflatable.cs +++ b/1.6/Source/CumpilationLoader/Patches/Patch_Cumpilation_Inflatable.cs @@ -25,15 +25,14 @@ namespace CumpilationPatcher if (props == null || props.pawn == null || props.partner == null) return; - if (props.pawn.genes != null && (props.pawn.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_inflatable) || props.pawn.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_elasticity) )) + + if (props.pawn.genes != null && props.pawn.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_inflatable) ) { - ModLog.Debug($"Adding or updating Counter Cumflation HeDiff for {props.pawn.Name}."); AddOrIncreaseCumflationCounterHediffs(props.pawn); } - if (props.partner.genes != null && (props.partner.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_inflatable) || props.partner.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_elasticity) )) + if (props.partner.genes != null && props.partner.genes.HasActiveGene(RJW_Genes.GeneDefOf.rjw_genes_inflatable)) { - ModLog.Debug($"Adding or updating Counter Cumflation HeDiff for {props.partner.Name}."); AddOrIncreaseCumflationCounterHediffs(props.partner); } } diff --git a/1.6/Source/CumpilationLoader/Properties/AssemblyInfo.cs b/1.6/Source/CumpilationLoader/Properties/AssemblyInfo.cs index b12edb3..da1a0b0 100644 --- a/1.6/Source/CumpilationLoader/Properties/AssemblyInfo.cs +++ b/1.6/Source/CumpilationLoader/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.5.3.0")] -[assembly: AssemblyFileVersion("2.5.3.0")] +[assembly: AssemblyVersion("2.5.1.0")] +[assembly: AssemblyFileVersion("2.5.1.0")] diff --git a/1.6/Source/DefOfs/GeneDefOf.cs b/1.6/Source/DefOfs/GeneDefOf.cs index 0d60b95..dd50de9 100644 --- a/1.6/Source/DefOfs/GeneDefOf.cs +++ b/1.6/Source/DefOfs/GeneDefOf.cs @@ -76,7 +76,7 @@ namespace RJW_Genes [MayRequire("vegapnk.cumpilation")] public static readonly GeneDef rjw_genes_un_inflatable; [MayRequire("vegapnk.cumpilation")] public static readonly GeneDef rjw_genes_inflatable; public static readonly GeneDef rjw_genes_generous_donor; - [MayRequire("vegapnk.cumpilation")] public static readonly GeneDef rjw_genes_living_cumbucket; + [MayRequire("rjw.sexperience")] public static readonly GeneDef rjw_genes_living_cumbucket; // Reproduction @@ -88,7 +88,7 @@ namespace RJW_Genes public static readonly GeneDef rjw_genes_littered_births; // Damage & Side Effects - public static readonly GeneDef rjw_genes_elasticity; + [MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_elasticity; public static readonly GeneDef rjw_genes_unbreakable; // Special diff --git a/1.6/Source/DefOfs/HediffDefOf.cs b/1.6/Source/DefOfs/HediffDefOf.cs index 8878f75..9eee352 100644 --- a/1.6/Source/DefOfs/HediffDefOf.cs +++ b/1.6/Source/DefOfs/HediffDefOf.cs @@ -30,6 +30,6 @@ namespace RJW_Genes public static readonly HediffDef OvaryAgitator; public static readonly HediffDef Bioscaffold; - [MayRequire("vegapnk.cumpilation")] public static readonly HediffDef rjw_genes_filled_living_cumbucket; + [MayRequire("rjw.sexperience")] public static readonly HediffDef rjw_genes_filled_living_cumbucket; } } diff --git a/1.6/Source/Genes/Breeding/AnimalBreedingHelper.cs b/1.6/Source/Genes/Breeding/AnimalBreedingHelper.cs index b4dd02a..c535384 100644 --- a/1.6/Source/Genes/Breeding/AnimalBreedingHelper.cs +++ b/1.6/Source/Genes/Breeding/AnimalBreedingHelper.cs @@ -22,7 +22,6 @@ namespace RJW_Genes /// The range around the pawn for which animals will be triggered. public static void DoAnimalBreedingPulse(Pawn toBeBred, int pulse_distance, bool ends_manhunter = true) { - ModLog.Debug($"Triggering animal Breeding pulse, target pawn: {toBeBred.Name}, Pulse Distance {pulse_distance}"); IEnumerable animals = GetAnimalsInRange(toBeBred.Map, toBeBred.Position, pulse_distance); int breeder_counter = 0; diff --git a/1.6/Source/Genes/Damage/Gene_Elasticity.cs b/1.6/Source/Genes/Damage/Gene_Elasticity.cs index 6ee6210..c66caf5 100644 --- a/1.6/Source/Genes/Damage/Gene_Elasticity.cs +++ b/1.6/Source/Genes/Damage/Gene_Elasticity.cs @@ -1,4 +1,5 @@ -using Verse; +using LicentiaLabs; +using Verse; namespace RJW_Genes @@ -15,43 +16,39 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - - - // Doing it like this will add the hediff with a severity of ~0.5, but it will decay. // Hence we check with the Ticks to update. - //this.pawn.health.AddHediff(Licentia.HediffDefs.Elasticised); - //ResetSeverity(); + this.pawn.health.AddHediff(Licentia.HediffDefs.Elasticised); + ResetSeverity(); } public override void Tick() { base.Tick(); - //if (pawn.IsHashIntervalTick(RESET_INTERVAL)) - // ResetSeverity(); + if (pawn.IsHashIntervalTick(RESET_INTERVAL)) + ResetSeverity(); } public override void PostRemove() { - //Hediff candidate = pawn.health.hediffSet.GetFirstHediffOfDef(Licentia.HediffDefs.Elasticised); - //if (candidate != null) - //{ - // pawn.health.RemoveHediff(candidate); - //} + Hediff candidate = pawn.health.hediffSet.GetFirstHediffOfDef(Licentia.HediffDefs.Elasticised); + if (candidate != null) + { + pawn.health.RemoveHediff(candidate); + } base.PostRemove(); } - //private void ResetSeverity(float severity = 0.7f) - //{ - // Hediff candidate = pawn.health.hediffSet.GetFirstHediffOfDef(Licentia.HediffDefs.Elasticised); - // if (candidate != null) - // { - // candidate.Severity = severity; - // } - //} + private void ResetSeverity(float severity = 0.7f) + { + Hediff candidate = pawn.health.hediffSet.GetFirstHediffOfDef(Licentia.HediffDefs.Elasticised); + if (candidate != null) + { + candidate.Severity = severity; + } + } } } \ No newline at end of file diff --git a/1.6/Source/Genes/Damage/Gene_Unbreakable.cs b/1.6/Source/Genes/Damage/Gene_Unbreakable.cs index bc93116..578ed8a 100644 --- a/1.6/Source/Genes/Damage/Gene_Unbreakable.cs +++ b/1.6/Source/Genes/Damage/Gene_Unbreakable.cs @@ -14,7 +14,6 @@ namespace RJW_Genes private const int RESET_INTERVAL = 30000; // 30k should be 0.5 day public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); RemoveBrokenHediff(); } diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs index 277691c..8bf4a90 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs @@ -29,7 +29,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Some sources add Genes before they fire, e.g. Character Editor diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs index b763a64..4008ec0 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs @@ -30,7 +30,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Some sources add Genes before they fire, e.g. Character Editor diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs index 5bacdbd..03f1c01 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs @@ -30,7 +30,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Some sources add Genes before they fire, e.g. Character Editor diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs index 179742b..7e43d64 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs @@ -35,7 +35,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Some sources add Genes before they fire, e.g. Character Editor diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs index df07876..00b4c82 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs @@ -20,7 +20,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); if (removed_breasts == null) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs index b3e9140..ea94ebd 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs @@ -6,21 +6,27 @@ namespace RJW_Genes { public class Gene_Femboy : RJW_Gene { + // Token: 0x06000335 RID: 821 RVA: 0x0000401D File Offset: 0x0000221D public override void PostMake() { base.PostMake(); - } - - public override void PostAdd() - { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. - base.PostAdd(); if (GenderUtility.IsMale(this.pawn) && this.additional_genital == null) { this.CreateAndAddVagina(); } } + // Token: 0x06000336 RID: 822 RVA: 0x00004040 File Offset: 0x00002240 + public override void PostAdd() + { + base.PostAdd(); + if (this.pawn.gender == Gender.Male && this.additional_genital == null) + { + this.CreateAndAddVagina(); + } + } + + // Token: 0x06000337 RID: 823 RVA: 0x0000EE4C File Offset: 0x0000D04C internal void CreateAndAddVagina() { if (this.pawn.gender != Gender.Female) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs index 011b466..4fe8f53 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs @@ -11,13 +11,26 @@ namespace RJW_Genes public override void PostMake() { - base.PostMake(); + + // If the Pawn is already a Futa, do not do anything. Can Happen by Base-RJW Spawn Chance or potentially races / other mods. + if (IsAlreadyFuta(pawn)) + { + return; + } + + if (GenderUtility.IsFemale(pawn) && additional_genital == null) + { + createAndAddPenis(); + } + if (GenderUtility.IsMale(pawn) && additional_genital == null) + { + CreateAndAddVagina(); + } } public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // If the Pawn is already a Futa, do not do anything. Can Happen by Base-RJW Spawn Chance or potentially races / other mods. diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs index 11f8706..8aad9ab 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs @@ -21,7 +21,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); if (removed_anus == null) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs index f1e6aed..5bb9fbf 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs @@ -22,7 +22,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Breasts are removed for female pawns! diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs index 5471309..b107a5a 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs @@ -22,7 +22,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Penis are only removed for male pawns! diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs index c5ec081..438d76e 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs @@ -22,7 +22,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); // Vaginas are only removed for female pawns! diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs index ce53b43..cc8ec20 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs @@ -25,7 +25,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); AddUdders(); diff --git a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs index 49c84a2..0128a11 100644 --- a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs +++ b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs @@ -16,7 +16,6 @@ public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); if (!has_been_fired) { diff --git a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs index 4745828..0466c49 100644 --- a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs +++ b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs @@ -16,7 +16,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); Apply(); } diff --git a/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs b/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs index 551f5ea..c8bfde0 100644 --- a/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs +++ b/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs @@ -9,11 +9,17 @@ namespace RJW_Genes public override void PostMake() { base.PostMake(); + + AdjustPawnToFemale(); + // Here we call Sexualization after the Sex-Change + if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) + Sexualizer.sexualize_pawn(pawn); + + GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostMake(); AdjustPawnToFemale(); GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); diff --git a/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs b/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs index b25bfa1..3dfc1c8 100644 --- a/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs +++ b/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs @@ -9,11 +9,17 @@ namespace RJW_Genes public override void PostMake() { base.PostMake(); + + AdjustPawnToMale(); + // Here we call Sexualization after the Sex-Change + if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) + Sexualizer.sexualize_pawn(pawn); + + GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostMake(); AdjustPawnToMale(); GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); diff --git a/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs b/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs index b33a210..fec2e62 100644 --- a/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs +++ b/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs @@ -11,7 +11,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); Apply(); } diff --git a/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs b/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs index fd1a5f1..aa2826a 100644 --- a/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs +++ b/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs @@ -41,7 +41,6 @@ namespace RJW_Genes public override void PostAdd() { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age) { diff --git a/1.6/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs b/1.6/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs index e4b273b..e9845e4 100644 --- a/1.6/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs +++ b/1.6/Source/Genes/Life_Force/JobGivers/JobGiver_GetLifeForce.cs @@ -26,7 +26,7 @@ namespace RJW_Genes return null; } - if (ModsConfig.IsActive("vegapnk.cumpilation") && gene_lifeforce.StoredCumAllowed && genes.HasActiveGene(GeneDefOf.rjw_genes_cum_eater)) + if (ModsConfig.IsActive("rjw.sexperience") && gene_lifeforce.StoredCumAllowed && genes.HasActiveGene(GeneDefOf.rjw_genes_cum_eater)) { Thing gatheredCum = this.GetStoredCum(pawn); if (gatheredCum == null) diff --git a/1.6/Source/Genes/Patches/MultiplePregnancies.cs b/1.6/Source/Genes/Patches/MultiplePregnancies.cs index ded8271..f5d3eeb 100644 --- a/1.6/Source/Genes/Patches/MultiplePregnancies.cs +++ b/1.6/Source/Genes/Patches/MultiplePregnancies.cs @@ -56,13 +56,13 @@ namespace RJWLoveFeeding Pawn_GeneTracker genes = fucked.genes; if (genes.HasActiveGene(RJW_Genes.GeneDefOf.RS_MultiPregnancy)) { - if (RJWSettings.DevMode) Log.Message(xxx.get_pawnname(fucked) + " has multipregnancy gene"); + Log.Message(xxx.get_pawnname(fucked) + " has multipregnancy gene"); return false; } } else { - if (RJWSettings.DevMode) Log.Message(setNoPreggo.First().def.defName + ": This prevents pregnancy"); + Log.Message(setNoPreggo.First().def.defName + ": This prevents pregnancy"); } } diff --git a/1.6/Source/Genes/Patches/Patch_eltoro_streching.cs b/1.6/Source/Genes/Patches/Patch_eltoro_streching.cs deleted file mode 100644 index c8275e4..0000000 --- a/1.6/Source/Genes/Patches/Patch_eltoro_streching.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Verse; -using HarmonyLib; - -namespace RJW_Genes -{ - public class Patch_eltoro_streching - { - /// - /// Patch function that connects to Strecher.ApplyInjury, itercepting the creation of injury hediffs, and preventing if a Gene would stop the injury. - /// - /// - /// - /// - /// - /// - public static void Postfix(Pawn pawn, BodyPartRecord part, HediffDef def, float severity, ref bool __result) - { - if (pawn?.genes?.HasActiveGene(GeneDefOf.rjw_genes_elasticity) ?? false) - { - ModLog.Debug($"Preventing creation of Injury Hediffs from streching for pawn {pawn.Name}."); - __result = false; - return; - } - else - { - return; - } - } - } - - public class Patch_eltoro_strechheal - { - /// - /// Patch function that connects to Strecher.ApplyInjury, itercepting the creation of injury hediffs, and preventing if a Gene would stop the injury. - /// - /// - public static void Postfix(ref HediffComp __instance, ref float __result) - { - if (__instance.Pawn?.genes?.HasActiveGene(GeneDefOf.rjw_genes_elasticity) ?? false) - { - ModLog.Debug($"Healing streching factor @ x2 speed for pawn : {__instance.Pawn.Name}."); - __result = 2f; - } else - { - return; - } - - - } - } - -} diff --git a/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs b/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs deleted file mode 100644 index 4e5ea56..0000000 --- a/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using rjw; -using Verse; - -namespace RJW_Genes -{ - internal static class Patch_sexualize_pawn - { - /// - /// Harmony Patch for RJW.Sexualizer.sexualize_pawn, Simply checks to see if the pawn already has genitals and skips the function entirely if the pawn has already got genitals of some sort, - /// may cause issues if pawn has all the 'no genitals' Genes? - /// - internal static bool PreFix(Pawn pawn ) { - //if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) - if (!(Genital_Helper.has_genitals(pawn) || Genital_Helper.has_anus(pawn) || Genital_Helper.has_breasts(pawn))) - { - return true; - } - - //DEBUG Info. - string genitalList = ""; - foreach (Hediff genital in pawn.GetGenitalsList()) - { - genitalList += genital.Label + ","; - } - ModLog.Debug($"RJW_Genes is currently pre-patching sexualize_pawn, and blocks it running if it detects the pawn already has genitals."); - ModLog.Debug($"Pawn Already has some genitals, {genitalList}"); - return false; - } - } -} diff --git a/1.6/Source/Genes/RJW_Gene.cs b/1.6/Source/Genes/RJW_Gene.cs index b97dbd7..b375663 100644 --- a/1.6/Source/Genes/RJW_Gene.cs +++ b/1.6/Source/Genes/RJW_Gene.cs @@ -5,29 +5,15 @@ namespace RJW_Genes { public class RJW_Gene : Gene { - /// - /// PostMake is called after the gene is first in instanciated by Rimworld.Pawn_Genetracker , this is done just prior to the gene being added to the pawn. - /// + public override void PostMake() { base.PostMake(); - } - /// - /// The add function is what alters the Pawn when the gene is added, PostAdd is called at the end of the AddGene function in Rimworld.Pawn_Genetracker - /// - public override void PostAdd() - { - if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) - { Sexualizer.sexualize_pawn(pawn); - } - base.PostAdd(); - } - /// /// Executed via PawnGenerator.GenerateGenes at Pawn generation /// Allows for execution of code that should only happen during PawnGeneration diff --git a/1.6/Source/Genes/Special/Patches/Patch_OrgasmRush.cs b/1.6/Source/Genes/Special/Patches/Patch_OrgasmRush.cs index 0dea579..d6df246 100644 --- a/1.6/Source/Genes/Special/Patches/Patch_OrgasmRush.cs +++ b/1.6/Source/Genes/Special/Patches/Patch_OrgasmRush.cs @@ -23,10 +23,9 @@ namespace RJW_Genes if (props == null || props.pawn == null || !props.hasPartner()) return; - // Exit for Animals - Animals can't get or trigger Orgasm Rushes. - //if (props.pawn.IsAnimal() || props.partner.IsAnimal()) - if (props.pawn.IsAnimal()) - return; + // Exit for Animals - Animals can't get or trigger Orgasm Rushes. Fixes #15 + if (props.pawn.IsAnimal() || props.partner.IsAnimal()) + return; if (props.pawn.genes != null && props.pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_orgasm_rush)) { diff --git a/1.6/Source/HarmonyInit.cs b/1.6/Source/HarmonyInit.cs index 7f0a376..e99a45e 100644 --- a/1.6/Source/HarmonyInit.cs +++ b/1.6/Source/HarmonyInit.cs @@ -1,11 +1,11 @@ -using System; -using System.Linq; +using Verse; using HarmonyLib; -using LLStretcher; -using RimWorld; +using System; using rjw; using RJWLoveFeeding; -using Verse; +using RimWorld; +using System.Linq; +using LicentiaLabs; namespace RJW_Genes { @@ -42,31 +42,11 @@ namespace RJW_Genes // OvaryAgitator/Gene_LitteredBirths multibirth logic harmony.Patch(AccessTools.Method(typeof(Hediff_LaborPushing), nameof(Hediff_LaborPushing.PostRemoved)), postfix: new HarmonyMethod(typeof(PatchLitteredBirth), nameof(PatchLitteredBirth.Hediff_LaborPushing_PostRemovedPostFix))); - + //TODO: //1.6 quirks migrated to submod, disableing this patch for the time being. //harmony.Patch(AccessTools.Method(typeof(Quirk), nameof(Quirk.CountSatisfiedQuirks)), - //postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix))); - - - //RJW.Sexualizer.sexualize_pawn - harmony.Patch(AccessTools.Method(typeof(Sexualizer), nameof(Sexualizer.sexualize_pawn)), - prefix: new HarmonyMethod(typeof(Patch_sexualize_pawn), nameof(Patch_sexualize_pawn.PreFix))); - - - //Patch for Elastic Gene support with Eltoro's Streching mod. - if (ModsConfig.IsActive("eltoro.stretching")) - { - ModLog.Debug("Patching eltoro.Streching for elasticity gene Support."); - // This patching structure allows to patch a class that is not allways present, and a Private function that is not normaly Available. - harmony.Patch(AccessTools.Method(GenTypes.GetTypeInAnyAssembly("LLStretcher.Stretcher"), "ApplyInjuryHook"), - postfix: new HarmonyMethod(typeof(Patch_eltoro_streching), nameof(Patch_eltoro_streching.Postfix))); - - - // HediffComp_StretchMemory.StretchRecoveryHook - harmony.Patch(AccessTools.Method(GenTypes.GetTypeInAnyAssembly("LLStretcher.HediffComp_StretchMemory"), "StretchRecoveryHook"), - postfix: new HarmonyMethod(typeof(Patch_eltoro_strechheal), nameof(Patch_eltoro_strechheal.Postfix))); - } + //postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix))); } } diff --git a/1.6/Source/Properties/AssemblyInfo.cs b/1.6/Source/Properties/AssemblyInfo.cs index 5dbde35..43a0184 100644 --- a/1.6/Source/Properties/AssemblyInfo.cs +++ b/1.6/Source/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Rjw-Genes")] -[assembly: AssemblyCopyright("Copyright © 2026")] +[assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,4 +32,5 @@ using System.Runtime.InteropServices; // 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("2.6.2")] +[assembly: AssemblyVersion("2.5.1.0")] +[assembly: AssemblyFileVersion("2.5.1.0")] diff --git a/1.6/Source/RJW_Genes.cs b/1.6/Source/RJW_Genes.cs index b7c0385..f40aed6 100644 --- a/1.6/Source/RJW_Genes.cs +++ b/1.6/Source/RJW_Genes.cs @@ -11,6 +11,8 @@ namespace RJW_Genes static RJW_Genes() { ModLog.Message("RJW-Genes loaded"); + + RJW_BGS.VGEHybridUtility.LogAllFoundVGEHybridDefinitions(); } } } diff --git a/1.6/Source/Rjw-Genes.csproj b/1.6/Source/Rjw-Genes.csproj index 6d77471..84f7b40 100644 --- a/1.6/Source/Rjw-Genes.csproj +++ b/1.6/Source/Rjw-Genes.csproj @@ -24,8 +24,22 @@ + + + + + + + + + + + + + + @@ -160,8 +174,6 @@ - - @@ -200,8 +212,8 @@ - - ..\..\..\..\..\..\Steam\steamapps\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll + + ..\..\..\..\..\..\Steam\steamapps\workshop\content\294100\2009463077\1.5\Assemblies\0Harmony.dll False @@ -209,16 +221,16 @@ ..\..\..\..\..\..\Steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll False - - ..\..\..\..\Mods\rjw-elt-stretching\Assemblies\LLStretcher.dll + + ..\..\..\licentia-labs\Assemblies\LicentiaLabs.dll False - ..\..\..\..\Mods\rjw\1.6\Assemblies\RJW.dll + ..\..\..\rjw\1.6\Assemblies\RJW.dll False - ..\..\..\..\Mods\rjw-sexperience\1.6\Assemblies\RJWSexperience.dll + ..\..\..\rjw-sexperience\1.5\Assemblies\RJWSexperience.dll False diff --git a/1.6/Source/packages.config b/1.6/Source/packages.config new file mode 100644 index 0000000..967537e --- /dev/null +++ b/1.6/Source/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/1.6/Textures/Genes/Icons/Animal_Mating_Call.png b/1.6/Textures/Genes/Icons/Animal_Mating_Call.png new file mode 100644 index 0000000..c8ff964 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Animal_Mating_Call.png differ diff --git a/1.6/Textures/Genes/Icons/Big_Breasts.png b/1.6/Textures/Genes/Icons/Big_Breasts.png new file mode 100644 index 0000000..a9d1786 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Big_Breasts.png differ diff --git a/1.6/Textures/Genes/Icons/Big_Male_Genitalia.png b/1.6/Textures/Genes/Icons/Big_Male_Genitalia.png new file mode 100644 index 0000000..68396ba Binary files /dev/null and b/1.6/Textures/Genes/Icons/Big_Male_Genitalia.png differ diff --git a/1.6/Textures/Genes/Icons/Cocoon.png b/1.6/Textures/Genes/Icons/Cocoon.png new file mode 100644 index 0000000..4e62420 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Cocoon.png differ diff --git a/1.6/Textures/Genes/Icons/Cum-Base.png b/1.6/Textures/Genes/Icons/Cum-Base.png new file mode 100644 index 0000000..05ec22a Binary files /dev/null and b/1.6/Textures/Genes/Icons/Cum-Base.png differ diff --git a/1.6/Textures/Genes/Icons/Cumflation.png b/1.6/Textures/Genes/Icons/Cumflation.png new file mode 100644 index 0000000..4d8d470 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Cumflation.png differ diff --git a/1.6/Textures/Genes/Icons/Cumflation_Immunity.png b/1.6/Textures/Genes/Icons/Cumflation_Immunity.png new file mode 100644 index 0000000..40b40ad Binary files /dev/null and b/1.6/Textures/Genes/Icons/Cumflation_Immunity.png differ diff --git a/1.6/Textures/Genes/Icons/Drone.png b/1.6/Textures/Genes/Icons/Drone.png new file mode 100644 index 0000000..a631565 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Drone.png differ diff --git a/1.6/Textures/Genes/Icons/Egg.png b/1.6/Textures/Genes/Icons/Egg.png new file mode 100644 index 0000000..81b16bd Binary files /dev/null and b/1.6/Textures/Genes/Icons/Egg.png differ diff --git a/1.6/Textures/Genes/Icons/Elasticity.png b/1.6/Textures/Genes/Icons/Elasticity.png new file mode 100644 index 0000000..91a8fd7 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Elasticity.png differ diff --git a/1.6/Textures/Genes/Icons/Empty.png b/1.6/Textures/Genes/Icons/Empty.png new file mode 100644 index 0000000..1f295f8 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Empty.png differ diff --git a/1.6/Textures/Genes/Icons/Extra_Anus.png b/1.6/Textures/Genes/Icons/Extra_Anus.png new file mode 100644 index 0000000..6097374 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Extra_Anus.png differ diff --git a/1.6/Textures/Genes/Icons/Extra_Breasts.png b/1.6/Textures/Genes/Icons/Extra_Breasts.png new file mode 100644 index 0000000..3247920 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Extra_Breasts.png differ diff --git a/1.6/Textures/Genes/Icons/Extra_Vagina.png b/1.6/Textures/Genes/Icons/Extra_Vagina.png new file mode 100644 index 0000000..12bb91a Binary files /dev/null and b/1.6/Textures/Genes/Icons/Extra_Vagina.png differ diff --git a/1.6/Textures/Genes/Icons/Female_Only.png b/1.6/Textures/Genes/Icons/Female_Only.png new file mode 100644 index 0000000..7b97f02 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Female_Only.png differ diff --git a/1.6/Textures/Genes/Icons/Fertile_anus.png b/1.6/Textures/Genes/Icons/Fertile_anus.png new file mode 100644 index 0000000..6a62da8 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Fertile_anus.png differ diff --git a/1.6/Textures/Genes/Icons/FertilinAlt.png b/1.6/Textures/Genes/Icons/FertilinAlt.png new file mode 100644 index 0000000..f89bc2d Binary files /dev/null and b/1.6/Textures/Genes/Icons/FertilinAlt.png differ diff --git a/1.6/Textures/Genes/Icons/FertilinDrainAlt.png b/1.6/Textures/Genes/Icons/FertilinDrainAlt.png new file mode 100644 index 0000000..adb198b Binary files /dev/null and b/1.6/Textures/Genes/Icons/FertilinDrainAlt.png differ diff --git a/1.6/Textures/Genes/Icons/Fervent_Ovipositor.png b/1.6/Textures/Genes/Icons/Fervent_Ovipositor.png new file mode 100644 index 0000000..b9cc33e Binary files /dev/null and b/1.6/Textures/Genes/Icons/Fervent_Ovipositor.png differ diff --git a/1.6/Textures/Genes/Icons/FireLeaves.png b/1.6/Textures/Genes/Icons/FireLeaves.png new file mode 100644 index 0000000..4f1b247 Binary files /dev/null and b/1.6/Textures/Genes/Icons/FireLeaves.png differ diff --git a/1.6/Textures/Genes/Icons/FleshPurity.png b/1.6/Textures/Genes/Icons/FleshPurity.png new file mode 100644 index 0000000..0843812 Binary files /dev/null and b/1.6/Textures/Genes/Icons/FleshPurity.png differ diff --git a/1.6/Textures/Genes/Icons/Futa.png b/1.6/Textures/Genes/Icons/Futa.png new file mode 100644 index 0000000..dfadd1c Binary files /dev/null and b/1.6/Textures/Genes/Icons/Futa.png differ diff --git a/1.6/Textures/Genes/Icons/Gene_LitteredBirths.png b/1.6/Textures/Genes/Icons/Gene_LitteredBirths.png new file mode 100644 index 0000000..5b5a09e Binary files /dev/null and b/1.6/Textures/Genes/Icons/Gene_LitteredBirths.png differ diff --git a/1.6/Textures/Genes/Icons/Generous_Donor.png b/1.6/Textures/Genes/Icons/Generous_Donor.png new file mode 100644 index 0000000..e49daf1 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Generous_Donor.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_Canine.png b/1.6/Textures/Genes/Icons/Genitalia_Canine.png new file mode 100644 index 0000000..24283b6 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_Canine.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_Demon.png b/1.6/Textures/Genes/Icons/Genitalia_Demon.png new file mode 100644 index 0000000..e3400e8 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_Demon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_Draconic.png b/1.6/Textures/Genes/Icons/Genitalia_Draconic.png new file mode 100644 index 0000000..7717d23 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_Draconic.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_Equine.png b/1.6/Textures/Genes/Icons/Genitalia_Equine.png new file mode 100644 index 0000000..9577293 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_Equine.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_Feline.png b/1.6/Textures/Genes/Icons/Genitalia_Feline.png new file mode 100644 index 0000000..8f5b4d7 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_Feline.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_alien_icon.png b/1.6/Textures/Genes/Icons/Genitalia_alien_icon.png new file mode 100644 index 0000000..633ed83 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_alien_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_croc_icon.png b/1.6/Textures/Genes/Icons/Genitalia_croc_icon.png new file mode 100644 index 0000000..569c1e7 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_croc_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_ghost_icon.png b/1.6/Textures/Genes/Icons/Genitalia_ghost_icon.png new file mode 100644 index 0000000..7c7ca9d Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_ghost_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_hemi_icon.png b/1.6/Textures/Genes/Icons/Genitalia_hemi_icon.png new file mode 100644 index 0000000..e59cfec Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_hemi_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_human.png b/1.6/Textures/Genes/Icons/Genitalia_human.png new file mode 100644 index 0000000..c16c4ea Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_human.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_marine_icon.png b/1.6/Textures/Genes/Icons/Genitalia_marine_icon.png new file mode 100644 index 0000000..28dc8a3 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_marine_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_necro_icon.png b/1.6/Textures/Genes/Icons/Genitalia_necro_icon.png new file mode 100644 index 0000000..378d181 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_necro_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_orc_icon.png b/1.6/Textures/Genes/Icons/Genitalia_orc_icon.png new file mode 100644 index 0000000..c615f70 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_orc_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_racoon_icon.png b/1.6/Textures/Genes/Icons/Genitalia_racoon_icon.png new file mode 100644 index 0000000..13c0a5a Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_racoon_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_screw_icon.png b/1.6/Textures/Genes/Icons/Genitalia_screw_icon.png new file mode 100644 index 0000000..c50c114 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_screw_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_tentacle_icon.png b/1.6/Textures/Genes/Icons/Genitalia_tentacle_icon.png new file mode 100644 index 0000000..41e8331 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_tentacle_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Genitalia_thin_icon.png b/1.6/Textures/Genes/Icons/Genitalia_thin_icon.png new file mode 100644 index 0000000..2517a47 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Genitalia_thin_icon.png differ diff --git a/1.6/Textures/Genes/Icons/Healpussy.png b/1.6/Textures/Genes/Icons/Healpussy.png new file mode 100644 index 0000000..46a11a3 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Healpussy.png differ diff --git a/1.6/Textures/Genes/Icons/Hypersexual.png b/1.6/Textures/Genes/Icons/Hypersexual.png new file mode 100644 index 0000000..417196d Binary files /dev/null and b/1.6/Textures/Genes/Icons/Hypersexual.png differ diff --git a/1.6/Textures/Genes/Icons/Insect_Breeder.png b/1.6/Textures/Genes/Icons/Insect_Breeder.png new file mode 100644 index 0000000..5315179 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Insect_Breeder.png differ diff --git a/1.6/Textures/Genes/Icons/Loose_Anus.png b/1.6/Textures/Genes/Icons/Loose_Anus.png new file mode 100644 index 0000000..ada02ee Binary files /dev/null and b/1.6/Textures/Genes/Icons/Loose_Anus.png differ diff --git a/1.6/Textures/Genes/Icons/Loose_Vagina.png b/1.6/Textures/Genes/Icons/Loose_Vagina.png new file mode 100644 index 0000000..57a4706 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Loose_Vagina.png differ diff --git a/1.6/Textures/Genes/Icons/Loyalty.png b/1.6/Textures/Genes/Icons/Loyalty.png new file mode 100644 index 0000000..8ac3c4c Binary files /dev/null and b/1.6/Textures/Genes/Icons/Loyalty.png differ diff --git a/1.6/Textures/Genes/Icons/Male_Only.png b/1.6/Textures/Genes/Icons/Male_Only.png new file mode 100644 index 0000000..7e15cbc Binary files /dev/null and b/1.6/Textures/Genes/Icons/Male_Only.png differ diff --git a/1.6/Textures/Genes/Icons/Mating_Call_2.png b/1.6/Textures/Genes/Icons/Mating_Call_2.png new file mode 100644 index 0000000..275e6dc Binary files /dev/null and b/1.6/Textures/Genes/Icons/Mating_Call_2.png differ diff --git a/1.6/Textures/Genes/Icons/Much_Cum.png b/1.6/Textures/Genes/Icons/Much_Cum.png new file mode 100644 index 0000000..21a9a17 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Much_Cum.png differ diff --git a/1.6/Textures/Genes/Icons/Necrophile.png b/1.6/Textures/Genes/Icons/Necrophile.png new file mode 100644 index 0000000..5b2bf61 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Necrophile.png differ diff --git a/1.6/Textures/Genes/Icons/No_Anus.png b/1.6/Textures/Genes/Icons/No_Anus.png new file mode 100644 index 0000000..7cfb774 Binary files /dev/null and b/1.6/Textures/Genes/Icons/No_Anus.png differ diff --git a/1.6/Textures/Genes/Icons/No_Breasts.png b/1.6/Textures/Genes/Icons/No_Breasts.png new file mode 100644 index 0000000..fd17996 Binary files /dev/null and b/1.6/Textures/Genes/Icons/No_Breasts.png differ diff --git a/1.6/Textures/Genes/Icons/No_Cum.png b/1.6/Textures/Genes/Icons/No_Cum.png new file mode 100644 index 0000000..a7964f0 Binary files /dev/null and b/1.6/Textures/Genes/Icons/No_Cum.png differ diff --git a/1.6/Textures/Genes/Icons/No_Male_Genitalia.png b/1.6/Textures/Genes/Icons/No_Male_Genitalia.png new file mode 100644 index 0000000..bad56cf Binary files /dev/null and b/1.6/Textures/Genes/Icons/No_Male_Genitalia.png differ diff --git a/1.6/Textures/Genes/Icons/No_Vagina.png b/1.6/Textures/Genes/Icons/No_Vagina.png new file mode 100644 index 0000000..a4f47ee Binary files /dev/null and b/1.6/Textures/Genes/Icons/No_Vagina.png differ diff --git a/1.6/Textures/Genes/Icons/Ovipositor_Genitalia.png b/1.6/Textures/Genes/Icons/Ovipositor_Genitalia.png new file mode 100644 index 0000000..97421e1 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Ovipositor_Genitalia.png differ diff --git a/1.6/Textures/Genes/Icons/Paralysing_Kiss.png b/1.6/Textures/Genes/Icons/Paralysing_Kiss.png new file mode 100644 index 0000000..20c4fd5 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Paralysing_Kiss.png differ diff --git a/1.6/Textures/Genes/Icons/Pheromone.png b/1.6/Textures/Genes/Icons/Pheromone.png new file mode 100644 index 0000000..342f695 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Pheromone.png differ diff --git a/1.6/Textures/Genes/Icons/Pheromone_Spit.png b/1.6/Textures/Genes/Icons/Pheromone_Spit.png new file mode 100644 index 0000000..743d0a3 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Pheromone_Spit.png differ diff --git a/1.6/Textures/Genes/Icons/Pheromones.png b/1.6/Textures/Genes/Icons/Pheromones.png new file mode 100644 index 0000000..88a6c53 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Pheromones.png differ diff --git a/1.6/Textures/Genes/Icons/Placeholder.png b/1.6/Textures/Genes/Icons/Placeholder.png new file mode 100644 index 0000000..9b73621 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Placeholder.png differ diff --git a/1.6/Textures/Genes/Icons/Queen.png b/1.6/Textures/Genes/Icons/Queen.png new file mode 100644 index 0000000..b087f03 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Queen.png differ diff --git a/1.6/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png b/1.6/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png new file mode 100644 index 0000000..a15e618 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW-Genes_Rodent_Genitalia (Not in use now).png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png b/1.6/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png new file mode 100644 index 0000000..5d8b0e0 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_Endogene_Background.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png b/1.6/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png new file mode 100644 index 0000000..c614dc9 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_Endogene_Disease_Background.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png b/1.6/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png new file mode 100644 index 0000000..7b0dc9f Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_Feline_Genitalia.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_Mating_Call.png b/1.6/Textures/Genes/Icons/RJW_Genes_Mating_Call.png new file mode 100644 index 0000000..1079d89 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_Mating_Call.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png b/1.6/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png new file mode 100644 index 0000000..fc8f699 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_PheromoneSpit.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_SexualTamer.png b/1.6/Textures/Genes/Icons/RJW_Genes_SexualTamer.png new file mode 100644 index 0000000..6a848c6 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_SexualTamer.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_Udder.png b/1.6/Textures/Genes/Icons/RJW_Genes_Udder.png new file mode 100644 index 0000000..9a641e1 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_Udder.png differ diff --git a/1.6/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png b/1.6/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png new file mode 100644 index 0000000..b3b359e Binary files /dev/null and b/1.6/Textures/Genes/Icons/RJW_Genes_Xenogene_Background.png differ diff --git a/1.6/Textures/Genes/Icons/Rape.png b/1.6/Textures/Genes/Icons/Rape.png new file mode 100644 index 0000000..8ad84ea Binary files /dev/null and b/1.6/Textures/Genes/Icons/Rape.png differ diff --git a/1.6/Textures/Genes/Icons/RoundC.png b/1.6/Textures/Genes/Icons/RoundC.png new file mode 100644 index 0000000..e2288f5 Binary files /dev/null and b/1.6/Textures/Genes/Icons/RoundC.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/AnimalMatingcall.psd b/1.6/Textures/Genes/Icons/Samples/AnimalMatingcall.psd new file mode 100644 index 0000000..16c084b Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/AnimalMatingcall.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd b/1.6/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd new file mode 100644 index 0000000..06e07e4 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Cumflation_Immunity.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_Fertile.png b/1.6/Textures/Genes/Icons/Samples/Gene_Fertile.png new file mode 100644 index 0000000..46abbae Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_Fertile.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_Inbred.png b/1.6/Textures/Genes/Icons/Samples/Gene_Inbred.png new file mode 100644 index 0000000..3d8d705 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_Inbred.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png b/1.6/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png new file mode 100644 index 0000000..b07b305 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_MaxTemperatureLargeIncrease.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png b/1.6/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png new file mode 100644 index 0000000..25ad570 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_MaxTemperatureSmallIncrease копия.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png b/1.6/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png new file mode 100644 index 0000000..a558928 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_PsychicBonding.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png b/1.6/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png new file mode 100644 index 0000000..9a9eb8c Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_PsychicallyDeaf.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd b/1.6/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd new file mode 100644 index 0000000..35dadab Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Gene_TotalHealing.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/Pheromone_Spit.psd b/1.6/Textures/Genes/Icons/Samples/Pheromone_Spit.psd new file mode 100644 index 0000000..c977538 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Pheromone_Spit.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd b/1.6/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd new file mode 100644 index 0000000..0ac04b9 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/RJW_Genes_MatingCall.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/Sexual_Tamer.psd b/1.6/Textures/Genes/Icons/Samples/Sexual_Tamer.psd new file mode 100644 index 0000000..e85ca52 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Sexual_Tamer.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd b/1.6/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd new file mode 100644 index 0000000..72e02a0 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Skill_Pheromone_Spit.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/Time.png b/1.6/Textures/Genes/Icons/Samples/Time.png new file mode 100644 index 0000000..84cc532 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/Time.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/blocked_masturbation.psd b/1.6/Textures/Genes/Icons/Samples/blocked_masturbation.psd new file mode 100644 index 0000000..79ca75b Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/blocked_masturbation.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/disease_immunity.psd b/1.6/Textures/Genes/Icons/Samples/disease_immunity.psd new file mode 100644 index 0000000..f6a0ac3 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/disease_immunity.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd b/1.6/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd new file mode 100644 index 0000000..cfda363 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/feminizer&twinkifier.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/hardwired_progenity.psd b/1.6/Textures/Genes/Icons/Samples/hardwired_progenity.psd new file mode 100644 index 0000000..25721ce Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/hardwired_progenity.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png b/1.6/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png new file mode 100644 index 0000000..fdb0ccd Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/la-copa-menstrual-04.png differ diff --git a/1.6/Textures/Genes/Icons/Samples/living_cumbucket.psd b/1.6/Textures/Genes/Icons/Samples/living_cumbucket.psd new file mode 100644 index 0000000..85796b3 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/living_cumbucket.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/low_fertility.psd b/1.6/Textures/Genes/Icons/Samples/low_fertility.psd new file mode 100644 index 0000000..5f6af24 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/low_fertility.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd b/1.6/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd new file mode 100644 index 0000000..eaf1210 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/pregnancy_overwrite.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/rut.psd b/1.6/Textures/Genes/Icons/Samples/rut.psd new file mode 100644 index 0000000..b15bcc6 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/rut.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd b/1.6/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd new file mode 100644 index 0000000..354b409 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/sexual_genetic_swap.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd b/1.6/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd new file mode 100644 index 0000000..a2b92b2 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/sexual_genetic_thief.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd b/1.6/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd new file mode 100644 index 0000000..41faa92 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/size_blinded&stretcher.psd differ diff --git a/1.6/Textures/Genes/Icons/Samples/vulnerability.psd b/1.6/Textures/Genes/Icons/Samples/vulnerability.psd new file mode 100644 index 0000000..5fdc6aa Binary files /dev/null and b/1.6/Textures/Genes/Icons/Samples/vulnerability.psd differ diff --git a/1.6/Textures/Genes/Icons/Sexual_Tamer.png b/1.6/Textures/Genes/Icons/Sexual_Tamer.png new file mode 100644 index 0000000..ce35369 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Sexual_Tamer.png differ diff --git a/1.6/Textures/Genes/Icons/Slime_Genitalia.png b/1.6/Textures/Genes/Icons/Slime_Genitalia.png new file mode 100644 index 0000000..91e6cd0 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Slime_Genitalia.png differ diff --git a/1.6/Textures/Genes/Icons/Small_Breasts.png b/1.6/Textures/Genes/Icons/Small_Breasts.png new file mode 100644 index 0000000..e2005b7 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Small_Breasts.png differ diff --git a/1.6/Textures/Genes/Icons/Small_Male_Genitalia.png b/1.6/Textures/Genes/Icons/Small_Male_Genitalia.png new file mode 100644 index 0000000..19924d2 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Small_Male_Genitalia.png differ diff --git a/1.6/Textures/Genes/Icons/Spelopede_Dispenser.png b/1.6/Textures/Genes/Icons/Spelopede_Dispenser.png new file mode 100644 index 0000000..4308892 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Spelopede_Dispenser.png differ diff --git a/1.6/Textures/Genes/Icons/Succubus_Tail.png b/1.6/Textures/Genes/Icons/Succubus_Tail.png new file mode 100644 index 0000000..afe26f7 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Succubus_Tail.png differ diff --git a/1.6/Textures/Genes/Icons/Succubus_Wings.png b/1.6/Textures/Genes/Icons/Succubus_Wings.png new file mode 100644 index 0000000..62453b0 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Succubus_Wings.png differ diff --git a/1.6/Textures/Genes/Icons/Tight_Anus.png b/1.6/Textures/Genes/Icons/Tight_Anus.png new file mode 100644 index 0000000..dd57b1d Binary files /dev/null and b/1.6/Textures/Genes/Icons/Tight_Anus.png differ diff --git a/1.6/Textures/Genes/Icons/Tight_Vagina.png b/1.6/Textures/Genes/Icons/Tight_Vagina.png new file mode 100644 index 0000000..eab0606 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Tight_Vagina.png differ diff --git a/1.6/Textures/Genes/Icons/TrialDefend.png b/1.6/Textures/Genes/Icons/TrialDefend.png new file mode 100644 index 0000000..1275bf2 Binary files /dev/null and b/1.6/Textures/Genes/Icons/TrialDefend.png differ diff --git a/1.6/Textures/Genes/Icons/Vaginal_cum_absorption.png b/1.6/Textures/Genes/Icons/Vaginal_cum_absorption.png new file mode 100644 index 0000000..4148bde Binary files /dev/null and b/1.6/Textures/Genes/Icons/Vaginal_cum_absorption.png differ diff --git a/1.6/Textures/Genes/Icons/Very_Much_Cum.png b/1.6/Textures/Genes/Icons/Very_Much_Cum.png new file mode 100644 index 0000000..f2fedc1 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Very_Much_Cum.png differ diff --git a/1.6/Textures/Genes/Icons/Vitality_Drainer.png b/1.6/Textures/Genes/Icons/Vitality_Drainer.png new file mode 100644 index 0000000..1de65a9 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Vitality_Drainer.png differ diff --git a/1.6/Textures/Genes/Icons/Worker.png b/1.6/Textures/Genes/Icons/Worker.png new file mode 100644 index 0000000..1f4e0c8 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Worker.png differ diff --git a/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png new file mode 100644 index 0000000..9ffab2c Binary files /dev/null and b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Breeder.png differ diff --git a/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png new file mode 100644 index 0000000..8d285e5 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Cumazon.png differ diff --git a/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png new file mode 100644 index 0000000..e831799 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Guard.png differ diff --git a/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png new file mode 100644 index 0000000..14d6685 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Incubus.png differ diff --git a/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png new file mode 100644 index 0000000..9b0f425 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Queen.png differ diff --git a/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png new file mode 100644 index 0000000..dddb34d Binary files /dev/null and b/1.6/Textures/Genes/Icons/Xenotypes/Xenotype-Succubus.png differ diff --git a/1.6/Textures/Genes/Icons/Zoophile.png b/1.6/Textures/Genes/Icons/Zoophile.png new file mode 100644 index 0000000..a31c470 Binary files /dev/null and b/1.6/Textures/Genes/Icons/Zoophile.png differ diff --git a/1.6/Textures/Genes/Icons/bisexuality.png b/1.6/Textures/Genes/Icons/bisexuality.png new file mode 100644 index 0000000..e9356e8 Binary files /dev/null and b/1.6/Textures/Genes/Icons/bisexuality.png differ diff --git a/1.6/Textures/Genes/Icons/blocked_masturbation.png b/1.6/Textures/Genes/Icons/blocked_masturbation.png new file mode 100644 index 0000000..f696996 Binary files /dev/null and b/1.6/Textures/Genes/Icons/blocked_masturbation.png differ diff --git a/1.6/Textures/Genes/Icons/cockeater.png b/1.6/Textures/Genes/Icons/cockeater.png new file mode 100644 index 0000000..0b60a46 Binary files /dev/null and b/1.6/Textures/Genes/Icons/cockeater.png differ diff --git a/1.6/Textures/Genes/Icons/cumeater.png b/1.6/Textures/Genes/Icons/cumeater.png new file mode 100644 index 0000000..3150a18 Binary files /dev/null and b/1.6/Textures/Genes/Icons/cumeater.png differ diff --git a/1.6/Textures/Genes/Icons/disease_immunity.png b/1.6/Textures/Genes/Icons/disease_immunity.png new file mode 100644 index 0000000..9567e1a Binary files /dev/null and b/1.6/Textures/Genes/Icons/disease_immunity.png differ diff --git a/1.6/Textures/Genes/Icons/extra_male.png b/1.6/Textures/Genes/Icons/extra_male.png new file mode 100644 index 0000000..743ae44 Binary files /dev/null and b/1.6/Textures/Genes/Icons/extra_male.png differ diff --git a/1.6/Textures/Genes/Icons/feminizer.png b/1.6/Textures/Genes/Icons/feminizer.png new file mode 100644 index 0000000..fafd7ed Binary files /dev/null and b/1.6/Textures/Genes/Icons/feminizer.png differ diff --git a/1.6/Textures/Genes/Icons/hardwired_progenity.png b/1.6/Textures/Genes/Icons/hardwired_progenity.png new file mode 100644 index 0000000..97811e3 Binary files /dev/null and b/1.6/Textures/Genes/Icons/hardwired_progenity.png differ diff --git a/1.6/Textures/Genes/Icons/homosexuality.png b/1.6/Textures/Genes/Icons/homosexuality.png new file mode 100644 index 0000000..cab42c7 Binary files /dev/null and b/1.6/Textures/Genes/Icons/homosexuality.png differ diff --git a/1.6/Textures/Genes/Icons/living_cumbucket.png b/1.6/Textures/Genes/Icons/living_cumbucket.png new file mode 100644 index 0000000..b79f8cc Binary files /dev/null and b/1.6/Textures/Genes/Icons/living_cumbucket.png differ diff --git a/1.6/Textures/Genes/Icons/low_fertility.png b/1.6/Textures/Genes/Icons/low_fertility.png new file mode 100644 index 0000000..0522d94 Binary files /dev/null and b/1.6/Textures/Genes/Icons/low_fertility.png differ diff --git a/1.6/Textures/Genes/Icons/major_vulnerability.png b/1.6/Textures/Genes/Icons/major_vulnerability.png new file mode 100644 index 0000000..6e96a10 Binary files /dev/null and b/1.6/Textures/Genes/Icons/major_vulnerability.png differ diff --git a/1.6/Textures/Genes/Icons/minor_vulnerability.png b/1.6/Textures/Genes/Icons/minor_vulnerability.png new file mode 100644 index 0000000..9a82f52 Binary files /dev/null and b/1.6/Textures/Genes/Icons/minor_vulnerability.png differ diff --git a/1.6/Textures/Genes/Icons/penis_rock_icon.png b/1.6/Textures/Genes/Icons/penis_rock_icon.png new file mode 100644 index 0000000..c1c1324 Binary files /dev/null and b/1.6/Textures/Genes/Icons/penis_rock_icon.png differ diff --git a/1.6/Textures/Genes/Icons/pregnancy_overwrite.png b/1.6/Textures/Genes/Icons/pregnancy_overwrite.png new file mode 100644 index 0000000..9404a6c Binary files /dev/null and b/1.6/Textures/Genes/Icons/pregnancy_overwrite.png differ diff --git a/1.6/Textures/Genes/Icons/rjw_genes_lips.png b/1.6/Textures/Genes/Icons/rjw_genes_lips.png new file mode 100644 index 0000000..13062a1 Binary files /dev/null and b/1.6/Textures/Genes/Icons/rjw_genes_lips.png differ diff --git a/1.6/Textures/Genes/Icons/rjw_naked_prowess.png b/1.6/Textures/Genes/Icons/rjw_naked_prowess.png new file mode 100644 index 0000000..d54231c Binary files /dev/null and b/1.6/Textures/Genes/Icons/rjw_naked_prowess.png differ diff --git a/1.6/Textures/Genes/Icons/rut.png b/1.6/Textures/Genes/Icons/rut.png new file mode 100644 index 0000000..05a0d23 Binary files /dev/null and b/1.6/Textures/Genes/Icons/rut.png differ diff --git a/1.6/Textures/Genes/Icons/seduce.png b/1.6/Textures/Genes/Icons/seduce.png new file mode 100644 index 0000000..635132c Binary files /dev/null and b/1.6/Textures/Genes/Icons/seduce.png differ diff --git a/1.6/Textures/Genes/Icons/sex_curiosity.png b/1.6/Textures/Genes/Icons/sex_curiosity.png new file mode 100644 index 0000000..b5dcd7f Binary files /dev/null and b/1.6/Textures/Genes/Icons/sex_curiosity.png differ diff --git a/1.6/Textures/Genes/Icons/sex_disabled.png b/1.6/Textures/Genes/Icons/sex_disabled.png new file mode 100644 index 0000000..9ce4983 Binary files /dev/null and b/1.6/Textures/Genes/Icons/sex_disabled.png differ diff --git a/1.6/Textures/Genes/Icons/sex_enabled.png b/1.6/Textures/Genes/Icons/sex_enabled.png new file mode 100644 index 0000000..86e0a6b Binary files /dev/null and b/1.6/Textures/Genes/Icons/sex_enabled.png differ diff --git a/1.6/Textures/Genes/Icons/sexual_genetic_swap.png b/1.6/Textures/Genes/Icons/sexual_genetic_swap.png new file mode 100644 index 0000000..b0407c4 Binary files /dev/null and b/1.6/Textures/Genes/Icons/sexual_genetic_swap.png differ diff --git a/1.6/Textures/Genes/Icons/sexual_genetic_thief.png b/1.6/Textures/Genes/Icons/sexual_genetic_thief.png new file mode 100644 index 0000000..d871b9f Binary files /dev/null and b/1.6/Textures/Genes/Icons/sexual_genetic_thief.png differ diff --git a/1.6/Textures/Genes/Icons/size_blinded.png b/1.6/Textures/Genes/Icons/size_blinded.png new file mode 100644 index 0000000..824a00d Binary files /dev/null and b/1.6/Textures/Genes/Icons/size_blinded.png differ diff --git a/1.6/Textures/Genes/Icons/stretcher.png b/1.6/Textures/Genes/Icons/stretcher.png new file mode 100644 index 0000000..4c25049 Binary files /dev/null and b/1.6/Textures/Genes/Icons/stretcher.png differ diff --git a/1.6/Textures/Genes/Icons/twinkifier.png b/1.6/Textures/Genes/Icons/twinkifier.png new file mode 100644 index 0000000..3b92f1f Binary files /dev/null and b/1.6/Textures/Genes/Icons/twinkifier.png differ diff --git a/1.6/Textures/Genes/Icons/vagina_base.png b/1.6/Textures/Genes/Icons/vagina_base.png new file mode 100644 index 0000000..3f300a0 Binary files /dev/null and b/1.6/Textures/Genes/Icons/vagina_base.png differ diff --git a/1.6/Textures/Other/rjw-genes-previews/Preview.jpg b/1.6/Textures/Other/rjw-genes-previews/Preview.jpg new file mode 100644 index 0000000..94e7eb7 Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/Preview.jpg differ diff --git a/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg new file mode 100644 index 0000000..57674c4 Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-10.jpg differ diff --git a/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg new file mode 100644 index 0000000..103d9cd Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-5.jpg differ diff --git a/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg new file mode 100644 index 0000000..3359018 Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-6.jpg differ diff --git a/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg new file mode 100644 index 0000000..f6dc7c3 Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-7.jpg differ diff --git a/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg new file mode 100644 index 0000000..e6a0c63 Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-8.jpg differ diff --git a/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg new file mode 100644 index 0000000..04473ba Binary files /dev/null and b/1.6/Textures/Other/rjw-genes-previews/rjw-genes-preview-9.jpg differ diff --git a/1.6/Textures/Things/Mote/Cocoon/WeaveA.psd b/1.6/Textures/Things/Mote/Cocoon/WeaveA.psd new file mode 100644 index 0000000..2328868 Binary files /dev/null and b/1.6/Textures/Things/Mote/Cocoon/WeaveA.psd differ diff --git a/1.6/Textures/Things/Mote/Cocoon/WeaveB.psd b/1.6/Textures/Things/Mote/Cocoon/WeaveB.psd new file mode 100644 index 0000000..c1a852e Binary files /dev/null and b/1.6/Textures/Things/Mote/Cocoon/WeaveB.psd differ diff --git a/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png new file mode 100644 index 0000000..ef191bf Binary files /dev/null and b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_east.png differ diff --git a/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png new file mode 100644 index 0000000..eb5780a Binary files /dev/null and b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_north.png differ diff --git a/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png new file mode 100644 index 0000000..8e5e4de Binary files /dev/null and b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Tail_south.png differ diff --git a/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png new file mode 100644 index 0000000..0e193da Binary files /dev/null and b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_east.png differ diff --git a/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png new file mode 100644 index 0000000..37ba8fb Binary files /dev/null and b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_north.png differ diff --git a/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png new file mode 100644 index 0000000..62453b0 Binary files /dev/null and b/1.6/Textures/Things/Pawn/Humanlike/BodyAttachments/RJW_Genes_Succubus_Wings_south.png differ diff --git a/About/About.xml b/About/About.xml index 41240b4..1c19d46 100644 --- a/About/About.xml +++ b/About/About.xml @@ -2,7 +2,7 @@ RJW Genes Vegapnk - 1.6 Rewrite by Telanda Vegapnk.rjw.genes - 2.6.2 + 2.5.1
  • 1.4
  • 1.5
  • diff --git a/About/Manifest.xml b/About/Manifest.xml index 0cd2bf9..c07101e 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW-Genes - 2.6.2 + 2.5.1
  • RimJobWorld
  • diff --git a/CHANGELOG.md b/CHANGELOG.md index e044bfc..b55754d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,75 +1,3 @@ -#INPROG - -# 2.6.2 (15-02-2026) -(Commit by @Telanda-DDS) - -**Fixes** -- Fixed incorrect gene Definition for Big and Small - Vampires and the Undead. -- Fixed missing translation text field `RJW_Genes_GenitalsNotAlterable` - - ------------- - -# 2.6.1 (16-10-2025) -(Commit by @Telanda-DDS) - -**Fixes** -- Updated RJW Patches to reference changed setting variable. - -# 2.6.0 (05-09-2025) -(Commit by @Telanda-DDS) - -**Changes** -- Removed Animal Gene Inheritance code from Core RJW_Genes and moved it into it's own mod. -- Replaced all references to GenericAnus with Anus in Genital type Genes. - -# 2.5.7 (18-08-2025) -(Commit by @Telanda-DDS) - -**Fixes** -- Fixed fertile anus not correctly detecting if penetrating partner had a penis capable of impregnation. - - -# 2.5.5 (25-07-2025) -(Commit by @Telanda-DDS) - -**Changes** -- Support for RJW RC-5 -- Updated Elastic gene to also increase speed at which stretched parts return to normal under ElToro's stretching Mod. - - -**Fixes** -- Fixed Load bug with VRE-Genie Sexperience interaction. -- Fixed incorrect consciousness value on infectious sex change Gene. -- Fixed ElToro Stretching support causing an error if not present. -- Fixed Typo in Disease ThoughtDef - - - -# 2.5.3 (19-07-2025) -(Commit by @Telanda-DDS) - -**Changes** -- Re-factored directory paths & common directories between versions, decreasing mod Size. -- Added Elasticity Support for Eltoro's Streching mod. (Prevents Injury Hediffs from being created, Pawn still gets Stretched.) -- Added Elasticity support to Cumpilation (Adds counter HeDiff that negates effects.) - -**Fixes** -- Fixed Mating Call Ability. -- Fixed incorrect mod Call for Genie Sex-curiosity gene. -- Added additional Null check to Genes for when Rimworld tries to created statue pawns. -- Removed Depreciated LicentiaLabs XML files. - - -# 2.5.2 (19-07-2025) -(Commit by @Telanda-DDS) - -**Fixes** -- Fixed "Big and Small - Heaven and Hell" XML patch being applied incorrectly, again. -- Fixed issue that was causing Extra genitals,Anus,breasts being added to pawns when a gene was applied. -- Removed some code duplication in the Gender specific Genes, I cannot see any situations where this code was required, but but there are some notes in other genes relating to character editor, I'm leaving other genes As they are for now, and will wait to see if it breaks some strange edge case i didn't test for. - - # 2.5.1 (17-07-2025) (Commit by @Telanda-DDS) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c27c658..a41147f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,7 +17,7 @@ But please consider also the following: ## Contributors -- Shabalox (MechBreeding, InsectBreeding) +- Shabalox (MechBreeding, InsectBreeding, Animal Gene Inheritance) - WasMachenDennSachen (Various Icons) - Jaaldabaoth (1.5 Migration, MPreg, Femboys, Initial VE-Genetic Hybrids) - Flock-of-Birds (Cosmetic Genitalia per XML) diff --git a/LoadFolders.xml b/LoadFolders.xml index 0a70b1f..66546c4 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -29,7 +29,7 @@
  • 1.6
  • Common
  • - +
  • 1.6/Mods/LicentiaLabs
  • 1.6/Mods/Cumpilation
  • 1.6/Mods/Sanguophage
  • 1.6/Mods/Saurid
  • diff --git a/README.md b/README.md index 3663b7c..69a204c 100644 --- a/README.md +++ b/README.md @@ -14,19 +14,21 @@ This mod adds genes related and based on RJW to Rimworld. - Cum-Amount Changes, Transfer Nutrition Boosts - Sexual Vampires that need Cum, Cocks or some other sources. - Mech Breeding Additions & Orgasmic Mytosis +- Human-Animal Gene Inheritance merged from [Shabakur](https://github.com/Shabakur/RJW_Animal_Gene_Inheritance) - Genetic Diseases that spread on Intercourse - Patches for some popular / common Xenotypes from other Mods. *You might not see all of them. Many genes just show up if other mods are loaded*. **Conflicts:** -1. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now. -2. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended. -3. Alpha Genes "Female / Male Only" Genes might overwrite later Genitalia-Changes and should be avoided in combination with RJW-Genes features. +1. Should not be used with the original RJW_Animal_Gene_Inheritance anymore. +2. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now. +3. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended. +4. Alpha Genes "Female / Male Only" Genes might overwrite later Genitalia-Changes and should be avoided in combination with RJW-Genes features. ## Structure -- Toplevel: By Function (i.E. "Genes", "Utility") +- Toplevel: By Function (i.E. "Genes", "Animal Inheritance", "Utility") - Then: By Domain, following the Gene-Categories ("Cosmetic","Special", "Damage",...) - Last: By Type of Action (Def, Patch, etc.)