From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Date: Sun, 21 Jul 2024 07:24:28 +0000 (-0400) Subject: add an arabian lamp. (#27270) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=ac53e1d0a07966c94195e69246b942be39b2b1b6;p=space-station-14.git 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. --- 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 0000000000..decabebccb Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/flame.png differ 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 0000000000..e512dcf297 Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left-flame.png differ 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 0000000000..680158cc91 Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right-flame.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right-flame.png new file mode 100644 index 0000000000..a1fc9ee7b6 Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right-flame.png differ 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 0000000000..0f6b7bf2c9 Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right.png differ 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 0000000000..616a46f4e5 Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/lamp.png differ diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/lamptop.png b/Resources/Textures/Objects/Misc/arabianlamp.rsi/lamptop.png new file mode 100644 index 0000000000..e3fe0fc3cb Binary files /dev/null and b/Resources/Textures/Objects/Misc/arabianlamp.rsi/lamptop.png differ diff --git a/Resources/Textures/Objects/Misc/arabianlamp.rsi/meta.json b/Resources/Textures/Objects/Misc/arabianlamp.rsi/meta.json new file mode 100644 index 0000000000..3219918460 --- /dev/null +++ b/Resources/Textures/Objects/Misc/arabianlamp.rsi/meta.json @@ -0,0 +1,117 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "made by IProduceWidgets, flame sprite by TheShuEd", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "lamp", + "directions": 4 + }, + { + "name": "lamptop", + "directions": 4 + }, + { + "name": "flame", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-left-flame", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "inhand-right-flame", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +}