2022-10-14 13:38:24 +03:00

151 lines
5.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package itemprops
import "github.com/shopspring/decimal"
//MedicalSystem организм
// Humanoid
// Circuits
// Intake
//
// Breathe: Vessel: Air intake >> mouth/nose -> trachea -> lungs
// Vessel: Blood >> heart -> lungs -> brain -> heart
// Eat:
// Vessel: food >> mouth -> jaws
// Vessel: pulp >> esophagus -> stomach
// Congestion:
// Vessel: Blood >> heart -> guts -> system -> liver -> heart
// Vessel: pulp >> stomach -> guts -> output
// Vessel: bile >> liver -> stomach -> guts
// Fast Congestion
// Vessel: liquid >> stomach -> guts -> kidney -> bladder -> pulp output
// Vessel: Blood >> heart -> guts -> system -> kidney -> heart
// Blood сirculation:
// Vessel: blood >> heart -> system -> spleen -> heart
// -> brain -> heart
// Vision:
// Vessel: Nerve signal >> eye -> brain
// Smell:
// Vessel: Air intake >> nose
// Vessel: Nerve signal >> nose -> brain
// Hearing:
// Vessel: Air pressure >> ear
// Vessel: Nerve signal >> ear -> brain
// Touching:
// Vessel: Phys pressure/Temperature/Solvent >> skin -> nerve tissue -> brain
// Motion Sense:
// Vessel: Air pressure >> ear/nose -> inner ear -> brain [feeling fast-moving items]
// Motion:
// Vessel: Gravity >> inner ear -> brain [equilibrium]
// Vessel: Nerve signal >> brain -> major nerve -> [...muscle -> tendon -> bone/joint] -> nerve tissue -> brain
// Structural:
// Vessel: Nerve signal >> brain -> spinal brain -> [...muscle] -> nerve tissue -> brain
// Psychic:
// Vessel: Nerve signal >> brain -> spinal brain -> brain
// Consciousness:
// Vessel: Nerve signal >> brain -> brain
// Misc
// Hand Grip ???:
// Vessel: Nerve signal >> palm -> fingers with off-thumb
// Stance
// Body structure:
// BasePart -> chest -> spine -> joint -> head
// -> spine -> lowerbody
// -> [left] joint -> shoulder -> joint -> arm -> joint -> palm -> 5 x finger
// -> [right] joint -> shoulder -> joint -> arm -> joint -> palm -> 5 x finger
// -> lowerbody
// -> [left] joint -> leg -> joint -> hip -> joint -> foot -> 5 x finger
// -> [right] joint -> leg -> joint -> hip -> joint -> foot -> 5 x finger
// -> head -> joint -> jaw
// MedicalSystem Организм
type MedicalSystem struct {
BasePart BodyPart
}
// MedicalCircuit Система обращения
type MedicalCircuit struct {
Provides MedicalAbility
DependsOn Organ
Vessel MedicalVessel
Contains []Organ
}
// MedicalVessel кровь, желчь, пульпа, воздух, еда
type MedicalVessel struct {
Name string
Material
Pressure decimal.Decimal //Pressure давление, kg / m3
}
// BodyPart часть тела
type BodyPart struct {
LayerExtra MedicalMaterial
LayerOuter MedicalMaterial
LayerMiddle MedicalMaterial
LayerInner MedicalMaterial
Joints []Joint
Contains []InnerOrgan
Exposes []OuterOrgan
}
// Joint суставы, к чему и что крепится
type Joint struct {
Name string
ConnectsFrom BodyPart
ConnectsTo BodyPart
}
type Organ struct {
Name string
Material
}
// InnerOrgan ливер, селезёнка, сердце, кишки итп
type InnerOrgan struct {
Organ
DependsOn MedicalCircuit
BelongsTo MedicalCircuit
}
// OuterOrgan глаза, уши, волосы, когти итп
type OuterOrgan struct {
Organ
DependsOn MedicalCircuit
BelongsTo MedicalCircuit
}
// слой части тела - кожа/чешуя/роговые пластины/хитиновый панцирь, жир, мускулы, кости
type MedicalMaterial struct {
Name string
Material
MedicalSystemFlags
}
// @todo заменить на Medical Circuit
type MedicalSystemFlags struct {
//Structural является ли опорным аппаратом
Structural bool
//Содежит ли кровь/ихор/
MajorVeins bool //вход на мотор, сломаешь - быстро выйдет из строя если будет двигаться
MajorArteria bool //выход, то же самое + высокое давление
Veins bool //вход на мотор
Arteria bool //выход из мотора, высокое давление
MajorNerve bool //повредишь - ниже по суставам не работает
NerveTissue bool //повредишь - ниже по суставамс болит
OxygenTube bool //трахея
OxygenPump bool //лёгкое
BloodPump bool //мотор
ContainsCongestionLiquid bool
IsMainCongestionPump bool
}
// MedicalAbility спсобность есть, стоять, не терять равновесие, дышать, выздоравливать, лечить свои органы, видеть итп
type MedicalAbility string