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