]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
added Derelict Cyborgs with basic functionality.
authorThe Canned One <greentopcan@gmail.com>
Fri, 27 Sep 2024 16:10:51 +0000 (18:10 +0200)
committerThe Canned One <greentopcan@gmail.com>
Fri, 27 Sep 2024 16:10:51 +0000 (18:10 +0200)
Resources/Locale/en-US/interaction/interaction-popup-component.ftl
Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
Resources/Prototypes/Entities/Mobs/Player/silicon.yml
Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png [new file with mode: 0644]
Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png [new file with mode: 0644]
Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png [new file with mode: 0644]
Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png [new file with mode: 0644]
Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json

index 10773d6de843ad56919acdfba880e308fa58e8c2..65310b67f9886ca19656f4f4afccf6fae532c3ef 100644 (file)
@@ -67,6 +67,7 @@ petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} d
 petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head.
 petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head.
 petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head.
+petting-success-derelict-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} rusty metal head.
 petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior.
 
 petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "honk", "honks")} in refusal!
@@ -80,6 +81,8 @@ petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJE
 petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives!
 petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others!
 petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider.
+petting-failure-derelict-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} rusty and jagged exterior makes you reconsider.
+
 
 ## Rattling fences
 
index 955ddfd2e3e2cb89f68d7991f0ede1f2e31bd4c3..2f8a7cf10e87840fbb7610cbf440c469eb0832eb 100644 (file)
       Unsexed: UnisexSiliconSyndicate
   - type: PointLight
     color: "#dd200b"
+
+- type: entity
+  id: BaseBorgChassisDerelict
+  parent: [BaseBorgChassis, BaseBorgTransponder]
+  abstract: true
+  components:
+  - type: NpcFactionMember
+    factions:
+    - Passive #Might change this
+  - type: Access
+    enabled: false
+    groups:
+    - AllAccess
+  - type: AccessReader
+    access: [["Command"]] #I will probably change this.
+  - type: SiliconLawProvider
+    laws: AntimovLawset
+  - type: IntrinsicRadioTransmitter
+    channels:
+    - Binary
+    - Common
+  - type: ActiveRadio
+    channels:
+    - Binary
+    - Common
index d1d530ae81b728ace8b5f0bae376833100ef2b19..00bf7fc2afa5d2d1dc50f42c354a799e18f7823d 100644 (file)
       interactFailureString: petting-failure-syndicate-cyborg
       interactSuccessSound:
         path: /Audio/Ambience/Objects/periodic_beep.ogg
+
+
+- type: entity
+  id: BorgChassisDerelict
+  parent: BaseBorgChassisDerelict
+  name: damaged cyborg
+  components:
+  - type: Sprite
+    layers:
+    - state: derelict
+    - state: derelict_e_r
+      map: ["enum.BorgVisualLayers.Light"]
+      shader: unshaded
+      visible: false
+    - state: derelict_l
+      shader: unshaded
+      map: ["light"]
+      visible: false
+  - type: BorgChassis
+    maxModules: 5 #The sixth one broke lol.
+    moduleWhitelist:
+      tags:
+      - BorgModuleGeneric
+    hasMindState: derelict_e
+    noMindState: derelict_e_r
+  - type: BorgTransponder
+    sprite:
+      sprite: Mobs/Silicon/chassis.rsi
+      state: derelict
+    name: damaged cyborg
+  - type: Construction
+    node: derelictcyborg #what is this?
+  - type: Speech
+    speechVerb: Robotic
+  - type: InteractionPopup
+    interactSuccessString: petting-success-derelict-cyborg
+    interactFailureString: petting-failure-derelict-cyborg
+    interactSuccessSound:
+      path: /Audio/Ambience/Objects/periodic_beep.ogg
\ No newline at end of file
index 15878a4017d00c89b563e41b336b2b872d9e6e24..a6320dc7b3f83b78d2262b36ceb23adb179bbf89 100644 (file)
     - PlayerBorgSyndicateAssaultGhostRole
     - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less.
     - PlayerBorgSyndicateSaboteurGhostRole
+
+- type: entity
+  id: PlayerBorgDerelict
+  parent: BorgChassisDerelict
+  suffix: Battery, Module
+  components:
+  - type: ContainerFill
+    containers:
+      borg_brain:
+        - PositronicBrain
+      borg_module:
+        - BorgModuleTool
+        - BorgModuleFireExtinguisher
+        - BorgModuleGPS
+  - type: ItemSlots
+    slots:
+      cell_slot:
+        name: power-cell-slot-component-slot-name-default
+        startingItem: PowerCellHigh
+  - type: RandomMetadata
+    nameSegments: [names_borg]
+
+- type: entity
+  id: PlayerBorgDerelictBattery
+  parent: BorgChassisDerelict
+  suffix: Battery
+  components:
+  - type: ContainerFill
+    containers:
+      borg_brain:
+        - MMIFilled
+  - type: ItemSlots
+    slots:
+      cell_slot:
+        name: power-cell-slot-component-slot-name-default
+        startingItem: PowerCellHigh
index 0f012cefc98e5feb8f590feea7341083b3a60b01..3f8a731cbbd79f507343a2b7b0072f579371b908 100644 (file)
 
   - node: syndicatesaboteur
     entity: BorgChassisSyndicateSaboteur
+
+  - node: derelictcyborg
+    entity: BorgChassisDerelict
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png
new file mode 100644 (file)
index 0000000..bbf72fc
Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png differ
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png
new file mode 100644 (file)
index 0000000..17349d7
Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png differ
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png
new file mode 100644 (file)
index 0000000..3c8cf19
Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png differ
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png
new file mode 100644 (file)
index 0000000..f65fbae
Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png differ
index 68fbf1985e7fa5cd1820db9f060b044009efc14c..373b9ce9a908bce99953790ae6ec88551d67b64f 100644 (file)
       "directions": 4
     },
     {
-      "name": "clown_l",
+      "name": "derelict",
+      "directions": 4
+    },
+    {
+      "name": "derelict_e",
+      "directions": 4
+    },
+    {
+      "name": "derelict_e_r",
+      "directions": 4
+    },
+    {
+      "name": "derelict_l",
       "directions": 4
     },
     {