]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
add an arabian lamp. (#27270)
authorIProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Sun, 21 Jul 2024 07:24:28 +0000 (03:24 -0400)
committerGitHub <noreply@github.com>
Sun, 21 Jul 2024 07:24:28 +0000 (01:24 -0600)
* 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
Resources/Maps/Dungeon/snowy_labs.yml
Resources/Prototypes/Entities/Objects/Misc/arabianlamp.yml [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/flame.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left-flame.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right-flame.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/lamp.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/lamptop.png [new file with mode: 0644]
Resources/Textures/Objects/Misc/arabianlamp.rsi/meta.json [new file with mode: 0644]

index 532ba4954f09959c7d3f331ee3016119aad076d9..313de6322fd62270fa4920e2c9bd16a15c87d031 100644 (file)
@@ -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
index 1211d7a6642f81645135c4c89d1e0c535acb1ce9..3ce318951c9136aaa44b6b9cc3013cb49fe1e7f9 100644 (file)
@@ -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 (file)
index 0000000..a15e30f
--- /dev/null
@@ -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 (file)
index 0000000..decabeb
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 (file)
index 0000000..e512dcf
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 (file)
index 0000000..680158c
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 (file)
index 0000000..a1fc9ee
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 (file)
index 0000000..0f6b7bf
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 (file)
index 0000000..616a46f
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 (file)
index 0000000..e3fe0fc
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 (file)
index 0000000..3219918
--- /dev/null
@@ -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
+        ]
+      ]
+    }
+  ]
+}