требует баланса (#938)

This commit is contained in:
haiwwkes 2024-12-27 02:45:08 +05:00 committed by GitHub
parent db3c23bec1
commit 39f1e14cb1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 119 additions and 99 deletions

View file

@ -146,9 +146,6 @@ public sealed class MoverController : SharedMoverController
// Logger.Info($"[{_gameTiming.CurTick}/{subTick}] Sprint: {enabled}");
base.SetSprinting(entity, subTick, walking);
if (walking && _cfg.GetCVar(CCVars.ToggleWalk))
_alerts.ShowAlert(entity, WalkingAlert, showCooldown: false, autoRemove: false);
else
_alerts.ClearAlert(entity, WalkingAlert);
}
}

View file

@ -56,4 +56,8 @@ public sealed partial class StaminaComponent : Component
[DataField]
public ProtoId<AlertPrototype> StaminaAlert = "Stamina";
// Урон от бега. ЗАБАЛАНСИ МЕНЯ!!!!!!!
[ViewVariables(VVAccess.ReadWrite), DataField("sprintStaminaMultiplier"), AutoNetworkedField]
public float SprintStaminaMultiplier = 3f;
}

View file

@ -70,7 +70,7 @@ namespace Content.Shared.Movement.Components
public const float LerpTime = 1.0f;
public bool Sprinting => (HeldMoveButtons & MoveButtons.Walk) == 0x0;
public bool Sprinting => (HeldMoveButtons & MoveButtons.Walk) != 0x0;
[ViewVariables(VVAccess.ReadWrite)]
public bool CanMove = true;

View file

@ -23,7 +23,7 @@ namespace Content.Shared.Movement.Components
public const float DefaultFriction = 20f;
public const float DefaultFrictionNoInput = 20f;
public const float DefaultBaseWalkSpeed = 2.5f;
public const float DefaultBaseWalkSpeed = 3f;
public const float DefaultBaseSprintSpeed = 4.5f;
[AutoNetworkedField, ViewVariables]

View file

