Skip to content

Commit 926422c

Browse files
authored
Dragon's Devour applies Ichor into the stomach instead of directly into the bloodstream (#5941)
## Short description Dragon's Devour ability applies Ichor into the stomach instead of directly into the bloodstream ## Why we need to add this Ichor only works when digested ## Media (Video/Screenshots) <img width="1280" height="720" alt="dragondevour" src="https://github.com/user-attachments/assets/3fbe206a-40e7-4c84-b424-622943b7bdac" /> ## Checks - [x] I do not require assistance to complete the PR. - [x] Before posting/requesting review of a PR, I have verified that the changes work. - [x] I have added screenshots/videos of the changes, or this PR does not change in-game mechanics. - [x] I affirm that my changes are licensed under the [MIT License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE.TXT) and grant permission for use in this repository under its conditions. **Changelog** :cl: qbrx - Dragon's devour now applies Ichor into the stomach, allowing it to digest properly.
1 parent 4eaf22c commit 926422c

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

Content.Shared/Devour/DevourSystem.cs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
using Content.Shared._Starlight.Medical.Body.Systems;
2+
using Content.Shared._Starlight.Medical.Body.Components;
3+
using Content.Shared.Body.Systems;
4+
using Content.Shared.Body.Components;
25
using Content.Shared.Actions;
36
using Content.Shared.Chemistry.Components;
47
using Content.Shared.Devour.Components;
@@ -26,12 +29,15 @@ public sealed partial class DevourSystem : EntitySystem
2629
[Dependency] private EntityWhitelistSystem _whitelistSystem = default!;
2730
[Dependency] private SharedActionsSystem _actionsSystem = default!;
2831
[Dependency] private SharedAudioSystem _audioSystem = default!;
29-
[Dependency] private SharedBloodstreamSystem _bloodstreamSystem = default!;
3032
[Dependency] private SharedContainerSystem _containerSystem = default!;
3133
[Dependency] private SharedDoAfterSystem _doAfterSystem = default!;
3234
[Dependency] private SharedPopupSystem _popupSystem = default!;
33-
[Dependency] private DamageableSystem _damageSystem = default!; //Starlight
34-
[Dependency] private MobThresholdSystem _thresholdSystem = default!; //Starlight
35+
#region "Starlight"
36+
[Dependency] private DamageableSystem _damageSystem = default!;
37+
[Dependency] private MobThresholdSystem _thresholdSystem = default!;
38+
[Dependency] private StomachSystem _stomach = default!;
39+
[Dependency] private SharedBodySystem _body = default!;
40+
#endregion
3541

3642
public override void Initialize()
3743
{
@@ -143,7 +149,16 @@ private void OnDoAfter(Entity<DevourerComponent> ent, ref DevourDoAfterEvent arg
143149
// Grant ichor if the devoured thing meets the dragon's food preference
144150
if (target != null && _whitelistSystem.IsWhitelistPassOrNull(ent.Comp.FoodPreferenceWhitelist, (EntityUid)target)) //Starlight, args.Args.Target replaced with target
145151
{
146-
_bloodstreamSystem.TryAddToBloodstream(ent.Owner, ichorInjection);
152+
// Starlight-start
153+
var stomachs = _body.GetBodyOrganEntityComps<StomachComponent>(ent.Owner);
154+
155+
if (stomachs.Count > 0)
156+
{
157+
var stomach = stomachs[0];
158+
_stomach.TryTransferSolution(stomach.Owner, ichorInjection);
159+
}
160+
// Starlight-end
161+
147162
ent.Comp.Devoured++; //Starlight devour counter.
148163
}
149164

0 commit comments

Comments
 (0)