From 93943aaf9594ea9504aa85a121035f556552d627 Mon Sep 17 00:00:00 2001
From: Aviu00 <93730715+Aviu00@users.noreply.github.com>
Date: Sat, 29 Jun 2024 20:03:28 +0000
Subject: [PATCH] Tweaks (#394)
* - tweak: Rev tweaks.
* - tweak: Item drop and lying tweaks.
* - tweak: No ebow stamina damage.
* - tweak: Fun tweaks.
---
.../Components/RevolutionaryRuleComponent.cs | 2 +-
.../Rules/RevolutionaryRuleSystem.cs | 11 +++++++++-
.../Systems/ShuttleSystem.FasterThanLight.cs | 3 ++-
.../Standing/StandingStateSystem.cs | 6 +++---
.../Other/CritSystem/BloodLustComponent.cs | 6 +++---
.../Systems/SharedStandingStateSystem.cs | 21 +++++++++++++------
.../_White/BetrayalDagger/TelefragSystem.cs | 5 ++---
.../Knockdown/KnockdownOnCollideSystem.cs | 2 +-
.../Prototypes/Catalog/uplink_catalog.yml | 14 ++++++-------
.../Entities/Clothing/Hands/gloves.yml | 2 +-
.../Prototypes/Entities/Objects/Fun/darts.yml | 1 +
.../Weapons/Guns/Launchers/launchers.yml | 4 ++--
.../Weapons/Guns/Projectiles/bolts.yml | 3 ---
.../Objects/Weapons/Melee/armblade.yml | 3 +--
.../Objects/Weapons/chaplain_weapons.yml | 8 +++----
Resources/Prototypes/_White/Fluff/fluff.yml | 2 +-
16 files changed, 54 insertions(+), 39 deletions(-)
diff --git a/Content.Server/GameTicking/Rules/Components/RevolutionaryRuleComponent.cs b/Content.Server/GameTicking/Rules/Components/RevolutionaryRuleComponent.cs
index 2ce3f1f9a6..0cd6376498 100644
--- a/Content.Server/GameTicking/Rules/Components/RevolutionaryRuleComponent.cs
+++ b/Content.Server/GameTicking/Rules/Components/RevolutionaryRuleComponent.cs
@@ -41,7 +41,7 @@ public sealed partial class RevolutionaryRuleComponent : Component
/// Max Head Revs allowed during selection.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
- public int MaxHeadRevs = 3;
+ public int MaxHeadRevs = 4;
///
/// The amount of Head Revs that will spawn per this amount of players.
diff --git a/Content.Server/GameTicking/Rules/RevolutionaryRuleSystem.cs b/Content.Server/GameTicking/Rules/RevolutionaryRuleSystem.cs
index 0c389c5029..4e1e635ecd 100644
--- a/Content.Server/GameTicking/Rules/RevolutionaryRuleSystem.cs
+++ b/Content.Server/GameTicking/Rules/RevolutionaryRuleSystem.cs
@@ -31,6 +31,7 @@ using Content.Shared.Zombies;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using System.Linq;
+using Robust.Server.Player;
namespace Content.Server.GameTicking.Rules;
@@ -39,6 +40,7 @@ namespace Content.Server.GameTicking.Rules;
///
public sealed class RevolutionaryRuleSystem : GameRuleSystem
{
+ [Dependency] private readonly IPlayerManager _playerManager = default!; // WD
[Dependency] private readonly IAdminLogManager _adminLogManager = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly AntagSelectionSystem _antagSelection = default!;
@@ -180,7 +182,7 @@ public sealed class RevolutionaryRuleSystem : GameRuleSystem).Any())
+ _roundEnd.EndRound();
+
+ // WD EDIT END
+
return true;
}
diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs
index f41e4de3f8..cee778f473 100644
--- a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs
+++ b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs
@@ -12,6 +12,7 @@ using Content.Shared.Maps;
using Content.Shared.Parallax;
using Content.Shared.Shuttles.Components;
using Content.Shared.Shuttles.Systems;
+using Content.Shared.Standing.Systems;
using Content.Shared.StatusEffect;
using Content.Shared.Timing;
using Content.Shared.Whitelist;
@@ -590,7 +591,7 @@ public sealed partial class ShuttleSystem
continue;
_stuns.TryParalyze(child, _hyperspaceKnockdownTime, true, status);*/
- _standing.TryLieDown(child, dropHeldItems: true);
+ _standing.TryLieDown(child, behavior: SharedStandingStateSystem.DropHeldItemsBehavior.DropIfStanding);
// If the guy we knocked down is on a spaced tile, throw them too
if (grid != null)
diff --git a/Content.Server/Standing/StandingStateSystem.cs b/Content.Server/Standing/StandingStateSystem.cs
index 19fecf4b83..fa55273409 100644
--- a/Content.Server/Standing/StandingStateSystem.cs
+++ b/Content.Server/Standing/StandingStateSystem.cs
@@ -29,8 +29,8 @@ public sealed class StandingStateSystem : SharedStandingStateSystem
: Vector2.Zero;
var dropAngle = Random.NextFloat(0.8f, 1.2f);
- var fellEvent = new FellDownEvent(uid);
- RaiseLocalEvent(uid, fellEvent);
+ // var fellEvent = new FellDownEvent(uid);
+ // RaiseLocalEvent(uid, fellEvent);
if (!TryComp(uid, out HandsComponent? handsComp))
return;
@@ -61,4 +61,4 @@ public sealed class StandingStateSystem : SharedStandingStateSystem
public sealed class FellDownEvent(EntityUid uid) : EntityEventArgs
{
public EntityUid Uid { get; } = uid;
-}
\ No newline at end of file
+}
diff --git a/Content.Server/_White/Other/CritSystem/BloodLustComponent.cs b/Content.Server/_White/Other/CritSystem/BloodLustComponent.cs
index 6733761533..ca61efc588 100644
--- a/Content.Server/_White/Other/CritSystem/BloodLustComponent.cs
+++ b/Content.Server/_White/Other/CritSystem/BloodLustComponent.cs
@@ -4,11 +4,11 @@ namespace Content.Server._White.Other.CritSystem;
public sealed partial class BloodLustComponent : Component
{
[ViewVariables(VVAccess.ReadWrite)]
- public float SprintModifier = 1.2f;
+ public float SprintModifier = 1.3f;
[ViewVariables(VVAccess.ReadWrite)]
- public float WalkModifier = 1.2f;
+ public float WalkModifier = 1.3f;
[ViewVariables(VVAccess.ReadWrite)]
- public float AttackRateModifier = 1.3f;
+ public float AttackRateModifier = 1.5f;
}
diff --git a/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs b/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs
index 3ce16ff36e..35f1fccff8 100644
--- a/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs
+++ b/Content.Shared/Standing/Systems/SharedStandingStateSystem.cs
@@ -1,5 +1,4 @@
using Content.Shared.DoAfter;
-using Content.Shared.Gravity;
using Content.Shared.Hands.Components;
using Content.Shared.Input;
using Content.Shared.Mobs.Systems;
@@ -146,17 +145,27 @@ public abstract partial class SharedStandingStateSystem : EntitySystem
return true;
}
- public bool TryLieDown(EntityUid uid, StandingStateComponent? standingState = null, bool dropHeldItems = false)
+ public enum DropHeldItemsBehavior
{
- if (!Resolve(uid, ref standingState, false) || !standingState.CanLieDown)
- return false;
+ NoDrop,
+ DropIfStanding,
+ AlwaysDrop
+ }
- if (standingState.CurrentState is not StandingState.Standing)
+ public bool TryLieDown(EntityUid uid,
+ StandingStateComponent? standingState = null,
+ DropHeldItemsBehavior behavior = DropHeldItemsBehavior.NoDrop)
+ {
+ if (!Resolve(uid, ref standingState, false) || !standingState.CanLieDown ||
+ standingState.CurrentState is not StandingState.Standing)
{
+ if (behavior == DropHeldItemsBehavior.AlwaysDrop)
+ RaiseLocalEvent(uid, new DropHandItemsEvent());
+
return false;
}
- Down(uid, true, dropHeldItems, standingState);
+ Down(uid, true, behavior != DropHeldItemsBehavior.NoDrop, standingState);
return true;
}
// WD EDIT END
diff --git a/Content.Shared/_White/BetrayalDagger/TelefragSystem.cs b/Content.Shared/_White/BetrayalDagger/TelefragSystem.cs
index 2892e16b26..36994424eb 100644
--- a/Content.Shared/_White/BetrayalDagger/TelefragSystem.cs
+++ b/Content.Shared/_White/BetrayalDagger/TelefragSystem.cs
@@ -1,7 +1,6 @@
using System.Linq;
using Content.Shared.Standing;
using Content.Shared.Standing.Systems;
-using Content.Shared.StatusEffect;
using Robust.Shared.Map;
namespace Content.Shared._White.BetrayalDagger;
@@ -11,14 +10,14 @@ public sealed class TelefragSystem : EntitySystem
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly SharedStandingStateSystem _standingState = default!;
- public void Telefrag(EntityCoordinates coords, EntityUid user, float range = 0.2f)
+ public void Telefrag(EntityCoordinates coords, EntityUid user, float range = 0.4f)
{
var ents = new HashSet>();
_lookup.GetEntitiesInRange(coords, range, ents);
foreach (var ent in ents.Where(ent => ent.Owner != user))
{
- _standingState.TryLieDown(ent, ent, true);
+ _standingState.TryLieDown(ent, ent, SharedStandingStateSystem.DropHeldItemsBehavior.DropIfStanding);
}
}
}
diff --git a/Content.Shared/_White/Knockdown/KnockdownOnCollideSystem.cs b/Content.Shared/_White/Knockdown/KnockdownOnCollideSystem.cs
index 5806f41a36..b344c45626 100644
--- a/Content.Shared/_White/Knockdown/KnockdownOnCollideSystem.cs
+++ b/Content.Shared/_White/Knockdown/KnockdownOnCollideSystem.cs
@@ -19,7 +19,7 @@ public sealed class KnockdownOnCollideSystem : EntitySystem
private void OnProjectileHit(Entity ent, ref ProjectileHitEvent args)
{
- _standing.TryLieDown(args.Target, null, true);
+ _standing.TryLieDown(args.Target, null, SharedStandingStateSystem.DropHeldItemsBehavior.AlwaysDrop);
if (ent.Comp.BlurTime <= 0f)
return;
diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml
index 0d5fd5d584..0d6998f3f2 100644
--- a/Resources/Prototypes/Catalog/uplink_catalog.yml
+++ b/Resources/Prototypes/Catalog/uplink_catalog.yml
@@ -99,7 +99,7 @@
description: uplink-gloves-north-star-desc
productEntity: ClothingHandsGlovesNorthStar
cost:
- Telecrystal: 8
+ Telecrystal: 4
categories:
- UplinkWeaponry
saleLimit: 1
@@ -200,7 +200,7 @@
description: uplink-explosive-grenade-desc
productEntity: ExGrenade
cost:
- Telecrystal: 4
+ Telecrystal: 2
categories:
- UplinkExplosives
@@ -250,7 +250,7 @@
description: uplink-whitehole-grenade-desc
productEntity: WhiteholeGrenade
cost:
- Telecrystal: 3
+ Telecrystal: 1
categories:
- UplinkExplosives
@@ -366,7 +366,7 @@
description: uplink-cluster-grenade-desc
productEntity: ClusterGrenade
cost:
- Telecrystal: 8
+ Telecrystal: 4
categories:
- UplinkExplosives
@@ -376,7 +376,7 @@
description: uplink-shrapnel-grenade-desc
productEntity: GrenadeShrapnel
cost:
- Telecrystal: 4
+ Telecrystal: 2
categories:
- UplinkExplosives
@@ -386,7 +386,7 @@
description: uplink-incendiary-grenade-desc
productEntity: GrenadeIncendiary
cost:
- Telecrystal: 4
+ Telecrystal: 2
categories:
- UplinkExplosives
@@ -511,7 +511,7 @@
icon: { sprite: /Textures/Objects/Fun/Darts/dart_red.rsi, state: icon }
productEntity: HypoDartBox
cost:
- Telecrystal: 2
+ Telecrystal: 1
categories:
- UplinkChemicals
diff --git a/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
index ac2545d165..fe640e0ecd 100644
--- a/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
+++ b/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
@@ -358,7 +358,7 @@
attackRate: 4
damage:
types:
- Blunt: 8
+ Blunt: 7
soundHit:
collection: Punch
animation: WeaponArcFist
diff --git a/Resources/Prototypes/Entities/Objects/Fun/darts.yml b/Resources/Prototypes/Entities/Objects/Fun/darts.yml
index 4c7ae68420..18854f3d12 100644
--- a/Resources/Prototypes/Entities/Objects/Fun/darts.yml
+++ b/Resources/Prototypes/Entities/Objects/Fun/darts.yml
@@ -127,6 +127,7 @@
- type: SolutionInjectOnEmbed
transferAmount: 7
solution: melee
+ blockSlots: NONE
- type: SolutionTransfer
maxTransferAmount: 7
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
index 8e6247ebff..7856b5d63e 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
@@ -294,7 +294,7 @@
- type: TentacleGun
- type: Gun
soundGunshot: /Audio/Effects/gib1.ogg
- fireRate: 0.3
+ fireRate: 0.5
selectedMode: PullMob
availableModes:
- PullItem
@@ -305,7 +305,7 @@
count: 1
- type: AmmoCounter
- type: RechargeBasicEntityAmmo
- rechargeCooldown: 0.75
+ rechargeCooldown: 1.5
playRechargeSound: false
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/tentacle_gun.rsi
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/bolts.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/bolts.yml
index ebd0a74a03..7a6ded12ea 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/bolts.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/bolts.yml
@@ -27,6 +27,3 @@
mask:
- Opaque
- type: KnockdownOnCollide
- - type: StaminaDamageOnCollide
- ignoreResistances: false
- damage: 60
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml
index 4900a48f88..13f89950a3 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml
@@ -10,12 +10,11 @@
state: icon
- type: MeleeWeapon
wideAnimationRotation: 90
- attackRate: 0.75
damage:
types:
Slash: 20
Piercing: 20
- Structural: 45
+ Structural: 20
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: Item
diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml
index c110b7a49d..9d1fcd93c5 100644
--- a/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml
+++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/chaplain_weapons.yml
@@ -63,7 +63,7 @@
wideAnimationRotation: 180
damage:
types:
- Heat: 24
+ Heat: 18
- type: Item
size: Normal
sprite: White/Objects/Weapons/Chaplain/godhand.rsi
@@ -237,7 +237,7 @@
attackRate: 4
damage:
types:
- Slash: 6
+ Slash: 4.5
soundHit:
path: /Audio/Weapons/chainsaw.ogg
params:
@@ -268,7 +268,7 @@
range: 2.5
damage:
types:
- Blunt: 15
+ Blunt: 18
- type: Item
size: Normal
sprite: White/Objects/Weapons/Chaplain/whip.rsi
@@ -385,7 +385,7 @@
damage:
types:
Blunt: 24
- Structural: 80
+ Structural: 40
soundHit:
collection: HammerHit
soundSwing:
diff --git a/Resources/Prototypes/_White/Fluff/fluff.yml b/Resources/Prototypes/_White/Fluff/fluff.yml
index 5746a3a9c9..991c9e33ec 100644
--- a/Resources/Prototypes/_White/Fluff/fluff.yml
+++ b/Resources/Prototypes/_White/Fluff/fluff.yml
@@ -906,7 +906,7 @@
wideAnimationRotation: -135
damage:
types:
- Slash: 24
+ Slash: 18
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: HolyWeapon