- 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]
|
[DataField, AutoNetworkedField]
|
||||||
public bool ImplantOnly;
|
public bool ImplantOnly;
|
||||||
|
|
||||||
|
// WD START
|
||||||
|
[DataField]
|
||||||
|
public bool SingleUse = true;
|
||||||
|
// WD END
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The current mode of the implanter
|
/// The current mode of the implanter
|
||||||
/// Mode is changed automatically depending if it implants or draws
|
/// Mode is changed automatically depending if it implants or draws
|
||||||
|
|||||||
@@ -117,6 +117,9 @@ public abstract class SharedImplanterSystem : EntitySystem
|
|||||||
_container.Insert(implant.Value, implantContainer);
|
_container.Insert(implant.Value, implantContainer);
|
||||||
RaiseLocalEvent(implant.Value, new SubdermalImplantInserted(user, target, implantComp)); //WD EDIT
|
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)
|
if (component.CurrentMode == ImplanterToggleMode.Inject && !component.ImplantOnly)
|
||||||
DrawMode(implanter, component);
|
DrawMode(implanter, component);
|
||||||
else
|
else
|
||||||
@@ -205,7 +208,8 @@ public abstract class SharedImplanterSystem : EntitySystem
|
|||||||
break;
|
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);
|
ImplantMode(implanter, component);
|
||||||
|
|
||||||
Dirty(implanter, component);
|
Dirty(implanter, component);
|
||||||
|
|||||||
@@ -52,3 +52,5 @@ ent-DeathAcidifierImplanter = { ent-BaseImplanter }
|
|||||||
ent-ImplanterAdmeme = { ent-BaseImplanter }
|
ent-ImplanterAdmeme = { ent-BaseImplanter }
|
||||||
.desc = {""}
|
.desc = {""}
|
||||||
.suffix = адмемы
|
.suffix = адмемы
|
||||||
|
ent-ImplanterSyndi = { ent-BaseImplanter }
|
||||||
|
.desc = { ent-BaseImplanter.desc }
|
||||||
|
|||||||
@@ -72,6 +72,7 @@
|
|||||||
# go wild with sentient chairs with macrobombs
|
# go wild with sentient chairs with macrobombs
|
||||||
whitelist: null
|
whitelist: null
|
||||||
blacklist: null
|
blacklist: null
|
||||||
|
singleUse: false
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: BaseImplantOnlyImplanter
|
id: BaseImplantOnlyImplanter
|
||||||
@@ -119,6 +120,9 @@
|
|||||||
implantOnly:
|
implantOnly:
|
||||||
True: {state: broken}
|
True: {state: broken}
|
||||||
False: {state: implanter1}
|
False: {state: implanter1}
|
||||||
|
- type: Implanter
|
||||||
|
implantTime: 2
|
||||||
|
drawTime: 2
|
||||||
|
|
||||||
#Fun implanters
|
#Fun implanters
|
||||||
|
|
||||||
|
|||||||
@@ -214,3 +214,13 @@
|
|||||||
Telecrystal: 6
|
Telecrystal: 6
|
||||||
categories:
|
categories:
|
||||||
- UplinkImplants
|
- UplinkImplants
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkImplanterSyndi
|
||||||
|
name: Имплантер
|
||||||
|
description: Продвинутый имплантер, позволяющий быстро вкалывать и вытаскивать импланты.
|
||||||
|
productEntity: ImplanterSyndi
|
||||||
|
cost:
|
||||||
|
Telecrystal: 1
|
||||||
|
categories:
|
||||||
|
- UplinkImplants
|
||||||
|
|||||||
@@ -21,3 +21,16 @@
|
|||||||
components:
|
components:
|
||||||
- type: Implanter
|
- type: Implanter
|
||||||
implant: MindslaveImplant
|
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