@ -2,6 +2,8 @@ using System.Diagnostics.CodeAnalysis;
using System.Numerics;
using Content.Shared.Bed.Sleep;
using Content.Shared.CCVar;
using Content.Shared.Damage.Components;
using Content.Shared.Damage.Systems;
using Content.Shared.Friction;
using Content.Shared.Gravity;
using Content.Shared.Inventory;
@ -46,6 +48,7 @@ public abstract partial class SharedMoverController : VirtualController
[Dependency] protected readonly SharedPhysicsSystem Physics = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly TagSystem _tags = default!;
[Dependency] private readonly StaminaSystem _staminaSystem = default!;
protected EntityQuery<InputMoverComponent> MoverQuery;
protected EntityQuery<MobMoverComponent> MobMoverQuery;
@ -160,6 +163,22 @@ public abstract partial class SharedMoverController : VirtualController
// Specifically don't use mover.Owner because that may be different to the actual physics body being moved.
var weightless = _gravity.IsWeightless(physicsUid, physicsComponent, xform);
var (walkDir, sprintDir) = GetVelocityInput(mover);
if (TryComp<StaminaComponent>(uid, out var stamina))
{
if (stamina.StaminaDamage >= stamina.CritThreshold * 0.7f)
{
walkDir = sprintDir + walkDir;
sprintDir = Vector2.Zero;
}
else if (sprintDir != Vector2.Zero)
{
var sprintAmount = sprintDir.Length();
var staminaDamage = sprintAmount * frameTime * stamina.SprintStaminaMultiplier;
_staminaSystem.TakeStaminaDamage(uid, staminaDamage, stamina, visual: false);
}
}
var touching = false;
// Handle wall-pushes.
@ -255,7 +274,7 @@ public abstract partial class SharedMoverController : VirtualController
if (!weightless && MobMoverQuery.TryGetComponent(uid, out var mobMover) &&
TryGetSound(weightless, uid, mover, mobMover, xform, out var sound, tileDef: tileDef))
{
var soundModifier = mover.Sprinting ? 3.5f : 1.5f;
var soundModifier = sprintDir != Vector2.Zero ? 3.5f : 1.5f;
var audioParams = sound.Params
.WithVolume(sound.Params.Volume + soundModifier)

View file

@ -119,7 +119,7 @@ ui-options-function-move-up = Двигаться вверх
ui-options-function-move-left = Двигаться налево
ui-options-function-move-down = Двигаться вниз
ui-options-function-move-right = Двигаться направо
ui-options-function-walk = Идти
ui-options-function-walk = Идти/Бежать.
ui-options-function-camera-rotate-left = Повернуть налево
ui-options-function-camera-rotate-right = Повернуть направо
ui-options-function-camera-reset = Сбросить камеру

View file

@ -31,7 +31,7 @@
layer:
- MobLayer
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 4.5
- type: Sprite
sprite: Mobs/Silicon/chassis.rsi

View file

@ -165,8 +165,8 @@
- type: TTS
voice: Sentrybot
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseSprintSpeed : 3.5
baseWalkSpeed : 3
baseSprintSpeed : 4.5
- type: InnateItem
worldTargetActions:
- Emag
@ -214,7 +214,7 @@
- type: TTS
voice: Sentrybot
- type: MovementSpeedModifier
baseWalkSpeed: 2.5
baseWalkSpeed: 3
baseSprintSpeed: 4.5
- type: InnateItem
worldTargetActions:
@ -288,4 +288,4 @@
interactSuccessString: petting-success-derelict-cyborg
interactFailureString: petting-failure-derelict-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
path: /Audio/Ambience/Objects/periodic_beep.ogg

View file

@ -342,7 +342,7 @@
0: Alive
1: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 5
- type: DamageStateVisuals
states:
@ -500,8 +500,8 @@
40: Critical
60: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseSprintSpeed : 4
baseWalkSpeed : 3
baseSprintSpeed : 4.5
weightlessAcceleration: 1.5
weightlessFriction: 1
weightlessModifier: 1
@ -1665,7 +1665,7 @@
10: Critical
20: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 5
- type: DamageStateVisuals
states:
@ -1895,7 +1895,7 @@
description: A harmless dragon.
components:
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseWalkSpeed: 3
baseSprintSpeed: 3
- type: Sprite
drawdepth: Mobs
@ -1951,7 +1951,7 @@
description: And they called this a lizard?
components:
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseWalkSpeed : 3
baseSprintSpeed : 3
- type: Sprite
drawdepth: Mobs
@ -2058,7 +2058,7 @@
description: Infiltrates your domain, spies on you, and somehow still a cool pet.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 6
- type: Sprite
drawdepth: Mobs
@ -3267,7 +3267,7 @@
40: Critical
60: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 4
- type: Inventory
speciesId: hamster
@ -3478,7 +3478,7 @@
30: Critical
60: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 4.5
- type: Grammar
attributes:

View file

@ -50,8 +50,8 @@
Dead:
Base: goliath_dead
- type: MovementSpeedModifier
baseWalkSpeed : 2.00
baseSprintSpeed : 2.00
baseWalkSpeed : 3
baseSprintSpeed : 3
- type: MobThresholds
thresholds:
0: Alive

View file

@ -41,7 +41,7 @@
0: Alive
40: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2.5
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: Stamina
critThreshold: 100

View file

@ -22,8 +22,8 @@
layer:
- MobLayer
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseSprintSpeed : 3
baseWalkSpeed : 3
baseSprintSpeed : 3.5
- type: Sprite
noRot: true
drawdepth: Mobs
@ -94,8 +94,8 @@
types:
Blunt: 6
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseSprintSpeed : 2.5
baseWalkSpeed : 3
baseSprintSpeed : 3.5
- type: NpcFactionMember
factions:
- SimpleHostile
@ -138,8 +138,8 @@
types:
Blunt: 5
- type: MovementSpeedModifier
baseWalkSpeed : 1.5
baseSprintSpeed : 2
baseWalkSpeed : 2
baseSprintSpeed : 2.5
- type: Destructible
thresholds:
- trigger:

View file

@ -30,8 +30,8 @@
sprite: Mobs/Aliens/flesh.rsi
- type: MovementAlwaysTouching
- type: MovementSpeedModifier
baseWalkSpeed: 1
baseSprintSpeed: 1.5
baseWalkSpeed: 2
baseSprintSpeed: 2.5
- type: MobState
allowedStates:
- Alive
@ -135,8 +135,8 @@
0: Alive
30: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2.5
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: entity
parent: BaseMobFlesh
@ -159,8 +159,8 @@
0: Alive
30: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2.5
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: entity
parent: BaseMobFlesh
@ -189,8 +189,8 @@
0: Alive
100: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 1.5
baseSprintSpeed: 2.5
baseWalkSpeed: 2.5
baseSprintSpeed: 3.5
- type: MeleeWeapon
soundHit:
path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
@ -228,8 +228,8 @@
sprite: Mobs/Aliens/flesh.rsi
- type: MovementAlwaysTouching
- type: MovementSpeedModifier
baseWalkSpeed: 1
baseSprintSpeed: 1.5
baseWalkSpeed: 2
baseSprintSpeed: 2.5
- type: MobState
allowedStates:
- Alive
@ -334,8 +334,8 @@
0: Alive
30: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2.5
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: entity
parent: BaseMobFleshSalvage
@ -358,5 +358,5 @@
0: Alive
30: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2.5
baseWalkSpeed: 3
baseSprintSpeed: 3.5

View file

@ -31,8 +31,8 @@
damageContainer: BiologicalMetaphysical
damageModifierSet: HellSpawn
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: Sprite
sprite: Mobs/Demons/hellspawn.rsi
layers:

View file

@ -38,5 +38,5 @@
types:
Blunt: 20
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 1
baseWalkSpeed : 2
baseSprintSpeed : 2.5

View file

@ -38,7 +38,7 @@
0: Alive
100: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseWalkSpeed: 3
baseSprintSpeed: 5
- type: Tag
tags:

View file

@ -9,8 +9,8 @@
color: "#793a80dd"
radius: 1.1
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: Fixtures
fixtures:
fix1:
@ -36,7 +36,7 @@
speedModifierThresholds:
60: 0.7
80: 0.5
- type: entity
name: shadow cat
parent: BaseShadowMob
@ -64,4 +64,4 @@
gender: epicene
- type: Tag
tags:
- VimPilot
- VimPilot

View file

@ -295,8 +295,8 @@
absorbed:
maxVol: 50
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3
baseWalkSpeed: 3
baseSprintSpeed: 3.5
- type: HTN
rootTask:
task: CleanbotCompound

View file

@ -27,7 +27,7 @@
0: Alive
120: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseWalkSpeed: 3
baseSprintSpeed: 4
- type: FootstepModifier
footstepSoundCollection:

View file

@ -427,8 +427,8 @@
10: Critical
20: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseSprintSpeed : 3
baseWalkSpeed : 3
baseSprintSpeed : 3.5
- type: DamageStateVisuals
states:
Alive:

View file

@ -124,8 +124,8 @@
- type: HumanoidAppearance
species: Terminator
- type: MovementSpeedModifier
baseWalkSpeed: 1.5
baseSprintSpeed: 3.0
baseWalkSpeed: 2.5
baseSprintSpeed: 4.0
- type: Sprite
sprite: Mobs/Species/Terminator/parts.rsi
- type: Fixtures

View file

@ -100,8 +100,8 @@
- type: InputMover
- type: InteractionOutline
- type: MovementSpeedModifier
baseWalkSpeed: 1
baseSprintSpeed: 2
baseWalkSpeed: 2
baseSprintSpeed: 3
- type: Tag
tags:
- DoorBumpOpener
@ -213,8 +213,8 @@
types:
Blunt: 14 #intentionally shit so people realize that going into combat with the ripley is usually a bad idea.
- type: MovementSpeedModifier
baseWalkSpeed: 2.5
baseSprintSpeed: 3.8
baseWalkSpeed: 3.5
baseSprintSpeed: 4.8
- type: Reflect
reflectProb: 0.15
spread: 180
@ -278,8 +278,8 @@
types:
Blunt: 20
- type: MovementSpeedModifier
baseWalkSpeed: 1.5
baseSprintSpeed: 2.5
baseWalkSpeed: 2.5
baseSprintSpeed: 3.5
- type: Damageable
damageModifierSet: MediumArmorNT
- type: Reflect
@ -345,7 +345,7 @@
types:
Blunt: 26
- type: MovementSpeedModifier
baseWalkSpeed: 2.5
baseWalkSpeed: 3.5
baseSprintSpeed: 4.5
- type: CanMoveInAir
- type: MovementAlwaysTouching
@ -484,8 +484,8 @@
Blunt: 10 #thwack
Structural: 2
- type: MovementSpeedModifier
baseWalkSpeed: 2.4
baseSprintSpeed: 3.7
baseWalkSpeed: 3.4
baseSprintSpeed: 4.7
- type: Reflect
reflectProb: 0.15
spread: 180
@ -561,7 +561,7 @@
Blunt: 10 #thwack
Structural: 2
- type: MovementSpeedModifier
baseWalkSpeed: 2.25
baseWalkSpeed: 3.25
baseSprintSpeed: 3.6
- type: Access
tags:
@ -629,8 +629,8 @@
Blunt: 30
Structural: 190
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3.5
baseWalkSpeed: 3
baseSprintSpeed: 4.5
- type: Reflect
reflectProb: 0.20
spread: 180
@ -695,8 +695,8 @@
Blunt: 50
Structural: 250
- type: MovementSpeedModifier
baseWalkSpeed: 1.5
baseSprintSpeed: 2.2
baseWalkSpeed: 2.5
baseSprintSpeed: 3.2
- type: Damageable
damageModifierSet: MediumArmorNT
- type: CanMoveInAir
@ -837,8 +837,8 @@
Blunt: 35
Structural: 250
- type: MovementSpeedModifier
baseWalkSpeed: 2.4
baseSprintSpeed: 3.6
baseWalkSpeed: 3.4
baseSprintSpeed: 4.6
- type: Reflect
reflectProb: 0.20
spread: 180
@ -922,8 +922,8 @@
Blunt: 55
Structural: 370
- type: MovementSpeedModifier
baseWalkSpeed: 1
baseSprintSpeed: 1.5
baseWalkSpeed: 2
baseSprintSpeed: 2.5
- type: Damageable
damageModifierSet: HeavyArmorNT
- type: CanMoveInAir
@ -1002,8 +1002,8 @@
Blunt: 60
Structural: 400
- type: MovementSpeedModifier
baseWalkSpeed: 1.5
baseSprintSpeed: 1.9
baseWalkSpeed: 2.5
baseSprintSpeed: 3.9
- type: Damageable
damageModifierSet: HeavyArmorNT
- type: CanMoveInAir
@ -1085,8 +1085,8 @@
Blunt: 35
Structural: 280
- type: MovementSpeedModifier
baseWalkSpeed: 2.2
baseSprintSpeed: 3.8
baseWalkSpeed: 3.2
baseSprintSpeed: 4.8
- type: Damageable
damageModifierSet: MediumArmorSyndi
- type: CanMoveInAir
@ -1168,8 +1168,8 @@
Blunt: 50
Structural: 360
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2.3
baseWalkSpeed: 3
baseSprintSpeed: 4.3
- type: Damageable
damageModifierSet: MediumArmorSyndi
- type: CanMoveInAir
@ -1246,8 +1246,8 @@
Blunt: 60
Structural: 390
- type: MovementSpeedModifier
baseWalkSpeed: 1
baseSprintSpeed: 1.6
baseWalkSpeed: 2
baseSprintSpeed: 2.6
- type: Damageable
damageModifierSet: HeavyArmorSyndi
- type: CanMoveInAir

View file

@ -197,8 +197,8 @@
settings: default
- type: GhostTakeoverAvailable
- type: MovementSpeedModifier
baseWalkSpeed: 0.25
baseSprintSpeed: 0.5
baseWalkSpeed: 1
baseSprintSpeed: 1.2
- type: artifactEffect
id: EffectMultitool

View file

@ -85,8 +85,8 @@
- Hydroponics
- Atmospherics
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseSprintSpeed : 3.5
baseWalkSpeed : 3.5
baseSprintSpeed : 4.5
- type: Tag
tags:
- DoorBumpOpener
@ -321,7 +321,7 @@
nameSegments:
- BorgNamesERT
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3.5
baseSprintSpeed : 4
- type: Tag
tags:
@ -456,8 +456,8 @@
params:
volume: -5
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseSprintSpeed : 3
baseWalkSpeed : 3
baseSprintSpeed : 4
- type: InnateItem
worldTargetActions:
- Emag

View file

@ -51,7 +51,7 @@
types:
Heat : 0.3 #per second, scales with temperature & other constants
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseWalkSpeed : 3.5
baseSprintSpeed : 4.5
- type: Perishable
- type: FootprintEmitter

View file

@ -94,7 +94,7 @@
probability: 0.35
- type: MovementSpeedModifier
baseSprintSpeed: 4.0
baseWalkSpeed: 2.0
baseWalkSpeed: 3.0
# - type: DamagedByFlashing
# flashDamage:
# types:

View file

@ -50,8 +50,8 @@
- type: InputMover
- type: InteractionOutline
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 3
baseWalkSpeed: 3
baseSprintSpeed: 4
friction: 5
weightlessFriction: 5
weightlessAcceleration: 4
@ -178,4 +178,4 @@
mech-battery-slot:
- PowerCageMedium
- type: AccessReader
access: [["Security"]]
access: [["Security"]]