diff --git a/Content.Server/_Sunrise/SharpeningSystem/SharpenerComponent.cs b/Content.Server/_Sunrise/SharpeningSystem/SharpenerComponent.cs
index 2a0bf0f668..27eab67e2b 100644
--- a/Content.Server/_Sunrise/SharpeningSystem/SharpenerComponent.cs
+++ b/Content.Server/_Sunrise/SharpeningSystem/SharpenerComponent.cs
@@ -5,9 +5,16 @@ namespace Content.Server._Sunrise.SharpeningSystem;
[RegisterComponent]
public sealed partial class SharpenerComponent : Component
{
+ ///
+ /// Sunrise - Edit
+ ///
[ViewVariables(VVAccess.ReadWrite)]
[DataField]
- public DamageSpecifier DamageBonus;
+ public DamageSpecifier SlashDamageBonus = new();
+
+ [ViewVariables(VVAccess.ReadWrite)]
+ [DataField]
+ public DamageSpecifier PiercingDamageBonus = new();
[ViewVariables(VVAccess.ReadWrite)]
[DataField]
diff --git a/Content.Server/_Sunrise/SharpeningSystem/SharpeningSystem.cs b/Content.Server/_Sunrise/SharpeningSystem/SharpeningSystem.cs
index 4701e22d2e..638fa33d8a 100644
--- a/Content.Server/_Sunrise/SharpeningSystem/SharpeningSystem.cs
+++ b/Content.Server/_Sunrise/SharpeningSystem/SharpeningSystem.cs
@@ -4,6 +4,7 @@ using Content.Shared.Item;
using Content.Shared.Popups;
using Content.Shared.Weapons.Melee;
using Content.Shared.Weapons.Melee.Events;
+using Content.Shared.Damage;
namespace Content.Server._Sunrise.SharpeningSystem;
@@ -39,8 +40,8 @@ public sealed class SharpeningSystem : EntitySystem
_popupSystem.PopupEntity(Loc.GetString("sharpening-failed"), target, args.User);
return;
}
-
- if (!meleeWeaponComponent.Damage.DamageDict.ContainsKey("Slash"))
+ /// Sunrise - Edit
+ if (!meleeWeaponComponent.Damage.DamageDict.ContainsKey("Slash") && !meleeWeaponComponent.Damage.DamageDict.ContainsKey("Piercing"))
{
_popupSystem.PopupEntity(Loc.GetString("sharpening-failed-blade"), target, args.User);
return;
@@ -58,7 +59,15 @@ public sealed class SharpeningSystem : EntitySystem
return;
}
- EnsureComp(target).DamageBonus = component.DamageBonus;
+ /// Sunrise - Edit
+ var damageBonus = new DamageSpecifier();
+
+ if (meleeWeaponComponent.Damage.DamageDict.ContainsKey("Piercing"))
+ damageBonus = component.PiercingDamageBonus;
+ else if (meleeWeaponComponent.Damage.DamageDict.ContainsKey("Slash"))
+ damageBonus = component.SlashDamageBonus;
+
+ EnsureComp(target).DamageBonus = damageBonus;
component.Usages -= 1;
diff --git a/Resources/Prototypes/_Sunrise/BloodCult/Object/wetstone.yml b/Resources/Prototypes/_Sunrise/BloodCult/Object/wetstone.yml
index b69808dede..ec01b6d007 100644
--- a/Resources/Prototypes/_Sunrise/BloodCult/Object/wetstone.yml
+++ b/Resources/Prototypes/_Sunrise/BloodCult/Object/wetstone.yml
@@ -3,9 +3,13 @@
parent: BaseItem
components:
- type: Sharpener
- damageBonus:
+ # Sunrise - Edit
+ slashDamageBonus:
types:
Slash: 5
+ piercingDamageBonus:
+ types:
+ Piercing: 3
- type: Sprite
sprite: _Sunrise/BloodCult/Entities/wetstone.rsi
layers:
@@ -26,9 +30,12 @@
id: CultSharpener
components:
- type: Sharpener
- damageBonus:
+ slashDamageBonus:
types:
Slash: 15
+ piercingDamageBonus:
+ types:
+ Piercing: 8
- type: Sprite
sprite: _Sunrise/BloodCult/Entities/wetstone.rsi
layers: