mirror of
				https://gitgud.io/AsmodeusRex/rjw-race-support.git
				synced 2024-08-15 00:03:24 +00:00 
			
		
		
		
	Add gender to constructor
This commit is contained in:
		
							parent
							
								
									1538712ffa
								
							
						
					
					
						commit
						bde44382e5
					
				
					 3 changed files with 128 additions and 70 deletions
				
			
		| 
						 | 
				
			
			@ -115,11 +115,8 @@ This mod requires RJW and must be placed somewhere below it.
 | 
			
		|||
* FCP dogmeat
 | 
			
		||||
* Alpha mythology
 | 
			
		||||
### Test and improve
 | 
			
		||||
* Emperor of dragon
 | 
			
		||||
* Gods of elona
 | 
			
		||||
* Race to the rim
 | 
			
		||||
* Ooka miko
 | 
			
		||||
* kemomimihouse
 | 
			
		||||
* Dragon's descent crossbreeding
 | 
			
		||||
 | 
			
		||||
## Thanks
 | 
			
		||||
* Ed86 (for Maintaining RJW)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,6 @@
 | 
			
		|||
11.3.1
 | 
			
		||||
-Fixed Emperor of dragon, Gods of elona, Ooka miko, and kemomimihouse
 | 
			
		||||
 | 
			
		||||
11.3.0
 | 
			
		||||
-Fixed some viviparous species laying chicken eggs
 | 
			
		||||
