Files
wwdpublic/Content.Server/Vampire/BloodSuckerComponent.cs
VMSolidus 981b7dd9e3 Rebase Blood Drinker System, Arachne, Oneirophage (#438)
# Description
This is a simple rebase of the Blood Drinker System, and its related
features that have been commented out and/or omitted due to its lack of
rebase. I am NOT substantially updating any of this code at this time,
outside of the barest minimum updates needed to make it run in the first
place. The reason I am doing this is that I require the Blood Drinker
system functional as a prerequisite for future features, and I will
update or refactor it when needed.

Arachne are still pending a Full Rework, but that is beyond the scope of
this PR.

# TODO

- [x] Make the code functional
- [x] Port Arachne
- [x] Uncomment Oneirophages
- [x] Re-add Oneirophage midround event

# Changelog

🆑
- add: Arachne have been reimplemented!
- add: Oneirophages are back!

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2024-08-05 21:52:32 -07:00

45 lines
1.3 KiB
C#

namespace Content.Server.Vampiric
{
[RegisterComponent]
public sealed partial class BloodSuckerComponent : Component
{
/// <summary>
/// How much to succ each time we succ.
/// </summary>
[DataField("unitsToSucc")]
public float UnitsToSucc = 20f;
/// <summary>
/// The time (in seconds) that it takes to succ an entity.
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public TimeSpan Delay = TimeSpan.FromSeconds(4);
// ***INJECT WHEN SUCC***
/// <summary>
/// Whether to inject chems into a chemstream when we suck something.
/// </summary>
[DataField("injectWhenSucc")]
public bool InjectWhenSucc = false;
/// <summary>
/// How many units of our injected chem to inject.
/// </summary>
[DataField("unitsToInject")]
public float UnitsToInject = 5;
/// <summary>
/// Which reagent to inject.
/// </summary>
[DataField("injectReagent")]
public string InjectReagent = "";
/// <summary>
/// Whether we need to web the thing up first...
/// </summary>
[DataField("webRequired")]
public bool WebRequired = false;
}
}