Skip to content

Commit f287188

Browse files
Don't Require Running in Release to Test Mood (Simple-Station#1257)
1 parent 56be690 commit f287188

File tree

2 files changed

+27
-37
lines changed

2 files changed

+27
-37
lines changed

Content.Server/Mood/MoodSystem.cs

+23-37
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,6 @@ public sealed class MoodSystem : EntitySystem
3232
[Dependency] private readonly PopupSystem _popup = default!;
3333
[Dependency] private readonly IConfigurationManager _config = default!;
3434

35-
#if RELEASE
36-
// Disable Mood for tests, because of a stupid race condition where if it spawns an Urist McHarpy,
37-
// the Harpy will choke during the test, creating a mood alert.
38-
// And then cause a debug assert.
39-
private bool _debugMode;
40-
#else
41-
private bool _debugMode = true;
42-
#endif
43-
4435

4536
public override void Initialize()
4637
{
@@ -55,14 +46,12 @@ public override void Initialize()
5546
SubscribeLocalEvent<MoodComponent, MoodRemoveEffectEvent>(OnRemoveEffect);
5647
}
5748

58-
private void OnShutdown(EntityUid uid, MoodComponent component, ComponentShutdown args)
59-
{
49+
private void OnShutdown(EntityUid uid, MoodComponent component, ComponentShutdown args) =>
6050
_alerts.ClearAlertCategory(uid, component.MoodCategory);
61-
}
6251

