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