entities

package
v0.0.0-...-0ec8832 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ability

type Ability struct {
	AbilitySpec string `gorm:"column:spec;notNull;primaryKey"`
}

type AbilityEnum

type AbilityEnum int8
const (
	CastForbidden AbilityEnum = iota + 1
	CastCanceled
	CastTeamSwapped
	CastDelayed
	CastGrounded
	CastDimensional
)

func (AbilityEnum) ToString

func (cast AbilityEnum) ToString() string

TODO: write these

type AbundanceEnum

type AbundanceEnum int8
const (
	Everywhere AbundanceEnum = iota + 1
	Common
	Sparse
	Rare
	Unique
)

func (AbundanceEnum) ToString

func (abundance AbundanceEnum) ToString() string

type BasicAttackEnum

type BasicAttackEnum int8
const (
	AtkControlled BasicAttackEnum = iota + 1
	AtkForbidden
	AtkReplaced
	MagForbidden
	AtkHalted
	AtkTeamSwapped
	AtkDelayed
	AtkGrounded
	AtkDimensional
)

func (BasicAttackEnum) ToString

func (atk BasicAttackEnum) ToString() string

TODO: write these

type BasicAttackStats

type BasicAttackStats struct {
	gorm.Model
	AttackRecovery float32 `gorm:"column:attack_recovery"`
	AttackPrecast  float32 `gorm:"column:attack_precast"`
}

type Body

type Body struct {
	gorm.Model
	ForRace      string  `gorm:"primaryKey"`
	Height       float32 `gorm:"column:height"`
	Muscle       string  `gorm:"column:muscle"`
	SkinHardness int64   `gorm:"column:skin_hardness"`
}

type CC

type CC struct {
	gorm.Model
	ControlType         string `gorm:"column:control_type;unique;primaryKey"`
	Classification      string `gorm:"column:classification"` //has enum
	Movement            string `gorm:"column:movement"`       // has enum
	BasicAttack         string `gorm:"column:basic_attack"`   // has enum
	AbilityCast         string `gorm:"column:ability_cast"`   // has enum
	BuffEffects         string `gorm:"column:buff_effects"`
	StatEffects         string `gorm:"column:stat_effects"`
	MentalityMitigation bool   `gorm:"column:mentality"`
	TenacityMitigation  bool   `gorm:"column:tenacity"`
	WeightMitigation    bool   `gorm:"column:weight"`
}

<Smart-Field-Obj>

type Class

type Class struct {
	gorm.Model
	Class    string `gorm:"column:class"`
	Category string `gorm:"column:category"`
	DmgType  string `gorm:"column:dmg_type"`
	// This identifies which obj to use, usually filtered by validators based on major-category and dmg-type auto-generated
	IsA string `gorm:"column:is_a"`
}

type ClassEnum

type ClassEnum int8
const (
	Tech ClassEnum = iota + 1
	Spell
	Phys
)

func (ClassEnum) ToString

func (class ClassEnum) ToString() string

type CombatClass

type CombatClass struct {
	gorm.Model
	Class        string    `gorm:"column:class;unique;notNull"`
	AbilityScope []Ability `gorm:"foreignKey:AbilitySpec"`
	FullCt       int64     `gorm:"column:full_ct"`    // updated by triggers from mongodb
	PartialCt    int64     `gorm:"column:partial_ct"` // updated by triggers from mongodb
	ItemCt       int64     `gorm:"column:item_ct"`    // updated by triggers from mongodb
}

One-to-Many, polymorphic

type ControlClassificationEnum

type ControlClassificationEnum int8
const (
	Hard ControlClassificationEnum = iota + 1
	Medium
	Soft
	Specialized
)

func (ControlClassificationEnum) ToString

func (cont ControlClassificationEnum) ToString() string

type DefensiveStats

type DefensiveStats struct {
	gorm.Model
	HP                 int64   `gorm:"column:hp"`
	SelfRegeneration   float32 `gorm:"column:self_regeneration"`
	Effectiveness      float32 `gorm:"column:effectiveness"` // healing and shielding
	MythicResistance   int64   `gorm:"column:mythic_resistance"`
	PhysicalResistance int64   `gorm:"column:physical_resistance"`
	MaterialResistance int64   `gorm:"column:material_resistance"` // equals to 80% of the avg between MR and PR
	Blocking           int64   `gorm:"column:blocking"`
	NetDmgReduction    float32 `gorm:"column:net_dmg_reduction"`
}

type DmgTypeEnum

type DmgTypeEnum int8
const (
	Magic DmgTypeEnum = iota + 1
	Material
	Mechanical
	Strength
)

func (DmgTypeEnum) ToString

func (dt DmgTypeEnum) ToString() string

type Equipment

