Части тела
Перечисление частей тела, может использоваться для дифференциации при нанесении урона, лечения и .т.д.
public enum BodyParts
{
Head = 1, // Голова
Thorax = 2, // Грудь
Abdomen = 3, // Живот
ThighRight = 4, // Бедро правое
ThighLeft = 5, // Бедро левое
ShoulderRight = 6, // Плечо правое
ShoulderLeft = 7, // Плечо левое
ShinRight = 8, // Голень правая
ShinLeft = 9, // Голень левая
ForearmRight = 10, // Предплечье правое
ForearmLeft = 11 // Предплечье левое
}
Dependency
Зависимость одной части тела от другой.
Конструктор Dependency
Dependency(BodyPartState argDependencyPart, float argDependencyKoef)
Задает коэффициенты влияния (argDependencyKoef) для зависимой части тела (argDependencyPart).
float GetDependency()
Возвращает величину зависимости = 100 - (float)(Math.Pow(DependencyPart.ComplexState, DependencyKoef) / Math.Pow(100, DependencyKoef - 1))
Состояние части тела (класс BodyPartState)
List Dependency
Описывает влияние зависимых частей тела на эту часть тела
List SystemDependency
Описывает влияние жизненно важных систем на часть тела
State
Текущие состояние. При значении меньше нуля, начинается автоматическая деградация всех зависимых жизненно важных органов/систем.
float Koef
Коэфициент влияния на итоговое состояние здоровья. В поведении по умолчанию, считается что 50% здоровья всех частей тела суммарно указывают на повреждения.
AddBodyDependency()
AddBodyDependency(BodyPartState argDependencyPart, float argDependencyKoef)
Добавить к состоянию зависимые части тела с определенными коэффициентами. Например, попадание в бедро, влияет на функциональность голени.
AddSystemDependency()
AddSystemDependency(VitalSystemState argVitalSystem)
Добавить зависимую жизненно важную систему. Например, попадание в грудь влияет на дыхательную систему.
float Injury()
Рассчитывает взвешенное значение повреждения, учитывая взаимосвязь систем