From 6ef5f8e2f1f7b4ac1076850370ad3798826be37a Mon Sep 17 00:00:00 2001 From: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com> Date: Wed, 16 Apr 2025 19:35:57 -0400 Subject: [PATCH] Adds handheld artifact container to cargo orders (#33327) * 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 --- .../Catalog/Cargo/cargo_science.yml | 10 ++ .../Xenoarchaeology/artifact_equipment.yml | 91 +++++++++++++++++- .../Storage/artifact_container.rsi/bounty.png | Bin 0 -> 188 bytes .../artifact_container.rsi/captain.png | Bin 0 -> 188 bytes .../artifact_container.rsi/icon-open.png | Bin 0 -> 632 bytes .../Storage/artifact_container.rsi/icon.png | Bin 0 -> 520 bytes .../artifact_container.rsi/inhand-left.png | Bin 0 -> 593 bytes .../artifact_container.rsi/inhand-right.png | Bin 0 -> 610 bytes .../artifact_container.rsi/invoice.png | Bin 0 -> 188 bytes .../Storage/artifact_container.rsi/locked.png | Bin 0 -> 101 bytes .../Storage/artifact_container.rsi/meta.json | 43 +++++++++ .../Storage/artifact_container.rsi/paper.png | Bin 0 -> 181 bytes .../artifact_container.rsi/unlocked.png | Bin 0 -> 105 bytes 13 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/bounty.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/captain.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/icon-open.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/icon.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/invoice.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/locked.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/paper.png create mode 100644 Resources/Textures/Objects/Storage/artifact_container.rsi/unlocked.png diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml index cb7f8af822..aa428b7d55 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml @@ -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: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml index 27084003ee..46f79e1140 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/artifact_equipment.yml @@ -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 @@ -103,3 +102,93 @@ 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 index 0000000000000000000000000000000000000000..f0d459eb506aa7d7c3a1ba7b634f8cea3fb15825 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJW=|K#kcigg1PRu~2_ifO2}jf- zW@Z1ApI!0&$>fNu!Aubao+;{*3qLGBXYHQ5TT%iDW)yhV{P{Ea;i+D89(nu!OFECT z$R0R<`rLyYb^damyRsiXe)eyRF28SRQ}=6T9& z%GJndMgnv@Z7eJ2gE&1q2fz`+8|r*oWy2QUzG-1uIRGpxN2AfEUVn+*voTBNmG|wQ zP2Mm7=dv5N&W;_~_Hw-V-s-$ypQ;-xQ6hK0#(li}_`x_4;jeg&M zj+V%ML=`0bKC!|oA#@X(CDWJd+nHJF0d5sUDKG_lJ6oKdoiiQ{JqVfi-@krF8kExX zJBi+l+yemP(GcL;AaM#z!Mpc|fgmy>X2~SGwoZ0!eQAK$2moHQ$s5MXBN7YX2th&D z7)+*r1tj(?02oZB6m++;3%cfO!9l568enf{%l9lJp#H)2|u5OL090ivK5K~%?a zPE{r9gsSGo=OB&{JpH->!10qGsqCc&2m?9HbOE?aEtQ?rDF~CgU(%%DpX(1JTqS-l S5v{QR0000>FC(0x;QvosUf)4 zr4Vp%5d_8A4ss#U+~s_f4$Tk3<(}Wi|DJ%4&wnSts*vNUJrU5ygS|$}0 z^Z9HqaiSAX6GvWyH0l+{fY+BNAUeTxGPXW@IRMD@H>*!lQMu9N8ferj(6ordMBf+z z0EVV%efIKgIc8P7JeQzp5deUuMUc%_kjXrN=md$Y#729f6GSBm05B-r?r-3+Ttzlp zvhw-D6Q+|fqLO5V+71;5R#PBqf@y%7uoDV}0RX3G=iEWR%XbI~$#ZsrV1Hp)JAoMi zw|U+cq7x()6`gLI*~ZmCF_%W)7-2dY?<`JthZo#6u+3ohML0A~4DQ>IUscb3uIE6l z*>VgP3$K zEag8Pc`8E7fz3N&Cj;xya8?^Pjy#2yQ;gsOMsOiyz;zqenl0-f@(QI}eW2G{{lrtd z835pV;fQh}AWU(c0{gk0RMfrFPPff{5pmyZhq#oy-h@6rf6fo5{oRTo2!$R10000< KMNUMnLSTX;GU4?A literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..8136557f71a9f6e7750e0fa0e19aaafc04b365c5 GIT binary patch literal 593 zcmV-X0>}2cIl?k*7Kx+XT~#Pmb{W4)_;UPQcD) z4}imsW8U{abGUI#!}I9A`AEa_7)KER&4c{g|8Fq+3Iu0c3DygWlbHzB$;u zte89n!eKb~^;hjK0JU1ZbQ~9tKrpxil8N0u;^rPdd^*is$hht1>T-L-~?;5m`wtns}4CKzi`x|NZ-uaq-u--|`<+jQiWWabArg&2&;(O$^~M zG)aI}FT#ChcR&!li)WR#pS^f#H3VSSi;yt=3b7(Uu0IObv#M0H>o9%9# fm1viV|8M;S%%~!5#v4Cw00000NkvXXu0mjfzbq2P literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..0023c2c3b76e6e842cc452d3e4dccc622c1440ca GIT binary patch literal 610 zcmV-o0-gPdP)%uvRK^-R`hfDiW?f1E3WIT)jDG zyG=az^!baSW4$?G|L_E0Xzn?Hs+KhH;}|Q z2jsnPVC+dSuYCi?1mwMMz&Ho&AD&QIuRQb(0ABZayl)^Xou|oEu1~{QKLNk#(+Yx- wFUY2Ez*MeJ%UDZ^?YLpo7hu||{{G1P0qA}w7mLj^PXGV_07*qoM6N<$f@1n6F8}}l literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..b2cb06ac812faa8cf3e62105181af186bb6b4775 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJW=|K#kcigg1PRu~2_ifO2}jgk z#0LG8pZ(+7ys|Z~G#PbvsKgi*2mYvD=D%#)T^cIaLJj$3Um&Gr>mdKI;Vst0A7Pep#T5? literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..890a26f1b266733d35564026f3efd906381638d0 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz9Zwg>kcif|=NNez6nL07Nbar= zm)GJ@%oH_YWMI&{G4q|zeAZc8PVQ#-FqQe)N{-h*V`Sa|^)Yz5`njxgN@xNAothle literal 0 HcmV?d00001 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 index 0000000000..d350f747a2 --- /dev/null +++ b/Resources/Textures/Objects/Storage/artifact_container.rsi/meta.json @@ -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 index 0000000000000000000000000000000000000000..86a0b218a20631f461b6f75f22bed13b83e7bf8d GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ8c!F;kcif|mp1Y?D2T9JxEyg< z$%^fFz)PN}jkC?R?*~oO$zMze-HvW%f e2N0}S#T;8Nx9dx|$aSDQ7(8A5T-G@yGywp2W<~}8 literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..c02fe83521cf97918b924b3dab3d074043ab455c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz15X#nkcif|=MHi*DDbds=({NT zcgO$bbAmfKPO_|IVqnm_v3XPa)5rzEFR$!o_%M~3=N#wdC;mp;fqEG{UHx3vIVCg! E0QXuVr~m)} literal 0 HcmV?d00001 -- 2.51.2