Skip to content

Commit

Permalink
Melee Part 5: Less Exhaustion (#938)
Browse files Browse the repository at this point in the history
# A followup PR to the previous melee rebalancing, taking in feedback
from multiple sources.

There were some unintended changes bundled with the previous melee
changes that didn't flow well together. I'm documenting everything here
but would like to preface this by saying that, while a number of folks
have had issues with the changes, there's been a surprisingly quiet
amount of people who have just come forward and said that they've liked
a number of the changes.

Instead of just being satisfied with this, I would like to appease the
folks who have had difficulties adjusting to the melee changes by
improving the experience on a number of weapons and strange outlier
cases that have cropped up.
Below is the changelog any item not listed was either only changed by
the Default Wide Swing change or had no change at all:

**Default Wide Swing**
Angle 45 -> 60
Stamina Cost 10 -> 2.5
MaxTargets 1 -> 3

_-I wasn't aware that the max targets and angle was being dropped when I
made my initial changes, the stamina cost was a bit too high(was
originally supposed to be 5 at one point). 2.5 should be rarely felt and
does more to halt stamina regen than directly impact the stamina pool.
Any weapon denoted below with a ^ symbol is buffed by this change._

**ElectricGuitar**
heavyStaminaCost 10 -> 7.5

**BassGuitar**
heavyStaminaCost 10 -> 7.5

**RockGuitar**
heavyStaminaCost 15 -> 10

**Banjo**
heavyStaminaCost 10 -> 7.5

_-All of the guitars have received less of a stamina cost, excluding the
acoustic which is fine at 10._

**RubberDuck**
range 1.3 -> 1.5
heavyStaminaCost 5 -> default

_Fear the duck._

**BrokenBottle**
attackRate 1.5 -> 1.4
range 1.3 -> 1.4

_-Normalizing the range to feel less ass, but pulling back the attack
rate a smidge as a result._

**FireExtinguisher**
heavyStaminaCost 10 -> 7.5
maxTargets 8 -> 6

**HolyBible**
maxTargets 3 -> 4

**MiniHoe**
heavyStaminaCost 5 -> default

**PlantClippers**
heavyStaminaCost 5 -> default

**Hatchet** ^
range 1.25 -> 1.4

**Mops**
heavyStaminaCost 10 -> 7.5

_-Mopfu is real._

**Drill**
range 1.3 -> 1.4

**Scalpel**
range 1.25 -> 1.4

**CircularSaw + AdvancedCircularSaw**
attackRate 1.25 -> 1.15
range 1.4 -> 1.5
heavyStaminaCost 15 -> 10

_-The heavy attack for these weapons is a 360 spin, try it out._

**SecLight**
BluntStamina 1.5 -> 2
heavyStaminaCost 5 -> default

_-This now does about 14 stamina damage on hit, for when you really need
to harm baton._

**GasTanks**
heavyStaminaCost 15 -> 10
maxTargets 1 -> 3
angle 140 -> 100

_-Been told this is a strong weapon, but a bit odd and unreliable. This
should be easier to use but still keep it's flavor._

**JawsOfLife**
attackRate 0.75 -> 0.85
range 1.75 -> 1.65
heavyStaminaCost 10 -> 5

**Toolboxes** ^
heavyStaminaCost 10 -> 7.5

**BaseTools**
heavyStaminaCost 5 -> default

**RollingPin**
heavyStaminaCost 5 -> default
maxTargets 1 -> 2

**BaseballBat**
heavyStaminaCost 15 -> 10

**RitualDagger**
range 1.4 -> 1.5

**EldritchBlade**
range 1.75 -> 1.65
heavyStaminaCost 10 -> 7.5

**UnholyHalberd**
attackrate 0.75 -> 0.85
heavyStaminaCost 10 -> 7.5

**HomeRunBat**
heavyStaminaCost 25 -> 15
maxTargets 2 -> Default

**Knife**
range 1.4 -> 1.5
heavyStaminaCost 5 -> default

_-This change parents over to majority of knives including the cleaver._

**Shiv**
range 0.75 -> 1.4

_-Whoops!_

**Crusher** ^
attackRate 0.75 -> 0.85
range 1.75 -> 1.65
heavyStaminaCost 10 -> 7.5

**CrusherDagger**
heavyStaminaCost 5 -> default

**Pickaxe**
attackRate 0.75 -> 0.85
range 1.75 -> 1.5
heavyStaminaCost 5 -> default
maxTargets 2 -> 5
angle 60 -> 80

**Drill**
attackRate 0.5 -> 1.2
range 1.4 -> 1.5
Blunt 9 -> 6
heavyStaminaCost 10 -> default
maxTargets (default)

_-I really despise the current balance of mining/salvage, the gameplay
loops require you to destroy fifty rocks to get two plasma and a bar of
gold. Your tools are now fixed._

**Sledgehammer**
attackRate 0.75 -> 0.8 
heavyStaminaCost 15 -> 7.5

_-This can hit 10 people btw._

**Spears**
_-No changes here, just a remark that they are pretty strong and a good
option yet again._

**Stunprod**
attackRate 0.8 -> 1
range 1.4 -> 1.5
heavyStaminaCost 5 -> default
maxtargets (default)
angle (default

_-So when not powered this thing does 15 stam damage when you smack
someone with it, so if it runs out of power you can still smack the
person a bit to stun them, but here, it's been buffed a bit more._

**Katana**
heavyRange 3 -> 2.75
heavyStaminaCost 10 -> 15

_-The heavy attack of the Katana is comically overpowered, it has an
absurd range. This is still really funny and cool but a little more
balanced._

**Machete** ^
heavyStaminaCost 10 -> 7.5

**Claymore**
heavyStaminaCost 20 -> 15

**Cutlass**
heavyStaminaCost 10 -> 7.5

**StunBaton**
bluntStamina 2.0 -> 2.5
heavyStaminaCost 5 -> 1
maxTargets (default)
angle (default)

_-Wow, from all the reports I got about this I thought I messed up on
the balance of the stun baton, but honestly it was just a case of
security players actually just sucking, lmao, this one is a full
problème de compétence but whatever, I'm changing the stamina cost to 1,
which shouldn't drop you at all, but will prevent your stamina from
recovering if you just spam your wide swing. I've also further buffed
the harm baton functionality._

**Truncheon**
heavyStaminaCost 10 -> 7.5

.


And that's it.
Realistically this is just an overall adjustment of stamina costs to be
a bit less punishing but this is all fairly redundant, a number of the
'issues' were spawned by default melee values not being updated properly
to some codebases and people just spamming their power attack because
that's how its been for a few months.
This should be considerably better but please left click a little
instead of flailing around.

:cl: ODJ
- tweak: Tweaked melee; Less stamina usage on heavy attacks.

Co-authored-by: jcsmithing <[email protected]>
  • Loading branch information
OldDanceJacket and jcsmithing committed Sep 20, 2024
1 parent 7ff002a commit 14d8f81
Show file tree
Hide file tree
Showing 24 changed files with 67 additions and 90 deletions.
6 changes: 3 additions & 3 deletions Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ public sealed partial class MeleeWeaponComponent : Component
/// Total width of the angle for wide attacks.
/// </summary>
[DataField, AutoNetworkedField]
public Angle Angle = Angle.FromDegrees(45);
public Angle Angle = Angle.FromDegrees(60);

[DataField, AutoNetworkedField]
public EntProtoId Animation = "WeaponArcPunch";
Expand All @@ -129,10 +129,10 @@ public sealed partial class MeleeWeaponComponent : Component
public bool SwingLeft;

[DataField, AutoNetworkedField]
public float HeavyStaminaCost = 10f;
public float HeavyStaminaCost = 2.5f;

[DataField, AutoNetworkedField]
public int MaxTargets = 1;
public int MaxTargets = 3;

// Sounds

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
bluntStaminaDamageFactor: 1.5
heavyRateModifier: 0.75
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 10
heavyStaminaCost: 7.5
angle: 75
- type: Item
size: Normal
Expand Down Expand Up @@ -67,7 +67,7 @@
bluntStaminaDamageFactor: 1.5
heavyRateModifier: 0.75
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 10
heavyStaminaCost: 7.5
angle: 75
- type: Item
size: Normal
Expand Down Expand Up @@ -110,7 +110,7 @@
bluntStaminaDamageFactor: 1.5
heavyRateModifier: 0.75
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 15
heavyStaminaCost: 10
angle: 160
- type: Wieldable
- type: IncreaseDamageOnWield
Expand Down Expand Up @@ -234,7 +234,7 @@
bluntStaminaDamageFactor: 2
heavyRateModifier: 0.75
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 10
heavyStaminaCost: 7.5
angle: 75

- type: entity
Expand Down
3 changes: 1 addition & 2 deletions Resources/Prototypes/Entities/Objects/Fun/toys.yml
Original file line number Diff line number Diff line change
Expand Up @@ -630,12 +630,11 @@
state: icon
- type: MeleeWeapon
attackRate: 1.5
range: 1.3
range: 1.5
damage:
types:
Blunt: 0.1
heavyDamageBaseModifier: 2
heavyStaminaCost: 5
maxTargets: 8
angle: 25
- type: Clothing
Expand Down
4 changes: 2 additions & 2 deletions Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
components:
- type: Sharp
- type: MeleeWeapon
attackRate: 1.5
range: 1.3
attackRate: 1.4
range: 1.4
damage:
types:
Slash: 4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@
Blunt: 8
heavyRateModifier: 0.8
heavyDamageBaseModifier: 2
heavyStaminaCost: 15
maxTargets: 8
heavyStaminaCost: 7.5
maxTargets: 6
soundHit:
path: /Audio/Weapons/smash.ogg
- type: Tool
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
heavyRateModifier: 0.8
heavyDamageBaseModifier: 1
heavyStaminaCost: 5
maxTargets: 3
maxTargets: 4
- type: Tag
tags:
- Book
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
heavyRateModifier: 1
heavyRangeModifier: 1
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 5
maxTargets: 5
angle: 100
- type: Item
Expand All @@ -48,7 +47,6 @@
heavyRateModifier: 0.9
heavyRangeModifier: 1.25
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 5
maxTargets: 1
angle: 20
- type: Item
Expand Down Expand Up @@ -103,7 +101,7 @@
wideAnimationRotation: 135
swingLeft: true
attackRate: 1.25
range: 1.25
range: 1.4
damage:
types:
Slash: 10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
heavyRateModifier: 0.8
heavyRangeModifier: 1.25
heavyDamageBaseModifier: 1.25
heavyStaminaCost: 10
heavyStaminaCost: 7.5
maxTargets: 2
angle: 180
soundHit:
Expand Down Expand Up @@ -64,7 +64,7 @@
heavyRateModifier: 0.8
heavyRangeModifier: 1.25
heavyDamageBaseModifier: 1.25
heavyStaminaCost: 10
heavyStaminaCost: 7.5
maxTargets: 2
angle: 180
soundHit:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
- 1,1,1,1
- type: MeleeWeapon
attackRate: 0.75
range: 1.3
range: 1.4
damage:
types:
Piercing: 8
Expand Down Expand Up @@ -87,7 +87,7 @@
wideAnimationRotation: 90
swingLeft: true
attackRate: 1.25
range: 1.25
range: 1.4
damage:
types:
Slash: 7.5
Expand Down Expand Up @@ -208,7 +208,8 @@
heavyStaminaCost: 20
maxTargets: 8
angle: 20
# ~~No melee for regular saw because have you ever seen someone use a band saw as a weapon? It's dumb.~~ No, I'm going to saw through your bones.
# --No melee for regular saw because have you ever seen someone use a band saw as a weapon? It's dumb.--
# No, I'm going to saw through your bones.

- type: entity
name: choppa
Expand Down Expand Up @@ -252,15 +253,15 @@
storedRotation: 90
- type: MeleeWeapon
attackRate: 1.15
range: 1.4
range: 1.5
bluntStaminaDamageFactor: 3.0
damage:
types:
Blunt: 4.5
Slash: 5.5
heavyRateModifier: 0.5
heavyDamageBaseModifier: 1
heavyStaminaCost: 15
heavyStaminaCost: 10
maxTargets: 8
angle: 360
soundHit:
Expand All @@ -282,16 +283,16 @@
heldPrefix: advanced
storedRotation: 90
- type: MeleeWeapon
attackRate: 1.25
range: 1.4
attackRate: 1.15
range: 1.5
bluntStaminaDamageFactor: 5.0
damage:
types:
Blunt: 4.5
Slash: 7.5
heavyRateModifier: 0.5
heavyDamageBaseModifier: 1
heavyStaminaCost: 15
heavyStaminaCost: 10
maxTargets: 8
angle: 360
soundHit:
Expand Down
3 changes: 1 addition & 2 deletions Resources/Prototypes/Entities/Objects/Tools/flashlights.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,8 @@
damage:
types:
Blunt: 6.5
bluntStaminaDamageFactor: 1.5
bluntStaminaDamageFactor: 2
heavyRateModifier: 0.9
heavyStaminaCost: 5
maxTargets: 1
angle: 20
soundHit:
Expand Down
6 changes: 3 additions & 3 deletions Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@
bluntStaminaDamageFactor: 2.5
heavyRateModifier: 0.8
heavyDamageBaseModifier: 1.5
heavyStaminaCost: 15
maxTargets: 1
angle: 140
heavyStaminaCost: 10
maxTargets: 3
angle: 100
- type: PhysicalComposition
materialComposition:
Steel: 185
Expand Down
6 changes: 3 additions & 3 deletions Resources/Prototypes/Entities/Objects/Tools/jaws_of_life.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,16 @@
changeSound: /Audio/Items/change_jaws.ogg
- type: MeleeWeapon
wideAnimationRotation: 90
attackRate: 0.75
range: 1.75
attackRate: 0.85
range: 1.65
damage:
types:
Blunt: 10
Slash: 2
bluntStaminaDamageFactor: 2.0
heavyRateModifier: 0.8
heavyDamageBaseModifier: 1.5
heavyStaminaCost: 10
heavyStaminaCost: 5
maxTargets: 1
angle: 20
soundHit:
Expand Down
2 changes: 1 addition & 1 deletion Resources/Prototypes/Entities/Objects/Tools/toolbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
Blunt: 9
bluntStaminaDamageFactor: 2.0
heavyRateModifier: 0.8
heavyStaminaCost: 10
heavyStaminaCost: 7.5
angle: 80.5
soundHit:
path: "/Audio/Weapons/smash.ogg"
Expand Down
13 changes: 3 additions & 10 deletions Resources/Prototypes/Entities/Objects/Tools/tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,7 @@
Blunt: 6.5
heavyRateModifier: 0.9
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 5
maxTargets: 4
angle: 60
soundHit:
path: "/Audio/Items/wirecutter.ogg"
- type: Tool
Expand Down Expand Up @@ -103,7 +101,6 @@
Piercing: 6
heavyRateModifier: 0.75
heavyDamageBaseModifier: 1.5
heavyStaminaCost: 5
maxTargets: 1
angle: 20
soundHit:
Expand Down Expand Up @@ -165,7 +162,6 @@
bluntStaminaDamageFactor: 1.5
heavyRateModifier: 0.75
heavyDamageBaseModifier: 1.75
heavyStaminaCost: 5
angle: 100
soundHit:
collection: MetalThud
Expand Down Expand Up @@ -279,7 +275,6 @@
Shock: 2
heavyRateModifier: 0.9
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 5
maxTargets: 1
angle: 20
- type: Item
Expand Down Expand Up @@ -424,7 +419,6 @@
Piercing: 8
heavyRateModifier: 0.9
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 5
maxTargets: 1
angle: 20
soundHit:
Expand Down Expand Up @@ -641,14 +635,14 @@
- type: MeleeWeapon
wideAnimationRotation: 45
attackRate: 0.8
range: 2.0
range: 1.75
damage:
types:
Blunt: 8
bluntStaminaDamageFactor: 1.5
heavyRateModifier: 0.9
heavyDamageBaseModifier: 1.5
heavyStaminaCost: 10
heavyStaminaCost: 7.5
angle: 100
soundHit:
collection: MetalThud
Expand Down Expand Up @@ -696,8 +690,7 @@
bluntStaminaDamageFactor: 2.0
heavyRateModifier: 0.8
heavyDamageBaseModifier: 1.5
heavyStaminaCost: 5
maxTargets: 1
maxTargets: 2
angle: 20
soundHit:
collection: MetalThud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
bluntStaminaDamageFactor: 2.0
heavyRateModifier: 0.5
heavyDamageBaseModifier: 1.75
heavyStaminaCost: 15
heavyStaminaCost: 10
maxTargets: 2
angle: 120
soundHit:
Expand Down
10 changes: 5 additions & 5 deletions Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
- type: MeleeWeapon
wideAnimationRotation: -135
attackRate: 1.25
range: 1.4
range: 1.5
damage:
types:
Slash: 8
Expand Down Expand Up @@ -39,12 +39,12 @@
- type: MeleeWeapon
wideAnimationRotation: -135
attackRate: 0.75
range: 1.75
range: 1.65
damage:
types:
Slash: 12
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 10
heavyStaminaCost: 7.5
maxTargets: 6
angle: 90
- type: Item
Expand All @@ -70,7 +70,7 @@
state: icon
- type: MeleeWeapon
wideAnimationRotation: -135
attackRate: 0.75
attackRate: 0.85
range: 1.75
damage:
types:
Expand All @@ -79,7 +79,7 @@
Structural: 5
heavyRateModifier: 0.9
heavyDamageBaseModifier: 1.2
heavyStaminaCost: 10
heavyStaminaCost: 7.5
angle: 100
soundHit:
collection: MetalThud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
bluntStaminaDamageFactor: 2.0
heavyRateModifier: 0.5
heavyDamageBaseModifier: 1.75
heavyStaminaCost: 25
maxTargets: 2
heavyStaminaCost: 15
angle: 120
soundHit:
collection: ExplosionSmall
Expand Down
Loading

0 comments on commit 14d8f81

Please sign in to comment.