Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shadowkin #241

Closed
wants to merge 153 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
964f4d3
ShadowKin Start
FoxxoTrystan Sep 25, 2024
85e7639
Cleanups
FoxxoTrystan Sep 25, 2024
a5d3129
oops
FoxxoTrystan Sep 25, 2024
2ac5f80
Marish
FoxxoTrystan Sep 25, 2024
b1b2a54
Merge branch 'master' into ShadowKin
FoxxoTrystan Sep 25, 2024
f90ec24
Organs and fixes
FoxxoTrystan Sep 25, 2024
e5081c4
Requirements
FoxxoTrystan Sep 25, 2024
4535f91
Plushie / RSI Fixes
FoxxoTrystan Sep 25, 2024
62c3028
Marish 2.0
FoxxoTrystan Sep 26, 2024
cde86f2
fixes verbs
FoxxoTrystan Sep 26, 2024
d453177
Update ChatSystem.cs
FoxxoTrystan Sep 26, 2024
f9f4ee5
Merge branch 'ShadowKin' of https://github.com/FoxxoTrystan/Einstein-…
FoxxoTrystan Sep 26, 2024
f234733
Update shadowkin.ftl
FoxxoTrystan Sep 26, 2024
130d837
verb fix, again
FoxxoTrystan Sep 26, 2024
571f449
Sounds
FoxxoTrystan Sep 26, 2024
78e02c8
Fixes
FoxxoTrystan Sep 26, 2024
fd83b92
goofy mind moment
FoxxoTrystan Sep 26, 2024
b4a5290
Update SlimePerson.xml
FoxxoTrystan Sep 26, 2024
b75052a
Remove InteractionPopup From IPCs (#961)
Mnemotechnician Sep 26, 2024
137d563
oops
FoxxoTrystan Sep 27, 2024
bf8e970
Backpack Loadout Category (#957)
VMSolidus Sep 28, 2024
0e6da21
Automatic Changelog Update (#957)
SimpleStation14 Sep 28, 2024
2027625
Fix IPC Reboot Button (#963)
VMSolidus Sep 28, 2024
232a280
Automatic Changelog Update (#963)
SimpleStation14 Sep 28, 2024
b969542
Fix HealthContest Crash (#954)
VMSolidus Sep 28, 2024
320a62c
Automatic Changelog Update (#954)
SimpleStation14 Sep 28, 2024
12b4fd2
Fix Moodlet Popup Spam (#948)
VMSolidus Sep 28, 2024
7f909b0
Automatic Changelog Update (#948)
SimpleStation14 Sep 28, 2024
acb9ba3
Update Noospheric Events' Glimmer Ranges (#969)
Mnemotechnician Sep 28, 2024
c8d8358
Pulling Minor Fixes (#966)
Mnemotechnician Sep 28, 2024
65913bb
Automatic Changelog Update (#969)
SimpleStation14 Sep 28, 2024
62db3d3
Automatic Changelog Update (#966)
SimpleStation14 Sep 28, 2024
71b0417
Merge branch 'master' into ShadowKin
FoxxoTrystan Sep 28, 2024
8664b8b
Kemonomimi Markings For Humans (#964)
VMSolidus Sep 28, 2024
b4bb489
Automatic Changelog Update (#964)
SimpleStation14 Sep 28, 2024
b18c261
Harpy Language! (#968)
VMSolidus Sep 28, 2024
ef2360d
Automatic Changelog Update (#968)
SimpleStation14 Sep 28, 2024
53da538
Merge branch 'master' into ShadowKin
FoxxoTrystan Sep 28, 2024
bb77cc9
Heal Other Bugfix 2 (#970)
VMSolidus Sep 29, 2024
914bd56
1984 Psionics Guide (#972)
VMSolidus Sep 29, 2024
ef9d346
Automatic Changelog Update (#970)
SimpleStation14 Sep 29, 2024
620c8ea
Automatic Changelog Update (#972)
SimpleStation14 Sep 29, 2024
d8e376e
Fixed Cyberlimbs and Named Color Categories (#974)
Aikakakah Sep 29, 2024
dde8c6c
Automatic Changelog Update (#974)
SimpleStation14 Sep 29, 2024
d138495
Nerf Reagent Slimes (#977)
VMSolidus Sep 29, 2024
e1f2c2d
Automatic Changelog Update (#977)
SimpleStation14 Sep 29, 2024
bef577e
Interaction Verb Minor Fixes (#965)
Mnemotechnician Sep 30, 2024
287d52b
Automatic Changelog Update (#965)
SimpleStation14 Sep 30, 2024
a5e3318
Update LobbyGui.xaml (#962)
Evgencheg Sep 30, 2024
ce9d9aa
Automatic Changelog Update (#962)
SimpleStation14 Sep 30, 2024
13f52f7
Shadeskip Power (#987)
VMSolidus Sep 30, 2024
d158cfe
Automatic Changelog Update (#987)
SimpleStation14 Sep 30, 2024
e063784
Psionic Mood System Interactions (#988)
VMSolidus Sep 30, 2024
5ae7f42
More Psionic Traits (#983)
VMSolidus Sep 30, 2024
138b280
Automatic Changelog Update (#988)
SimpleStation14 Sep 30, 2024
211df73
Automatic Changelog Update (#983)
SimpleStation14 Sep 30, 2024
1ec982a
Better Narcolepsy (#967)
Mnemotechnician Sep 30, 2024
ac7b170
Automatic Changelog Update (#967)
SimpleStation14 Sep 30, 2024
50a2a4a
Space Dragon Gib/Butchering Fixes (#992)
zelezniciar1 Oct 1, 2024
8784e83
Automatic Changelog Update (#992)
SimpleStation14 Oct 1, 2024
1e29e65
Undo Accidental Revert Of Rampant Brand Intelligence (#947)
VMSolidus Oct 1, 2024
5e88207
Automatic Changelog Update (#947)
SimpleStation14 Oct 1, 2024
b9167c9
Fix Markings Menu (#997)
VMSolidus Oct 1, 2024
a1aaa35
Automatic Changelog Update (#997)
SimpleStation14 Oct 1, 2024
c162c31
Uncomment Immovable Rod (#973)
VMSolidus Oct 2, 2024
c895546
Automatic Changelog Update (#973)
SimpleStation14 Oct 2, 2024
4babad0
Harpy Guidebook (#993)
VMSolidus Oct 2, 2024
8b63a56
Fix Command Dumping To Uncategorized (#989)
VMSolidus Oct 2, 2024
88f384c
More Kemonomimi Markings (#981)
VMSolidus Oct 2, 2024
d3d9181
Automatic Changelog Update (#993)
SimpleStation14 Oct 2, 2024
9001be8
Vent Spawn Fix (#982)
fenndragon Oct 2, 2024
b86dc6e
Automatic Changelog Update (#981)
SimpleStation14 Oct 2, 2024
f6706a0
Automatic Changelog Update (#982)
SimpleStation14 Oct 2, 2024
1c25688
Uncomment Grapple And Tether Guns (#1000)
VMSolidus Oct 2, 2024
ad6949e
Automatic Changelog Update (#1000)
SimpleStation14 Oct 2, 2024
3ff96e7
Merge branch 'master' into ShadowKin
FoxxoTrystan Oct 2, 2024
1dbce62
Fix Mail Doors (#986)
Fansana Oct 2, 2024
2de4f6d
Anomalist Power System (#991)
VMSolidus Oct 2, 2024
83bc824
Automatic Changelog Update (#986)
SimpleStation14 Oct 2, 2024
7deb42f
Add LocalizedPrototype Type (#747)
DEATHB4DEFEAT Oct 2, 2024
b4692b8
Harpy Sounds + Fixes
FoxxoTrystan Oct 3, 2024
ff3c604
Merge branch 'master' into ShadowKin
FoxxoTrystan Oct 3, 2024
7e224a2
Telekinetic Pulse Power (#1002)
VMSolidus Oct 4, 2024
0086588
Automatic Changelog Update (#1002)
SimpleStation14 Oct 4, 2024
ef59cbb
Windows And Tables Resprites! (#958)
FoxxoTrystan Oct 4, 2024
e8f26b6
Automatic Changelog Update (#958)
SimpleStation14 Oct 4, 2024
c9c999e
Port Respawn System (#998)
VMSolidus Oct 4, 2024
cf35458
Automatic Changelog Update (#998)
SimpleStation14 Oct 4, 2024
94bae78
Nerf the Fuck Out of Winter Boots (#1004)
Mnemotechnician Oct 4, 2024
ff1db70
Automatic Changelog Update (#1004)
SimpleStation14 Oct 4, 2024
c9804ee
Shadowkin System/Comp, Psionic and Overlay.
FoxxoTrystan Oct 4, 2024
941f35c
fixes
FoxxoTrystan Oct 4, 2024
f97bd04
Merge branch 'master' into ShadowKin
FoxxoTrystan Oct 4, 2024
ad46cd8
Merge branch 'ShadowKin' of https://github.com/FoxxoTrystan/Einstein-…
FoxxoTrystan Oct 4, 2024
861a32b
Move ShadowkinSystem to Server and add Rejuvenate option.
FoxxoTrystan Oct 4, 2024
1a9a31d
Shadowkin AlertType
FoxxoTrystan Oct 4, 2024
0c99ecd
Fix Alert
FoxxoTrystan Oct 4, 2024
50bf53c
Sleep, Fixes
FoxxoTrystan Oct 4, 2024
af68d64
restriction fixes.
FoxxoTrystan Oct 4, 2024
3e7629d
Merge remote-tracking branch 'real-ee/master' into floof-upstream-mer…
Mnemotechnician Oct 4, 2024
5aa7288
Fix ghost respawn locales
Mnemotechnician Oct 4, 2024
3f5ba91
Fix floof command loadouts
Mnemotechnician Oct 4, 2024
c01c559
Psionic Mana System
FoxxoTrystan Oct 5, 2024
9be89e1
Shadowkin/ Final Systems
FoxxoTrystan Oct 5, 2024
db32184
ShadowKin Shadeskip
FoxxoTrystan Oct 5, 2024
ec8d992
Better Rejuvenate
FoxxoTrystan Oct 5, 2024
1c6c0bd
Fix some Locales Seemingly Made Using Google Translate (#1006)
Mnemotechnician Oct 5, 2024
9c589ce
Blood Regeneration Affects Hunger/Thirst (#1007)
Mnemotechnician Oct 5, 2024
e8a0612
Unathi Lore Update (#1008)
VMSolidus Oct 5, 2024
99cde5d
Update CloningSystem.Utility.cs (#1009)
VMSolidus Oct 5, 2024
6cb4562
MoodSystem Crit Threshold CVar (#1010)
VMSolidus Oct 5, 2024
8ba95f3
Automatic Changelog Update (#1009)
SimpleStation14 Oct 5, 2024
209a538
ShadowkinPowers
FoxxoTrystan Oct 5, 2024
4a8d5fa
Merge branch 'master' into ShadowKin
FoxxoTrystan Oct 6, 2024
2937d8f
Mono Sounds
FoxxoTrystan Oct 6, 2024
bb08b62
Merge branch 'ShadowKin' of https://github.com/FoxxoTrystan/Einstein-…
FoxxoTrystan Oct 6, 2024
6803b6d
TODO Fixes
FoxxoTrystan Oct 6, 2024
8af5fb5
Shadowkin.yml
FoxxoTrystan Oct 6, 2024
08afef5
Vending Machine Light
FoxxoTrystan Oct 6, 2024
3fe5842
Bluespace Crystal
FoxxoTrystan Oct 6, 2024
19531ab
Ethereal Glass
FoxxoTrystan Oct 6, 2024
08f6c5b
Restrains + Fixes
FoxxoTrystan Oct 6, 2024
2ac1b77
Crafting + Backpack
FoxxoTrystan Oct 6, 2024
fffe2b6
Update ShadowkinSystem.cs
FoxxoTrystan Oct 6, 2024
6373521
Update makeshifthandcuffs.yml
FoxxoTrystan Oct 6, 2024
1b0e883
Merge branch 'master' of https://github.com/simple-station/einstein-e…
Mnemotechnician Oct 6, 2024
f8e68a5
Let's hope this doesn't corrupt the db.
Mnemotechnician Oct 6, 2024
9fe77f0
Apply suggestions from code review
FoxxoTrystan Oct 7, 2024
995990b
Update Content.Shared/Psionics/SharedPsionicAbilitiesSystem.cs
VMSolidus Oct 7, 2024
eac5fd9
Update Content.Shared/Psionics/SharedPsionicAbilitiesSystem.cs
VMSolidus Oct 7, 2024
e090efa
fix guh
FoxxoTrystan Oct 7, 2024
c98d04a
Psionic/ShowEthereal Fixes
FoxxoTrystan Oct 7, 2024
43d074c
yml fixes
FoxxoTrystan Oct 7, 2024
7726fa7
yml.rsi fixes... again
FoxxoTrystan Oct 7, 2024
50bdd1f
To add a cap i need to do this
FoxxoTrystan Oct 7, 2024
cde5172
Wow i have to do this shit.
FoxxoTrystan Oct 7, 2024
28fd7a3
fixes
FoxxoTrystan Oct 7, 2024
b7c10a1
FUCKING WHY RENAME IS PAIN
FoxxoTrystan Oct 7, 2024
989e26f
ok please stop
FoxxoTrystan Oct 7, 2024
b027af9
Happy Test?
FoxxoTrystan Oct 7, 2024
fdae343
Test
FoxxoTrystan Oct 7, 2024
b158e44
WHAT ABOUT THIS? HUH?
FoxxoTrystan Oct 7, 2024
11cee32
This Pehaps?
FoxxoTrystan Oct 7, 2024
272c142
Pray the fixes!
FoxxoTrystan Oct 7, 2024
d9b62c7
Final Happy Fixes
FoxxoTrystan Oct 7, 2024
140fe27
No Altvision
FoxxoTrystan Oct 7, 2024
6645342
No
FoxxoTrystan Oct 7, 2024
fad7e57
No Non-Blackeye Prisoner Shadowkin
FoxxoTrystan Oct 7, 2024
6a5bc92
Apply Changes
FoxxoTrystan Oct 7, 2024
6f52926
Merge branch 'pr/Mnemotechnician/223' into Shadowkin
FoxxoTrystan Oct 7, 2024
4f81988
Merge remote-tracking branch 'EE-Trystan/ShadowKin' into Shadowkin
FoxxoTrystan Oct 7, 2024
3973a53
guh
FoxxoTrystan Oct 7, 2024
6044962
nospawn
FoxxoTrystan Oct 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Blood Regeneration Affects Hunger/Thirst (#1007)
# Description
Makes natural blood regeneration use up some hunger and thirst, and halt
completely when you are starving/dying of thirst.

This is necessary to fix two issues:
1. It being possible to feed off of your own blood, by repeatedly
drawing your blood and injecting it back with a syringe. (I actually
know a few people on floof who do that on a daily basis)
2. Hunger and thirst having no real impact on gameplay, besides giving
you a mildly annoying depression overlay when low.

This PR also slightly refactors the blood deficiency trait so that it's
no longer completely hardcoded in the bloodstream system.

<details><summary><h1>Media</h1></summary>
<p>


https://github.com/user-attachments/assets/f8634de5-19bd-44a5-ada2-62f4504bf3d4

</p>
</details>

# Changelog
:cl:
- add: Blood regeneration now uses up hunger and thirst, and comes to a
halt when you are very hungry or thirst.
- fix: It is no longer feasible to drink your own blood to satiate your
own hunger.
Mnemotechnician authored Oct 5, 2024
commit 9c589ce7e7475c817051b5cec10aeef3eb97845c
21 changes: 8 additions & 13 deletions Content.Server/Body/Components/BloodstreamComponent.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Content.Server.Body.Systems;
using Content.Server.Chemistry.EntitySystems;
using Content.Server.Traits;
using Content.Server.Traits.Assorted;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Reagent;
@@ -83,6 +84,13 @@ public sealed partial class BloodstreamComponent : Component
[DataField]
public FixedPoint2 BloodRefreshAmount = 1.0f;

/// <summary>
/// How much hunger/thirst is used to regenerate one unit of blood. Set to zero to disable.
/// The actual thirst/hunger rate will scale with <see cref="BloodRefreshAmount"/>.
/// </summary>
/// <remarks>Those will have no effect if the entity has no hunger/thirst components.</remarks>
public float BloodRegenerationHunger = 1f, BloodRegenerationThirst = 1f;

/// <summary>
/// How much blood needs to be in the temporary solution in order to create a puddle?
/// </summary>
@@ -172,18 +180,5 @@ public sealed partial class BloodstreamComponent : Component
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
public TimeSpan StatusTime;

/// <summary>
/// If this is true, the entity will not passively regenerate blood,
/// and instead will slowly lose blood.
/// </summary>
[DataField]
public bool HasBloodDeficiency = false;

/// <summary>
/// How much percentage of max blood volume should be removed with blood deficiency in each update interval?
/// </summary>
[DataField]
public float BloodDeficiencyLossPercentage;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using Content.Shared.FixedPoint;

namespace Content.Server.Body.Events;

/// <summary>
/// Raised on a mob when its bloodstream tries to perform natural blood regeneration.
/// </summary>
[ByRefEvent]
public sealed class NaturalBloodRegenerationAttemptEvent : CancellableEntityEventArgs
{
/// <summary>
/// How much blood the mob will regenerate on this tick. Can be negative.
/// </summary>
public FixedPoint2 Amount;
}
50 changes: 39 additions & 11 deletions Content.Server/Body/Systems/BloodstreamSystem.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Content.Server.Body.Components;
using Content.Server.Body.Events;
using Content.Server.Chemistry.Containers.EntitySystems;
using Content.Server.Chemistry.ReactionEffects;
using Content.Server.Fluids.EntitySystems;
@@ -14,6 +15,8 @@
using Content.Shared.Drunk;
using Content.Shared.FixedPoint;
using Content.Shared.Mobs.Systems;
using Content.Shared.Nutrition.Components;
using Content.Shared.Nutrition.EntitySystems;
using Content.Shared.Popups;
using Content.Shared.Rejuvenate;
using Content.Shared.Speech.EntitySystems;
@@ -39,6 +42,8 @@ public sealed class BloodstreamSystem : EntitySystem
[Dependency] private readonly SharedStutteringSystem _stutteringSystem = default!;
[Dependency] private readonly AlertsSystem _alertsSystem = default!;
[Dependency] private readonly ForensicsSystem _forensicsSystem = default!;
[Dependency] private readonly HungerSystem _hunger = default!;
[Dependency] private readonly ThirstSystem _thirst = default!;

public override void Initialize()
{
@@ -118,17 +123,9 @@ public override void Update(float frameTime)
if (!_solutionContainerSystem.ResolveSolution(uid, bloodstream.BloodSolutionName, ref bloodstream.BloodSolution, out var bloodSolution))
continue;

// Removes blood for Blood Deficiency constantly.
if (bloodstream.HasBloodDeficiency)
{
if (!_mobStateSystem.IsDead(uid))
RemoveBlood(uid, bloodstream.BloodMaxVolume * bloodstream.BloodDeficiencyLossPercentage, bloodstream);
}
// Adds blood to their blood level if it is below the maximum.
else if (bloodSolution.Volume < bloodSolution.MaxVolume && !_mobStateSystem.IsDead(uid))
{
TryModifyBloodLevel(uid, bloodstream.BloodRefreshAmount, bloodstream);
}
// Try to apply natural blood regeneration/bloodloss
if (!_mobStateSystem.IsDead(uid))
TryDoNaturalRegeneration((uid, bloodstream), bloodSolution);

// Removes blood from the bloodstream based on bleed amount (bleed rate)
// as well as stop their bleeding to a certain extent.
@@ -498,4 +495,35 @@ private void RemoveBlood(EntityUid uid, FixedPoint2 amount, BloodstreamComponent

bloodSolution.RemoveReagent(component.BloodReagent, amount);
}

/// <summary>
/// Tries to apply natural blood regeneration/loss to the entity. Returns true if succesful.
/// </summary>
private bool TryDoNaturalRegeneration(Entity<BloodstreamComponent> ent, Solution bloodSolution)
{
var ev = new NaturalBloodRegenerationAttemptEvent { Amount = ent.Comp.BloodRefreshAmount };
RaiseLocalEvent(ent, ref ev);

if (ev.Cancelled || (ev.Amount > 0 && bloodSolution.Volume >= bloodSolution.MaxVolume))
return false;

var usedHunger = ev.Amount * ent.Comp.BloodRegenerationHunger;
var usedThirst = ev.Amount * ent.Comp.BloodRegenerationThirst;

// First, check if the entity has enough hunger/thirst
var hungerComp = CompOrNull<HungerComponent>(ent);
var thirstComp = CompOrNull<ThirstComponent>(ent);
if (usedHunger > 0 && hungerComp is not null && (hungerComp.CurrentHunger < usedHunger || hungerComp.CurrentThreshold <= HungerThreshold.Starving)
|| usedThirst > 0 && thirstComp is not null && (thirstComp.CurrentThirst < usedThirst || thirstComp.CurrentThirstThreshold <= ThirstThreshold.Parched))
return false;

// Then actually expend hunger and thirst (if necessary) and regenerate blood.
if (usedHunger > 0 && hungerComp is not null)
_hunger.ModifyHunger(ent, (float) -usedHunger, hungerComp);

if (usedThirst > 0 && thirstComp is not null)
_thirst.ModifyThirst(ent, thirstComp, (float) -usedThirst);

return TryModifyBloodLevel(ent, ev.Amount, ent.Comp);
}
}
6 changes: 6 additions & 0 deletions Content.Server/Traits/BloodDeficiencyComponent.cs
Original file line number Diff line number Diff line change
@@ -11,4 +11,10 @@ public sealed partial class BloodDeficiencyComponent : Component
// </summary>
[DataField(required: true)]
public float BloodLossPercentage;

/// <summary>
/// Whether the effects of this trait should be active.
/// </summary>
[DataField]
public bool Active = true;
}
17 changes: 9 additions & 8 deletions Content.Server/Traits/BloodDeficiencySystem.cs
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
using Content.Server.Body.Systems;
using Content.Server.Body.Components;
using Content.Shared.Damage;
using Content.Server.Body.Events;
using Content.Server.Traits.Assorted;
using Content.Shared.FixedPoint;

namespace Content.Server.Traits.Assorted;
namespace Content.Server.Traits;

public sealed class BloodDeficiencySystem : EntitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<BloodDeficiencyComponent, ComponentStartup>(OnStartup);
SubscribeLocalEvent<BloodDeficiencyComponent, NaturalBloodRegenerationAttemptEvent>(OnBloodRegen);
}

private void OnStartup(EntityUid uid, BloodDeficiencyComponent component, ComponentStartup args)
private void OnBloodRegen(Entity<BloodDeficiencyComponent> ent, ref NaturalBloodRegenerationAttemptEvent args)
{
if (!TryComp<BloodstreamComponent>(uid, out var bloodstream))
if (!ent.Comp.Active || !TryComp<BloodstreamComponent>(ent.Owner, out var bloodstream))
return;

bloodstream.HasBloodDeficiency = true;
bloodstream.BloodDeficiencyLossPercentage = component.BloodLossPercentage;
args.Amount = FixedPoint2.Min(args.Amount, 0) // If the blood regen amount already was negative, we keep it.
- bloodstream.BloodMaxVolume * ent.Comp.BloodLossPercentage;
}
}
1 change: 1 addition & 0 deletions Resources/Prototypes/Entities/Mobs/Species/arachne.yml
Original file line number Diff line number Diff line change
@@ -108,6 +108,7 @@
- DoorBumpOpener
- type: Bloodstream
bloodReagent: DemonsBlood
bloodRegenerationThirst: 4 # 1 unit of demon's blood satiates 4 thirst
- type: BloodSucker
webRequired: true
- type: Arachne
2 changes: 2 additions & 0 deletions Resources/Prototypes/Entities/Mobs/Species/diona.yml
Original file line number Diff line number Diff line change
@@ -33,6 +33,8 @@
amount: 5
- type: Bloodstream
bloodReagent: Sap
bloodRegenerationHunger: 1
bloodRegenerationThirst: 1 # 1 unit of sap satiates 1 hunger and thirst
- type: Reactive
groups:
Flammable: [ Touch ]
2 changes: 2 additions & 0 deletions Resources/Prototypes/Entities/Mobs/Species/slime.yml
Original file line number Diff line number Diff line change
@@ -35,6 +35,8 @@
color: "#2cf274"
- type: Bloodstream
bloodReagent: Slime # TODO Color slime blood based on their slime color or smth
bloodRegenerationHunger: 2
bloodRegenerationThirst: 2 # 1 of slime satiates 2 hunger
- type: Barotrauma
damage:
types:
2 changes: 2 additions & 0 deletions Resources/Prototypes/Entities/Mobs/base.yml
Original file line number Diff line number Diff line change
@@ -233,3 +233,5 @@
bloodlossHealDamage:
types:
Bloodloss: -1
bloodRegenerationHunger: 1
bloodRegenerationThirst: 1.5 # 1 unit of normal blood satiates 1t, 0.3t for vampires, 0.75h, and restores 0.25 blood for non-humans...
16 changes: 10 additions & 6 deletions Resources/Prototypes/Reagents/biological.yml
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@
Drink:
effects:
- !type:SatiateThirst
factor: 1.5
factor: 0.5
conditions:
- !type:OrganType
type: Human
@@ -39,7 +39,7 @@
- !type:OrganType
type: Vampiric
reagent: Protein
amount: 0.15
amount: 0.125 # See below
- !type:AdjustReagent
conditions:
- !type:OrganType
@@ -50,7 +50,11 @@
effects:
- !type:AdjustReagent
reagent: UncookedAnimalProteins
amount: 0.5
amount: 0.125 # 0.25 proteins for 1u of blood - restores 0.75 hunger, adds 0.25 blood per unit
conditions:
- !type:OrganType
type: Vampiric
shouldHave: false
Medicine:
effects:
- !type:HealthChange
@@ -99,7 +103,7 @@
# Delicious!
effects:
- !type:SatiateHunger
factor: 1.5
factor: 1
footstepSound:
collection: FootstepBlood
params:
@@ -123,9 +127,9 @@
# Sweet!
effects:
- !type:SatiateHunger
factor: 1
factor: 0.5
- !type:SatiateThirst
factor: 1
factor: 0.5
footstepSound:
collection: FootstepBlood
params: