From ac53e1d0a07966c94195e69246b942be39b2b1b6 Mon Sep 17 00:00:00 2001 From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Date: Sun, 21 Jul 2024 03:24:28 -0400 Subject: [PATCH] add an arabian lamp. (#27270) * add an arabian lamp * yoink solutionitemstatus since it already displays fuel remaining. * add comments * fix containerception? * Yeah sure, pray- I mean rubable. * fix one flame frame * Fixed emag behavior * me when lexidysia. * limit capacity of entitystorage and add some more comments about why it be the way it do. * test fake? * Holy fuck its a bug fix now? Based. --- Resources/Locale/en-US/prayers/prayers.ftl | 3 + Resources/Maps/Dungeon/snowy_labs.yml | 2 +- .../Entities/Objects/Misc/arabianlamp.yml | 139 ++++++++++++++++++ .../Objects/Misc/arabianlamp.rsi/flame.png | Bin 0 -> 427 bytes .../arabianlamp.rsi/inhand-left-flame.png | Bin 0 -> 255 bytes .../Misc/arabianlamp.rsi/inhand-left.png | Bin 0 -> 458 bytes .../arabianlamp.rsi/inhand-right-flame.png | Bin 0 -> 443 bytes .../Misc/arabianlamp.rsi/inhand-right.png | Bin 0 -> 451 bytes .../Objects/Misc/arabianlamp.rsi/lamp.png | Bin 0 -> 1228 bytes .../Objects/Misc/arabianlamp.rsi/lamptop.png | Bin 0 -> 359 bytes .../Objects/Misc/arabianlamp.rsi/meta.json | 117 +++++++++++++++ 11 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/Entities/Objects/Misc/arabianlamp.yml create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/flame.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left-flame.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right-flame.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/lamp.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/lamptop.png create mode 100644 Resources/Textures/Objects/Misc/arabianlamp.rsi/meta.json diff --git a/Resources/Locale/en-US/prayers/prayers.ftl b/Resources/Locale/en-US/prayers/prayers.ftl index 532ba4954f..313de6322f 100644 --- a/Resources/Locale/en-US/prayers/prayers.ftl +++ b/Resources/Locale/en-US/prayers/prayers.ftl @@ -1,16 +1,19 @@ prayer-verbs-subtle-message = Subtle Message prayer-verbs-pray = Pray prayer-verbs-call = Call +prayer-verbs-rub = Rub prayer-chat-notify-pray = PRAYER prayer-chat-notify-honkmother = HONKMOTHER prayer-chat-notify-centcom = CENTCOM prayer-chat-notify-syndicate = SYNDICATE +prayer-chat-notify-lamp = LAMP prayer-popup-subtle-default = You hear a voice in your head... prayer-popup-notify-honkmother-sent = You left a voicemail message for the Honkmother... prayer-popup-notify-centcom-sent = You left a voicemail message for Central Command... prayer-popup-notify-syndicate-sent = You left a voicemail message for Syndicate High Command... +prayer-popup-notify-lamp-sent = Your thoughts seem to echo... prayer-popup-notify-pray-sent = Your message has been sent to the gods... prayer-popup-notify-pray-locked = You don't feel worthy enough... prayer-popup-notify-pray-ui-message = Message diff --git a/Resources/Maps/Dungeon/snowy_labs.yml b/Resources/Maps/Dungeon/snowy_labs.yml index 1211d7a664..3ce318951c 100644 --- a/Resources/Maps/Dungeon/snowy_labs.yml +++ b/Resources/Maps/Dungeon/snowy_labs.yml @@ -10731,7 +10731,7 @@ entities: rot: -1.5707963267948966 rad pos: 52.5,14.5 parent: 1653 -- proto: MagicalLamp +- proto: ArabianLamp entities: - uid: 1204 components: diff --git a/Resources/Prototypes/Entities/Objects/Misc/arabianlamp.yml b/Resources/Prototypes/Entities/Objects/Misc/arabianlamp.yml new file mode 100644 index 0000000000..a15e30fbc7 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Misc/arabianlamp.yml @@ -0,0 +1,139 @@ +- type: entity + name: lamp + parent: BaseItem + id: ArabianLamp + description: Why the heck won't this piece of junk open!? + components: + - type: Appearance + - type: AccessReader + access: [ [ "CentralCommand" ] ] + breakOnEmag: false + - type: Lock + lockOnClick: false + breakOnEmag: false + - type: EntityStorage + capacity: 1 # Its smol. + itemCanStoreMobs: false # just leaving this here explicitly since I know at some point someone will want to use this to hold a mob. This also prevents it from becoming His Grace. + # - type: StorageFill + # contents: + # - id: PuddleSparkle # Ha! Cute. Unfortunately it despawns before the container is likely to open. + - type: ContainerContainer + containers: + entity_storage: !type:Container + - type: Item + size: Normal + heldPrefix: lamp + sprite: Objects/Misc/arabianlamp.rsi + inhandVisuals: + left: + - state: inhand-left + right: + - state: inhand-right + - type: MeleeWeapon + wideAnimationRotation: 180 + damage: + types: + Blunt: 6 + - type: ItemToggleMeleeWeapon + activatedDamage: + types: + Blunt: 6 + Heat: 3 + activatedSoundOnHit: + path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg + params: + variation: 0.250 + volume: -10 + activatedSoundOnHitNoDamage: + path: /Audio/Weapons/Guns/Hits/energy_meat1.ogg + params: + variation: 0.250 + volume: -12 + deactivatedSoundOnHitNoDamage: + collection: MetalThud + - type: ItemToggle + predictable: false + soundActivate: + collection: lighterOnSounds + soundDeactivate: + path: /Audio/Items/candle_blowing.ogg + params: + variation: 0.05 + volume: 10 + - type: ItemToggleHot + - type: Sprite + sprite: Objects/Misc/arabianlamp.rsi + layers: + - state: lamp + map: [ "enum.StorageVisualLayers.Base" ] + - state: lamptop + map: ["enum.StorageVisualLayers.Door"] + - state: flame + visible: false + shader: unshaded + map: ["enum.ToggleVisuals.Layer"] + - type: GenericVisualizer + visuals: + enum.ToggleVisuals.Toggled: + enum.ToggleVisuals.Layer: + True: { visible: true } + False: { visible: false } + - type: EntityStorageVisuals + stateBaseClosed: lamp + stateDoorOpen: lamp + stateDoorClosed: lamptop + - type: ToggleableLightVisuals + spriteLayer: flame + inhandVisuals: + left: + - state: inhand-left-flame + shader: unshaded + right: + - state: inhand-right-flame + shader: unshaded + - type: SolutionContainerManager + solutions: + Welder: + reagents: + - ReagentId: WeldingFuel + Quantity: 25 + maxVol: 25 + - type: SolutionTransfer + transferAmount: 5 + canChangeTransferAmount: false + - type: Spillable + solution: Welder + - type: DrawableSolution + solution: Welder + - type: RefillableSolution + solution: Welder + - type: DrainableSolution + solution: Welder + - type: ExaminableSolution + solution: Welder + - type: SolutionRegeneration + solution: Welder + generated: + reagents: + - ReagentId: WeldingFuel + Quantity: 0.1 + duration: 5 + - type: EmitSoundOnLand + sound: + path: /Audio/Items/welder_drop.ogg + - type: Welder + fuelConsumption: 0.05 + fuelLitCost: 0.05 + tankSafe: true + - type: PointLight + enabled: false + netsync: false + radius: 5 + color: orange + - type: StaticPrice + price: 1500 + - type: Prayable + sentMessage: prayer-popup-notify-lamp-sent + notificationPrefix: prayer-chat-notify-lamp + verb: prayer-verbs-rub + verbImage: null \ No newline at end of file diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/flame.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/flame.png new file mode 100644 index 0000000000000000000000000000000000000000..decabebccb6e39a51436dbd1e0c0b98d2143a8d9 GIT binary patch literal 427 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU@Y=U zMl6&4W3o<}FZtb{C4ZAQ{<*W)zmmBm6p+F+|oz*21)a>8#710gERqsLHIG{NTA|%Gun*tClWp zE)}}+Lghv9J%_n0saBk)zA&d;@LVt%MdO2*ldrCyc$I$UUCLMg=>ZC>=YL{wIq@p| x>|^zYzcc literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left-flame.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left-flame.png new file mode 100644 index 0000000000000000000000000000000000000000..e512dcf2975e5f3eaf4347d1299ca727932d2825 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRS$2?seLn>~)y|a+b`GWr?3}L)AibFer5Ft6#I`{r`3Q>I)gZ{Qdfu5h?+p7WjYT z*!T1q`v&(5SLGZ(Gu%+#;Etkz;Xw4u&-Y)a+s4e_zuvC?GsBC|uRk+Gl=zo0?uqpC ToNa&O6iC3+)z4*}Q$iB}t|wZH literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..680158cc9182fded75e22004de301dd6387777d6 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV4Udb;uuoF_;!||pR*xP+vOtW zC5!xceC9MvEG}?4ckl$KRcXSi6-Rg%deYr1v)`eSL z{=C0*^$eyh3iIXk{pGJ8-*S7udT-QrwfM`~y}CtqCBa@_zCC+1=gY6u&&hZ4Zm-Vr zS}*!+KH~&s*16UqQ!*~7?)}}q{WI%IuSL5md+uJ}*Yelq)rssMl_BrVcVAFXSi}`@ ze}A2KUj3ALFO8fq9Es#!5VJ?kVAc8i!R3M3YuEyEjc>oddE-p!*0@FY|JWUvw5s>j zmuK(UO5zUwV#$))_B_{Xm-nRU{feRsgwEdQ%~`|gO-bh-v5+4_*;g_VS8F^ z@_U_0du~p@$N%Mp$LzZ87pJe8|Gnse>0g^w_Dh&VdYU$Cy(kS1eF+cVS@>Q)P&hY+iBW-prGY_!fyse^ zgMksoc@e#K`lOnF$?O5sEx)qyY)}8TRpq9XFE9XP;+Rs04{$?o?cZhvu*&R;SGNqhgTe~DWM4fNbP<9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..0f6b7bf2c9ea6f8af53793d02829f6feeff8a905 GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEVC?dAaSW+od^^i9kI7KLmG_Q< zkf5lmmfr-U=O+Y<`A*Gg=u#48(lqxl`xWT+D=PKivE3&;@>QQ0-nd^suRY65RgS}f zfk~i&fklCV5zd_8_@KZe_SmMhX>&eXpDwMei7)FvzkKGg8;dKCtnHir=Uj2G_RY7q zoxkt3TYC4OcIK6s-=!V$Q&v}Ymrnm9c6WhS=D&@9eDAq4R#yJixwOmmla;f$GKX_r zw~x2a$#3(oO`3lGN44A3UC&ql@d}aWtbB7w_vpKekM|v4#C0L9(^WKQo|vY`_txl{ z_h;V^+wqVY!+}U{1u}VrEv`4q-<$gV^psmi*BWkLvu$!zvee_>8>3T$vrZR(`^`9U zLBChon{u`(1uC{n-pXY?Ud46cVelT~1xKz{y#4;wG=6Q+*7Wu;-DS7C@-}kEUu`yT z{Qv9M+0w;(V{EtCta85obw|_>{{_34mMA9&vL@fV6tXM%pffw%U3W|y<@fFTcgs}! SusSeu7(8A5T-G@yGywqGyuc>_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/lamp.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..616a46f4e53622bedcb7444334dacd2c49833e81 GIT binary patch literal 1228 zcmV;-1T*`IP)zNym}#;aPUMV;SE6d>&Z71y*=AAyRZw| zmF#v+b#>KWfA{nbJ#<}@#z14BG0+%j3^WEB1C4>kKx3dW@V_(g``f`EKL08YE9;~4 z^0G^x$0Fg&=l#+6=EvtTCcyaA80*_38A*>%ue%>-`zg2j$4}R(U!T-D@)dncF6Mag z>!3ToxJfRKvFMXGFT2~LtAxY8QY>ta8S9VZ&0VT*Ab{kr-(L;al3;?b-`}bh+Yj%4 zCVNb*qW~lWC<#Dt!uj|JkA8+rzSsbKyJ%Tv+-GsQ0bs85BwP(7 z5dZw_Cgquf=cK#4sH55S1UyX02Iu#ddXka;202{D)c zrB)xt#o5Pq=@u{mGp9~VLIY{HpuDyCI1V2QpHn>Jy%iWo3_cQqE-C0p-eMDvka2Adc?iU6XB6OzT?V}6_1*TIw56!R|; z5Ifal0BxoAv5Pn7PVumVvOn<2fAa;n&302f=|N};U=y+Nurackpfel0AcCCa1_M~Y zgg$p-sI#rq5|M<&C0!!cEo|yI z@stXVq)f##`Y0R$k+ka;j4vLENz5ZJqTcuSwrzZy@A%Zm^!^#8e?;zo`nrq$FWVZP z$;-92^KR=Gz=EC{9&xp{G0+%j3^WEB1C4>kKx3dW&=_b8GzOj>0~|B$;&^LYM6Ilk zPL7-Ao~g|N&)@K4@y%cRJAY2T=xh8ue>xB$DW^MkCoR1m4>@YUqHj#BZVu1zusg=s z@r=O_XxnrMCdr?q+lPDJouR3CiZpkfQ0tB>J ze-R{sO)uAL@8fHLYW?D2zhQ@WS1;*ctKq4x0GTBbNl0AMC8Acqrv2h66&y*Kil_a5 qz|_{Zz> zg*mpBTvW1hJbmt>pso99zYC{aPq*YvII6+iq@w(}#-oN+@XDO~HM8zkD;6j;Ffehz z3Ae`VnYB+$_SyZ;o@cXq<;x{E3ioH$m#x3|u%^=Y-?1yRlHXT<&N*&(um0Pfr*G}` ze9c|&+OFEP;CuOUE6tW`U!NJaPD{G=<<~@ZO|5nxr~h?YEi)?52rKk@Z!VJS%43-I zPUuPGE9Ee`%PbznRz>@ze80ZW{=4+)#h4gD2L?tK0bImCuLGOq?Acq?`zvz;nyarr z{%XB(-94LUR}*7