Улучшение системы заточки (#2428)
This commit is contained in:
parent
c394d8e4be
commit
d4ed0f148d
3 changed files with 29 additions and 6 deletions
|
|
@ -5,9 +5,16 @@ namespace Content.Server._Sunrise.SharpeningSystem;
|
|||
[RegisterComponent]
|
||||
public sealed partial class SharpenerComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// Sunrise - Edit
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField]
|
||||
public DamageSpecifier DamageBonus;
|
||||
public DamageSpecifier SlashDamageBonus = new();
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField]
|
||||
public DamageSpecifier PiercingDamageBonus = new();
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField]
|
||||
|
|
|
|||
|
|
@ -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<SharpenedComponent>(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<SharpenedComponent>(target).DamageBonus = damageBonus;
|
||||
|
||||
component.Usages -= 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue