Melee rebalancing rebalancing, high damage single-target attacks (#18766)
This commit is contained in:
@@ -72,16 +72,17 @@ public sealed class MeleeWeaponComponent : Component
|
|||||||
public FixedPoint2 BluntStaminaDamageFactor = FixedPoint2.New(0.5f);
|
public FixedPoint2 BluntStaminaDamageFactor = FixedPoint2.New(0.5f);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Multiplies damage by this amount for wide attacks.
|
/// Multiplies damage by this amount for single-target attacks.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ViewVariables(VVAccess.ReadWrite), DataField("heavyDamageModifier")]
|
[ViewVariables(VVAccess.ReadWrite), DataField("heavyDamageModifier")]
|
||||||
public FixedPoint2 HeavyDamageModifier = FixedPoint2.New(1.25);
|
public FixedPoint2 HeavyDamageModifier = FixedPoint2.New(1.25);
|
||||||
|
|
||||||
|
//TODO: Was set to 0 value as of 2023-08-06, might want to delete later if we never go back to this idea
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// How much stamina it costs for a heavy attack.
|
/// How much stamina it costs for a heavy attack.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ViewVariables(VVAccess.ReadWrite), DataField("heavyStaminaCost")]
|
[ViewVariables(VVAccess.ReadWrite), DataField("heavyStaminaCost")]
|
||||||
public float HeavyStaminaCost = 15f;
|
public float HeavyStaminaCost = 0f;
|
||||||
|
|
||||||
// TODO: Temporarily 1.5 until interactionoutline is adjusted to use melee, then probably drop to 1.2
|
// TODO: Temporarily 1.5 until interactionoutline is adjusted to use melee, then probably drop to 1.2
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -452,7 +452,8 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
|
|||||||
|
|
||||||
protected virtual void DoLightAttack(EntityUid user, LightAttackEvent ev, EntityUid meleeUid, MeleeWeaponComponent component, ICommonSession? session)
|
protected virtual void DoLightAttack(EntityUid user, LightAttackEvent ev, EntityUid meleeUid, MeleeWeaponComponent component, ICommonSession? session)
|
||||||
{
|
{
|
||||||
var damage = GetDamage(meleeUid, user, component);
|
// If I do not come back later to fix Light Attacks being Heavy Attacks you can throw me in the spider pit -Errant
|
||||||
|
var damage = GetDamage(meleeUid, user, component) * GetHeavyDamageModifier(meleeUid, user, component);
|
||||||
|
|
||||||
// For consistency with wide attacks stuff needs damageable.
|
// For consistency with wide attacks stuff needs damageable.
|
||||||
if (Deleted(ev.Target) ||
|
if (Deleted(ev.Target) ||
|
||||||
@@ -575,7 +576,7 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
|
|||||||
var direction = targetMap.Position - userPos;
|
var direction = targetMap.Position - userPos;
|
||||||
var distance = Math.Min(component.Range, direction.Length());
|
var distance = Math.Min(component.Range, direction.Length());
|
||||||
|
|
||||||
var damage = GetDamage(meleeUid, user, component) * GetHeavyDamageModifier(meleeUid, user, component);
|
var damage = GetDamage(meleeUid, user, component);
|
||||||
var entities = ev.Entities;
|
var entities = ev.Entities;
|
||||||
|
|
||||||
if (entities.Count == 0)
|
if (entities.Count == 0)
|
||||||
|
|||||||
@@ -68,8 +68,9 @@
|
|||||||
attackRate: 1.5
|
attackRate: 1.5
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Slash: 3
|
# Actually does 3 + 1 damage due to +25% damage bonus on all single target melee attacks
|
||||||
Poison: 1
|
Slash: 2.4
|
||||||
|
Poison: 0.8
|
||||||
- type: Butcherable
|
- type: Butcherable
|
||||||
butcheringType: Spike
|
butcheringType: Spike
|
||||||
spawned:
|
spawned:
|
||||||
|
|||||||
@@ -263,7 +263,8 @@
|
|||||||
attackRate: 1
|
attackRate: 1
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Blunt: 5
|
# Actually does 5 damage due to +25% damage bonus on all single target melee attacks
|
||||||
|
Blunt: 4
|
||||||
- type: Pullable
|
- type: Pullable
|
||||||
- type: DoAfter
|
- type: DoAfter
|
||||||
- type: CreamPied
|
- type: CreamPied
|
||||||
|
|||||||
@@ -42,7 +42,8 @@
|
|||||||
animation: WeaponArcPunch
|
animation: WeaponArcPunch
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Piercing: 5
|
# Actually does 5 damage due to +25% damage bonus on all single target melee attacks
|
||||||
|
Piercing: 4
|
||||||
- type: Temperature
|
- type: Temperature
|
||||||
heatDamageThreshold: 400
|
heatDamageThreshold: 400
|
||||||
coldDamageThreshold: 285
|
coldDamageThreshold: 285
|
||||||
|
|||||||
Reference in New Issue
Block a user