This commit is contained in:
BIGZi0348
2025-01-07 00:03:52 +03:00
committed by GitHub
15 changed files with 47 additions and 18 deletions

View File

@@ -9,10 +9,10 @@ public sealed partial class DirectBallsHitComponent : Component
public TimeSpan KnockdownTime = TimeSpan.FromSeconds(2.0f); public TimeSpan KnockdownTime = TimeSpan.FromSeconds(2.0f);
[DataField] [DataField]
public TimeSpan JitterTime = TimeSpan.FromSeconds(2.0f); public TimeSpan JitterTime = TimeSpan.FromSeconds(4.0f);
[DataField] [DataField]
public TimeSpan StutterTime = TimeSpan.FromSeconds(2.0f); public TimeSpan StutterTime = TimeSpan.FromSeconds(4.0f);
[DataField] [DataField]
public SharedStandingStateSystem.DropHeldItemsBehavior KnockDownBehavior = SharedStandingStateSystem.DropHeldItemsBehavior.AlwaysDrop; public SharedStandingStateSystem.DropHeldItemsBehavior KnockDownBehavior = SharedStandingStateSystem.DropHeldItemsBehavior.AlwaysDrop;

View File

@@ -10,6 +10,7 @@ using Content.Shared.Popups;
using Content.Shared._White.Implants.NeuroControl; using Content.Shared._White.Implants.NeuroControl;
using Robust.Shared.Timing; using Robust.Shared.Timing;
using Content.Server.Chat.Systems; using Content.Server.Chat.Systems;
using Content.Server._White.Mood;
namespace Content.Server._White._Engi.DirectBallsHit; namespace Content.Server._White._Engi.DirectBallsHit;
@@ -21,6 +22,7 @@ public sealed class DirectBallsHitSystem : EntitySystem
[Dependency] private readonly SharedElectrocutionSystem _electrocution = default!; [Dependency] private readonly SharedElectrocutionSystem _electrocution = default!;
[Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!;
[Dependency] private readonly ChatSystem _chat = default!; [Dependency] private readonly ChatSystem _chat = default!;
[Dependency] private readonly MoodSystem _mood = default!;
public override void Initialize() public override void Initialize()
{ {
@@ -41,12 +43,17 @@ public sealed class DirectBallsHitSystem : EntitySystem
} }
foreach (var uid in args.HitEntities) foreach (var uid in args.HitEntities)
{
if (TryComp<MoodComponent>(uid, out var mood))
{ {
_popupSystem.PopupEntity( _popupSystem.PopupEntity(
Loc.GetString("direct-balls-hit", ("uid", uid)), Loc.GetString("direct-balls-hit", ("uid", uid)),
uid, uid,
PopupType.SmallCaution); PopupType.SmallCaution);
_mood.ApplyEffect(uid, mood, "GotHitInTheBalls");
}
Timer.Spawn(TimeSpan.FromSeconds(0.5f), () => _chat.TryEmoteWithChat(uid, "Scream")); Timer.Spawn(TimeSpan.FromSeconds(0.5f), () => _chat.TryEmoteWithChat(uid, "Scream"));
if (HasComp<NeuroStabilizationComponent>(uid)) if (HasComp<NeuroStabilizationComponent>(uid))

View File

@@ -136,7 +136,7 @@ public sealed class HungerSystem : EntitySystem
return; return;
//WD start //WD start
if (_net.IsServer && component.CurrentThreshold != HungerThreshold.Overfed) if (_net.IsServer)
{ {
var ev = new MoodEffectEvent("Hunger" + component.CurrentThreshold); var ev = new MoodEffectEvent("Hunger" + component.CurrentThreshold);
RaiseLocalEvent(uid, ev); RaiseLocalEvent(uid, ev);

View File

@@ -10,6 +10,7 @@ using Robust.Shared.Random;
using Robust.Shared.Timing; using Robust.Shared.Timing;
using Content.Shared._White.Mood; using Content.Shared._White.Mood;
using Robust.Shared.Utility; using Robust.Shared.Utility;
using Robust.Shared.Network;
namespace Content.Shared.Nutrition.EntitySystems; namespace Content.Shared.Nutrition.EntitySystems;
@@ -22,6 +23,7 @@ public sealed class ThirstSystem : EntitySystem
[Dependency] private readonly AlertsSystem _alerts = default!; [Dependency] private readonly AlertsSystem _alerts = default!;
[Dependency] private readonly MovementSpeedModifierSystem _movement = default!; [Dependency] private readonly MovementSpeedModifierSystem _movement = default!;
[Dependency] private readonly SharedJetpackSystem _jetpack = default!; [Dependency] private readonly SharedJetpackSystem _jetpack = default!;
[Dependency] private readonly INetManager _net = default!; // WD edit
[ValidatePrototypeId<StatusIconPrototype>] [ValidatePrototypeId<StatusIconPrototype>]
private const string ThirstIconOverhydratedId = "ThirstIconOverhydrated"; private const string ThirstIconOverhydratedId = "ThirstIconOverhydrated";
@@ -172,7 +174,7 @@ public sealed class ThirstSystem : EntitySystem
} }
// WD start // WD start
if (component.CurrentThirstThreshold != ThirstThreshold.OverHydrated) if (_net.IsServer)
{ {
var ev = new MoodEffectEvent("Thirst" + component.CurrentThirstThreshold); var ev = new MoodEffectEvent("Thirst" + component.CurrentThirstThreshold);
RaiseLocalEvent(uid, ev); RaiseLocalEvent(uid, ev);

View File

@@ -7,3 +7,5 @@ generic-reagent-effect-tearing-up = Ваши глаза начинают сле
generic-reagent-effect-nauseous = Вы чувствуете тошноту. generic-reagent-effect-nauseous = Вы чувствуете тошноту.
generic-reagent-effect-parched = У вас першит в горле. generic-reagent-effect-parched = У вас першит в горле.
generic-reagent-effect-thirsty = Вы чувствуете жажду. generic-reagent-effect-thirsty = Вы чувствуете жажду.
generic-reagent-effect-sick = Вы чувствуете себя плохо после употребления этого...
generic-reagent-effect-slicing-insides = Вы чувствуете невероятно острую боль в животе!

View File

@@ -17,14 +17,12 @@
- !type:SpeciesRequirement - !type:SpeciesRequirement
species: species:
- Human - Human
- Felinid
weight: 10 weight: 10
icon: "JobIconInspector" icon: "JobIconInspector"
arrivalNotificationPrototype: InspectorArrivalNotification arrivalNotificationPrototype: InspectorArrivalNotification
supervisors: job-supervisors-captain supervisors: job-supervisors-captain
whitelistedSpecies: whitelistedSpecies:
- Human - Human
- Felinid
canBeAntag: true canBeAntag: true
access: access:
- Service - Service

View File

@@ -32,7 +32,7 @@
- type: Spillable - type: Spillable
solution: beaker solution: beaker
- type: StaticPrice - type: StaticPrice
price: 150 price: 15
- type: Label - type: Label
originalName: химический картридж originalName: химический картридж
- type: Tag - type: Tag

View File

@@ -347,7 +347,7 @@
- type: MeleeWeapon - type: MeleeWeapon
soundHit: soundHit:
path: /Audio/White/Items/hit/chainhit.ogg path: /Audio/White/Items/hit/chainhit.ogg
range: 1.5 range: 2
attackRate: 0.5 attackRate: 0.5
damage: damage:
types: types:

View File

@@ -41,3 +41,9 @@
id: MobHighPressure id: MobHighPressure
description: "На меня оказывается огромное давление!" description: "На меня оказывается огромное давление!"
moodChange: enum.MoodChangeLevel.Medium moodChange: enum.MoodChangeLevel.Medium
- type: moodEffect
id: GotHitInTheBalls
description: "Господи... Как же больно..."
moodChange: enum.MoodChangeLevel.Large
timeout: 1

View File

@@ -1,8 +1,9 @@
#Hunger #Hunger
- type: moodEffect - type: moodEffect
id: HungerOverfed id: HungerOverfed
description: "Во мне столько жира..." description: "Мой желудок полон!"
moodChange: enum.MoodChangeLevel.Small moodChange: enum.MoodChangeLevel.Medium
positive: true
category: "Hunger" category: "Hunger"
- type: moodEffect - type: moodEffect
@@ -24,11 +25,18 @@
moodChange: enum.MoodChangeLevel.Big moodChange: enum.MoodChangeLevel.Big
category: "Hunger" category: "Hunger"
- type: moodEffect
id: HungerDead
description: "Умираю от голода!"
moodChange: enum.MoodChangeLevel.Huge
category: "Hunger"
#Thirst #Thirst
- type: moodEffect - type: moodEffect
id: ThirstOverHydrated id: ThirstOverHydrated
description: "СЛИШКОМ МНОГО ВОДЫ..." description: "Не хочу пить."
moodChange: enum.MoodChangeLevel.Small moodChange: enum.MoodChangeLevel.Medium
positive: true
category: "Thirst" category: "Thirst"
- type: moodEffect - type: moodEffect
@@ -46,10 +54,16 @@
- type: moodEffect - type: moodEffect
id: ThirstParched id: ThirstParched
description: "ВОДЫ!" description: "Хочу пить!"
moodChange: enum.MoodChangeLevel.Big moodChange: enum.MoodChangeLevel.Big
category: "Thirst" category: "Thirst"
- type: moodEffect
id: ThirstDead
description: "Умираю от жажды!"
moodChange: enum.MoodChangeLevel.Huge
category: "Thirst"
#Health #Health
- type: moodEffect - type: moodEffect
id: HealthNoDamage id: HealthNoDamage

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 1.8 KiB