type Equipment struct {
	gorm.Model
	EquipmentType string `gorm:"column:equipment_type;unique"`
	Category      string `gorm:"column:category"` // has enum
	// filtered based on EquipmentEnum
	EquipLimit int64 `gorm:"column:equip_limit"`
}

<Smart-Field-Obj>

type EquipmentEnum

type EquipmentEnum int8
const (
	LargeWearable EquipmentEnum = iota + 1
	SmallWearable
	MainWeapon
	OffWeapon
	Enchantment
	BioAugment
)

func (EquipmentEnum) ToString

func (eqp EquipmentEnum) ToString() string

type GenderEnum

type GenderEnum int8

TODO:.........

const (
	Male GenderEnum = iota + 1
	Female
	Other
)

func (GenderEnum) ToString

func (gender GenderEnum) ToString() string
type Head struct {
	gorm.Model
	ForRace  string `gorm:"primaryKey"`
	Teeth    string `gorm:"column:teeth"`
	Ears     string `gorm:"column:ears"`
	Nose     string `gorm:"column:nose"`
	Eyes     string `gorm:"column:eyes"`
	Forehead string `gorm:"column:forehead"`
	Hair     string `gorm:"column:hair"`
}

type IntelligenceEnum

type IntelligenceEnum int8
const (
	High IntelligenceEnum = iota + 1
	AboveAverage
	Fluctuating
	Average
	Low
	Beastly
)

func (IntelligenceEnum) ToString

func (intel IntelligenceEnum) ToString() string

type MageStats

type MageStats struct {
	gorm.Model
	MythicPower              int64   `gorm:"column:mythic_power"`
	MythicalPenetration      int64   `gorm:"column:mythic_penetration"`
	MythicPenetrationPercent float32 `gorm:"column:mythic_penetration_%"`
	Receptivity              int64   `gorm:"column:receptivity"`
	LifeDrain                float32 `gorm:"column:life_drain"`
	Mana                     int64   `gorm:"column:mana"`
	ManaRegeneration         int64   `gorm:"column:mana_regeneration"`
}

----------------------------------------------------------------------

type MajorCategoryEnum

type MajorCategoryEnum int8
const (
	Mage MajorCategoryEnum = iota + 1
	NonMage
	Spectral
)

func (MajorCategoryEnum) ToString

func (cate MajorCategoryEnum) ToString() string

type MaterialStats

type MaterialStats struct {
	gorm.Model
	Potency int64 `gorm:"column:potency"`
}

type MechanicalStats

type MechanicalStats struct {
	gorm.Model
	Mechanization int64 `gorm:"column:mechanization"`
	Penetration   int64 `gorm:"column:penetration"`
}

type Menance

type Menance struct {
	gorm.Model
	ForRace         string `gorm:"primaryKey"`
	Abundance       string `gorm:"column:abundance"`    // has enum
	Intelligence    string `gorm:"column:intelligence"` // has enum
	MagicPrevalency int64  `gorm:"column:magic_prevalency"`
	Consolidarity   string `gorm:"column:consolidarity"`
	AggressionIndex int64  `gorm:"column:aggression_index"`
	RacialPerks     string `gorm:"column:racial_perks;size=2048"`
	MenanceScore    int64  `gorm:"column:menance_score"`
}

type Monster

type Monster struct {
	gorm.Model
	MonsterType   string `gorm:"column:monster_type;unique"`
	Tankiness     int64  `gorm:"column:tankiness"`
	AttackPattern string `gorm:"column:attack_pattern"`
	PatrolPattern string `gorm:"column:patrol_pattern"`
	Respawn       string `gorm:"column:respawn"`
	Reward        string `gorm:"column:reward"`
	// -------------------- Owns "Subordinate" -----------------------------------------
	SubordinateRef string      `gorm:"column:subordinate_ref"`
	Subordinates   Subordinate `gorm:"foreignKey:MonsterType;references:SubordinateRef;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
	SubordinateCt  int64       `gorm:"column:subordinate_count"`
}

One-to-One

type MovementEnum

type MovementEnum int8
const (
	MovControlled MovementEnum = iota + 1
	MovForbidden
	Limited
	Reduced
	Dimensional
	Undashable
	Stopped
	Morphed
)

func (MovementEnum) ToString

func (mov MovementEnum) ToString() string

type Organization

type Organization struct {
	OrganizationGroup string `gorm:"column:organization_group"`
	Organization      string `gorm:"column:organization;primaryKey"`
	Department        string `gorm:"column:department"`
	Role              string `gorm:"column:role"`
}

type Physical

type Physical struct {
	gorm.Model
	BodyType string
	Styles   []PotentialStyle
}

type PhysicalStats

type PhysicalStats struct {
	gorm.Model
	Strength           int64   `gorm:"column:strength"`
	Penetration        int64   `gorm:"column:penetration"`
	PenetrationPercent float32 `gorm:"column:penetration_%"`
	LifeVamp           float32 `gorm:"column:life_vamp"`
}

type PotentialStyle

type PotentialStyle struct {
	gorm.Model
	Weapon       string
	Style        string
	Perks        string
	PreRequisite string
}

type Race

type Race struct {
	gorm.Model
	Race       string  `gorm:"column:race;primaryKey"`
	Family     string  `gorm:"column:family"`
	Head       string  `gorm:"column:head"`
	HeadRef    Head    `gorm:"foreignKey:ForRace;references:Head;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
	Body       string  `gorm:"column:body"`
	BodyRef    Body    `gorm:"foreignKey:ForRace;references:Body;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
	Menance    string  `gorm:"column:menance"`
	MenanceRef Menance `gorm:"foreignKey:ForRace;references:Menance;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
}

