diff --git a/Content/Base/Defs/_Extra_Races.xml b/Content/Base/Defs/_Extra_Races.xml
index f4f7bd3..e997588 100644
--- a/Content/Base/Defs/_Extra_Races.xml
+++ b/Content/Base/Defs/_Extra_Races.xml
@@ -60,8 +60,6 @@
Alien_Slaaneshi
Alien_SlaaPrince
Alien_Daemonette
- eBlackangel
- eExile
kohime
MM_Kappa
O21_Alien_Tiefling
@@ -250,6 +248,7 @@
Battle_Droid
B-1_Droid_Specialist
B-1_Commander_Droid
+ eAndroid
Super_Battle_Droid
Droidekas
BX_Droid_Commando
@@ -280,7 +279,6 @@
FemaleEscortBot
MaleEscortBot
DomestiBot
- eAndroid
ChjAndroid
Alien_Engi
diff --git a/changelog.txt b/changelog.txt
index a2a12ff..21f241b 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,9 @@
+11.3.2
+-Hotfixed Gods of Elona, Ooka miko, KMH
+
11.3.1
-Fixed Emperor of dragon, Gods of elona, Ooka miko, and kemomimihouse
+-Added support for insect girls
11.3.0
-Fixed some viviparous species laying chicken eggs
diff --git a/generator/src/racegroups.rs b/generator/src/racegroups.rs
index ca3a66d..ab40fca 100644
--- a/generator/src/racegroups.rs
+++ b/generator/src/racegroups.rs
@@ -88,12 +88,12 @@ pub fn construct_racegroup(group: &RaceGroup) -> String {
false => String::new()
};
- let mut f_breasts = tagify(&group.f_breasts, "femaleBreasts");
- let mut f_genital = tagify(&group.f_genitals, "femaleGenitals");
+ let mut m_breasts = group.m_breasts.clone();
+ let mut m_genital = group.m_genitals.clone();
let gender = match !group.gendered {
true => {
- f_breasts = "".to_string();
- f_genital = "".to_string();
+ m_breasts = String::new();
+ m_genital = String::new();
format!("\n\t\t{}", !group.gendered)
},
false => String::new(),
@@ -102,10 +102,10 @@ pub fn construct_racegroup(group: &RaceGroup) -> String {
let replace = HashMap::from([
("{name}", group.name.clone()),
("{anus}", tagify(&group.anus, "anuses")),
- ("{f_breasts}", f_breasts),
- ("{f_genitals}", f_genital),
- ("{m_breasts}", tagify(&group.m_breasts, "maleBreasts")),
- ("{m_genitals}", tagify(&group.m_genitals, "maleGenitals")),
+ ("{f_breasts}", tagify(&group.f_breasts, "femaleBreasts")),
+ ("{f_genitals}", tagify(&group.f_genitals, "femaleGenitals")),
+ ("{m_breasts}", tagify(&m_breasts, "maleBreasts")),
+ ("{m_genitals}", tagify(&m_genital, "maleGenitals")),
("{tag}", tagify(&group.tag, "tags")),
("{gendered}", gender),
("{sex_drive}", group.sex_drive.clone()),
@@ -894,6 +894,21 @@ pub fn racegroup_data_animals() -> Vec {
"Dog",
("Dog", "Dog"),
),
+ RaceGroup::standard_animal(
+ "CanineSingleGender",
+ vec![
+ "kon",
+ "konf",
+ "kuro",
+ "Ooka_Miko",
+ "siro",
+ "sirof",
+ ],
+ "Fur", "1", false,
+ "MammalBreasts",
+ "Dog",
+ ("Dog", "Dog"),
+ ),
RaceGroup::standard_animal(
"CanineSkin",
vec![
@@ -942,6 +957,18 @@ pub fn racegroup_data_animals() -> Vec {
"Cloacal",
("Cloacal", "Crocodilian"),
),
+ RaceGroup::standard_animal(
+ "DemonSingleGender",
+ vec![
+ "eBlackangel",
+ "eExile",
+ "kohime",
+ ],
+ "Demon", "1", false,
+ "Breasts",
+ "",
+ ("Demon", "Demon"),
+ ),
RaceGroup::standard_animal(
"DinoFeathered",
vec![
@@ -1037,6 +1064,16 @@ pub fn racegroup_data_animals() -> Vec {
"Cloacal",
("Cloacal", "Dragon"),
),
+ RaceGroup::standard_animal(
+ "DragonSingleGender",
+ vec![
+ "yuki",
+ ],
+ "Scales", "1.2", false,
+ "",
+ "Cloacal",
+ ("Cloacal", "Dragon"),
+ ),
RaceGroup::standard_animal(
"Elephant",
vec![
@@ -1137,6 +1174,8 @@ pub fn racegroup_data_animals() -> Vec {
"FelineSingleGender",
vec![
"eBlackcat",
+ "eYoungercatsister",
+ "miko",
],
"Fur", "1", false,
"CatBreasts",
@@ -1195,23 +1234,13 @@ pub fn racegroup_data_animals() -> Vec {
"eDefender",
"eGoldenknight",
"eGwen",
- "eYoungercatsister",
"eYoungersister",
"EmperorDragon",
- "akame",
- "aome",
"baier",
"buer",
- "hana",
"jiaer",
"juer",
- "kohime",
- "kon",
"kuoer",
- "kuro",
- "miko",
- "siro",
- "yuki",
"zhuer",
],
"Skin", "1", false,
@@ -1459,6 +1488,16 @@ pub fn racegroup_data_animals() -> Vec {
"Mammal",
("Mammal", "Rodent"),
),
+ RaceGroup::standard_animal(
+ "RodentSingleGender",
+ vec![
+ "hana",
+ ],
+ "Fur", "1.1", false,
+ "MammalBreasts",
+ "Mammal",
+ ("Mammal", "Rodent"),
+ ),
RaceGroup::standard_animal(
"Tentacle",
vec![
@@ -1663,6 +1702,22 @@ pub fn racegroup_data_animals() -> Vec {
gendered: true,
egg_implant: false,
},
+ RaceGroup {
+ races: vec![
+ "akame",
+ "aome",
+ ],
+ name: "BovineSingleGenderAnimal".to_string(),
+ anus: "MammalAnus".to_string(),
+ f_breasts: "UdderBreasts".to_string(),
+ m_breasts: "MammalBreasts".to_string(),
+ f_genitals: "BovineVagina".to_string(),
+ m_genitals: "BovinePenis".to_string(),
+ tag: "Fur".to_string(),
+ sex_drive: "1".to_string(),
+ gendered: false,
+ egg_implant: false,
+ },
// Arthropods that reproduce through oviposition
RaceGroup {
races: vec![