diff --git a/Content.Server/Revenant/EntitySystems/RevenantSystem.cs b/Content.Server/Revenant/EntitySystems/RevenantSystem.cs index 711cb50f2f1..e2a131dcdd6 100644 --- a/Content.Server/Revenant/EntitySystems/RevenantSystem.cs +++ b/Content.Server/Revenant/EntitySystems/RevenantSystem.cs @@ -22,6 +22,7 @@ using Content.Shared.StatusEffect; using Content.Shared.Store.Components; using Content.Shared.Stunnable; using Content.Shared.Tag; +using Content.Shared.Weapons.Melee.Events; // DeltaV using Robust.Server.GameObjects; using Robust.Shared.Physics.Components; using Robust.Shared.Prototypes; @@ -64,6 +65,7 @@ public sealed partial class RevenantSystem : EntitySystem SubscribeLocalEvent(OnStatusAdded); SubscribeLocalEvent(OnStatusEnded); SubscribeLocalEvent(_ => MakeVisible(true)); + SubscribeLocalEvent(OnMeleeAttack); // DeltaV SubscribeLocalEvent(OnRevenantGetVis); @@ -131,6 +133,14 @@ public sealed partial class RevenantSystem : EntitySystem ChangeEssenceAmount(uid, essenceDamage, component); } + /// + /// DeltaV - No more attack spam and remaining invisible + /// + private void OnMeleeAttack(Entity ent, ref MeleeAttackEvent args) + { + _statusEffects.TryAddStatusEffect(ent, "Corporeal", ent.Comp.MeleeRevealTime, false); + } + public bool ChangeEssenceAmount(EntityUid uid, FixedPoint2 amount, RevenantComponent? component = null, bool allowDeath = true, bool regenCap = false) { if (!Resolve(uid, ref component)) diff --git a/Content.Shared/Revenant/Components/RevenantComponent.cs b/Content.Shared/Revenant/Components/RevenantComponent.cs index 6d318640af0..2c6604610ca 100644 --- a/Content.Shared/Revenant/Components/RevenantComponent.cs +++ b/Content.Shared/Revenant/Components/RevenantComponent.cs @@ -300,4 +300,12 @@ public sealed partial class RevenantComponent : Component public string HarvestingState = "harvesting"; #endregion [DataField] public EntityUid? HauntAction; // Imp + + #region Melee + /// + /// DeltaV - The amount of time a rev is revealed after making a melee attack. + /// + [DataField] + public TimeSpan MeleeRevealTime = TimeSpan.FromSeconds(2); + #endregion } diff --git a/Resources/Prototypes/Actions/ninja.yml b/Resources/Prototypes/Actions/ninja.yml index faf3ed28077..6d6f2c94e0a 100644 --- a/Resources/Prototypes/Actions/ninja.yml +++ b/Resources/Prototypes/Actions/ninja.yml @@ -87,6 +87,7 @@ params: volume: 5 priority: -12 + useDelay: 5 # DeltaV - small cooldown - type: TargetAction checkCanAccess: false range: 0 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index b3beee5e1f7..d8c1f96d38d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -163,7 +163,7 @@ - type: LimitedCharges maxCharges: 3 - type: AutoRecharge - rechargeDuration: 20 + rechargeDuration: 30 # DeltaV - was 20 - type: Clothing sprite: Objects/Weapons/Melee/energykatana.rsi slots: diff --git a/Resources/Prototypes/_DV/Entities/Mobs/NPCs/skia.yml b/Resources/Prototypes/_DV/Entities/Mobs/NPCs/skia.yml index 1b7f77591e3..0472002e48a 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/NPCs/skia.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/NPCs/skia.yml @@ -84,20 +84,20 @@ lightThreshold: 0.7 darkDamage: types: - Blunt: -5 - Piercing: -5 - Slash: -5 - Heat: -5 - Poison: -5 - Asphyxiation: -2.5 - Bloodloss: -2.5 - Cellular: -5 + Blunt: -2 + Piercing: -2 + Slash: -2 + Heat: -2 + Poison: -2 + Asphyxiation: -2 + Bloodloss: -2 + Cellular: -2 Soul: -1 lightDamage: types: - Blunt: 1.5 - Piercing: 1.5 - Slash: 1.5 + Blunt: 2 + Piercing: 2 + Slash: 2 healWhenDead: true darkMovementSpeedMultiplier: 1.25 lightMovementSpeedMultiplier: 1.0