Address comments

Split out TG arcs into its own thing.
This commit is contained in:
Metal Gear Sloth
2020-06-24 19:42:16 +10:00
parent e152dd90dc
commit 8e56f6d985
12 changed files with 119 additions and 78 deletions

View File

@@ -50,7 +50,7 @@ namespace Content.Client.GameObjects.EntitySystems
var lunge = attacker.EnsureComponent<MeleeLungeComponent>();
lunge.SetData(msg.Angle);
var entity = EntityManager.SpawnEntity("WeaponArc", attacker.Transform.GridPosition);
var entity = EntityManager.SpawnEntity(weaponArc.Prototype, attacker.Transform.GridPosition);
entity.Transform.LocalRotation = msg.Angle;
var weaponArcAnimation = entity.GetComponent<MeleeWeaponArcAnimationComponent>();

View File

@@ -10,6 +10,7 @@ namespace Content.Shared.GameObjects.Components.Weapons.Melee
[Prototype("MeleeWeaponAnimation")]
public sealed class MeleeWeaponAnimationPrototype : IPrototype, IIndexedPrototype
{
private string _prototype;
private string _state;
private string _id;
private Vector4 _colorDelta;
@@ -18,9 +19,10 @@ namespace Content.Shared.GameObjects.Components.Weapons.Melee
private float _speed;
private float _width;
private WeaponArcType _arcType;
[ViewVariables] public string ID => _id;
[ViewVariables] public string State => _state;
[ViewVariables] public string Prototype => _prototype;
[ViewVariables] public TimeSpan Length => _length;
[ViewVariables] public float Speed => _speed;
[ViewVariables] public Vector4 Color => _color;
@@ -32,6 +34,7 @@ namespace Content.Shared.GameObjects.Components.Weapons.Melee
{
var serializer = YamlObjectSerializer.NewReader(mapping);
serializer.DataField(ref _prototype, "prototype", "WeaponArc");
serializer.DataField(ref _state, "state", null);
serializer.DataField(ref _id, "id", null);
serializer.DataField(ref _colorDelta, "colorDelta", Vector4.Zero);

View File

@@ -9,3 +9,15 @@
offset: 0.85, 0
drawdepth: Overlays
- type: MeleeWeaponArcAnimation
- type: entity
id: WeaponTGArc
save: false
abstract: true
components:
- type: Sprite
sprite: Effects/weapons/tg_arcs.rsi
directional: false
offset: 0.85, 0
drawdepth: Overlays
- type: MeleeWeaponArcAnimation

View File

@@ -7,7 +7,8 @@
colorDelta: 0,0,0,-5100
- type: MeleeWeaponAnimation
id: Bite
id: bite
prototype: WeaponTGArc
state: bite
arcType: Poke
length: 0.4
@@ -15,7 +16,8 @@
colorDelta: 0,0,0,-5100
- type: MeleeWeaponAnimation
id: Claw
id: claw
prototype: WeaponTGArc
state: claw
arcType: Slash
length: 0.4
@@ -23,7 +25,8 @@
colorDelta: 0,0,0,-5100
- type: MeleeWeaponAnimation
id: Disarm
id: disarm
prototype: WeaponTGArc
state: disarm
arcType: Poke
length: 0.3
@@ -31,7 +34,15 @@
colorDelta: 0,0,0,-5100
- type: MeleeWeaponAnimation
id: Kick
id: fist
state: fist
arcType: Poke
length: 0.15
speed: 1
- type: MeleeWeaponAnimation
id: kick
prototype: WeaponTGArc
state: kick
arcType: Poke
length: 0.3
@@ -39,7 +50,8 @@
colorDelta: 0,0,0,-5100
- type: MeleeWeaponAnimation
id: Punch
id: punch
prototype: WeaponTGArc
state: punch
arcType: Poke
length: 0.5
@@ -47,7 +59,8 @@
colorDelta: 0,0,0,-5100
- type: MeleeWeaponAnimation
id: Smash
id: smash
prototype: WeaponTGArc
state: smash
arcType: Poke
length: 0.3

View File

@@ -4,8 +4,6 @@
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0 for bite->smash",
"copyright": "https://github.com/tgstation/tgstation/raw/c545428822f1ee0d402b812221518632dbe198cb/icons/effects/effects.dmi",
"states": [
{
"name": "spear",
@@ -16,74 +14,8 @@
"directions": 1
},
{
"name": "bite",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "claw",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "disarm",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1
]
]
},
{
"name": "kick",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1
]
]
},
{
"name": "punch",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "smash",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1
]
]
"name": "fist",
"directions": 1
}
]
}

View File

Before

Width:  |  Height:  |  Size: 464 B

After

Width:  |  Height:  |  Size: 464 B

View File

Before

Width:  |  Height:  |  Size: 530 B

After

Width:  |  Height:  |  Size: 530 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,81 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/raw/c545428822f1ee0d402b812221518632dbe198cb/icons/effects/effects.dmi",
"states": [
{
"name": "bite",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "claw",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "disarm",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1
]
]
},
{
"name": "kick",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1
]
]
},
{
"name": "punch",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "smash",
"directions": 1,
"delays": [
[
0.1,
0.1,
0.1
]
]
}
]
}

View File

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 843 B

View File

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB