diff --git a/Content.Server/Palmtree/CookieClicker/Components/CookieClickerComponent.cs b/Content.Server/Palmtree/CookieClicker/Components/CookieClickerComponent.cs deleted file mode 100644 index fa98b07567d..00000000000 --- a/Content.Server/Palmtree/CookieClicker/Components/CookieClickerComponent.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Content.Server.Palmtree.CookieClicker -{ - [RegisterComponent] - public partial class ClickCounterComponent : Component - { - [DataField("count")] - [ViewVariables(VVAccess.ReadWrite)] - public int count = 0; - } -} diff --git a/Content.Server/Palmtree/CookieClicker/Components/IncrementorComponent.cs b/Content.Server/Palmtree/CookieClicker/Components/IncrementorComponent.cs deleted file mode 100644 index c5b0f6d5268..00000000000 --- a/Content.Server/Palmtree/CookieClicker/Components/IncrementorComponent.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Content.Server.Palmtree.CookieClicker -{ - [RegisterComponent] - public partial class IncrementorComponent : Component {} - -} diff --git a/Content.Server/Palmtree/CookieClicker/CookieClickerSystem.cs b/Content.Server/Palmtree/CookieClicker/CookieClickerSystem.cs deleted file mode 100644 index af21ef61038..00000000000 --- a/Content.Server/Palmtree/CookieClicker/CookieClickerSystem.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Content.Server.Palmtree.CookieClicker; -using Content.Shared.Interaction; - -namespace Content.Server.Palmtree.CookieClicker.CounterSystem -{ - public class CookieClickerSystem : EntitySystem - { - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnAfterInteract); - } - private void OnAfterInteract(EntityUid uid, IncrementorComponent component, AfterInteractEvent args) - { - if (!args.CanReach || args.Target == null || args.User == args.Target || !TryComp(args.Target, out ClickCounterComponent? counter)) - { - return; - } - counter.count++; - } - } -} diff --git a/Content.Server/Palmtree/Surgery/Components/ValidPatientComponent.cs b/Content.Server/Palmtree/Surgery/Components/ValidPatientComponent.cs index eac01a88e1e..b8c8a5d9ed4 100644 --- a/Content.Server/Palmtree/Surgery/Components/ValidPatientComponent.cs +++ b/Content.Server/Palmtree/Surgery/Components/ValidPatientComponent.cs @@ -4,19 +4,7 @@ namespace Content.Server.Palmtree.Surgery { [RegisterComponent] public partial class PPatientComponent : Component //"PPatient" because wizden might add surgery down the line, so I'm doing this to avoid conflicts. - {// I'll make this better later with a proper list of steps, I just need a first version for now - [DataField("incised")] - [ViewVariables(VVAccess.ReadWrite)] - public bool incised = false; - - [DataField("retracted")] - [ViewVariables(VVAccess.ReadWrite)] - public bool retracted = false; - - [DataField("clamped")] - [ViewVariables(VVAccess.ReadWrite)] - public bool clamped = false; - + { public List procedures = new List(); } } diff --git a/Content.Server/Palmtree/Surgery/Components/ValidSurgeryToolComponent.cs b/Content.Server/Palmtree/Surgery/Components/ValidSurgeryToolComponent.cs index e3f4b21f59c..66086d7abbd 100644 --- a/Content.Server/Palmtree/Surgery/Components/ValidSurgeryToolComponent.cs +++ b/Content.Server/Palmtree/Surgery/Components/ValidSurgeryToolComponent.cs @@ -10,10 +10,6 @@ public partial class PSurgeryToolComponent : Component [ViewVariables(VVAccess.ReadWrite)] public string kind = "scalpel"; - [DataField("infectionDamage")] - [ViewVariables(VVAccess.ReadWrite)] - public float infectionDamage = 1.0f; - [DataField("useDelay")] [ViewVariables(VVAccess.ReadWrite)] public float useDelay = 3.0f; diff --git a/Content.Server/Palmtree/Surgery/SurgerySystem.cs b/Content.Server/Palmtree/Surgery/SurgerySystem.cs index 59adfd4e01c..c10624b14c6 100644 --- a/Content.Server/Palmtree/Surgery/SurgerySystem.cs +++ b/Content.Server/Palmtree/Surgery/SurgerySystem.cs @@ -133,6 +133,7 @@ private void OnProcedureFinished(EntityUid uid, PSurgeryToolComponent tool, Surg { _mind.TransferTo(targetMindId, uid, mind: targetMind); } + repeatableProcedure = true; } else { @@ -152,14 +153,15 @@ private void OnProcedureFinished(EntityUid uid, PSurgeryToolComponent tool, Surg } else { - if (targetHasMind) + if (targetHasMind && !deviceHasMind) { _mind.TransferTo(targetMindId, uid, mind: targetMind); } - if (deviceHasMind) + if (deviceHasMind && !targetHasMind) { _mind.TransferTo(deviceMindId, args.Target, mind: deviceMind); } + repeatableProcedure = true; } } else diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index 90aa624ddad..a27295be8ac 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -12,7 +12,8 @@ - id: Cautery - id: Retractor - id: Scalpel - - id: SurgeryItemBloodFilter + - id: SurgeryItemBloodFilter # Syndie change + - id: PhantomLinkCard # Syndie change - type: entity id: ClothingBackpackDuffelCBURNFilled diff --git a/Resources/Prototypes/Catalog/Fills/Crates/medical.yml b/Resources/Prototypes/Catalog/Fills/Crates/medical.yml index bfeb54b5599..0f4f59f73ad 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/medical.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/medical.yml @@ -68,7 +68,8 @@ - id: Saw - id: Hemostat - id: ClothingMaskSterile - - id: SurgeryItemBloodFilter + - id: SurgeryItemBloodFilter # Syndie change + - id: PhantomLinkCard # Syndie change - type: entity id: CrateMedicalScrubs diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index 940e3ebccb0..cb3f550a227 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -7,6 +7,7 @@ id: BaseMobSpecies abstract: true components: + - type: PPatient - type: Sprite layers: - map: [ "enum.HumanoidVisualLayers.Chest" ] diff --git a/Resources/Prototypes/Entities/Mobs/Species/human.yml b/Resources/Prototypes/Entities/Mobs/Species/human.yml index 7a1cfdceef0..ac373725ce4 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/human.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/human.yml @@ -5,7 +5,6 @@ name: Urist McHands abstract: true components: - - type: PPatient # Allows this mob to receive operations - type: Hunger - type: Icon # It will not have an icon in the adminspawn menu without this. Body parts seem fine for whatever reason. sprite: Mobs/Species/Human/parts.rsi diff --git a/Resources/Prototypes/Palmtree/Entities/Objects/Specific/Medical/surgery.yml b/Resources/Prototypes/Palmtree/Entities/Objects/Specific/Medical/surgery.yml index cd867136239..2cc8dc79226 100644 --- a/Resources/Prototypes/Palmtree/Entities/Objects/Specific/Medical/surgery.yml +++ b/Resources/Prototypes/Palmtree/Entities/Objects/Specific/Medical/surgery.yml @@ -47,3 +47,27 @@ - type: Tag tags: - SurgeryTool + +# Placeholder PAIs, aka semi-automatic ghost roles + +- type: entity + parent: BaseItem + id: PhantomLinkCard + name: phantomlink card + description: Mysterious technology used to extract the soul of living things for conversion into borgs, this one can also insert consciousness into other bodies. + components: + - type: PSurgeryTool # Palmtree change - I don't need to explain this one, do I? + kind: phantomlink + useDelay: 5 # You gotta be sure. + damageOnUse: + types: + Shock: 50 # This is not good for your head + - type: BorgBrain + - type: Sprite + sprite: Objects/Fun/pai.rsi + layers: + - state: pai-base + - state: syndicate-pai-off-overlay + shader: unshaded + map: ["screen"] + - type: BlockMovement