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);
|
||||
|
||||
/// <summary>
|
||||
/// Multiplies damage by this amount for wide attacks.
|
||||
/// Multiplies damage by this amount for single-target attacks.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("heavyDamageModifier")]
|
||||
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>
|
||||
/// How much stamina it costs for a heavy attack.
|
||||
/// </summary>
|
||||
[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
|
||||
/// <summary>
|
||||
|
||||
@@ -452,7 +452,8 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
|
||||
|
||||
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.
|
||||
if (Deleted(ev.Target) ||
|
||||
@@ -575,7 +576,7 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
|
||||
var direction = targetMap.Position - userPos;
|
||||
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;
|
||||
|
||||
if (entities.Count == 0)
|
||||
|
||||
@@ -68,8 +68,9 @@
|
||||
attackRate: 1.5
|
||||
damage:
|
||||
types:
|
||||
Slash: 3
|
||||
Poison: 1
|
||||
# Actually does 3 + 1 damage due to +25% damage bonus on all single target melee attacks
|
||||
Slash: 2.4
|
||||
Poison: 0.8
|
||||
- type: Butcherable
|
||||
butcheringType: Spike
|
||||
spawned:
|
||||
|
||||
@@ -263,7 +263,8 @@
|
||||
attackRate: 1
|
||||
damage:
|
||||
types:
|
||||
Blunt: 5
|
||||
# Actually does 5 damage due to +25% damage bonus on all single target melee attacks
|
||||
Blunt: 4
|
||||
- type: Pullable
|
||||
- type: DoAfter
|
||||
- type: CreamPied
|
||||
|
||||
@@ -42,7 +42,8 @@
|
||||
animation: WeaponArcPunch
|
||||
damage:
|
||||
types:
|
||||
Piercing: 5
|
||||
# Actually does 5 damage due to +25% damage bonus on all single target melee attacks
|
||||
Piercing: 4
|
||||
- type: Temperature
|
||||
heatDamageThreshold: 400
|
||||
coldDamageThreshold: 285
|
||||
|
||||
Reference in New Issue
Block a user