From 1c236cbda1dd82c5ea15a2d7c8790a90a134dba0 Mon Sep 17 00:00:00 2001 From: dustylens <54123313+dustylens@users.noreply.github.com> Date: Sat, 27 Jul 2024 18:24:43 +0000 Subject: [PATCH] Adds the CiviMed Vending Machine (#1637) * Adds the CiviMed Vending Machine High priced medical supplies for long duration playerbase needs. * Panel snuck aboard. Removes. Panel snuck aboard. Removes. * Fix Possible case sensitivity. * Update meta.json case issue * Fixes Ongoing efforts to pin down github losing its mind. * FIX!? Ok github I want to go to bed so let's make a deal * Update meta.json * Weird idea of how to address the issue with the file casing * Yup. * Update vending_machines.yml * Update vending_machine_restock.yml * Update vending_machines.yml * Update dungeon_items_general.yml * Update dungeon_items_medical.yml * Update Resources/Prototypes/_NF/Entities/Structures/Machines/vending_machines.yml Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com> * Update Resources/Locale/en-US/_NF/advertisements/vending/civimed.ftl Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com> * Update Resources/Prototypes/_NF/Catalog/Cargo/cargo_vending.yml Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com> --------- Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com> Co-authored-by: Dvir Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com> --- .../_NF/advertisements/vending/civimed.ftl | 9 ++++ .../_NF/Catalog/Cargo/cargo_vending.yml | 11 ++++ .../_NF/Catalog/Fills/Crates/vending.yml | 11 ++++ .../Advertisements/civimed.yml | 5 ++ .../VendingMachines/Inventories/civimed.yml | 7 +++ .../Spawners/Random/dungeon_items_general.yml | 1 + .../Spawners/Random/dungeon_items_medical.yml | 1 + .../Service/vending_machine_restock.yml | 17 +++++++ .../Structures/Machines/vending_machines.yml | 31 +++++++++++ .../vending_machine_restock.rsi/meta.json | 15 +++--- .../refill_civimed.png | Bin 0 -> 344 bytes .../VendingMachines/civimed.rsi/broken.png | Bin 0 -> 623 bytes .../civimed.rsi/deny-unshaded.png | Bin 0 -> 780 bytes .../civimed.rsi/eject-unshaded.png | Bin 0 -> 624 bytes .../VendingMachines/civimed.rsi/meta.json | 48 ++++++++++++++++++ .../civimed.rsi/normal-unshaded.png | Bin 0 -> 538 bytes .../VendingMachines/civimed.rsi/off.png | Bin 0 -> 421 bytes .../VendingMachines/civimed.rsi/panel.png | Bin 0 -> 242 bytes 18 files changed, 150 insertions(+), 6 deletions(-) create mode 100644 Resources/Locale/en-US/_NF/advertisements/vending/civimed.ftl create mode 100644 Resources/Prototypes/_NF/Catalog/VendingMachines/Advertisements/civimed.yml create mode 100644 Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/civimed.yml create mode 100644 Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/refill_civimed.png create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/broken.png create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/deny-unshaded.png create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/eject-unshaded.png create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/meta.json create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/normal-unshaded.png create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/off.png create mode 100644 Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/panel.png diff --git a/Resources/Locale/en-US/_NF/advertisements/vending/civimed.ftl b/Resources/Locale/en-US/_NF/advertisements/vending/civimed.ftl new file mode 100644 index 00000000000..9878202e969 --- /dev/null +++ b/Resources/Locale/en-US/_NF/advertisements/vending/civimed.ftl @@ -0,0 +1,9 @@ +advertisement-civimed-1 = MINERS, DON'T DIE! +advertisement-civimed-2 = You're better than dying in space! Stock up now! +advertisement-civimed-3 = We're not overcharging you, we just know what you're worth! Pay up! +advertisement-civimed-4 = Your money or your life! This is not legally a threat! +advertisement-civimed-5 = Nine out of ten corpses did NOT stock up on medicine! The last one was an idiot. +advertisement-civimed-6 = Packs laden with loot are often low on supplies. +advertisement-civimed-7 = Get gouged, not burned. Patch yourself up! +advertisement-civimed-8 = I'm not a doctor, but you could be! Self-medicate the pain away! +advertisement-civimed-9 = Focus groups show our products are MOSTLY SAFE for consumption! diff --git a/Resources/Prototypes/_NF/Catalog/Cargo/cargo_vending.yml b/Resources/Prototypes/_NF/Catalog/Cargo/cargo_vending.yml index 47ab0cdd1b5..3c59f20ad19 100644 --- a/Resources/Prototypes/_NF/Catalog/Cargo/cargo_vending.yml +++ b/Resources/Prototypes/_NF/Catalog/Cargo/cargo_vending.yml @@ -87,3 +87,14 @@ cost: 100 # Frontier category: cargoproduct-category-name-fun group: market + +- type: cargoProduct + id: CrateVendingMachineRestockCiviMed + abstract: true + icon: + sprite: _NF/Objects/Specific/Service/vending_machine_restock.rsi + state: base + product: CrateVendingMachineRestockCiviMedFilled + cost: 100 # Frontier + category: cargoproduct-category-name-medical + group: market diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Crates/vending.yml b/Resources/Prototypes/_NF/Catalog/Fills/Crates/vending.yml index a4972ba8759..6c5ff2f1a43 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Crates/vending.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Crates/vending.yml @@ -85,3 +85,14 @@ contents: - id: VendingMachineRestockPottedPlantVend amount: 2 + +- type: entity + id: CrateVendingMachineRestockCiviMedVendFilled + parent: CratePlasticBiodegradable + name: CiviMed restock crate + description: Contains two restock boxes for the CiviMed vending machine. + components: + - type: StorageFill + contents: + - id: VendingMachineRestockCiviMedVend + amount: 2 diff --git a/Resources/Prototypes/_NF/Catalog/VendingMachines/Advertisements/civimed.yml b/Resources/Prototypes/_NF/Catalog/VendingMachines/Advertisements/civimed.yml new file mode 100644 index 00000000000..5215e3cca54 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/VendingMachines/Advertisements/civimed.yml @@ -0,0 +1,5 @@ +- type: localizedDataset + id: CiviMedAds + values: + prefix: advertisement-civimed- + count: 9 diff --git a/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/civimed.yml b/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/civimed.yml new file mode 100644 index 00000000000..c6bf048306e --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/civimed.yml @@ -0,0 +1,7 @@ +- type: vendingMachineInventory + id: CiviMedVendInventory + startingInventory: + Brutepack: 20 + Ointment: 20 + Bloodpack: 20 + Gauze: 20 diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_general.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_general.yml index 7778c05dd48..d3791e8860e 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_general.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_general.yml @@ -1047,6 +1047,7 @@ - VendingMachineRestockEngineering - VendingMachineRestockGames - VendingMachineRestockMedical + - VendingMachineRestockCiviMedVend - VendingMachineRestockNutriMax - VendingMachineRestockSalvageEquipment - VendingMachineRestockSeeds diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_medical.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_medical.yml index 4b92bd7a654..2cd01bc44be 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_medical.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_medical.yml @@ -605,6 +605,7 @@ prototypes: - CrateVendingMachineRestockMedicalFilled - CrateVendingMachineRestockChemVendFilled + - CrateVendingMachineRestockCiviMedVendFilled chance: 1.0 offset: 0.0 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/vending_machine_restock.yml b/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/vending_machine_restock.yml index 66fd6af1219..0ca6028669e 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/vending_machine_restock.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/vending_machine_restock.yml @@ -194,3 +194,20 @@ - state: green_bit shader: unshaded - state: refill_contravend + +- type: entity + parent: SecuredVendingMachineRestock + id: VendingMachineRestockCiviMedVend + name: CiviMed restock box + description: A box containing medical supplies for the CiviMed vending machine. A label reads THE BOX IS TAMPER PROOF AND WILL DESTROY IT'S CONTENT ON HARM. + components: + - type: VendingMachineRestock + canRestock: + - CiviMedVendInventory + - type: Sprite + sprite: _NF/Objects/Specific/Service/vending_machine_restock.rsi + layers: + - state: base + - state: green_bit + shader: unshaded + - state: refill_civimed diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/vending_machines.yml index 9301f074536..cc1f3822d79 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/vending_machines.yml @@ -599,3 +599,34 @@ shader: unshaded - state: panel map: ["enum.WiresVisualLayers.MaintenancePanel"] + +- type: entity + parent: [BaseStructureUnanchorable, BaseStructureIndestructible, VendingMachine] + id: VendingMachineCiviMedVend + name: CiviMedVend + description: CiviMed, distributing lifesaving meds harder than the rocks you break! Miners, DON'T DIE! + components: + - type: VendingMachine + pack: CiviMedVendInventory + offState: off + brokenState: broken + normalState: normal-unshaded + # ejectState: eject-unshaded No sprite, see chefvend/dinnerware/BODA/etc for expamples + - type: Advertise + pack: CiviMedAds + - type: Sprite + sprite: _NF/Structures/Machines/VendingMachines/civimed.rsi + layers: + - state: "off" + map: ["enum.VendingMachineVisualLayers.Base"] + - state: "off" + map: ["enum.VendingMachineVisualLayers.BaseUnshaded"] + shader: unshaded + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#4b93ad" + - type: MarketModifier + mod: 15 diff --git a/Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/meta.json b/Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/meta.json index db6e71c3e7e..b5a3a5afa5e 100644 --- a/Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/meta.json +++ b/Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/meta.json @@ -28,11 +28,14 @@ { "name": "refill_nfsdtec" }, - { - "name": "refill_nonlethal" - }, - { - "name": "refill_contravend" - } + { + "name": "refill_nonlethal" + }, + { + "name": "refill_contravend" + }, + { + "name": "refill_civimed" + } ] } diff --git a/Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/refill_civimed.png b/Resources/Textures/_NF/Objects/Specific/Service/vending_machine_restock.rsi/refill_civimed.png new file mode 100644 index 0000000000000000000000000000000000000000..c79e029284bdf21bc8c7068d69518db5f6e9f908 GIT binary patch literal 344 zcmV-e0jK_nP)RWNn6%i>@w%>+;>$<%(iSZT<;W&;l+ll}Hc=J1GiB1HB5QT(^!L5bYkyq^W z<>9sV2a_2C#5=sXgWaaS-mfO`x&6ABNs|~dV-P|Zb5~EG-1+&ps!2>n2kei4yk`J{ zzY73AJJ;vwVqBZo5+-h1!E`Y$E-as`@O{6KXq0v2so9gOs#a2lh*X~E?L0)L&NVV) q2*a?Orx*YpmmkK?Ef$OA-*5uM^mXCUHj6<30000Ih7;; literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/broken.png b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/broken.png new file mode 100644 index 0000000000000000000000000000000000000000..a6e60a2352cb5961c0cbfa32b188da68c4d104d2 GIT binary patch literal 623 zcmV-#0+9WQP)qG(9Ac^^fq&hOEA*X>O5lv zU=AX{f+GOulu75coYPT~VK7=E)@R&_fF}VK?CwNI!V;l(ntSa2`OWJ`Kn41&Rl1;s z#%jP90d#7Tn#LM1flP!nd}}}zZZ8o+QL+j?G{EM!4iT(`I2Ow>TLY2MDcQXWnGs-} z=!lSZ4nPf91R`M&0adzriIBbvYSw^>(pB(X2UOwKxhJ3wsNgFNWqMeep4BE~T#7{y zk-!Rw_`PHJM#py{lGOrmjtvO@7r~f-EEVZ`0k8^rty@)@hF6`Z zT_FM50D$fDR1i7BIrdnD1n7p5#(HX%)B~)27lE_8n*eDtz5&XFI_CdAVHf}a002ov JPDHLkV1n_B3^4!z literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/deny-unshaded.png b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/deny-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..85dcb639683f9c1c403cede3c814cdfbe54b58f9 GIT binary patch literal 780 zcmV+n1M~ceP)ssnk+&(om{H|3HTdC2^8SgAt{W zA*F+xq}-??s9o%^1jo(cfWhz@4fH$9`7A^@ZiCN z2M-=RTvPZ&Hwvm!bvxM0;pe_LpFY<0{rvsMRQGN93*QT>ssGVHn5WN%$s`iwi$&M` z(NM^ie{yot^h~>GuwY-mTYeL1Pj?rYL_+W1KRIS;al!W4p6)IHc1v4V&Tj?b1jq<@ z`~DpOON$GvkH4t4&zAW5K;!j^>a$9O5w-g=1{nGC#bWi>`hAvj6*l+GiMLHan}3=! zE$Ldo?$ML#!@!0Q;Bor1j{tDwa*Wazr{Q@z)G62ecW&O&ucM)m4{iXrfjv{LZ~}h# zN6#<(qjacKL@Lv!8l}^Ea%wLRm=e(FOWX~w0-X?EtJ(+SuuZGnRbkpSaD z*K7iUef{8Ig2(_PztkEqS57lyBO*sZuNTEpW(|l`rcuPsKH4@s}fLy zlL;+NKqDernSdJXOlV00V*DS}xbRqs5bYdg5^#W`w~Y(0l?ft9CBO)$IEr?RG6^uk z>2nnA80Gc>0s$fs1kB@%#p5ChTi6)@)+RXdZ_1nojd85Qg@`jP384@GA70IhhHZF4 zE*oI{9P4T>HftT~6bx@T@?XZ)oCehqxKuwDkE5*R^>$=1>UcCY!qsU|TQPN6@k=GZ zEtIu9k-=zP+YMxn<8Js{@;?Aze`lLaV!P?*Wet$!_u#?9^}s(#hZg1NX5sq)0000< KMNUMnLSTa3QfSQp literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/eject-unshaded.png b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/eject-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..5f71048acf2c5780f236958f406e5ed75977de43 GIT binary patch literal 624 zcmV-$0+0QPP)DU#7_gLIz0@2kE&=X*lWcY5#cx%czld*API?+ZX8kw_#Gi9{liNF=3lh%RJq z^}1|ltBcEyt;7A6bFc4ZqpfLL&wXX@u5IO4t5s=!z~}484~N6dJwu|-+#atipMg${ zIpH)GGtSFQfZhB;{=srSPr?^~8Nl}L4gdfokK>TeX6tX4({Prm0CY&)pz$#V5b<+G zmfx2I6h7wavy(RtfJQ6#Q7z2p;MW(jr1o$g!OpQKz#J%?y4gi)VKsCSJ z00*TLrY7QAk>aBg5GpOOH7>qOpT25F+o}Yp=C>OlQ8{O7g5NWed_)3d29P|C8*Qr+ zpqh^{fQT=h0CVg@BkTZDkTKe#IARiDC%=$?;C}YZO1v~pA^IGm62NnvNFq045@09a z?eTJ5FRT}&0hItN27pO`oqVedKnb7(Py+s(fFLwG?e-roTDV{mU?<=0@xn9c#<9#g zK*U$J4lv7(b$}Io%x|!muV@`$*3$ZV*P21(TV((}Agjn`v}FRW?sd>K zP1yusg*5>0`GI4Az9nF4)Yu(GNF);JpXvvb)aGbRc2y(*0000< KMNUMnLSTaThZ{uz literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/meta.json b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/meta.json new file mode 100644 index 00000000000..ffcd378509a --- /dev/null +++ b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/meta.json @@ -0,0 +1,48 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/1516a728931b4985c1e86f0c5995a5aa1554a1ad and modified by Dusty Lens", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "normal-unshaded", + "delays": [ + [ + 0.5, + 0.5 + ] + ] + }, + { + "name": "broken" + }, + { + "name": "deny-unshaded", + "delays": [ + [ + 0.1, + 0.1 + ] + ] + }, + { + "name": "off" + }, + { + "name": "panel" + }, + { + "name": "eject-unshaded", + "delays": [ + [ + 0.1, + 0.4, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/normal-unshaded.png b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/normal-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..0084601527a90ea907518f1c3731577f7f97ae3f GIT binary patch literal 538 zcmV+#0_FXQP)y`vH^aC0S!ZuL|ZESFJix=LZp+$vo z3PQ1@2ug&a*#_zLwY$gH>v^@o`%d@X``mr+z2|fA+zV)FX=!O`X=x3qeAJ8lt<_YW zY-?@9w|{oh(f9oNZnq7?=y|S2qoM2{3Iw|PN25_;%m_8v?A(H?zhF8&Ie|<(ZuhHf zK>7a8bAOr04d5)`;OGzlkWM9F77ERm>v>#e>p&Ocev6X;%D-3<{rf^d`E9wmG;`wv zT37<30H)ODU?hO{uL!X{6A-L#3o+LCxpeH0IRMWHIIUd>F}wavC4UwHk=m*lYaO4mmJ9bVb zpV~>Gjw6czS=K30G;j!zWu1&CXkZcG#R514c#!~2fF^)JKp5>w-Rc0UaN!W}2+Mv} zsRJngfz<&{{YM=@`wyrNaB4jkbB&S7s{}axi=5k_6Gt~4@9atYIk!RQain70{AKFP zZ4hYfyp=QU=io|6X*}mLM)|V{P?eQ4J3iXVnFISDK>5qmHv*~;C1m2IKab}ofa|ZN cr8OM-2HCq+L|?O}N&o-=07*qoM6N<$f~v;$3jhEB literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/off.png b/Resources/Textures/_NF/Structures/Machines/VendingMachines/civimed.rsi/off.png new file mode 100644 index 0000000000000000000000000000000000000000..bc342677ab0daaa61819df182ff66a51f532c07d GIT binary patch literal 421 zcmV;W0b2fvP)0}MtTFgP8ctYN_L?)7s9AyG*%ADK-Gz-9)B#_50$z|?=`$`yvEFAgw} z3(O2PQTWI?3dDZ;{59AftPX&IdA+@4J3zX-oh0=b4tVUs{x@t=!o5xdGo|TIZm9lvV3$VO7RbA1x`ihj1XMvLQ zD-D6@gnyyoGJlTC-jSQx&A`N=kWkI={;!DBjOwK#bBd3yYLJMNWuJ3y_mZEkegcP& zZ)$9P!gweDy!oRpzgb@yqq1%En6i0~z32X6|KP&+6|P(!PQQd2B<@KWpY4!o;8!Xw ktM2ar8QZ|XRJT_A