- add: Add advanced implanter. (#171)

* - add: Add advanced implanter.

* - tweak: All implants are single use now.
This commit is contained in:
Aviu00
2024-03-06 03:42:07 +09:00
committed by GitHub
parent b256c6aff2
commit fef46680fb
6 changed files with 39 additions and 1 deletions

View File

@@ -57,6 +57,11 @@ public sealed partial class ImplanterComponent : Component
[DataField, AutoNetworkedField]
public bool ImplantOnly;
// WD START
[DataField]
public bool SingleUse = true;
// WD END
/// <summary>
/// The current mode of the implanter
/// Mode is changed automatically depending if it implants or draws

View File

@@ -117,6 +117,9 @@ public abstract class SharedImplanterSystem : EntitySystem
_container.Insert(implant.Value, implantContainer);
RaiseLocalEvent(implant.Value, new SubdermalImplantInserted(user, target, implantComp)); //WD EDIT
if (component.CurrentMode == ImplanterToggleMode.Inject && component.SingleUse) // WD EDIT
component.ImplantOnly = true;
if (component.CurrentMode == ImplanterToggleMode.Inject && !component.ImplantOnly)
DrawMode(implanter, component);
else
@@ -205,7 +208,8 @@ public abstract class SharedImplanterSystem : EntitySystem
break;
}
if (component.CurrentMode == ImplanterToggleMode.Draw && !component.ImplantOnly && !permanentFound)
if (component.CurrentMode == ImplanterToggleMode.Draw && !component.ImplantOnly && !permanentFound &&
implanterContainer.Count > 0) // WD EDIT
ImplantMode(implanter, component);
Dirty(implanter, component);

View File

@@ -52,3 +52,5 @@ ent-DeathAcidifierImplanter = { ent-BaseImplanter }
ent-ImplanterAdmeme = { ent-BaseImplanter }
.desc = {""}
.suffix = адмемы
ent-ImplanterSyndi = { ent-BaseImplanter }
.desc = { ent-BaseImplanter.desc }

View File

@@ -72,6 +72,7 @@
# go wild with sentient chairs with macrobombs
whitelist: null
blacklist: null
singleUse: false
- type: entity
id: BaseImplantOnlyImplanter
@@ -119,6 +120,9 @@
implantOnly:
True: {state: broken}
False: {state: implanter1}
- type: Implanter
implantTime: 2
drawTime: 2
#Fun implanters

View File

@@ -214,3 +214,13 @@
Telecrystal: 6
categories:
- UplinkImplants
- type: listing
id: UplinkImplanterSyndi
name: Имплантер
description: Продвинутый имплантер, позволяющий быстро вкалывать и вытаскивать импланты.
productEntity: ImplanterSyndi
cost:
Telecrystal: 1
categories:
- UplinkImplants

View File

@@ -21,3 +21,16 @@
components:
- type: Implanter
implant: MindslaveImplant
- type: entity
id: ImplanterSyndi
parent: Implanter
description: A compact disposable syringe exclusively designed for the injection and extraction of subdermal implants.
components:
- type: Item
sprite: Objects/Specific/Medical/syndi_implanter.rsi
- type: Sprite
sprite: Objects/Specific/Medical/syndi_implanter.rsi
- type: Implanter
drawTime: 2
implantTime: 2