-Added PokeWorld support
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ pub struct RaceGroup {
 | 
			
		|||
	pub m_genitals: String,
 | 
			
		||||
	pub tag:        String,
 | 
			
		||||
	pub sex_drive:  String,
 | 
			
		||||
	pub gendered:    bool,
 | 
			
		||||
	pub egg_implant: bool,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +21,7 @@ impl RaceGroup {
 | 
			
		|||
		races: Vec<&'static str>,
 | 
			
		||||
		tag:       &'static str,
 | 
			
		||||
		sex_drive: &'static str,
 | 
			
		||||
		gendered:  bool,
 | 
			
		||||
		breasts:   &'static str,
 | 
			
		||||
		anus:      &'static str,
 | 
			
		||||
		genitals: (&'static str, &'static str)
 | 
			
		||||
| 
						 | 
				
			
			@ -34,6 +36,7 @@ impl RaceGroup {
 | 
			
		|||
			m_genitals: format!("{}Penis", genitals.1),
 | 
			
		||||
			tag:        tag.to_string(),
 | 
			
		||||
			sex_drive:  sex_drive.to_string(),
 | 
			
		||||
			gendered,
 | 
			
		||||
			egg_implant: false,
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -42,6 +45,7 @@ impl RaceGroup {
 | 
			
		|||
		races: Vec<&'static str>,
 | 
			
		||||
		tag:       &'static str,
 | 
			
		||||
		sex_drive: &'static str,
 | 
			
		||||
		gendered:  bool,
 | 
			
		||||
		breasts:   &'static str,
 | 
			
		||||
		anus:      &'static str,
 | 
			
		||||
		genitals: (&'static str, &'static str)
 | 
			
		||||
| 
						 | 
				
			
			@ -56,6 +60,7 @@ impl RaceGroup {
 | 
			
		|||
			m_genitals: format!("{}Penis", genitals.1),
 | 
			
		||||
			tag:        tag.to_string(),
 | 
			
		||||
			sex_drive:  sex_drive.to_string(),
 | 
			
		||||
			gendered,
 | 
			
		||||
			egg_implant: false,
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -72,22 +77,37 @@ fn tagify(content: &str, tag: &str) -> String {
 | 
			
		|||
 | 
			
		||||
pub fn construct_racegroup(group: &RaceGroup) -> String {
 | 
			
		||||
	let mut s = String::from(RACEGROUP_STRING);
 | 
			
		||||
 | 
			
		||||
	let mut races = String::new();
 | 
			
		||||
	for race in &group.races {
 | 
			
		||||
		races.push_str(&format!("\n\t\t\t<li>{race}</li>"));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	let fields = match group.egg_implant {
 | 
			
		||||
		true => "<oviPregnancy>true</oviPregnancy>\n\t\t<ImplantEggs>true</ImplantEggs>\n\t\t".to_string(),
 | 
			
		||||
		false => String::new()
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	let mut f_breasts = tagify(&group.f_breasts,  "femaleBreasts");
 | 
			
		||||
	let mut f_genital = tagify(&group.f_genitals, "femaleGenitals");
 | 
			
		||||
	let gender = match !group.gendered {
 | 
			
		||||
		true => {
 | 
			
		||||
			f_breasts = "<femaleBreasts />".to_string();
 | 
			
		||||
			f_genital = "<femaleGenitals />".to_string();
 | 
			
		||||
			format!("\n\t\t<hasSingleGender>{}</hasSingleGender>", !group.gendered)
 | 
			
		||||
		},
 | 
			
		||||
		false => String::new(),
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	let replace = HashMap::from([
 | 
			
		||||
		("{name}",       group.name.clone()),
 | 
			
		||||
		("{anus}",       tagify(&group.anus,       "anuses")),
 | 
			
		||||
		("{f_breasts}",  tagify(&group.f_breasts,  "femaleBreasts")),
 | 
			
		||||
		("{f_genitals}", tagify(&group.f_genitals, "femaleGenitals")),
 | 
			
		||||
		("{f_breasts}",  f_breasts),
 | 
			
		||||
		("{f_genitals}", f_genital),
 | 
			
		||||
		("{m_breasts}",  tagify(&group.m_breasts,  "maleBreasts")),
 | 
			
		||||
		("{m_genitals}", tagify(&group.m_genitals, "maleGenitals")),
 | 
			
		||||
		("{tag}",        tagify(&group.tag,        "tags")),
 | 
			
		||||
		("{gendered}",   gender),
 | 
			
		||||
		("{sex_drive}",  group.sex_drive.clone()),
 | 
			
		||||
		("{races}",      races),
 | 
			
		||||
		("{fields}",     fields)
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +129,7 @@ const RACEGROUP_STRING: &'static str = "
 | 
			
		|||
		{m_breasts}
 | 
			
		||||
		{m_genitals}
 | 
			
		||||
		{tag}
 | 
			
		||||
		{fields}<raceSexDrive>{sex_drive}</raceSexDrive>
 | 
			
		||||
		{fields}<raceSexDrive>{sex_drive}</raceSexDrive>{gendered}
 | 
			
		||||
	</rjw.RaceGroupDef>\n";
 | 
			
		||||
 | 
			
		||||
pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		||||
| 
						 | 
				
			
			@ -146,12 +166,6 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Yokai_Yamanba",
 | 
			
		||||
				"Yokai_YukiShizuku",
 | 
			
		||||
				"DwarfRace",
 | 
			
		||||
				"eCutefairy",
 | 
			
		||||
				"eDefender",
 | 
			
		||||
				"eGoldenknight",
 | 
			
		||||
				"eGwen",
 | 
			
		||||
				"eYoungercatsister",
 | 
			
		||||
				"eYoungersister",
 | 
			
		||||
				"HorrorsInfestedHuman",
 | 
			
		||||
				"HorrorsOverlord",
 | 
			
		||||
				"Elona_Imouto",
 | 
			
		||||
| 
						 | 
				
			
			@ -160,7 +174,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Ooka_Miko",
 | 
			
		||||
				"TrollRace",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "1",
 | 
			
		||||
			"Skin", "1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("", ""),
 | 
			
		||||
| 
						 | 
				
			
			@ -177,7 +191,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Races_BlackWidow",
 | 
			
		||||
				"Yokai_JorouGumo",
 | 
			
		||||
			],
 | 
			
		||||
			"Chitin", "0.8",
 | 
			
		||||
			"Chitin", "0.8", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"Insect",
 | 
			
		||||
			("Ovipore", "Aedeagus"),
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +202,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"ATK_Avianmorph",
 | 
			
		||||
				"Harpy",
 | 
			
		||||
			],
 | 
			
		||||
			"Feathers", "0.9",
 | 
			
		||||
			"Feathers", "0.9", true,
 | 
			
		||||
			"FeaturelessChest",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Cloacal"),
 | 
			
		||||
| 
						 | 
				
			
			@ -199,7 +213,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"WoW_Pandaren",
 | 
			
		||||
				"BearMan",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "0.9",
 | 
			
		||||
			"Fur", "0.9", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("", "Bear"),
 | 
			
		||||
| 
						 | 
				
			
			@ -214,7 +228,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"siro",
 | 
			
		||||
				"WolfMan",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("Dog", "Dog"),
 | 
			
		||||
| 
						 | 
				
			
			@ -233,7 +247,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Yokai_NineTailWhite",
 | 
			
		||||
				"FoxMan",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.3",
 | 
			
		||||
			"Fur", "1.3", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("Dog", "Dog"),
 | 
			
		||||
| 
						 | 
				
			
			@ -245,7 +259,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"SSD_DeathclawRace",
 | 
			
		||||
				"Races_Lizardman",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.9",
 | 
			
		||||
			"Scales", "0.9", true,
 | 
			
		||||
			"ScaleBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Crocodilian"),
 | 
			
		||||
| 
						 | 
				
			
			@ -260,7 +274,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"GazelleMan",
 | 
			
		||||
				"Lliscean",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("Narrow", "Needle"),
 | 
			
		||||
| 
						 | 
				
			
			@ -271,7 +285,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Raptor",
 | 
			
		||||
				"Tyrannosaur",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.9",
 | 
			
		||||
			"Scales", "0.9", true,
 | 
			
		||||
			"ScaleBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dino"),
 | 
			
		||||
| 
						 | 
				
			
			@ -292,13 +306,12 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Yokai_Tenaga",
 | 
			
		||||
				"Yokai_TenagaH",
 | 
			
		||||
				"Yokai_TubakiAnimal",
 | 
			
		||||
				"EmperorDragon",
 | 
			
		||||
				"HalfDragon",
 | 
			
		||||
				"Dragon_Kilhn",
 | 
			
		||||
				"ALapelli",
 | 
			
		||||
				"yuki",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "1.2",
 | 
			
		||||
			"Scales", "1.2", true,
 | 
			
		||||
			"ScaleBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dragon")
 | 
			
		||||
| 
						 | 
				
			
			@ -308,7 +321,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"ElephantMan",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("Elephant", "Elephant"),
 | 
			
		||||
| 
						 | 
				
			
			@ -320,7 +333,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"kon",
 | 
			
		||||
				"Vulpes",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.3",
 | 
			
		||||
			"Fur", "1.3", true,
 | 
			
		||||
			"Petite_FoxGirl_Breasts",
 | 
			
		||||
			"Petite_FoxGirl_",
 | 
			
		||||
			("Petite_FoxGirl_", ""),
 | 
			
		||||
| 
						 | 
				
			
			@ -357,7 +370,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"WoW_NightElf",
 | 
			
		||||
				"ElfRace",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "1.1",
 | 
			
		||||
			"Skin", "1.1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"Elf",
 | 
			
		||||
			("Elf", "Elf"),
 | 
			
		||||
| 
						 | 
				
			
			@ -378,7 +391,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Maidnukos",
 | 
			
		||||
				"miko",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"Feline",
 | 
			
		||||
			("Cat", "Cat"),
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +418,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Staryu",
 | 
			
		||||
				"IkquanRace",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.8",
 | 
			
		||||
			"Scales", "0.8", true,
 | 
			
		||||
			"FeaturelessChest",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Marine"),
 | 
			
		||||
| 
						 | 
				
			
			@ -422,7 +435,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Misdreavus",
 | 
			
		||||
				"WoW_Skeleton",
 | 
			
		||||
			],
 | 
			
		||||
			"Demon", "0.5",
 | 
			
		||||
			"Demon", "0.5", true,
 | 
			
		||||
			"GhostBreasts",
 | 
			
		||||
			"Ghost",
 | 
			
		||||
			("Ghost", "Ghost"),
 | 
			
		||||
| 
						 | 
				
			
			@ -433,7 +446,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Ghoul",
 | 
			
		||||
				"GlowingGhoul",
 | 
			
		||||
			],
 | 
			
		||||
			"Demon", "0.5",
 | 
			
		||||
			"Demon", "0.5", true,
 | 
			
		||||
			"GhoulBreasts",
 | 
			
		||||
			"Ghoul",
 | 
			
		||||
			("Ghoul", "Ghoul"),
 | 
			
		||||
| 
						 | 
				
			
			@ -443,7 +456,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"Alien_Kijin",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "1.4",
 | 
			
		||||
			"Skin", "1.4", true,
 | 
			
		||||
			"Horny_Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("Horny_", "Horny_"),
 | 
			
		||||
| 
						 | 
				
			
			@ -466,7 +479,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"OG_Alien_Grot",
 | 
			
		||||
				"WoW_Orc",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "1.3",
 | 
			
		||||
			"Skin", "1.3", true,
 | 
			
		||||
			"OrcBreasts",
 | 
			
		||||
			"Orc",
 | 
			
		||||
			("Orc", "Orc"),
 | 
			
		||||
| 
						 | 
				
			
			@ -485,7 +498,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Alien_ZPEquium",
 | 
			
		||||
				"WoW_Draenei",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.2",
 | 
			
		||||
			"Fur", "1.2", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"Horse",
 | 
			
		||||
			("Horse", "Horse"),
 | 
			
		||||
| 
						 | 
				
			
			@ -495,7 +508,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"PigMan",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("Pig", "Pig"),
 | 
			
		||||
| 
						 | 
				
			
			@ -506,7 +519,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"RaccoonMan",
 | 
			
		||||
				"StarWarsRaces_Ewok",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.1",
 | 
			
		||||
			"Fur", "1.1", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("", "Raccoon"),
 | 
			
		||||
| 
						 | 
				
			
			@ -522,7 +535,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Yokai_Samia",
 | 
			
		||||
				"Naga",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.9",
 | 
			
		||||
			"Scales", "0.9", true,
 | 
			
		||||
			"ScaleBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Hemi"),
 | 
			
		||||
| 
						 | 
				
			
			@ -543,7 +556,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"Rotti",
 | 
			
		||||
				"Rabbie",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.3",
 | 
			
		||||
			"Fur", "1.3", true,
 | 
			
		||||
			"Petite_Breasts",
 | 
			
		||||
			"Petite_",
 | 
			
		||||
			("Rodent", "Rodent"),
 | 
			
		||||
| 
						 | 
				
			
			@ -553,7 +566,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"Thrumkin",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.2",
 | 
			
		||||
			"Fur", "1.2", true,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dragon")
 | 
			
		||||
| 
						 | 
				
			
			@ -585,7 +598,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Vileplume",
 | 
			
		||||
				"PW_Weepinbell",
 | 
			
		||||
			],
 | 
			
		||||
			"Plant", "1",
 | 
			
		||||
			"Plant", "1", true,
 | 
			
		||||
			"TreeBreasts",
 | 
			
		||||
			"Tree",
 | 
			
		||||
			("Tree", "Tree"),
 | 
			
		||||
| 
						 | 
				
			
			@ -609,6 +622,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
			m_genitals: "BovinePenis".to_string(),
 | 
			
		||||
			tag:        "Fur".to_string(),
 | 
			
		||||
			sex_drive:  "1".to_string(),
 | 
			
		||||
			gendered:    true,
 | 
			
		||||
			egg_implant: false,
 | 
			
		||||
		},
 | 
			
		||||
		RaceGroup {
 | 
			
		||||
| 
						 | 
				
			
			@ -632,6 +646,7 @@ pub fn racegroup_data_humans() -> Vec<RaceGroup> {
 | 
			
		|||
			m_genitals: "SlimeTentacles".to_string(),
 | 
			
		||||
			tag:        "Slime".to_string(),
 | 
			
		||||
			sex_drive:  "1".to_string(),
 | 
			
		||||
			gendered:    true,
 | 
			
		||||
			egg_implant: false,
 | 
			
		||||
		},
 | 
			
		||||
	]
 | 
			
		||||
| 
						 | 
				
			
			@ -649,7 +664,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Yokai_IssunAnimal",
 | 
			
		||||
				"Andrewsarchus",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Mammal", "Mammal"),
 | 
			
		||||
| 
						 | 
				
			
			@ -672,7 +687,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Dinopithecus",
 | 
			
		||||
				"Gigantopithecus",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.1",
 | 
			
		||||
			"Fur", "1.1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Mammal", "Monkey"),
 | 
			
		||||
| 
						 | 
				
			
			@ -721,7 +736,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Arthropleura",
 | 
			
		||||
				"Pulmonoscorpius",
 | 
			
		||||
			],
 | 
			
		||||
			"Chitin", "0.7",
 | 
			
		||||
			"Chitin", "0.7", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Insect",
 | 
			
		||||
			("Ovipore", "Aedeagus"),
 | 
			
		||||
