* - tweak: Rev tweaks.

* - tweak: Item drop and lying tweaks.

* - tweak: No ebow stamina damage.

* - tweak: Fun tweaks.
This commit is contained in:
Aviu00
2024-06-29 20:03:28 +00:00
committed by GitHub
parent 8922181b84
commit 93943aaf95
16 changed files with 54 additions and 39 deletions

View File

@@ -41,7 +41,7 @@ public sealed partial class RevolutionaryRuleComponent : Component
/// Max Head Revs allowed during selection.
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public int MaxHeadRevs = 3;
public int MaxHeadRevs = 4;
/// <summary>
/// The amount of Head Revs that will spawn per this amount of players.

View File

@@ -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;
/// </summary>
public sealed class RevolutionaryRuleSystem : GameRuleSystem<RevolutionaryRuleComponent>
{
[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<RevolutionaryRuleCo
continue;
var headRevCount =
_antagSelection.CalculateAntagCount(ev.Players.Length, comp.PlayersPerHeadRev, comp.MaxHeadRevs);
_antagSelection.CalculateAntagCount(_playerManager.PlayerCount, comp.PlayersPerHeadRev, comp.MaxHeadRevs); // WD EDIT
var headRevs = _antagSelection.ChooseAntags(headRevCount, eligiblePlayers);
@@ -356,6 +358,13 @@ public sealed class RevolutionaryRuleSystem : GameRuleSystem<RevolutionaryRuleCo
_euiMan.OpenEui(new DeconvertedEui(), session);
}
// WD EDIT START
// Check for all at once gamemode
if (!_gameTicker.GetActiveGameRules().Where(HasComp<RampingStationEventSchedulerComponent>).Any())
_roundEnd.EndRound();
// WD EDIT END
return true;
}

View File

@@ -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)

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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<Entity<StandingStateComponent>>();
_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);
}
}
}

View File

@@ -19,7 +19,7 @@ public sealed class KnockdownOnCollideSystem : EntitySystem
private void OnProjectileHit(Entity<KnockdownOnCollideComponent> ent, ref ProjectileHitEvent args)
{
_standing.TryLieDown(args.Target, null, true);
_standing.TryLieDown(args.Target, null, SharedStandingStateSystem.DropHeldItemsBehavior.AlwaysDrop);
if (ent.Comp.BlurTime <= 0f)
return;

View File

@@ -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

View File

@@ -358,7 +358,7 @@
attackRate: 4
damage:
types:
Blunt: 8
Blunt: 7
soundHit:
collection: Punch
animation: WeaponArcFist

View File

@@ -127,6 +127,7 @@
- type: SolutionInjectOnEmbed
transferAmount: 7
solution: melee
blockSlots: NONE
- type: SolutionTransfer
maxTransferAmount: 7

View File

@@ -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

View File

@@ -27,6 +27,3 @@
mask:
- Opaque
- type: KnockdownOnCollide
- type: StaminaDamageOnCollide
ignoreResistances: false
damage: 60

View File

@@ -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

View File

@@ -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:

View File

@@ -906,7 +906,7 @@
wideAnimationRotation: -135
damage:
types:
Slash: 24
Slash: 18
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: HolyWeapon