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.
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -10731,7 +10731,7 @@ entities:
|
|||
rot: -1.5707963267948966 rad
|
||||
pos: 52.5,14.5
|
||||
parent: 1653
|
||||
- proto: MagicalLamp
|
||||
- proto: ArabianLamp
|
||||
entities:
|
||||
- uid: 1204
|
||||
components:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
After Width: | Height: | Size: 427 B |
|
After Width: | Height: | Size: 255 B |
|
After Width: | Height: | Size: 458 B |
|
After Width: | Height: | Size: 443 B |
|
After Width: | Height: | Size: 451 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 359 B |
|
|
@ -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
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||