| 
						 | 
				
			
			@ -798,7 +813,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Palaeeudyptes",
 | 
			
		||||
				"Titanis",
 | 
			
		||||
			],
 | 
			
		||||
			"Feathers", "0.8",
 | 
			
		||||
			"Feathers", "0.8", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Cloacal"),
 | 
			
		||||
| 
						 | 
				
			
			@ -874,7 +889,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Omnicron",
 | 
			
		||||
				"Fuzztino",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Dog",
 | 
			
		||||
			("Dog", "Dog"),
 | 
			
		||||
| 
						 | 
				
			
			@ -884,7 +899,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"AA_RipperHound",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "0.9",
 | 
			
		||||
			"Skin", "0.9", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Dog",
 | 
			
		||||
			("Dog", "Dog"),
 | 
			
		||||
| 
						 | 
				
			
			@ -905,7 +920,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Stantler",
 | 
			
		||||
				"RG-WF_WastelandDeer",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Narrow", "Needle"),
 | 
			
		||||
| 
						 | 
				
			
			@ -922,7 +937,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Quinkana",
 | 
			
		||||
				"Purussaurus",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.8",
 | 
			
		||||
			"Scales", "0.8", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Crocodilian"),
 | 
			
		||||
| 
						 | 
				
			
			@ -940,7 +955,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Velociraptor",
 | 
			
		||||
				"Yutyrannus",
 | 
			
		||||
			],
 | 
			
		||||
			"Feathers", "1",
 | 
			
		||||
			"Feathers", "1", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dino"),
 | 
			
		||||
