Tweaks damage types and classes (#1969)

Co-authored-by: ancientpower <ancientpowerer@gmail.com>
This commit is contained in:
ancientpower
2020-08-31 12:11:22 -05:00
committed by GitHub
parent 178931e54b
commit f41e39410d
6 changed files with 82 additions and 40 deletions

View File

@@ -139,12 +139,15 @@ namespace Content.Server.Chat
damageableComponent.ChangeDamage(kind switch damageableComponent.ChangeDamage(kind switch
{ {
SuicideKind.Blunt => DamageType.Blunt, SuicideKind.Blunt => DamageType.Blunt,
SuicideKind.Slash => DamageType.Slash,
SuicideKind.Piercing => DamageType.Piercing, SuicideKind.Piercing => DamageType.Piercing,
SuicideKind.Heat => DamageType.Heat, SuicideKind.Heat => DamageType.Heat,
SuicideKind.Disintegration => DamageType.Disintegration, SuicideKind.Shock => DamageType.Shock,
SuicideKind.Cellular => DamageType.Cellular, SuicideKind.Cold => DamageType.Cold,
SuicideKind.DNA => DamageType.DNA, SuicideKind.Poison => DamageType.Poison,
SuicideKind.Radiation => DamageType.Radiation,
SuicideKind.Asphyxiation => DamageType.Asphyxiation, SuicideKind.Asphyxiation => DamageType.Asphyxiation,
SuicideKind.Bloodloss => DamageType.Bloodloss,
_ => DamageType.Blunt _ => DamageType.Blunt
}, },
500, 500,

View File

@@ -14,12 +14,15 @@ namespace Content.Server.Interfaces.GameObjects
//Damage type suicides //Damage type suicides
Blunt, Blunt,
Slash,
Piercing, Piercing,
Heat, Heat,
Disintegration, Shock,
Cellular, Cold,
DNA, Poison,
Asphyxiation Radiation,
Asphyxiation,
Bloodloss
} }
} }

View File

@@ -12,7 +12,8 @@ namespace Content.Shared.Damage
Brute, Brute,
Burn, Burn,
Toxin, Toxin,
Airloss Airloss,
Genetic
} }
public static class DamageClassExtensions public static class DamageClassExtensions
@@ -20,10 +21,11 @@ namespace Content.Shared.Damage
private static readonly ImmutableDictionary<DamageClass, List<DamageType>> ClassToType = private static readonly ImmutableDictionary<DamageClass, List<DamageType>> ClassToType =
new Dictionary<DamageClass, List<DamageType>> new Dictionary<DamageClass, List<DamageType>>
{ {
{DamageClass.Brute, new List<DamageType> {DamageType.Blunt, DamageType.Piercing}}, {DamageClass.Brute, new List<DamageType> {DamageType.Blunt, DamageType.Slash, DamageType.Piercing}},
{DamageClass.Burn, new List<DamageType> {DamageType.Heat, DamageType.Disintegration}}, {DamageClass.Burn, new List<DamageType> {DamageType.Heat, DamageType.Shock, DamageType.Cold}},
{DamageClass.Toxin, new List<DamageType> {DamageType.Cellular, DamageType.DNA}}, {DamageClass.Toxin, new List<DamageType> {DamageType.Poison, DamageType.Radiation}},
{DamageClass.Airloss, new List<DamageType> {DamageType.Asphyxiation}} {DamageClass.Airloss, new List<DamageType> {DamageType.Asphyxiation, DamageType.Bloodloss}},
{DamageClass.Genetic, new List<DamageType> {DamageType.Cellular}}
}.ToImmutableDictionary(); }.ToImmutableDictionary();
public static List<DamageType> ToTypes(this DamageClass @class) public static List<DamageType> ToTypes(this DamageClass @class)

View File

@@ -10,12 +10,16 @@ namespace Content.Shared.Damage
public enum DamageType public enum DamageType
{ {
Blunt, Blunt,
Slash,
Piercing, Piercing,
Heat, Heat,
Disintegration, Shock,
Cellular, Cold,
DNA, Poison,
Asphyxiation Radiation,
Asphyxiation,
Bloodloss,
Cellular
} }
public static class DamageTypeExtensions public static class DamageTypeExtensions
@@ -25,12 +29,17 @@ namespace Content.Shared.Damage
new Dictionary<DamageType, DamageClass> new Dictionary<DamageType, DamageClass>
{ {
{DamageType.Blunt, DamageClass.Brute}, {DamageType.Blunt, DamageClass.Brute},
{DamageType.Slash, DamageClass.Brute},
{DamageType.Piercing, DamageClass.Brute}, {DamageType.Piercing, DamageClass.Brute},
{DamageType.Heat, DamageClass.Burn}, {DamageType.Heat, DamageClass.Burn},
{DamageType.Disintegration, DamageClass.Burn}, {DamageType.Shock, DamageClass.Burn},
{DamageType.Cellular, DamageClass.Toxin}, {DamageType.Cold, DamageClass.Burn},
{DamageType.DNA, DamageClass.Toxin}, {DamageType.Poison, DamageClass.Toxin},
{DamageType.Asphyxiation, DamageClass.Airloss} {DamageType.Radiation, DamageClass.Toxin},
{DamageType.Asphyxiation, DamageClass.Airloss},
{DamageType.Bloodloss, DamageClass.Airloss},
{DamageType.Cellular, DamageClass.Genetic }
}.ToImmutableDictionary(); }.ToImmutableDictionary();
public static DamageClass ToClass(this DamageType type) public static DamageClass ToClass(this DamageType type)

View File

@@ -5,6 +5,7 @@
- Burn - Burn
- Toxin - Toxin
- Airloss - Airloss
- Genetic
- type: damageContainer - type: damageContainer
id: metallicDamageContainer id: metallicDamageContainer

View File

@@ -2,55 +2,79 @@
id: defaultResistances id: defaultResistances
coefficients: coefficients:
Blunt: 1.0 Blunt: 1.0
Slash: 1.0
Piercing: 1.0 Piercing: 1.0
Heat: 1.0 Heat: 1.0
Disintegration: 1.0 Shock: 1.0
Cellular: 1.0 Cold: 1.0
DNA: 1.0 Poison: 1.0
Radiation: 1.0
Asphyxiation: 1.0 Asphyxiation: 1.0
Bloodloss: 1.0
Cellular: 1.0
flatReductions: flatReductions:
Blunt: 0 Blunt: 0
Slash: 0
Piercing: 0 Piercing: 0
Heat: 0 Heat: 0
Disintegration: 0 Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0 Cellular: 0
DNA: 0
Asphyxiation: 0
- type: resistanceSet - type: resistanceSet
id: dionaResistances id: dionaResistances
coefficients: coefficients:
Blunt: 0.5 Blunt: 0.5
Slash: 1.2
Piercing: 0.7 Piercing: 0.7
Heat: 1.8 Heat: 1.8
Disintegration: 1.8 Shock: 0.5
Cellular: 1.0 Cold: 1.5
DNA: 1.0 Poison: 0.8
Radiation: 0
Asphyxiation: 1.0 Asphyxiation: 1.0
Bloodloss: 1.0
Cellular: 1.0
flatReductions: flatReductions:
Blunt: 0 Blunt: 0
Slash: 0
Piercing: 0 Piercing: 0
Heat: 0 Heat: 0
Disintegration: 0 Shock: 0
Cellular: 0 Cold: 0
DNA: 0 Poison: 0
Radiation: 0
Asphyxiation: 0 Asphyxiation: 0
Bloodloss: 0
Cellular: 0
- type: resistanceSet - type: resistanceSet
id: metallicResistances id: metallicResistances
coefficients: coefficients:
Blunt: 0.7 Blunt: 0.7
Slash: 0.5
Piercing: 0.7 Piercing: 0.7
Heat: 1.0 Heat: 1.0
Disintegration: 1.0 Shock: 1.2
Cellular: 0.0 Cold: 0
DNA: 0.0 Poison: 0
Asphyxiation: 0.0 Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
flatReductions: flatReductions:
Blunt: 0 Blunt: 0
Slash: 0
Piercing: 0 Piercing: 0
Heat: 0 Heat: 0
Disintegration: 0 Shock: 0
Cellular: 0 Cold: 0
DNA: 0 Poison: 0
Asphyxiation: 0 Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0