#![allow(dead_code)]
use crate::internal::*;
use crate::prelude::*;
pub const OUR_GALAXYS_AGE: f32 = 13.61;
pub const OUR_GALAXYS_NAME: &str = "Milky Way";
pub const OUR_GALAXYS_CATEGORY: GalaxyCategory = GalaxyCategory::Spiral(16203, 160);
pub const OUR_GALAXYS_SUB_CATEGORY: GalaxySubCategory = GalaxySubCategory::BarredSpiral;
pub const NO_SPECIAL_TRAIT: GalaxySpecialTrait = GalaxySpecialTrait::NoPeculiarity;
pub const LOCAL_GROUP_GALAXIES: [GalaxyWithoutTraits; 38] = [
GalaxyWithoutTraits {
index: 0,
name: OUR_GALAXYS_NAME,
age: OUR_GALAXYS_AGE,
is_dominant: false,
is_major: true,
category: OUR_GALAXYS_CATEGORY,
sub_category: OUR_GALAXYS_SUB_CATEGORY,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 1,
name: "Andromeda",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Spiral(23280, 230),
sub_category: OUR_GALAXYS_SUB_CATEGORY,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 2,
name: "Triangulum",
age: -1.0,
is_dominant: false,
is_major: false,
category: GalaxyCategory::Spiral(9370, 94),
sub_category: GalaxySubCategory::FlatSpiral,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 3,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 4,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 5,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 6,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 7,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 8,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 9,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 10,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 11,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 12,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 13,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 14,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 15,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 16,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 17,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 18,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 19,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 20,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 21,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 22,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 23,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 24,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 25,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 26,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 27,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 28,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 29,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 30,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 31,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 32,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 33,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 34,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 35,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 36,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
GalaxyWithoutTraits {
index: 37,
name: "TODO",
age: -1.0,
is_dominant: false,
is_major: true,
category: GalaxyCategory::Irregular(10, 10, 10),
sub_category: GalaxySubCategory::DwarfAmorphous,
first_trait: NO_SPECIAL_TRAIT,
second_trait: NO_SPECIAL_TRAIT,
third_trait: NO_SPECIAL_TRAIT,
},
];
#[derive(Clone, PartialEq, PartialOrd, Debug, Default, Serialize, Deserialize)]
pub struct GalaxyWithoutTraits<'a> {
pub index: u16,
pub name: &'a str,
pub age: f32,
pub is_dominant: bool,
pub is_major: bool,
pub category: GalaxyCategory,
pub sub_category: GalaxySubCategory,
pub first_trait: GalaxySpecialTrait,
pub second_trait: GalaxySpecialTrait,
pub third_trait: GalaxySpecialTrait,
}
#[derive(
Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Hash, SmartDefault, Serialize, Deserialize,
)]
pub struct OppositeTraits(pub Vec<GalaxySpecialTrait>, pub Vec<GalaxySpecialTrait>);
pub fn get_opposite_traits() -> Vec<OppositeTraits> {
vec![
OppositeTraits(
vec![GalaxySpecialTrait::Younger],
vec![GalaxySpecialTrait::Older],
),
OppositeTraits(
vec![GalaxySpecialTrait::Dusty],
vec![GalaxySpecialTrait::MetalPoor],
),
OppositeTraits(
vec![GalaxySpecialTrait::GasPoor],
vec![GalaxySpecialTrait::GasRich],
),
OppositeTraits(
vec![GalaxySpecialTrait::Compact(0)],
vec![GalaxySpecialTrait::Expansive(0)],
),
OppositeTraits(
vec![GalaxySpecialTrait::SubSize(0)],
vec![GalaxySpecialTrait::SuperSize(0)],
),
OppositeTraits(
vec![GalaxySpecialTrait::Starburst],
vec![GalaxySpecialTrait::Dead, GalaxySpecialTrait::Dormant],
),
]
}