- add: Add advanced implanter. (#171)
* - add: Add advanced implanter. * - tweak: All implants are single use now.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -52,3 +52,5 @@ ent-DeathAcidifierImplanter = { ent-BaseImplanter }
|
||||
ent-ImplanterAdmeme = { ent-BaseImplanter }
|
||||
.desc = {""}
|
||||
.suffix = адмемы
|
||||
ent-ImplanterSyndi = { ent-BaseImplanter }
|
||||
.desc = { ent-BaseImplanter.desc }
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -214,3 +214,13 @@
|
||||
Telecrystal: 6
|
||||
categories:
|
||||
- UplinkImplants
|
||||
|
||||
- type: listing
|
||||
id: UplinkImplanterSyndi
|
||||
name: Имплантер
|
||||
description: Продвинутый имплантер, позволяющий быстро вкалывать и вытаскивать импланты.
|
||||
productEntity: ImplanterSyndi
|
||||
cost:
|
||||
Telecrystal: 1
|
||||
categories:
|
||||
- UplinkImplants
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user