| 
						 | 
				
			
			@ -980,7 +995,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"TyrannosaurusRex",
 | 
			
		||||
				"Utahraptor",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "1",
 | 
			
		||||
			"Scales", "1", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dino"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1017,7 +1032,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Mystogen",
 | 
			
		||||
				"Voltaic",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "1.2",
 | 
			
		||||
			"Scales", "1.2", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dragon"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1043,7 +1058,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"WoollyMammoth",
 | 
			
		||||
				"Zygolophodon",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "0.9",
 | 
			
		||||
			"Fur", "0.9", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Elephant", "Elephant"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1098,13 +1113,12 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Persian",
 | 
			
		||||
				"Carnagrius",
 | 
			
		||||
				"Dinocrocuta",
 | 
			
		||||
				"eBlackcat",
 | 
			
		||||
				"Jeeta",
 | 
			
		||||
				"Pallas_cat",
 | 
			
		||||
				"Smilodon",
 | 
			
		||||
				"Snow_leopard",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"CatBreasts",
 | 
			
		||||
			"Feline",
 | 
			
		||||
			("Cat", "Cat"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1114,7 +1128,17 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"AEXP_Hyena",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.3",
 | 
			
		||||
			"Fur", "1.3", true,
 | 
			
		||||
			"CatBreasts",
 | 
			
		||||
			"Feline",
 | 
			
		||||
			("Cat", "Cat"),
 | 
			
		||||
		),
 | 
			
		||||
		RaceGroup::standard_animal(
 | 
			
		||||
			"FelineSingleGender",
 | 
			
		||||
			vec![
 | 
			
		||||
				"eBlackcat",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1", false,
 | 
			
		||||
			"CatBreasts",
 | 
			
		||||
			"Feline",
 | 
			
		||||
			("Cat", "Cat"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1159,11 +1183,42 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Paraceratherium",
 | 
			
		||||
				"Uintatherium",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Horse",
 | 
			
		||||
			("Horse", "Horse"),
 | 
			
		||||
		),
 | 
			
		||||
		RaceGroup::standard_animal(
 | 
			
		||||
			"HumanlikeGenderless",
 | 
			
		||||
			vec![
 | 
			
		||||
				"eCutefairy",
 | 
			
		||||
				"eDefender",
 | 
			
		||||
				"eGoldenknight",
 | 
			
		||||
				"eGwen",
 | 
			
		||||
				"eYoungercatsister",
 | 
			
		||||
				"eYoungersister",
 | 
			
		||||
				"EmperorDragon",
 | 
			
		||||
				"akame",
 | 
			
		||||
				"aome",
 | 
			
		||||
				"baier",
 | 
			
		||||
				"buer",
 | 
			
		||||
				"hana",
 | 
			
		||||
				"jiaer",
 | 
			
		||||
				"juer",
 | 
			
		||||
				"kohime",
 | 
			
		||||
				"kon",
 | 
			
		||||
				"kuoer",
 | 
			
		||||
				"kuro",
 | 
			
		||||
				"miko",
 | 
			
		||||
				"siro",
 | 
			
		||||
				"yuki",
 | 
			
		||||
				"zhuer",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "1", false,
 | 
			
		||||
			"Breasts",
 | 
			
		||||
			"",
 | 
			
		||||
			("", ""),
 | 
			
		||||
		),
 | 
			
		||||
		// I know hippos are more closely related to other artiodactyls than to pinnipeds, but their genitalia are strikingly similar due to convergent evolution
 | 
			
		||||
		RaceGroup::standard_animal(
 | 
			
		||||
			"MarineMammal",
 | 
			
		||||
| 
						 | 
				
			
			@ -1179,7 +1234,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Seel",
 | 
			
		||||
				"Gomphotaria",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "0.9",
 | 
			
		||||
			"Fur", "0.9", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Mammal", "Marine"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1190,7 +1245,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"AEXP_Kangaroo",
 | 
			
		||||
				"Procoptodon",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Cloacal"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1205,7 +1260,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Dugtrio",
 | 
			
		||||
				"Diprotodon",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Hemi"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1219,7 +1274,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"OG_Squig_Oily",
 | 
			
		||||
				"OG_Snotling",
 | 
			
		||||
			],
 | 
			
		||||
			"Skin", "1",
 | 
			
		||||
			"Skin", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Orc",
 | 
			
		||||
			("Orc", "Orc"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1243,7 +1298,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"MM_ErymanthianBoar",
 | 
			
		||||
				"Daeodon",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Pig", "Pig"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1254,7 +1309,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"ACPDuckBilledPlatypus",
 | 
			
		||||
				"AEXP_Platypus",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "0.9",
 | 
			
		||||
			"Fur", "0.9", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Cloacal"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1278,7 +1333,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Sneasel",
 | 
			
		||||
				"Enhydriodon",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Mammal", "Raccoon"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1322,7 +1377,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Rakk",
 | 
			
		||||
				"Titanoboa",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.8",
 | 
			
		||||
			"Scales", "0.8", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Hemi"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1399,7 +1454,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Josephoartigasia",
 | 
			
		||||
				"Pika",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1.1",
 | 
			
		||||
			"Fur", "1.1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Mammal", "Rodent"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1415,7 +1470,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"PW_Tentacool",
 | 
			
		||||
				"PW_Tentacruel",
 | 
			
		||||
			],
 | 
			
		||||
			"Slime", "0.8",
 | 
			
		||||
			"Slime", "0.8", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Tentacle"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1439,7 +1494,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Archothrumbo",
 | 
			
		||||
				"RoyalThrumbo",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Dragon"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1457,7 +1512,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"Archotortoise",
 | 
			
		||||
				"Megalochelys",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "0.8",
 | 
			
		||||
			"Scales", "0.8", true,
 | 
			
		||||
			"",
 | 
			
		||||
			"Cloacal",
 | 
			
		||||
			("Cloacal", "Turtle"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1489,7 +1544,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
				"AnimaBear",
 | 
			
		||||
				"ShortfacedBear",
 | 
			
		||||
			],
 | 
			
		||||
			"Fur", "1",
 | 
			
		||||
			"Fur", "1", true,
 | 
			
		||||
			"MammalBreasts",
 | 
			
		||||
			"Mammal",
 | 
			
		||||
			("Mammal", "Bear"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1500,7 +1555,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
			vec![
 | 
			
		||||
				"AA_SandProwler",
 | 
			
		||||
			],
 | 
			
		||||
			"Scales", "1",
 | 
			
		||||
			"Scales", "1", true,
 | 
			
		||||
			"CatBreasts",
 | 
			
		||||
			"Feline",
 | 
			
		||||
			("Cat", "Cat"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1605,6 +1660,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
			m_genitals: "BovinePenis".to_string(),
 | 
			
		||||
			tag:        "Fur".to_string(),
 | 
			
		||||
			sex_drive:  "1".to_string(),
 | 
			
		||||
			gendered:    true,
 | 
			
		||||
			egg_implant: false,
 | 
			
		||||
		},
 | 
			
		||||
		// Arthropods that reproduce through oviposition
 | 
			
		||||
| 
						 | 
				
			
			@ -1658,6 +1714,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
			m_genitals: "OvipositorM".to_string(),
 | 
			
		||||
			tag:        "Chitin".to_string(),
 | 
			
		||||
			sex_drive:  "1".to_string(),
 | 
			
		||||
			gendered:    true,
 | 
			
		||||
			egg_implant: true,
 | 
			
		||||
		},
 | 
			
		||||
		RaceGroup {
 | 
			
		||||
| 
						 | 
				
			
			@ -1673,6 +1730,7 @@ pub fn racegroup_data_animals() -> Vec<RaceGroup> {
 | 
			
		|||
			m_genitals: "OvipositorM".to_string(),
 | 
			
		||||
			tag:        "Chitin".to_string(),
 | 
			
		||||
			sex_drive:  "1.5".to_string(),
 | 
			
		||||
			gendered:    true,
 | 
			
		||||
			egg_implant: true,
 | 
			
		||||
		},
 | 
			
		||||
	]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue