Tweaks damage types and classes (#1969)
Co-authored-by: ancientpower <ancientpowerer@gmail.com>
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
- Burn
|
- Burn
|
||||||
- Toxin
|
- Toxin
|
||||||
- Airloss
|
- Airloss
|
||||||
|
- Genetic
|
||||||
|
|
||||||
- type: damageContainer
|
- type: damageContainer
|
||||||
id: metallicDamageContainer
|
id: metallicDamageContainer
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user