Add a lantern and a radiating light component (#1571)
* added a lantern * Add A Lantern with radiating light * Update meta.json Added copyright information for lantern.rsi
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using Robust.Client.Animations;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Client.GameObjects.Components.Animations;
|
||||
using Robust.Shared.Animations;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.Client.GameObjects.Components
|
||||
{
|
||||
[RegisterComponent]
|
||||
public class RadiatingLightComponent : Component
|
||||
{
|
||||
public override string Name => "RadiatingLight";
|
||||
|
||||
protected override void Startup()
|
||||
{
|
||||
base.Startup();
|
||||
|
||||
var animation = new Animation
|
||||
{
|
||||
Length = TimeSpan.FromSeconds(4),
|
||||
AnimationTracks =
|
||||
{
|
||||
new AnimationTrackComponentProperty
|
||||
{
|
||||
ComponentType = typeof(PointLightComponent),
|
||||
InterpolationMode = AnimationInterpolationMode.Linear,
|
||||
Property = nameof(PointLightComponent.Radius),
|
||||
KeyFrames =
|
||||
{
|
||||
new AnimationTrackProperty.KeyFrame(3.0f, 0),
|
||||
new AnimationTrackProperty.KeyFrame(2.0f, 1),
|
||||
new AnimationTrackProperty.KeyFrame(3.0f, 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var playerComponent = Owner.EnsureComponent<AnimationPlayerComponent>();
|
||||
playerComponent.Play(animation, "emergency");
|
||||
|
||||
playerComponent.AnimationCompleted += s => playerComponent.Play(animation, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
Resources/Prototypes/Entities/Objects/Tools/lantern.yml
Normal file
27
Resources/Prototypes/Entities/Objects/Tools/lantern.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
- type: entity
|
||||
name: lantern
|
||||
parent: BaseItem
|
||||
id: lantern
|
||||
description: The holy light guides the way
|
||||
components:
|
||||
- type: HandheldLight
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/lantern.rsi
|
||||
layers:
|
||||
- state: lantern
|
||||
- state: lantern-on
|
||||
shader: unshaded
|
||||
visible: false
|
||||
- type: Icon
|
||||
sprite: Objects/Tools/lantern.rsi
|
||||
state: lantern
|
||||
- type: Item
|
||||
sprite: Objects/Tools/lantern.rsi
|
||||
HeldPrefix: off
|
||||
- type: PointLight
|
||||
enabled: false
|
||||
radius: 3
|
||||
energy: 2.5
|
||||
color: "#FFC458"
|
||||
- type: RadiatingLight
|
||||
- type: LoopingSound
|
||||
BIN
Resources/Textures/Objects/Tools/lantern.rsi/lantern-on.png
Normal file
BIN
Resources/Textures/Objects/Tools/lantern.rsi/lantern-on.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1014 B |
BIN
Resources/Textures/Objects/Tools/lantern.rsi/lantern.png
Normal file
BIN
Resources/Textures/Objects/Tools/lantern.rsi/lantern.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 793 B |
101
Resources/Textures/Objects/Tools/lantern.rsi/meta.json
Normal file
101
Resources/Textures/Objects/Tools/lantern.rsi/meta.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC BY-SA 3.0",
|
||||
"copyright": "Taken from https://github.com/tgstation/tgstation at commit 9bebd81ae0b0a7f952b59886a765c681205de31f",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "lantern",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[
|
||||
1.0
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "lantern-on",
|
||||
"directions": 1,
|
||||
"delays": [
|
||||
[
|
||||
1.0
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "off-inhand-left",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "off-inhand-right",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "on-inhand-left",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "on-inhand-right",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
],
|
||||
[
|
||||
1
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Objects/Tools/lantern.rsi/off-inhand-left.png
Normal file
BIN
Resources/Textures/Objects/Tools/lantern.rsi/off-inhand-left.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 362 B |
Binary file not shown.
|
After Width: | Height: | Size: 353 B |
BIN
Resources/Textures/Objects/Tools/lantern.rsi/on-inhand-left.png
Normal file
BIN
Resources/Textures/Objects/Tools/lantern.rsi/on-inhand-left.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 362 B |
BIN
Resources/Textures/Objects/Tools/lantern.rsi/on-inhand-right.png
Normal file
BIN
Resources/Textures/Objects/Tools/lantern.rsi/on-inhand-right.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 353 B |
Reference in New Issue
Block a user