Фиксы и твики (#29)

* - fix: Fix speech verbs

* - fix: Fix ling chat

* - add: Chemical check before regeneration

* - tweak: Tweak ling armor

* - tweak: Tweak fleshmend

* - tweak: Stims no longer satiate hunger & thirst

* - add: New bleed alert

* - fix: Add missing bool
This commit is contained in:
Aviu00
2024-02-07 00:41:09 +09:00
committed by GitHub
parent 1105109152
commit 07bb3cae88
9 changed files with 45 additions and 28 deletions

View File

@@ -547,12 +547,18 @@ public sealed class ChatUIController : UIController
}
// WD EDIT
var localEnt = _player.LocalPlayer != null ? _player.LocalPlayer.ControlledEntity : null;
if (_entities.TryGetComponent(localEnt, out CultistComponent? comp))
var localEnt = _player.LocalEntity;
if (_entities.HasComponent<CultistComponent>(localEnt))
{
FilterableChannels |= ChatChannel.Cult;
CanSendChannels |= ChatSelectChannel.Cult;
}
if (_entities.HasComponent<ChangelingComponent>(localEnt))
{
FilterableChannels |= ChatChannel.Changeling;
CanSendChannels |= ChatSelectChannel.Changeling;
}
// WD EDIT END
SelectableChannels = CanSendChannels;

View File

@@ -107,12 +107,6 @@ public sealed class BloodstreamSystem : EntitySystem
if (!_solutionContainerSystem.ResolveSolution(uid, bloodstream.BloodSolutionName, ref bloodstream.BloodSolution, out var bloodSolution))
continue;
//WD-EDIT
if (bloodstream.IsBleeding)
_alertsSystem.ShowAlert(uid, AlertType.Bleeding);
else
_alertsSystem.ClearAlert(uid, AlertType.Bleeding);
//WD-EDIT
// Adds blood to their blood level if it is below the maximum; Blood regeneration. Must be alive.
if (bloodSolution.Volume < bloodSolution.MaxVolume && !_mobStateSystem.IsDead(uid))
@@ -391,6 +385,14 @@ public sealed class BloodstreamSystem : EntitySystem
component.BleedAmount += amount;
component.BleedAmount = Math.Clamp(component.BleedAmount, 0, component.MaxBleedAmount);
if (component.BleedAmount == 0)
_alertsSystem.ClearAlert(uid, AlertType.Bleed);
else
{
var severity = (short) Math.Clamp(Math.Round(component.BleedAmount, MidpointRounding.ToZero), 0, 10);
_alertsSystem.ShowAlert(uid, AlertType.Bleed, severity);
}
return true;
}

View File

@@ -1,5 +1,7 @@
using System.Linq;
using Content.Server.Administration.Systems;
using Content.Server.Body.Components;
using Content.Server.Body.Systems;
using Content.Server.DoAfter;
using Content.Server.Forensics;
using Content.Server.Humanoid;
@@ -61,6 +63,7 @@ public sealed partial class ChangelingSystem
[Dependency] private readonly ActionContainerSystem _actionContainerSystem = default!;
[Dependency] private readonly SharedPullingSystem _pullingSystem = default!;
[Dependency] private readonly MindSystem _mindSystem = default!;
[Dependency] private readonly BloodstreamSystem _blood = default!;
private void InitializeAbilities()
@@ -228,6 +231,12 @@ public sealed partial class ChangelingSystem
if (!TryComp<DamageableComponent>(uid, out var damageableComponent))
return;
if (component.ChemicalsBalance < 15)
{
_popup.PopupEntity("We're lacking of chemicals!", uid, uid);
return;
}
if (damageableComponent.TotalDamage >= 0 && !_mobStateSystem.IsDead(uid))
{
KillUser(uid, "Cellular");
@@ -433,8 +442,9 @@ public sealed partial class ChangelingSystem
if (!TakeChemicals(uid, component, 20))
return;
_solutionContainer.TryAddReagent(injectable.Value, "Omnizine", 50);
_solutionContainer.TryAddReagent(injectable.Value, "TranexamicAcid", 10);
_solutionContainer.TryAddReagent(injectable.Value, "Omnizine", 25);
if (TryComp(uid, out BloodstreamComponent? bloodstream))
_blood.TryModifyBleedAmount(uid, -bloodstream.BleedAmount, bloodstream);
args.Handled = true;
}

View File

@@ -85,7 +85,7 @@ chat-speech-verb-skeleton-1 = гремит
chat-speech-verb-skeleton-2 = щелкает
chat-speech-verb-skeleton-3 = скрежет
chat-speech-verb-canine-1 = гафкает
chat-speech-verb-canine-1 = гавкает
chat-speech-verb-canine-2 = лает
chat-speech-verb-canine-3 = воет

View File

@@ -44,7 +44,7 @@
description: Inflates the changeling's body into an all-consuming chitinous mass of armor.
productAction: ActionArmor
cost:
ChangelingPoint: 4
ChangelingPoint: 1
categories:
- ChangelingAbilities
conditions:

View File

@@ -153,7 +153,7 @@
- type: GiftIgnore
- type: entity
parent: ClothingOuterArmorHeavy
parent: ClothingOuterBaseLarge
id: ClothingOuterChangeling
name: chitinous armor
description: Chitinous and flesh mass of armor.
@@ -162,6 +162,15 @@
sprite: Clothing/OuterClothing/Armor/changeling.rsi
- type: Clothing
sprite: Clothing/OuterClothing/Armor/changeling.rsi
- type: Armor
modifiers:
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.6
Heat: 0.5
- type: ExplosionResistance
damageCoefficient: 0.9
- type: Unremoveable
deleteOnDrop: true

View File

@@ -133,10 +133,6 @@
metabolismRate: 0.2
effects:
- !type:ResetNarcolepsy
- !type:SatiateHunger
factor: 1
- !type:SatiateThirst
factor: 1
- !type:HealthChange
conditions:
- !type:TotalDamage
@@ -230,10 +226,6 @@
metabolismRate: 0.25
effects:
- !type:ResetNarcolepsy
- !type:SatiateHunger
factor: 1
- !type:SatiateThirst
factor: 1
- !type:HealthChange
conditions:
- !type:ReagentThreshold

View File

@@ -97,14 +97,14 @@
- type: emote
id: Chitter
category: Vocal
chatMessages: [ тарахтит ]
chatMessages: [ стрекочет ]
chatTriggers:
- стрекочет
- стрекочет.
- стрекочет!
- щебечет
- щебечет.
- щебечет!
- тарахтит
- тарахтит.
- тарахтит!
- type: emote
id: Squeak

View File

@@ -1,4 +1,4 @@
- type: speechVerb
- type: speechVerb
id: Default
speechVerbStrings:
- chat-speech-verb-default
@@ -34,7 +34,6 @@
id: Arachnid
speechVerbStrings:
- chat-speech-verb-insect-1
- chat-speech-verb-insect-2
- chat-speech-verb-insect-3
- chat-speech-verb-reptilian-1
@@ -58,7 +57,6 @@
- chat-speech-verb-reptilian-1
- chat-speech-verb-reptilian-2
- chat-speech-verb-reptilian-3
- chat-speech-verb-insect-2
- type: speechVerb
id: Skeleton