6352
private void OnRemoveEffect(EntityUid uid, MoodComponent component, MoodRemoveEffectEvent args)
6453
{
65-
if (_debugMode)
54+
if (!_config.GetCVar(CCVars.MoodEnabled))
6655
return;
6756

6857
if (component.UncategorisedEffects.TryGetValue(args.EffectId, out _))
@@ -78,7 +67,7 @@ private void OnRemoveEffect(EntityUid uid, MoodComponent component, MoodRemoveEf
7867

7968
private void OnRefreshMoveSpeed(EntityUid uid, MoodComponent component, RefreshMovementSpeedModifiersEvent args)
8069
{
81-
if (_debugMode
70+
if (!_config.GetCVar(CCVars.MoodEnabled)
8271
|| component.CurrentMoodThreshold is > MoodThreshold.Meh and < MoodThreshold.Good or MoodThreshold.Dead
8372
|| _jetpack.IsUserFlying(uid))
8473
return;
@@ -101,7 +90,7 @@ private void OnRefreshMoveSpeed(EntityUid uid, MoodComponent component, RefreshM
10190

10291
private void OnMoodEffect(EntityUid uid, MoodComponent component, MoodEffectEvent args)
10392
{
104-
if (_debugMode
93+
if (!_config.GetCVar(CCVars.MoodEnabled)
10594
|| !_config.GetCVar(CCVars.MoodEnabled)
10695
|| !_prototypeManager.TryIndex<MoodEffectPrototype>(args.EffectId, out var prototype) )
10796
return;
@@ -210,7 +199,7 @@ private void ReplaceMood(EntityUid uid, string prototypeId)
210199

211200
private void OnMobStateChanged(EntityUid uid, MoodComponent component, MobStateChangedEvent args)
212201
{
213-
if (_debugMode)
202+
if (!_config.GetCVar(CCVars.MoodEnabled))
214203
return;
215204

216205
if (args.NewMobState == MobState.Dead && args.OldMobState != MobState.Dead)
@@ -249,7 +238,7 @@ private void RefreshMood(EntityUid uid, MoodComponent component)
249238

250239
private void OnInit(EntityUid uid, MoodComponent component, ComponentStartup args)
251240
{
252-
if (_debugMode)
241+
if (!_config.GetCVar(CCVars.MoodEnabled))
253242
return;
254243

255244
if (_config.GetCVar(CCVars.MoodModifiesThresholds)
@@ -274,15 +263,14 @@ private void SetMood(EntityUid uid, float amount, MoodComponent? component = nul
274263

275264
if (ev.Cancelled)
276265
return;
277-
else
278-
{
279-
uid = ev.Receiver;
280-
amount = ev.MoodChangedAmount;
281-
}
266+
267+
uid = ev.Receiver;
268+
amount = ev.MoodChangedAmount;
282269

283270
var newMoodLevel = amount + neutral;
284271
if (!force)
285-
newMoodLevel = Math.Clamp(amount + neutral,
272+
newMoodLevel = Math.Clamp(
273+
amount + neutral,
286274
component.MoodThresholds[MoodThreshold.Dead],
287275
component.MoodThresholds[MoodThreshold.Perfect]);
288276

@@ -355,7 +343,7 @@ private void SetCritThreshold(EntityUid uid, MoodComponent component, int modifi
355343
{
356344
1 => FixedPoint2.New(key.Value.Float() * component.IncreaseCritThreshold),
357345
-1 => FixedPoint2.New(key.Value.Float() * component.DecreaseCritThreshold),
358-
_ => component.CritThresholdBeforeModify
346+
_ => component.CritThresholdBeforeModify,
359347
};
360348

361349
component.CritThresholdBeforeModify = key.Value;
@@ -378,15 +366,13 @@ private MoodThreshold GetMoodThreshold(MoodComponent component, float? moodLevel
378366
return result;
379367
}
380368

381-
private int GetMovementThreshold(MoodThreshold threshold)
382-
{
383-
return threshold switch
369+
private int GetMovementThreshold(MoodThreshold threshold) =>
370+
threshold switch
384371
{
385372
>= MoodThreshold.Good => 1,
386373
<= MoodThreshold.Meh => -1,
387-
_ => 0
374+
_ => 0,
388375
};
389-
}
390376

391377
private void OnDamageChange(EntityUid uid, MoodComponent component, DamageChangedEvent args)
392378
{
@@ -408,8 +394,7 @@ private void OnDamageChange(EntityUid uid, MoodComponent component, DamageChange
408394
}
409395
}
410396

411-
[UsedImplicitly]
412-
[DataDefinition]
397+
[UsedImplicitly, DataDefinition]
413398
public sealed partial class ShowMoodEffects : IAlertClick
414399
{
415400
public void AlertClicked(EntityUid uid)
@@ -421,8 +406,7 @@ public void AlertClicked(EntityUid uid)
421406

422407
if (!entityManager.TryGetComponent<MoodComponent>(uid, out var comp)
423408
|| comp.CurrentMoodThreshold == MoodThreshold.Dead
424-
|| !playerManager.TryGetSessionByEntity(uid, out var session)
425-
|| session == null)
409+
|| !playerManager.TryGetSessionByEntity(uid, out var session))
426410
return;
427411

428412
var msgStart = Loc.GetString("mood-show-effects-start");
@@ -450,15 +434,17 @@ public void AlertClicked(EntityUid uid)
450434

451435
private void SendDescToChat(MoodEffectPrototype proto, ICommonSession session)
452436
{
453-
if (session == null)
454-
return;
455-
456437
var chatManager = IoCManager.Resolve<IChatManager>();
457438

458439
var color = (proto.MoodChange > 0) ? "#008000" : "#BA0000";
459440
var msg = $"[font size=10][color={color}]{proto.Description}[/color][/font]";
460441

461-
chatManager.ChatMessageToOne(ChatChannel.Emotes, msg, msg, EntityUid.Invalid, false,
442+
chatManager.ChatMessageToOne(
443+
ChatChannel.Emotes,
444+
msg,
445+
msg,
446+
EntityUid.Invalid,
447+
false,
462448
session.Channel);
463449
}
464450
}

Content.Shared/CCVar/CCVars.cs

+4
Original file line numberDiff line numberDiff line change
@@ -2693,7 +2693,11 @@ public static readonly CVarDef<float>
26932693
#region Mood System
26942694

26952695
public static readonly CVarDef<bool> MoodEnabled =
2696+
#if RELEASE
26962697
CVarDef.Create("mood.enabled", true, CVar.SERVER);
2698+
#else
2699+
CVarDef.Create("mood.enabled", false, CVar.SERVER);
2700+
#endif
26972701

26982702
public static readonly CVarDef<bool> MoodIncreasesSpeed =
26992703
CVarDef.Create("mood.increases_speed", true, CVar.SERVER);

0 commit comments

Comments
 (0)