type School

type School struct {
	gorm.Model
	MagicType string
	Styles    []PotentialStyle
}

type SpellSchool

type SpellSchool struct {
	gorm.Model
	School       string    `gorm:"column:school;unique;notNull"`
	Cost         string    `gorm:"column:cost"`
	AbilityScope []Ability `gorm:"foreignKey:AbilitySpec"`
	FullCt       int64     `gorm:"column:full_ct"`    // updated by triggers from mongodb
	PartialCt    int64     `gorm:"column:partial_ct"` // updated by triggers from mongodb
	ItemCt       int64     `gorm:"column:item_ct"`    // updated by triggers from mongodb
}

One-to-Many, polymorphic

type Stats

type Stats struct {
	gorm.Model
	Defensive      uint             `gorm:"column:defensive"`
	DefensiveRef   DefensiveStats   `gorm:"foreignKey:ID;references:Defensive;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
	Utility        uint             `gorm:"column:utility"`
	UtilityRef     UtilityStats     `gorm:"foreignKey:ID;references:Utility;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
	BasicAttack    uint             `gorm:"column:basic_attack"`
	BasicAttackRef BasicAttackStats `gorm:"foreignKey:ID;references:BasicAttack;constraint:onUpdate:CASCADE,onDelete:CASCADE"`
}

type Subordinate

type Subordinate struct {
	gorm.Model
	MonsterType   string `gorm:"column:monster_type;unique;primaryKey"`
	Tankiness     int64  `gorm:"column:tankiness"`
	AttackPattern string `gorm:"column:attack_pattern"`
	Reward        string `gorm:"column:reward"`
}

type TechType

type TechType struct {
	gorm.Model
	Tech         string    `gorm:"column:tech;unique;notNull"`
	Fuel         string    `gorm:"column:fuel"`
	AbilityScope []Ability `gorm:"foreignKey:AbilitySpec"`
	FullCt       int64     `gorm:"column:full_ct"`    // updated by triggers from mongodb
	PartialCt    int64     `gorm:"column:partial_ct"` // updated by triggers from mongodb
	ItemCt       int64     `gorm:"column:item_ct"`    // updated by triggers from mongodb
}

One-to-Many, polymorphic

type Technology

type Technology struct {
	gorm.Model
	TechnologyType string
	Styles         []PotentialStyle
}

---------------------------------

type UnitDesign

type UnitDesign struct {
	Weapon Weapon `gorm:"polymorphic:Holder;"`
}

type User

type User struct {
	gorm.Model
	Username string `gorm:"column:username;unique_index"`
	Email    string `gorm:"column:email;unique_index"`
	Password string `gorm:"column:password;size:100;notNull"`
	IsAdmin  bool   `gorm:"column:admin;notNull"`
}

type UserExtras

type UserExtras struct {
	gorm.Model
	Gender       string       `gorm:"column:gender"`
	Organization Organization `gorm:"foreignKey:Organization"`
	User         User         `gorm:"foreignKey:Username;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
}

type UtilityStats

type UtilityStats struct {
	gorm.Model
	MovementSpeed     int64   `gorm:"column:movement_speed"`
	TrekSpeed         int64   `gorm:"column:trek_speed"`
	Tenacity          float32 `gorm:"column:tenacity"`
	Mentality         float32 `gorm:"column:mentality"`
	Weight            int64   `gorm:"column:weight"`
	SightRange        int64   `gorm:"column:sight_range"`
	HitboxSize        int64   `gorm:"column:hitbox_size"`
	CooldownReduction float32 `gorm:"column:cooldown_reduction"`
}

type Weapon

type Weapon struct {
	Weapon     string
	HolderID   uint
	HolderType string
}

to be used as polymorphic component only

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL