]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Adds handheld artifact container to cargo orders (#33327)
authorSpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com>
Wed, 16 Apr 2025 23:35:57 +0000 (19:35 -0400)
committerGitHub <noreply@github.com>
Wed, 16 Apr 2025 23:35:57 +0000 (19:35 -0400)
* Adds handheld artifact container

* Adds inhands and missing details

* Reduces use delay on unlocking and opening hand arti container

* Adds handheld arti container to cargo orders

* Fixes build error i think

* Removes extra whitespace

* Adds static price to handheld arti container

13 files changed:
Resources/Prototypes/Catalog/Cargo/cargo_science.yml
Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml
Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/captain.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/icon-open.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/icon.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png [new file with mode: 0644]

index cb7f8af8224be323c05f55863719c5467a70cc90..aa428b7d5508798e5a7b166a0081259966503ae8 100644 (file)
@@ -8,6 +8,16 @@
   category: cargoproduct-category-name-science
   group: market
 
+- type: cargoProduct
+  id: HandheldArtifactContainer
+  icon:
+    sprite: Objects/Storage/artifact_container.rsi
+    state: icon
+  product: HandheldArtifactContainer
+  cost: 500
+  category: cargoproduct-category-name-science
+  group: market
+
 - type: cargoProduct
   id: RandomArtifact
   icon:
index 27084003ee158270865ac60b80a9f2f887a57453..46f79e11403b081334a3dc7012cf0e758830134a 100644 (file)
@@ -94,7 +94,6 @@
           enum.PaperLabelVisuals.Layer:
             True: { offset: "0.0,0.3125" }
             False: { offset: "0.0,0.0" }
-
     - type: LockVisuals
     - type: ItemSlots
     - type: ContainerContainer
         paper_label: !type:ContainerSlot
     - type: StaticPrice
       price: 250
+
+- type: entity
+  parent: BaseStorageItem
+  id: HandheldArtifactContainer
+  name: handheld artifact container
+  description: A handheld case used to safely contain and move small artifacts.
+  components:
+  - type: Sprite
+    sprite: Objects/Storage/artifact_container.rsi
+    state: icon
+    layers:
+      - state: icon
+        map: [ base ]
+      - state: locked
+        map: ["enum.LockVisualLayers.Lock"]
+        shader: unshaded
+  - type: Storage
+    maxItemSize: Normal
+    grid:
+    - 0,0,1,1
+    whitelist:
+      components:
+      - Artifact
+  - type: Item
+    sprite: Objects/Storage/artifact_container.rsi  
+    size: Huge
+  - type: MeleeWeapon
+    damage:
+      types:
+        Blunt: 12
+    soundHit:
+      path: "/Audio/Weapons/smash.ogg"
+  - type: Appearance
+  - type: AccessReader
+    access: [["Research"], ["Cargo"]]
+  - type: Lock
+  - type: SuppressArtifactContainer
+  - type: RadiationBlockingContainer
+    resistance: 5
+  - type: EmitSoundOnLand
+    sound:
+      path: /Audio/Items/toolbox_drop.ogg
+  - type: LockVisuals
+  - type: Damageable
+    damageContainer: StructuralInorganic
+    damageModifierSet: StructuralMetallicStrong
+  - type: Destructible
+    thresholds:
+      - trigger:
+          !type:DamageTrigger
+          damage: 50
+        behaviors:
+          - !type:DoActsBehavior
+            acts: ["Destruction"]
+  - type: PaperLabel
+    labelSlot:
+      insertVerbText: Attach Label
+      ejectVerbText: Remove Label
+      whitelist:
+        components:
+          - Paper
+      blacklist:
+        tags:
+        - Book
+  - type: GenericVisualizer
+    visuals:
+      enum.StorageVisuals.Open:
+        base:
+          True: { state: icon-open }
+          False: { state: icon }
+      enum.PaperLabelVisuals.HasLabel:
+        enum.PaperLabelVisuals.Layer:
+          True: { visible: true }
+          False: { visible: false }
+      enum.PaperLabelVisuals.LabelType:
+        enum.PaperLabelVisuals.Layer:
+          Paper: { state: paper }
+          Bounty: { state: bounty }
+          CaptainsPaper: { state: captain }
+          Invoice: { state: invoice }
+  - type: ItemSlots
+  - type: ContainerContainer
+    containers:
+      paper_label: !type:ContainerSlot
+      storagebase: !type:Container
+        ents: []
+  - type: UseDelay
+    delay: 0.3
+  - type: StaticPrice
+    price: 250
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png
new file mode 100644 (file)
index 0000000..f0d459e
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/captain.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/captain.png
new file mode 100644 (file)
index 0000000..1e9713f
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/captain.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/icon-open.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/icon-open.png
new file mode 100644 (file)
index 0000000..fce4d97
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/icon-open.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/icon.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/icon.png
new file mode 100644 (file)
index 0000000..ca30cb7
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/icon.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png
new file mode 100644 (file)
index 0000000..8136557
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png
new file mode 100644 (file)
index 0000000..0023c2c
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png
new file mode 100644 (file)
index 0000000..b2cb06a
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png
new file mode 100644 (file)
index 0000000..890a26f
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json b/Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json
new file mode 100644 (file)
index 0000000..d350f74
--- /dev/null
@@ -0,0 +1,43 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Sprites by SpaceRox1244",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "icon"
+        },
+        {
+            "name": "icon-open"
+        },
+        {
+            "name": "locked"
+        },
+        {
+            "name": "unlocked"
+        },
+        {
+            "name": "paper"
+        },
+        {
+            "name": "captain"
+        },
+        {
+            "name": "bounty"
+        },
+        {
+            "name": "invoice"
+        },
+        {
+            "name": "inhand-left",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right",
+            "directions": 4
+        }
+    ]
+}
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png
new file mode 100644 (file)
index 0000000..86a0b21
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png differ
diff --git a/Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png b/Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png
new file mode 100644 (file)
index 0000000..c02fe83
Binary files /dev/null and b/Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png differ