From 42c331ae28c8a5a5960be2aaa10daca22ed3c6bf Mon Sep 17 00:00:00 2001 From: BarryNorfolk Date: Mon, 13 Jan 2025 19:32:41 +0100 Subject: [PATCH] Add combat hypospray and cartridge prototypes --- .../Objects/Specific/Medical/hypospray.yml | 105 ++++++++++++++++++ Resources/Prototypes/_DV/tags.yml | 5 +- .../Medical/combathypo.rsi/borghypo.png | Bin 0 -> 602 bytes .../Medical/combathypo.rsi/borghypo_s.png | Bin 0 -> 517 bytes .../Medical/combathypo.rsi/combat_hypo.png | Bin 0 -> 665 bytes .../Medical/combathypo.rsi/equipped-BELT.png | Bin 0 -> 293 bytes .../Specific/Medical/combathypo.rsi/hypo.png | Bin 0 -> 429 bytes .../Medical/combathypo.rsi/inhand-left.png | Bin 0 -> 319 bytes .../Medical/combathypo.rsi/inhand-right.png | Bin 0 -> 319 bytes .../Specific/Medical/combathypo.rsi/meta.json | 35 ++++++ 10 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo_s.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/combat_hypo.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/equipped-BELT.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/hypo.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-left.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-right.png create mode 100644 Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/meta.json diff --git a/Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml new file mode 100644 index 00000000000..079dd70e4d8 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Specific/Medical/hypospray.yml @@ -0,0 +1,105 @@ +- type: entity + id: CombatHypospray + name: combat hypospray + parent: [BaseItem, BaseRestrictedContraband] + description: A small hypospray intended for combat and rapid response teams, uses pre-built cartridges + components: + - type: Sprite + sprite: _DV/Objects/Specific/Medical/combathypo.rsi + state: hypo + - type: Item + sprite: _DV/Objects/Specific/Medical/combathypo.rsi + - type: SolutionContainerManager + solutions: + hypospray: + maxVol: 30 # Keep in sync with BaseEmptyHypoCartridge + reagents: [] + - type: ExaminableSolution + solution: hypospray + - type: Hypospray + solutionName: hypospray + transferAmount: 5 + onlyAffectsMobs: false + injectOnly: true + - type: HyposprayBlockNonMobInjection + - type: UseDelay + delay: 0.5 + - type: SolutionCartridgeReceiver + cartridgeSlot: + whitelist: + tags: + - HyposprayCartridge + - type: ContainerContainer + containers: + cartridge-slot: !type:ContainerSlot {} + +- type: entity + id: BaseEmptyHypoCartridge + name: cartridge + parent: [BaseItem, BaseRestrictedContraband] + # TODO: Make these destructible + components: + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: Destructible + thresholds: + - trigger: !type:DamageTrigger + damage: 5 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + params: + volume: -4 + - !type:SpillBehavior + solution: cartridge + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 1 + transferForensics: true + - !type:DoActsBehavior + acts: ["Destruction"] + - type: DamageOnLand + damage: + types: + Blunt: 10 # glass resistance set reduces damage. Need to land twice (w/o hitting wall) + - type: DamageOtherOnHit + damage: + types: + Blunt: 5 + - type: DamageOnHighSpeedImpact + minimumSpeed: 2 + damage: + types: + Blunt: 5 + - type: SolutionContainerManager + solutions: + cartridge: + maxVol: 30 # Keep in sync with the CombatHypospray + reagents: [] + - type: Tag + tags: + - HyposprayCartridge + - type: Drink # So we can view how much is IN the cartridge + solution: cartridge + - type: BlockDrinking # So we can stop people drinking the cartridge + - type: Sprite + sprite: Objects/Specific/Chemistry/bottle.rsi + layers: + - state: bottle-1 + - state: bottle-1-1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - type: ExaminableSolution + solution: cartridge + - type: SolutionItemStatus + solution: cartridge + - type: SolutionContainerVisuals + maxFillLevels: 6 + fillBaseName: bottle-1- + - type: Item + size: Tiny + sprite: Objects/Specific/Chemistry/bottle.rsi diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index 76b96a7595e..4125ab67097 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -68,7 +68,7 @@ - type: Tag id: HidesHarpyWings - + - type: Tag id: HudMedicalSecurity #Craftable Corpsman Glasses @@ -107,3 +107,6 @@ - type: Tag id: PermissibleForSurgery # Can be worn on the body during surgery + +- type: Tag + id: HyposprayCartridge diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo.png new file mode 100644 index 0000000000000000000000000000000000000000..e0eafad0f57ba4582f217106bc8707605bbaa872 GIT binary patch literal 602 zcmV-g0;TPx%6iGxuR9J=Wl|N|PKorJ5hXx8gi0ckTLrbROKg)G76b_NtL%^Fcfi9)ZkS(4) zv?Lh1c=lABrE5!8Lk8pGh}d*e2TNd8&TP{nNegd+$yh z5D^g(5wQfVR!gob_FB*fQcBr1j8*9e8~8aGtV|pLVt$M7t5vy?NMN^ALf^J&-m)yD z(`jl|_H1HZG*q*B!H8U}K?9JMaqYI$S%nW2SGul6MX=(Q^Pwml;V0LP66 z+MUkAOty6$Zx0Xe7y*F6X$sHxMoJS@fk$s%QZ{|t#$!#J3D)j(P$(2;Hjl?+>YtsT zQ{TIHaGJu$Z+ocKG+C)s?wBA0A4bp6{yM_JlV8d#wsjrNW>cBHyRN#h+K!FaSX_ab z$z}idu3_MX5Y(!$EQ|W(ayj@8sHoTL5&(8fC44?Pq509}B{mWXYE}4&E^Pn+eq3D0 z<3Sq*M~4ob15+uYeISM+jrUs>Z2}6f-?o36Tx%tquUx*OGnF=}6F$so!_6y6%Id>Rim`o-Z o-o~HafAA1D*H>6s>Hk}P1D^}l#|5v=%K!iX07*qoM6N<$g73Ky&Hw-a literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo_s.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/borghypo_s.png new file mode 100644 index 0000000000000000000000000000000000000000..4adc13c448a40cf02e1cbe10c87b518aee3c501b GIT binary patch literal 517 zcmV+g0{Z=lP)BdF16XyFAEr~? z>-TZTW7K|c#+6dowrye+o6V;7?1DkLQ}?Xxt1HvquWsEtITez8JJ8am2-6&cr|$L`@YL_-i$^jR-u$K?d^8kTmx0i zW-|@oj>n{rk7oS$^E17E-^42FM9($=@OiP&Ns{p6{@wx*LTEQl&3x**L{W5>SQR}f zOAM{3Dh@u#!@)ZszmGYzQHY=*@io z{{{-tA`49>TEBgn!o)HNDowP0dyf8wj^lU$4@!Aei;M66G6-~0gsmflhz}z1(Rk~( zKZ%qwJ_yB!z7cHu*`G|K5F&OQhb+r*)AZw8+vY(j+D`oob|uWwd*bsY00000NkvXX Hu0mjfRqp;x literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/combat_hypo.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/combat_hypo.png new file mode 100644 index 0000000000000000000000000000000000000000..022d0a1988a13741fd8a647d2559675c6e19d611 GIT binary patch literal 665 zcmV;K0%rY*P)Ymu||mgb5({6BGH_&U(^CtG& zwjJ8L-EM6BsR+2P8$2o$0NC$zcvG&iY-K|Gm)R zr4#@UmX^3PKTp5k=eg&x8IvQHK(y_??{nn)juU>@8;uDcZPx^Py&m_w-P<{Ym)9wf zxf}p8m*X^bkAwPFGR1}GJa z!P4?FN-0{c)>JQStPmahK1Ii2w^rj_tHmbZ7Ybt}Ow&XuH6}v0MnL1_~34VFrMo{7UZ&muzb;00000NkvXXu0mjfmd!4R literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/equipped-BELT.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/equipped-BELT.png new file mode 100644 index 0000000000000000000000000000000000000000..ad53beead53475a2f604f1f035a57817ecbd4859 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Z#-QbLn`LHy|t0|kbyw!Lt|!# z>0KsaQt_*NCN|9zlwj=iU68~amcSTbC6+K@ahD7Gw24h~|E~@@5?HfIDEhk#1H*w6 zXT*Z{GaCp_vu9w~{3t2!-L7-TUMET{I`(h%dvm+pvqM8wd%s_*&_7(6y8Q1YJANIH z)mgRoqgPw)KiMC3b&;Cf*6-H^a$>K$iYos4P+W26=$aWnk6#pc^VdJ1>85=BVy*{s zCZGKnb;VpEYIWA_)5ZH(fer_Q6rG*N=U1mGtTlE?YdF);@no)~M_%8vd6GXo%V(T% oI5v~<6XQyL1!IL2Hijp!S#P`ynXa?Y{uxNGr>mdKI;Vst01MQ6dH?_b literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/hypo.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/hypo.png new file mode 100644 index 0000000000000000000000000000000000000000..cab29e5b0afb18444eea7a58194527592dc92392 GIT binary patch literal 429 zcmV;e0aE^nP)1wNA3KCfK@OyN14*acLhe8pS2u6K!AlTtz)^8?@(wyGbjj2ls!*s^kPHfK zl-450rHRslm~*5K=3P!Q9v!LZNcCNbC6)7-1FY9- z#BrRNkCKG@;Shk~<7+N+Fz5jx1a;dck`jP!6lvAU6+x;n46XOsjPc8hkvZguU{T%q zpPNdH+;iQfPK%^mO$46ns;1*`E+tLJq2+m4mUaSqJ+Rwu18_87mC84I#sC*VKnNTL zfwr*`Knl@lH0Var>LVysD%rDTSw>^1y#wWH6)?-+2;jG*4WN|DPQsM}qzz}%ct!y5 zc@^Ic2F4&-0GmS4@Aug`yEZb{2Dt6@D3?myJdD{sy`trL+M}R-87*$T$yrdS(4Xo9 XF~@m1n0(H*00000NkvXXu0mjf=b6JS literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-left.png b/Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..e2007ee06ab73b7b219f29cb59acdb1f27ab88ce GIT binary patch literal 319 zcmV-F0l@x=P)