yaml linter fix & alert sprite specifier changes (#10015)
* Sprite specifier/serializer update * Immume * Fix tests * hooray, more bad test prototypes * add some comments
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
@@ -21,14 +21,11 @@ namespace Content.Shared.Alert
|
|||||||
public AlertType AlertType { get; private set; }
|
public AlertType AlertType { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Path to the icon (png) to show in alert bar. If severity levels are supported,
|
/// List of icons to use for this alert. Each entry corresponds to a different severity level, starting from the
|
||||||
/// this should be the path to the icon without the severity number
|
/// minimum and incrementing upwards. If severities are not supported, the first entry is used.
|
||||||
/// (i.e. hot.png if there is hot1.png and hot2.png). Use <see cref="GetIconPath"/>
|
|
||||||
/// to get the correct icon path for a particular severity level.
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ViewVariables]
|
[DataField("icons", required: true)]
|
||||||
[DataField("icon")]
|
public readonly List<SpriteSpecifier> Icons = new();
|
||||||
public SpriteSpecifier Icon { get; private set; } = SpriteSpecifier.Invalid;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Name to show in tooltip window. Accepts formatting.
|
/// Name to show in tooltip window. Accepts formatting.
|
||||||
@@ -103,8 +100,14 @@ namespace Content.Shared.Alert
|
|||||||
throw new InvalidOperationException($"This alert ({AlertKey}) does not support severity");
|
throw new InvalidOperationException($"This alert ({AlertKey}) does not support severity");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var minIcons = SupportsSeverity
|
||||||
|
? MaxSeverity - MinSeverity : 1;
|
||||||
|
|
||||||
|
if (Icons.Count < minIcons)
|
||||||
|
throw new InvalidOperationException($"Insufficient number of icons given for alert {AlertType}");
|
||||||
|
|
||||||
if (!SupportsSeverity)
|
if (!SupportsSeverity)
|
||||||
return Icon;
|
return Icons[0];
|
||||||
|
|
||||||
if (severity == null)
|
if (severity == null)
|
||||||
{
|
{
|
||||||
@@ -121,20 +124,7 @@ namespace Content.Shared.Alert
|
|||||||
throw new ArgumentOutOfRangeException(nameof(severity), $"Severity above maximum severity in {AlertKey}.");
|
throw new ArgumentOutOfRangeException(nameof(severity), $"Severity above maximum severity in {AlertKey}.");
|
||||||
}
|
}
|
||||||
|
|
||||||
var severityText = severity.Value.ToString(CultureInfo.InvariantCulture);
|
return Icons[severity.Value - _minSeverity];
|
||||||
switch (Icon)
|
|
||||||
{
|
|
||||||
case SpriteSpecifier.EntityPrototype entityPrototype:
|
|
||||||
throw new InvalidOperationException($"Severity not supported for EntityPrototype icon in {AlertKey}");
|
|
||||||
case SpriteSpecifier.Rsi rsi:
|
|
||||||
return new SpriteSpecifier.Rsi(rsi.RsiPath, rsi.RsiState + severityText);
|
|
||||||
case SpriteSpecifier.Texture texture:
|
|
||||||
var newName = texture.TexturePath.FilenameWithoutExtension + severityText;
|
|
||||||
return new SpriteSpecifier.Texture(
|
|
||||||
texture.TexturePath.WithName(newName + "." + texture.TexturePath.Extension));
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException(nameof(Icon));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,13 @@ namespace Content.Tests.Shared.Alert
|
|||||||
const string PROTOTYPES = @"
|
const string PROTOTYPES = @"
|
||||||
- type: alert
|
- type: alert
|
||||||
id: LowPressure
|
id: LowPressure
|
||||||
icon: /Textures/Interface/Alerts/Pressure/lowpressure.png
|
icons:
|
||||||
|
- /Textures/Interface/Alerts/Pressure/lowpressure.png
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: HighPressure
|
id: HighPressure
|
||||||
icon: /Textures/Interface/Alerts/Pressure/highpressure.png
|
icons:
|
||||||
|
- /Textures/Interface/Alerts/Pressure/highpressure.png
|
||||||
";
|
";
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -37,14 +39,14 @@ namespace Content.Tests.Shared.Alert
|
|||||||
prototypeManager.LoadFromStream(new StringReader(PROTOTYPES));
|
prototypeManager.LoadFromStream(new StringReader(PROTOTYPES));
|
||||||
|
|
||||||
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.LowPressure, out var lowPressure));
|
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.LowPressure, out var lowPressure));
|
||||||
Assert.That(lowPressure.Icon, Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
|
Assert.That(lowPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
|
||||||
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.HighPressure, out var highPressure));
|
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.HighPressure, out var highPressure));
|
||||||
Assert.That(highPressure.Icon, Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
|
Assert.That(highPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
|
||||||
|
|
||||||
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.LowPressure, out lowPressure));
|
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.LowPressure, out lowPressure));
|
||||||
Assert.That(lowPressure.Icon, Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
|
Assert.That(lowPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
|
||||||
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.HighPressure, out highPressure));
|
Assert.That(EntitySystem.Get<AlertsSystem>().TryGet(AlertType.HighPressure, out highPressure));
|
||||||
Assert.That(highPressure.Icon, Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
|
Assert.That(highPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,35 +26,44 @@ namespace Content.Tests.Shared.Alert
|
|||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: LowPressure
|
id: LowPressure
|
||||||
|
icons: []
|
||||||
category: Pressure
|
category: Pressure
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: HighPressure
|
id: HighPressure
|
||||||
|
icons: []
|
||||||
category: Pressure
|
category: Pressure
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Peckish
|
id: Peckish
|
||||||
|
icons: []
|
||||||
category: Hunger
|
category: Hunger
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Stun
|
id: Stun
|
||||||
|
icons: []
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Handcuffed
|
id: Handcuffed
|
||||||
|
icons: []
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Hot
|
id: Hot
|
||||||
|
icons: []
|
||||||
category: Temperature
|
category: Temperature
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Cold
|
id: Cold
|
||||||
|
icons: []
|
||||||
category: Temperature
|
category: Temperature
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Weightless
|
id: Weightless
|
||||||
|
icons: []
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: PilotingShuttle
|
id: PilotingShuttle
|
||||||
|
icons: []
|
||||||
";
|
";
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Content.Shared.Alert;
|
using Content.Shared.Alert;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
@@ -17,7 +17,14 @@ namespace Content.Tests.Shared.Alert
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: HumanHealth
|
id: HumanHealth
|
||||||
category: Health
|
category: Health
|
||||||
icon: /Textures/Interface/Alerts/Human/human.rsi/human.png
|
icons:
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human0.png
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human1.png
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human2.png
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human3.png
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human4.png
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human5.png
|
||||||
|
- /Textures/Interface/Alerts/Human/human.rsi/human6.png
|
||||||
name: Health
|
name: Health
|
||||||
description: ""[color=green]Green[/color] good. [color=red]Red[/color] bad.""
|
description: ""[color=green]Green[/color] good. [color=red]Red[/color] bad.""
|
||||||
minSeverity: 0
|
minSeverity: 0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -88,15 +88,28 @@ namespace Content.YAMLLinter
|
|||||||
|
|
||||||
foreach (var (key, val) in serverErrors)
|
foreach (var (key, val) in serverErrors)
|
||||||
{
|
{
|
||||||
|
// Include all server errors marked as always relevant
|
||||||
var newErrors = val.Where(n => n.AlwaysRelevant).ToHashSet();
|
var newErrors = val.Where(n => n.AlwaysRelevant).ToHashSet();
|
||||||
if (clientErrors.TryGetValue(key, out var clientVal))
|
|
||||||
{
|
|
||||||
newErrors.UnionWith(val.Intersect(clientVal));
|
|
||||||
newErrors.UnionWith(clientVal.Where(n => n.AlwaysRelevant));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (newErrors.Count == 0) continue;
|
// We include sometimes-relevant errors if they exist both for the client & server
|
||||||
allErrors[key] = newErrors;
|
if (clientErrors.TryGetValue(key, out var clientVal))
|
||||||
|
newErrors.UnionWith(val.Intersect(clientVal));
|
||||||
|
|
||||||
|
if (newErrors.Count != 0)
|
||||||
|
allErrors[key] = newErrors;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Finally add any always-relevant client errors.
|
||||||
|
foreach (var (key, val) in clientErrors)
|
||||||
|
{
|
||||||
|
var newErrors = val.Where(n => n.AlwaysRelevant).ToHashSet();
|
||||||
|
if (newErrors.Count == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (allErrors.TryGetValue(key, out var errors))
|
||||||
|
errors.UnionWith(val.Where(n => n.AlwaysRelevant));
|
||||||
|
else
|
||||||
|
allErrors[key] = newErrors;
|
||||||
}
|
}
|
||||||
|
|
||||||
return allErrors;
|
return allErrors;
|
||||||
|
|||||||
@@ -23,8 +23,8 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: LowOxygen
|
id: LowOxygen
|
||||||
category: Breathing
|
category: Breathing
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/breathing.rsi
|
- sprite: /Textures/Interface/Alerts/breathing.rsi
|
||||||
state: not_enough_oxy
|
state: not_enough_oxy
|
||||||
name: "[color=red]Low Oxygen[/color]"
|
name: "[color=red]Low Oxygen[/color]"
|
||||||
description: "There is [color=red]not enough oxygen[/color] in the air you are breathing. Put on [color=green]internals[/color]."
|
description: "There is [color=red]not enough oxygen[/color] in the air you are breathing. Put on [color=green]internals[/color]."
|
||||||
@@ -32,8 +32,8 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: Toxins
|
id: Toxins
|
||||||
category: Toxins
|
category: Toxins
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/breathing.rsi
|
- sprite: /Textures/Interface/Alerts/breathing.rsi
|
||||||
state: too_much_tox
|
state: too_much_tox
|
||||||
name: "[color=red]High Toxin Level[/color]"
|
name: "[color=red]High Toxin Level[/color]"
|
||||||
description: "There are [color=red]too many toxins[/color] in the air you are breathing. Put on [color=green]internals[/color] or get away."
|
description: "There are [color=red]too many toxins[/color] in the air you are breathing. Put on [color=green]internals[/color] or get away."
|
||||||
@@ -41,9 +41,11 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: LowPressure
|
id: LowPressure
|
||||||
category: Pressure
|
category: Pressure
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/pressure.rsi
|
- sprite: /Textures/Interface/Alerts/pressure.rsi
|
||||||
state: lowpressure
|
state: lowpressure1
|
||||||
|
- sprite: /Textures/Interface/Alerts/pressure.rsi
|
||||||
|
state: lowpressure2
|
||||||
maxSeverity: 2
|
maxSeverity: 2
|
||||||
name: "[color=red]Low Pressure[/color]"
|
name: "[color=red]Low Pressure[/color]"
|
||||||
description: "The air around you is [color=red]hazardously thin[/color]. A [color=green]space suit[/color] would protect you."
|
description: "The air around you is [color=red]hazardously thin[/color]. A [color=green]space suit[/color] would protect you."
|
||||||
@@ -51,16 +53,18 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: HighPressure
|
id: HighPressure
|
||||||
category: Pressure
|
category: Pressure
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/pressure.rsi
|
- sprite: /Textures/Interface/Alerts/pressure.rsi
|
||||||
state: highpressure
|
state: highpressure1
|
||||||
|
- sprite: /Textures/Interface/Alerts/pressure.rsi
|
||||||
|
state: highpressure2
|
||||||
maxSeverity: 2
|
maxSeverity: 2
|
||||||
name: "[color=red]High Pressure[/color]"
|
name: "[color=red]High Pressure[/color]"
|
||||||
description: "The air around you is [color=red]hazardously thick[/color]. A [color=green]pressurized suit[/color] would be enough protect you"
|
description: "The air around you is [color=red]hazardously thick[/color]. A [color=green]pressurized suit[/color] would be enough protect you"
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Fire
|
id: Fire
|
||||||
icon: /Textures/Interface/Alerts/Fire/fire.png
|
icons: [ /Textures/Interface/Alerts/Fire/fire.png ]
|
||||||
onClick: !type:ResistFire { }
|
onClick: !type:ResistFire { }
|
||||||
name: "[color=red]On Fire[/color]"
|
name: "[color=red]On Fire[/color]"
|
||||||
description: "You're [color=red]on fire[/color]. Click the alert to stop, drop and roll to put the fire out or move to a vacuum area."
|
description: "You're [color=red]on fire[/color]. Click the alert to stop, drop and roll to put the fire out or move to a vacuum area."
|
||||||
@@ -69,9 +73,13 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: Cold
|
id: Cold
|
||||||
category: Temperature
|
category: Temperature
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/temperature.rsi
|
- sprite: /Textures/Interface/Alerts/temperature.rsi
|
||||||
state: cold
|
state: cold1
|
||||||
|
- sprite: /Textures/Interface/Alerts/temperature.rsi
|
||||||
|
state: cold2
|
||||||
|
- sprite: /Textures/Interface/Alerts/temperature.rsi
|
||||||
|
state: cold3
|
||||||
maxSeverity: 3
|
maxSeverity: 3
|
||||||
name: "[color=cyan]Too Cold[/color]"
|
name: "[color=cyan]Too Cold[/color]"
|
||||||
description: "You're [color=cyan]freezing cold![/color] Get somewhere warmer and take off any insulating clothing like a space suit."
|
description: "You're [color=cyan]freezing cold![/color] Get somewhere warmer and take off any insulating clothing like a space suit."
|
||||||
@@ -79,16 +87,20 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: Hot
|
id: Hot
|
||||||
category: Temperature
|
category: Temperature
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/temperature.rsi
|
- sprite: /Textures/Interface/Alerts/temperature.rsi
|
||||||
state: hot
|
state: hot1
|
||||||
|
- sprite: /Textures/Interface/Alerts/temperature.rsi
|
||||||
|
state: hot2
|
||||||
|
- sprite: /Textures/Interface/Alerts/temperature.rsi
|
||||||
|
state: hot3
|
||||||
maxSeverity: 3
|
maxSeverity: 3
|
||||||
name: "[color=red]Too Hot[/color]"
|
name: "[color=red]Too Hot[/color]"
|
||||||
description: "It's [color=red]too hot![/color] Get somewhere colder, take off any insulating clothing like a space suit, or at least get away from the flames."
|
description: "It's [color=red]too hot![/color] Get somewhere colder, take off any insulating clothing like a space suit, or at least get away from the flames."
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Weightless
|
id: Weightless
|
||||||
icon: /Textures/Interface/Alerts/Weightless/weightless.png
|
icons: [ /Textures/Interface/Alerts/Weightless/weightless.png ]
|
||||||
name: Weightless
|
name: Weightless
|
||||||
description: >
|
description: >
|
||||||
Gravity has ceased affecting you, and you're floating around aimlessly. Find something sturdy to hold onto, or throw or shoot something in a direction opposite of you.
|
Gravity has ceased affecting you, and you're floating around aimlessly. Find something sturdy to hold onto, or throw or shoot something in a direction opposite of you.
|
||||||
@@ -96,14 +108,14 @@
|
|||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Stun
|
id: Stun
|
||||||
icon: /Textures/Objects/Weapons/Melee/stunbaton.rsi/stunbaton_off.png #Should probably draw a proper icon
|
icons: [ /Textures/Objects/Weapons/Melee/stunbaton.rsi/stunbaton_off.png ] #Should probably draw a proper icon
|
||||||
name: "[color=yellow]Stunned[/color]"
|
name: "[color=yellow]Stunned[/color]"
|
||||||
description: "You're [color=yellow]stunned[/color]! Something is impairing your ability to move or interact with objects"
|
description: "You're [color=yellow]stunned[/color]! Something is impairing your ability to move or interact with objects"
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Handcuffed
|
id: Handcuffed
|
||||||
onClick: !type:RemoveCuffs { }
|
onClick: !type:RemoveCuffs { }
|
||||||
icon: /Textures/Interface/Alerts/Handcuffed/Handcuffed.png
|
icons: [ /Textures/Interface/Alerts/Handcuffed/Handcuffed.png ]
|
||||||
name: "[color=yellow]Handcuffed[/color]"
|
name: "[color=yellow]Handcuffed[/color]"
|
||||||
description: "You're [color=yellow]handcuffed[/color] and can't use your hands. If anyone drags you, you won't be able to resist."
|
description: "You're [color=yellow]handcuffed[/color] and can't use your hands. If anyone drags you, you won't be able to resist."
|
||||||
|
|
||||||
@@ -111,15 +123,15 @@
|
|||||||
id: Buckled
|
id: Buckled
|
||||||
category: Buckled
|
category: Buckled
|
||||||
onClick: !type:Unbuckle { }
|
onClick: !type:Unbuckle { }
|
||||||
icon: /Textures/Interface/Alerts/Buckle/buckled.png
|
icons: [ /Textures/Interface/Alerts/Buckle/buckled.png ]
|
||||||
name: "[color=yellow]Buckled[/color]"
|
name: "[color=yellow]Buckled[/color]"
|
||||||
description: "You've been [color=yellow]buckled[/color] to something. Click the alert to unbuckle unless you're [color=yellow]handcuffed.[/color]"
|
description: "You've been [color=yellow]buckled[/color] to something. Click the alert to unbuckle unless you're [color=yellow]handcuffed.[/color]"
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: HumanCrit
|
id: HumanCrit
|
||||||
category: Health
|
category: Health
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/human_health.rsi
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
state: health6
|
state: health6
|
||||||
name: "[color=red]Critical Condition[/color]"
|
name: "[color=red]Critical Condition[/color]"
|
||||||
description: "You're severely injured and unconscious."
|
description: "You're severely injured and unconscious."
|
||||||
@@ -127,8 +139,8 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: HumanDead
|
id: HumanDead
|
||||||
category: Health
|
category: Health
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/human_health.rsi
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
state: health7
|
state: health7
|
||||||
name: Dead
|
name: Dead
|
||||||
description: You're dead, note that you can still be revived!
|
description: You're dead, note that you can still be revived!
|
||||||
@@ -136,9 +148,23 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: HumanHealth
|
id: HumanHealth
|
||||||
category: Health
|
category: Health
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/human_health.rsi
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
state: health
|
state: health0
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health1
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health2
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health3
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health4
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health5
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health6
|
||||||
|
- sprite: /Textures/Interface/Alerts/human_health.rsi
|
||||||
|
state: health7
|
||||||
name: Health
|
name: Health
|
||||||
description: "[color=green]Green[/color] good. [color=red]Red[/color] bad."
|
description: "[color=green]Green[/color] good. [color=red]Red[/color] bad."
|
||||||
minSeverity: 0
|
minSeverity: 0
|
||||||
@@ -148,9 +174,13 @@
|
|||||||
id: Internals
|
id: Internals
|
||||||
category: Internals
|
category: Internals
|
||||||
onClick: !type:ToggleInternals {}
|
onClick: !type:ToggleInternals {}
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/internals.rsi
|
- sprite: /Textures/Interface/Alerts/internals.rsi
|
||||||
state: internal
|
state: internal0
|
||||||
|
- sprite: /Textures/Interface/Alerts/internals.rsi
|
||||||
|
state: internal1
|
||||||
|
- sprite: /Textures/Interface/Alerts/internals.rsi
|
||||||
|
state: internal2
|
||||||
name: Toggle internals
|
name: Toggle internals
|
||||||
description: "Toggles your gas tank internals on or off."
|
description: "Toggles your gas tank internals on or off."
|
||||||
minSeverity: 0
|
minSeverity: 0
|
||||||
@@ -160,23 +190,35 @@
|
|||||||
id: PilotingShuttle
|
id: PilotingShuttle
|
||||||
category: Piloting
|
category: Piloting
|
||||||
onClick: !type:StopPiloting { }
|
onClick: !type:StopPiloting { }
|
||||||
icon: /Textures/Interface/Alerts/piloting.png
|
icons: [ /Textures/Interface/Alerts/piloting.png ]
|
||||||
name: Piloting Shuttle
|
name: Piloting Shuttle
|
||||||
description: You are piloting a shuttle. Click the alert to stop.
|
description: You are piloting a shuttle. Click the alert to stop.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Peckish
|
id: Peckish
|
||||||
category: Hunger
|
category: Hunger
|
||||||
icon: /Textures/Interface/Alerts/Hunger/Peckish.png
|
icons: [ /Textures/Interface/Alerts/Hunger/Peckish.png ]
|
||||||
name: "[color=yellow]Peckish[/color]"
|
name: "[color=yellow]Peckish[/color]"
|
||||||
description: Some food would be good right about now.
|
description: Some food would be good right about now.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Stamina
|
id: Stamina
|
||||||
category: Stamina
|
category: Stamina
|
||||||
icon:
|
icons:
|
||||||
sprite: /Textures/Interface/Alerts/stamina.rsi
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
state: stamina
|
state: stamina0
|
||||||
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
|
state: stamina1
|
||||||
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
|
state: stamina2
|
||||||
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
|
state: stamina3
|
||||||
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
|
state: stamina4
|
||||||
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
|
state: stamina5
|
||||||
|
- sprite: /Textures/Interface/Alerts/stamina.rsi
|
||||||
|
state: stamina6
|
||||||
name: Stamina
|
name: Stamina
|
||||||
description: "Stuns you if it is too low."
|
description: "Stuns you if it is too low."
|
||||||
minSeverity: 0
|
minSeverity: 0
|
||||||
@@ -185,90 +227,90 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: Starving
|
id: Starving
|
||||||
category: Hunger
|
category: Hunger
|
||||||
icon: /Textures/Interface/Alerts/Hunger/Starving.png
|
icons: [ /Textures/Interface/Alerts/Hunger/Starving.png ]
|
||||||
name: "[color=red]Starving[/color]"
|
name: "[color=red]Starving[/color]"
|
||||||
description: You're severely malnourished. The hunger pains make moving around a chore.
|
description: You're severely malnourished. The hunger pains make moving around a chore.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Thirsty
|
id: Thirsty
|
||||||
category: Thirst
|
category: Thirst
|
||||||
icon: /Textures/Interface/Alerts/Thirst/Thirsty.png
|
icons: [ /Textures/Interface/Alerts/Thirst/Thirsty.png ]
|
||||||
name: "[color=yellow]Thirsty[/color]"
|
name: "[color=yellow]Thirsty[/color]"
|
||||||
description: Something to drink would be good right about now.
|
description: Something to drink would be good right about now.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Parched
|
id: Parched
|
||||||
category: Thirst
|
category: Thirst
|
||||||
icon: /Textures/Interface/Alerts/Thirst/Parched.png
|
icons: [ /Textures/Interface/Alerts/Thirst/Parched.png ]
|
||||||
name: "[color=red]Parched[/color]"
|
name: "[color=red]Parched[/color]"
|
||||||
description: You're severely thirsty. The thirst makes moving around a chore.
|
description: You're severely thirsty. The thirst makes moving around a chore.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Muted
|
id: Muted
|
||||||
icon: /Textures/Interface/Alerts/Abilities/silenced.png
|
icons: [ /Textures/Interface/Alerts/Abilities/silenced.png ]
|
||||||
name: Muted
|
name: Muted
|
||||||
description: You have lost the ability to speak.
|
description: You have lost the ability to speak.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: VowOfSilence
|
id: VowOfSilence
|
||||||
icon: /Textures/Interface/Alerts/Abilities/silenced.png
|
icons: [ /Textures/Interface/Alerts/Abilities/silenced.png ]
|
||||||
name: Vow of Silence
|
name: Vow of Silence
|
||||||
onClick: !type:BreakVow { }
|
onClick: !type:BreakVow { }
|
||||||
description: You have taken a vow of silence as part of initiation into the Mystiko Tagma Mimon. Click to break your vow.
|
description: You have taken a vow of silence as part of initiation into the Mystiko Tagma Mimon. Click to break your vow.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: VowBroken
|
id: VowBroken
|
||||||
icon: /Textures/Interface/Actions/scream.png
|
icons: [ /Textures/Interface/Actions/scream.png ]
|
||||||
name: Vow Broken
|
name: Vow Broken
|
||||||
onClick: !type:RetakeVow { }
|
onClick: !type:RetakeVow { }
|
||||||
description: You've broken your vows to Mimes everywhere. You can speak, but you've lost your powers for at least 5 entire minutes!!! Click to try and retake your vow.
|
description: You've broken your vows to Mimes everywhere. You can speak, but you've lost your powers for at least 5 entire minutes!!! Click to try and retake your vow.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Pulled
|
id: Pulled
|
||||||
icon: /Textures/Interface/Alerts/Pull/pulled.png
|
icons: [ /Textures/Interface/Alerts/Pull/pulled.png ]
|
||||||
onClick: !type:StopBeingPulled { }
|
onClick: !type:StopBeingPulled { }
|
||||||
name: Pulled
|
name: Pulled
|
||||||
description: You're being pulled. Move to break free.
|
description: You're being pulled. Move to break free.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Pulling
|
id: Pulling
|
||||||
icon: /Textures/Interface/Alerts/Pull/pulling.png
|
icons: [ /Textures/Interface/Alerts/Pull/pulling.png ]
|
||||||
onClick: !type:StopPulling { }
|
onClick: !type:StopPulling { }
|
||||||
name: Pulling
|
name: Pulling
|
||||||
description: You're pulling something. Click the alert to stop.
|
description: You're pulling something. Click the alert to stop.
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Debug1
|
id: Debug1
|
||||||
icon: /Textures/Interface/Alerts/human_health.rsi/health1.png
|
icons: [ /Textures/Interface/Alerts/human_health.rsi/health1.png ]
|
||||||
name: Debug1
|
name: Debug1
|
||||||
description: Debug
|
description: Debug
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Debug2
|
id: Debug2
|
||||||
icon: /Textures/Interface/Alerts/human_health.rsi/health2.png
|
icons: [ /Textures/Interface/Alerts/human_health.rsi/health2.png ]
|
||||||
name: Debug2
|
name: Debug2
|
||||||
description: Debug
|
description: Debug
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Debug3
|
id: Debug3
|
||||||
icon: /Textures/Interface/Alerts/human_health.rsi/health3.png
|
icons: [ /Textures/Interface/Alerts/human_health.rsi/health3.png ]
|
||||||
name: Debug3
|
name: Debug3
|
||||||
description: Debug
|
description: Debug
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Debug4
|
id: Debug4
|
||||||
icon: /Textures/Interface/Alerts/human_health.rsi/health4.png
|
icons: [ /Textures/Interface/Alerts/human_health.rsi/health4.png ]
|
||||||
name: Debug4
|
name: Debug4
|
||||||
description: Debug
|
description: Debug
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Debug5
|
id: Debug5
|
||||||
icon: /Textures/Interface/Alerts/human_health.rsi/health5.png
|
icons: [ /Textures/Interface/Alerts/human_health.rsi/health5.png ]
|
||||||
name: Debug5
|
name: Debug5
|
||||||
description: Debug
|
description: Debug
|
||||||
|
|
||||||
- type: alert
|
- type: alert
|
||||||
id: Debug6
|
id: Debug6
|
||||||
icon: /Textures/Interface/Alerts/human_health.rsi/health6.png
|
icons: [ /Textures/Interface/Alerts/human_health.rsi/health6.png ]
|
||||||
name: Debug6
|
name: Debug6
|
||||||
description: Debug
|
description: Debug
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
- type: alert
|
- type: alert
|
||||||
id: Magboots
|
id: Magboots
|
||||||
icon: { sprite: "/Textures/Clothing/Shoes/Boots/magboots.rsi", state: "icon-on" }
|
icons:
|
||||||
|
- sprite: /Textures/Clothing/Shoes/Boots/magboots.rsi
|
||||||
|
state: icon-on
|
||||||
name: "Magboots"
|
name: "Magboots"
|
||||||
description: You are immume to airflow, but slightly slower.
|
description: You are immune to airflow, but slightly slower.
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
markingCategory: HeadTop
|
markingCategory: HeadTop
|
||||||
speciesRestriction: [Human]
|
speciesRestriction: [Human]
|
||||||
sprites:
|
sprites:
|
||||||
- sprite: Mobs/Customization/cat_parts.rsi/
|
- sprite: Mobs/Customization/cat_parts.rsi
|
||||||
state: ears_cat_outer
|
state: ears_cat_outer
|
||||||
- sprite: Mobs/Customization/cat_parts.rsi/
|
- sprite: Mobs/Customization/cat_parts.rsi
|
||||||
state: ears_cat_inner
|
state: ears_cat_inner
|
||||||
|
|
||||||
- type: marking
|
- type: marking
|
||||||
@@ -15,5 +15,5 @@
|
|||||||
markingCategory: Tail
|
markingCategory: Tail
|
||||||
speciesRestriction: [Human]
|
speciesRestriction: [Human]
|
||||||
sprites:
|
sprites:
|
||||||
- sprite: Mobs/Customization/cat_parts.rsi/
|
- sprite: Mobs/Customization/cat_parts.rsi
|
||||||
state: tail_cat
|
state: tail_cat
|
||||||
|
|||||||
Reference in New Issue
Block a user