Merge branch 'ed-17-07-2024-dungenagain' of https://github.com/crystallpunk-14/crystall-punk-14 into ed-17-07-2024-dungenagain

This commit is contained in:
Ed
2024-07-17 23:48:34 +03:00
160 changed files with 559 additions and 1465 deletions

View File

@@ -54,7 +54,7 @@ public sealed class AudioUIController : UIController
{
if (!string.IsNullOrEmpty(value))
{
var resource = _cache.GetResource<AudioResource>(value);
var resource = GetSoundOrFallback(value, CCVars.UIClickSound.DefaultValue);
var source =
_audioManager.CreateAudioSource(resource);
@@ -77,7 +77,7 @@ public sealed class AudioUIController : UIController
{
if (!string.IsNullOrEmpty(value))
{
var hoverResource = _cache.GetResource<AudioResource>(value);
var hoverResource = GetSoundOrFallback(value, CCVars.UIHoverSound.DefaultValue);
var hoverSource =
_audioManager.CreateAudioSource(hoverResource);
@@ -95,4 +95,12 @@ public sealed class AudioUIController : UIController
UIManager.SetHoverSound(null);
}
}
private AudioResource GetSoundOrFallback(string path, string fallback)
{
if (!_cache.TryGetResource(path, out AudioResource? resource))
return _cache.GetResource<AudioResource>(fallback);
return resource;
}
}

View File

@@ -1,6 +1,5 @@
using Content.Shared.Research;
using Content.Shared.Research.Components;
using Robust.Client.GameObjects;
namespace Content.Client.Research.UI
{

View File

@@ -1,5 +1,4 @@
using Content.Shared.Research.Components;
using Robust.Client.GameObjects;
namespace Content.Client.Research.UI
{

View File

@@ -1,6 +1,5 @@
using Content.Shared.Research.Components;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
namespace Content.Client.Research.UI;

View File

@@ -81,7 +81,7 @@ public sealed partial class ResearchConsoleMenu : FancyWindow
public void UpdateInformationPanel(ResearchConsoleBoundInterfaceState state)
{
var amountMsg = new FormattedMessage();
amountMsg.AddMarkup(Loc.GetString("research-console-menu-research-points-text",
amountMsg.AddMarkupOrThrow(Loc.GetString("research-console-menu-research-points-text",
("points", state.Points)));
ResearchAmountLabel.SetMessage(amountMsg);
@@ -98,7 +98,7 @@ public sealed partial class ResearchConsoleMenu : FancyWindow
}
var msg = new FormattedMessage();
msg.AddMarkup(Loc.GetString("research-console-menu-main-discipline",
msg.AddMarkupOrThrow(Loc.GetString("research-console-menu-main-discipline",
("name", disciplineText), ("color", disciplineColor)));
MainDisciplineLabel.SetMessage(msg);

View File

@@ -23,7 +23,7 @@ public sealed partial class TechnologyCardControl : Control
DisciplineTexture.Texture = spriteSys.Frame0(discipline.Icon);
TechnologyNameLabel.Text = Loc.GetString(technology.Name);
var message = new FormattedMessage();
message.AddMarkup(Loc.GetString("research-console-tier-discipline-info",
message.AddMarkupOrThrow(Loc.GetString("research-console-tier-discipline-info",
("tier", technology.Tier), ("color", discipline.Color), ("discipline", Loc.GetString(discipline.Name))));
TierLabel.SetMessage(message);
UnlocksLabel.SetMessage(description);

View File

@@ -1,11 +1,13 @@
using System.Linq;
using Content.Client.CharacterInfo;
using Content.Client.Gameplay;
using Content.Client.Stylesheets;
using Content.Client.UserInterface.Controls;
using Content.Client.UserInterface.Systems.Character.Controls;
using Content.Client.UserInterface.Systems.Character.Windows;
using Content.Client.UserInterface.Systems.Objectives.Controls;
using Content.Shared.Input;
using Content.Shared.Objectives.Systems;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Player;
@@ -121,11 +123,17 @@ public sealed class CharacterUIController : UIController, IOnStateEntered<Gamepl
Modulate = Color.Gray
};
objectiveControl.AddChild(new Label
var objectiveText = new FormattedMessage();
objectiveText.TryAddMarkup(groupId, out _);
var objectiveLabel = new RichTextLabel
{
Text = groupId,
Modulate = Color.LightSkyBlue
});
StyleClasses = {StyleNano.StyleClassTooltipActionTitle}
};
objectiveLabel.SetMessage(objectiveText);
objectiveControl.AddChild(objectiveLabel);
foreach (var condition in conditions)
{

View File

@@ -141,7 +141,7 @@ public sealed partial class AnomalySystem
var msg = new FormattedMessage();
if (component.ScannedAnomaly is not { } anomaly || !TryComp<AnomalyComponent>(anomaly, out var anomalyComp))
{
msg.AddMarkup(Loc.GetString("anomaly-scanner-no-anomaly"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-no-anomaly"));
return msg;
}
@@ -149,14 +149,14 @@ public sealed partial class AnomalySystem
//Severity
if (secret != null && secret.Secret.Contains(AnomalySecretData.Severity))
msg.AddMarkup(Loc.GetString("anomaly-scanner-severity-percentage-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-severity-percentage-unknown"));
else
msg.AddMarkup(Loc.GetString("anomaly-scanner-severity-percentage", ("percent", anomalyComp.Severity.ToString("P"))));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-severity-percentage", ("percent", anomalyComp.Severity.ToString("P"))));
msg.PushNewline();
//Stability
if (secret != null && secret.Secret.Contains(AnomalySecretData.Stability))
msg.AddMarkup(Loc.GetString("anomaly-scanner-stability-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-stability-unknown"));
else
{
string stateLoc;
@@ -166,54 +166,54 @@ public sealed partial class AnomalySystem
stateLoc = Loc.GetString("anomaly-scanner-stability-high");
else
stateLoc = Loc.GetString("anomaly-scanner-stability-medium");
msg.AddMarkup(stateLoc);
msg.AddMarkupOrThrow(stateLoc);
}
msg.PushNewline();
//Point output
if (secret != null && secret.Secret.Contains(AnomalySecretData.OutputPoint))
msg.AddMarkup(Loc.GetString("anomaly-scanner-point-output-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-point-output-unknown"));
else
msg.AddMarkup(Loc.GetString("anomaly-scanner-point-output", ("point", GetAnomalyPointValue(anomaly, anomalyComp))));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-point-output", ("point", GetAnomalyPointValue(anomaly, anomalyComp))));
msg.PushNewline();
msg.PushNewline();
//Particles title
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-readout"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-readout"));
msg.PushNewline();
//Danger
if (secret != null && secret.Secret.Contains(AnomalySecretData.ParticleDanger))
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-danger-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-danger-unknown"));
else
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-danger", ("type", GetParticleLocale(anomalyComp.SeverityParticleType))));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-danger", ("type", GetParticleLocale(anomalyComp.SeverityParticleType))));
msg.PushNewline();
//Unstable
if (secret != null && secret.Secret.Contains(AnomalySecretData.ParticleUnstable))
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-unstable-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-unstable-unknown"));
else
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-unstable", ("type", GetParticleLocale(anomalyComp.DestabilizingParticleType))));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-unstable", ("type", GetParticleLocale(anomalyComp.DestabilizingParticleType))));
msg.PushNewline();
//Containment
if (secret != null && secret.Secret.Contains(AnomalySecretData.ParticleContainment))
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-containment-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-containment-unknown"));
else
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-containment", ("type", GetParticleLocale(anomalyComp.WeakeningParticleType))));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-containment", ("type", GetParticleLocale(anomalyComp.WeakeningParticleType))));
msg.PushNewline();
//Transformation
if (secret != null && secret.Secret.Contains(AnomalySecretData.ParticleTransformation))
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-transformation-unknown"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-transformation-unknown"));
else
msg.AddMarkup(Loc.GetString("anomaly-scanner-particle-transformation", ("type", GetParticleLocale(anomalyComp.TransformationParticleType))));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-scanner-particle-transformation", ("type", GetParticleLocale(anomalyComp.TransformationParticleType))));
//Behavior
msg.PushNewline();
msg.PushNewline();
msg.AddMarkup(Loc.GetString("anomaly-behavior-title"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-behavior-title"));
msg.PushNewline();
if (secret != null && secret.Secret.Contains(AnomalySecretData.Behavior))
@@ -224,14 +224,14 @@ public sealed partial class AnomalySystem
{
var behavior = _prototype.Index(anomalyComp.CurrentBehavior.Value);
msg.AddMarkup("- " + Loc.GetString(behavior.Description));
msg.AddMarkupOrThrow("- " + Loc.GetString(behavior.Description));
msg.PushNewline();
var mod = Math.Floor((behavior.EarnPointModifier) * 100);
msg.AddMarkup("- " + Loc.GetString("anomaly-behavior-point", ("mod", mod)));
msg.AddMarkupOrThrow("- " + Loc.GetString("anomaly-behavior-point", ("mod", mod)));
}
else
{
msg.AddMarkup(Loc.GetString("anomaly-behavior-balanced"));
msg.AddMarkupOrThrow(Loc.GetString("anomaly-behavior-balanced"));
}
}

View File

@@ -24,7 +24,7 @@ namespace Content.Server.Botany.Components
/// <summary>
/// Name of a base seed prototype that is used if <see cref="Seed"/> is null.
/// </summary>
[DataField("seedId", customTypeSerializer:typeof(PrototypeIdSerializer<SeedPrototype>))]
[DataField("seedId", customTypeSerializer: typeof(PrototypeIdSerializer<SeedPrototype>))]
public string? SeedId;
}
}

View File

@@ -2,10 +2,8 @@ using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Content.Shared.Random;
using Content.Shared.Random.Helpers;
using Content.Shared.Chemistry.Reagent;
using System.Linq;
using Content.Shared.Atmos;
using FastAccessors;
namespace Content.Server.Botany;
@@ -42,6 +40,7 @@ public sealed class MutationSystem : EntitySystem
// Add up everything in the bits column and put the number here.
const int totalbits = 275;
#pragma warning disable IDE0055 // disable formatting warnings because this looks more readable
// Tolerances (55)
MutateFloat(ref seed.NutrientConsumption , 0.05f, 1.2f, 5, totalbits, severity);
MutateFloat(ref seed.WaterConsumption , 3f , 9f , 5, totalbits, severity);
@@ -75,6 +74,7 @@ public sealed class MutationSystem : EntitySystem
MutateBool(ref seed.TurnIntoKudzu , true , 10, totalbits, severity);
MutateBool(ref seed.CanScream , true , 10, totalbits, severity);
seed.BioluminescentColor = RandomColor(seed.BioluminescentColor, 10, totalbits, severity);
#pragma warning restore IDE0055
// ConstantUpgade (10)
MutateHarvestType(ref seed.HarvestRepeat, 10, totalbits, severity);
@@ -261,7 +261,7 @@ public sealed class MutationSystem : EntitySystem
{
var pick = _randomChems.Pick(_robustRandom);
string chemicalId = pick.reagent;
int amount = _robustRandom.Next(1, ((int)pick.quantity));
int amount = _robustRandom.Next(1, (int)pick.quantity);
SeedChemQuantity seedChemQuantity = new SeedChemQuantity();
if (chemicals.ContainsKey(chemicalId))
{
@@ -274,7 +274,7 @@ public sealed class MutationSystem : EntitySystem
seedChemQuantity.Max = 1 + amount;
seedChemQuantity.Inherent = false;
}
int potencyDivisor = (int) Math.Ceiling(100.0f / seedChemQuantity.Max);
int potencyDivisor = (int)Math.Ceiling(100.0f / seedChemQuantity.Max);
seedChemQuantity.PotencyDivisor = potencyDivisor;
chemicals[chemicalId] = seedChemQuantity;
}

View File

@@ -29,12 +29,12 @@ public sealed class SeedExtractorSystem : EntitySystem
return;
if (!_botanySystem.TryGetSeed(produce, out var seed) || seed.Seedless)
{
_popupSystem.PopupCursor(Loc.GetString("seed-extractor-component-no-seeds",("name", args.Used)),
_popupSystem.PopupCursor(Loc.GetString("seed-extractor-component-no-seeds", ("name", args.Used)),
args.User, PopupType.MediumCaution);
return;
}
_popupSystem.PopupCursor(Loc.GetString("seed-extractor-component-interact-message",("name", args.Used)),
_popupSystem.PopupCursor(Loc.GetString("seed-extractor-component-interact-message", ("name", args.Used)),
args.User, PopupType.Medium);
QueueDel(args.Used);

View File

@@ -36,14 +36,14 @@ public sealed class CharacterInfoSystem : EntitySystem
if (_minds.TryGetMind(entity, out var mindId, out var mind))
{
// Get objectives
foreach (var objective in mind.AllObjectives)
foreach (var objective in mind.Objectives)
{
var info = _objectives.GetInfo(objective, mindId, mind);
if (info == null)
continue;
// group objectives by their issuer
var issuer = Comp<ObjectiveComponent>(objective).Issuer;
var issuer = Comp<ObjectiveComponent>(objective).LocIssuer;
if (!objectives.ContainsKey(issuer))
objectives[issuer] = new List<ObjectiveInfo>();
objectives[issuer].Add(info.Value);

View File

@@ -225,7 +225,7 @@ public sealed partial class DragonSystem : EntitySystem
return;
var mind = Comp<MindComponent>(mindContainer.Mind.Value);
foreach (var objId in mind.AllObjectives)
foreach (var objId in mind.Objectives)
{
if (_objQuery.TryGetComponent(objId, out var obj))
{
@@ -247,7 +247,7 @@ public sealed partial class DragonSystem : EntitySystem
return;
var mind = Comp<MindComponent>(mindContainer.Mind.Value);
foreach (var objId in mind.AllObjectives)
foreach (var objId in mind.Objectives)
{
if (_objQuery.TryGetComponent(objId, out var obj))
{

View File

@@ -329,6 +329,13 @@ public sealed partial class GameTicker
foreach (var rule in args)
{
if (!_prototypeManager.HasIndex(rule))
{
shell.WriteError($"Invalid game rule {rule} was skipped.");
continue;
}
if (shell.Player != null)
{
_adminLogger.Add(LogType.EventStarted, $"{shell.Player} tried to add game rule [{rule}] via command");

View File

@@ -95,7 +95,7 @@ public sealed class RandomGiftSystem : EntitySystem
foreach (var proto in _prototype.EnumeratePrototypes<EntityPrototype>())
{
if (proto.Abstract || proto.NoSpawn || proto.Components.ContainsKey(mapGridCompName) || !proto.Components.ContainsKey(physicsCompName))
if (proto.Abstract || proto.HideSpawnMenu || proto.Components.ContainsKey(mapGridCompName) || !proto.Components.ContainsKey(physicsCompName))
continue;
_possibleGiftsUnsafe.Add(proto.ID);

View File

@@ -33,7 +33,7 @@ namespace Content.Server.Objectives.Commands
}
shell.WriteLine($"Objectives for player {player.UserId}:");
var objectives = mind.AllObjectives.ToList();
var objectives = mind.Objectives.ToList();
if (objectives.Count == 0)
{
shell.WriteLine("None.");

View File

@@ -129,12 +129,12 @@ public sealed class ObjectivesSystem : SharedObjectivesSystem
var agentSummary = new StringBuilder();
agentSummary.AppendLine(Loc.GetString("objectives-with-objectives", ("custody", custody), ("title", title), ("agent", agent)));
foreach (var objectiveGroup in objectives.GroupBy(o => Comp<ObjectiveComponent>(o).Issuer))
foreach (var objectiveGroup in objectives.GroupBy(o => Comp<ObjectiveComponent>(o).LocIssuer))
{
//TO DO:
//check for the right group here. Getting the target issuer is easy: objectiveGroup.Key
//It should be compared to the type of the group's issuer.
agentSummary.AppendLine(Loc.GetString($"objective-issuer-{objectiveGroup.Key}"));
agentSummary.AppendLine(objectiveGroup.Key);
foreach (var objective in objectiveGroup)
{

View File

@@ -59,7 +59,7 @@ public sealed class HelpProgressConditionSystem : EntitySystem
if (!TryComp<MindComponent>(traitor, out var mind))
continue;
foreach (var objective in mind.AllObjectives)
foreach (var objective in mind.Objectives)
{
if (HasComp<HelpProgressConditionComponent>(objective))
removeList.Add(traitor);
@@ -88,7 +88,7 @@ public sealed class HelpProgressConditionSystem : EntitySystem
if (TryComp<MindComponent>(target, out var mind))
{
foreach (var objective in mind.AllObjectives)
foreach (var objective in mind.Objectives)
{
// this has the potential to loop forever, anything setting target has to check that there is no HelpProgressCondition.
var info = _objectives.GetInfo(objective, target, mind);

View File

@@ -23,7 +23,7 @@ public sealed class ObjectiveBlacklistRequirementSystem : EntitySystem
if (args.Cancelled)
return;
foreach (var objective in args.Mind.AllObjectives)
foreach (var objective in args.Mind.Objectives)
{
if (_whitelistSystem.IsBlacklistPass(comp.Blacklist, objective))
{

View File

@@ -78,7 +78,7 @@ public abstract class SharedChameleonClothingSystem : EntitySystem
public bool IsValidTarget(EntityPrototype proto, SlotFlags chameleonSlot = SlotFlags.NONE)
{
// check if entity is valid
if (proto.Abstract || proto.NoSpawn)
if (proto.Abstract || proto.HideSpawnMenu)
return false;
// check if it is marked as valid chameleon target

View File

@@ -370,7 +370,7 @@ public abstract class SharedMindSystem : EntitySystem
if (Resolve(mindId, ref mind))
{
var query = GetEntityQuery<T>();
foreach (var uid in mind.AllObjectives)
foreach (var uid in mind.Objectives)
{
if (query.TryGetComponent(uid, out objective))
{

View File

@@ -22,8 +22,11 @@ public sealed partial class ObjectiveComponent : Component
/// <summary>
/// Organisation that issued this objective, used for grouping and as a header above common objectives.
/// </summary>
[DataField(required: true)]
public string Issuer = string.Empty;
[DataField("issuer", required: true)]
private LocId Issuer { get; set; }
[ViewVariables(VVAccess.ReadOnly)]
public string LocIssuer => Loc.GetString(Issuer);
/// <summary>
/// Unique objectives can only have 1 per prototype id.

View File

@@ -25,14 +25,14 @@ namespace Content.Shared.Slippery
/// </summary>
[DataField, AutoNetworkedField]
[Access(Other = AccessPermissions.ReadWrite)]
public float ParalyzeTime = 3f;
public float ParalyzeTime = 1.5f;
/// <summary>
/// The entity's speed will be multiplied by this to slip it forwards.
/// </summary>
[DataField, AutoNetworkedField]
[Access(Other = AccessPermissions.ReadWrite)]
public float LaunchForwardsMultiplier = 1f;
public float LaunchForwardsMultiplier = 1.5f;
/// <summary>
/// If this is true, any slipping entity loses its friction until

View File

@@ -1,55 +1,4 @@
Entries:
- author: Tayrtahn
changes:
- message: Ghosts can no longer trigger artifacts by examining them.
type: Fix
id: 6422
time: '2024-04-22T22:46:22.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27249
- author: Tyzemol
changes:
- message: Slimes no longer absorb all items used on them
type: Fix
id: 6423
time: '2024-04-23T08:48:26.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27260
- author: Rainbeon
changes:
- message: Suit sensor vitals now function again.
type: Fix
id: 6424
time: '2024-04-23T08:57:09.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27259
- author: Ghagliiarghii
changes:
- message: Security can now find replacements for their trusty Combat Knife in the
SecVend, or craft them with the Sec Lathe.
type: Tweak
id: 6425
time: '2024-04-23T11:24:58.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27224
- author: Whisper
changes:
- message: Fire stack limit reduced from 20 to 10. Fire transfers will be less effective,
and fires will not last as long.
type: Tweak
id: 6426
time: '2024-04-23T11:30:01.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27159
- author: brainfood1183
changes:
- message: Directional Exit signs for maints!
type: Add
id: 6427
time: '2024-04-23T11:31:48.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/26831
- author: pigeonpeas
changes:
- message: Adds the ability to purchase emitters in cargo.
type: Add
id: 6428
time: '2024-04-23T11:34:09.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27229
- author: EmoGarbage404
changes:
- message: Fixed cargo telepads not teleporting in orders from linked consoles.
@@ -3805,3 +3754,53 @@
id: 6921
time: '2024-07-14T15:12:25.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29959
- author: Winkarst-cpu
changes:
- message: Now addgamerule command processes only valid game rules.
type: Fix
id: 6922
time: '2024-07-15T19:18:33.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29912
- author: Jezithyr
changes:
- message: Removed the Geras ability from Slimes
type: Remove
id: 6923
time: '2024-07-16T22:50:17.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29731
- author: K-Dynamic
changes:
- message: nerfed paraylze timer of all slippable objects (including soaps, water
puddles, and clown-related items)
type: Tweak
id: 6924
time: '2024-07-16T23:26:02.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/27879
- author: EmoGarbage404
changes:
- message: Resprited wall signs.
type: Tweak
id: 6925
time: '2024-07-17T04:35:19.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29806
- author: lzk228
changes:
- message: Added health examine for caustic and cold damage.
type: Add
id: 6926
time: '2024-07-17T06:19:13.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29989
- author: lzk228
changes:
- message: Surgery saws now are normal-sized (no more pocket circular saw).
type: Tweak
id: 6927
time: '2024-07-17T06:26:10.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29995
- author: Winkarst-cpu
changes:
- message: The super door remote is now able to control Syndicate doors.
type: Fix
id: 6928
time: '2024-07-17T13:50:25.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/30033

View File

@@ -1,3 +1,5 @@
cp14-objective-issuer-expedition = [color=#fcae38]Expedition oobjective[/color]
cp14-objective-expedition-collect-title = Collect { $itemName }
cp14-objective-expedition-collect-desc = Your objective is to collect and deliver { $itemName } to the Elemental Ship.
cp14-objective-expedition-collect-multiply-desc = Your objective is to collect and deliver { $count } { $itemName } to the Elemental ship.

View File

@@ -16,3 +16,11 @@ health-examinable-carbon-Heat-50 = [color=orange]{ CAPITALIZE(SUBJECT($target))
health-examinable-carbon-Heat-75 = [color=orange]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } severe third-degree burns across { POSS-ADJ($target) } body![/color]
health-examinable-carbon-Shock-50 = [color=lightgoldenrodyellow]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } electrical shock marks across { POSS-ADJ($target) } body![/color]
health-examinable-carbon-Cold-25 = [color=lightblue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } minor frostbite across { POSS-ADJ($target) } body.[/color]
health-examinable-carbon-Cold-50 = [color=lightblue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } major frostbite across { POSS-ADJ($target) } body.[/color]
health-examinable-carbon-Cold-75 = [color=lightblue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } severe third-degree frostbite across { POSS-ADJ($target) } body![/color]
health-examinable-carbon-Caustic-25 = [color=yellowgreen]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } minor chemical burns.[/color]
health-examinable-carbon-Caustic-50 = [color=yellowgreen]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } chemical burns across { POSS-ADJ($target) } body.[/color]
health-examinable-carbon-Caustic-75 = [color=yellowgreen]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } severe chemical burns all over { POSS-ADJ($target) } body![/color]

View File

@@ -41,3 +41,5 @@ replay-verb-spectate = Spectate
cmd-replay-spectate-help = replay_spectate [optional entity]
cmd-replay-spectate-desc = Attaches or detaches the local player to a given entity uid.
cmd-replay-spectate-hint = Optional EntityUid
cmd-replay-toggleui-desc = Toggles the replay control UI.

View File

@@ -1,3 +1,5 @@
cp14-objective-issuer-expedition = [color=#fcae38]Цель экспедиции[/color]
cp14-objective-expedition-collect-title = Добыть { $itemName }
cp14-objective-expedition-collect-desc = Ваша задача - добыть и доставить { $itemName } на Элементальный корабль.
cp14-objective-expedition-collect-multiply-desc = Ваша задача - добыть и доставить { $count } { $itemName } на Элементальный корабль.

View File

@@ -784,7 +784,7 @@
description: uplink-slipocalypse-clustersoap-desc
productEntity: SlipocalypseClusterSoap
cost:
Telecrystal: 3
Telecrystal: 2
categories:
- UplinkDisruption

View File

@@ -113,7 +113,6 @@
components:
- type: Clickable
- type: Slippery
launchForwardsMultiplier: 2.0
- type: Transform
noRot: true
anchored: true

View File

@@ -53,7 +53,6 @@
- type: Damageable
damageContainer: Biological
damageModifierSet: Slime
- type: Geras
- type: PassiveDamage # Around 8 damage a minute healed
allowedStates:
- Alive

View File

@@ -26,6 +26,30 @@
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
eyes:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: eyes
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
gloves:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: hand
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
back:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: back
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
- type: Speech
speechVerb: Vox
speechSounds: Vox
@@ -124,4 +148,28 @@
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
eyes:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: eyes
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
gloves:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: hand
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV
back:
layer:
sprite: Mobs/Species/Vox/displacement.rsi
state: back
copyToShaderParameters:
layerKey: dummy
parameterTexture: displacementMap
parameterUV: displacementUV

View File

@@ -99,6 +99,8 @@
- Piercing
- Heat
- Shock
- Cold
- Caustic
- type: DamageOnHighSpeedImpact
damage:
types:

View File

@@ -311,7 +311,6 @@
sprite: Objects/Specific/Hydroponics/banana.rsi
heldPrefix: peel
- type: Slippery
launchForwardsMultiplier: 1.5
- type: StepTrigger
intersectRatio: 0.2
- type: CollisionWake
@@ -388,7 +387,6 @@
path: /Audio/Effects/slip.ogg
params:
volume: -100
launchForwardsMultiplier: 1.6
- type: entity
name: bananium peel
@@ -402,8 +400,6 @@
sprite: Objects/Materials/materials.rsi
heldPrefix: peel
- type: Slippery
paralyzeTime: 4
launchForwardsMultiplier: 2
- type: entity
name: carrot

View File

@@ -160,3 +160,5 @@
- AllAccess
tags:
- CentralCommand
- NuclearOperative
- SyndicateAgent

View File

@@ -257,9 +257,7 @@
borderColor: "#C18199"
- type: Icon
state: pda-clown
- type: Slippery
paralyzeTime: 4
launchForwardsMultiplier: 1.5
- type: Slippery # secretly made of bananium
- type: StepTrigger
- type: CollisionWake
enabled: false

View File

@@ -2,7 +2,7 @@
id: Wristwatch
parent: BaseItem
name: wristwatch
description: A cheap watch for telling time. How much did you waste working on this shift?
description: A cheap watch for telling time. How much did you waste playing Space Station 14?
components:
- type: Sprite
sprite: Objects/Devices/wristwatch.rsi

View File

@@ -162,8 +162,6 @@
sound:
path: /Audio/Items/bikehorn.ogg
- type: Slippery
paralyzeTime: 4
launchForwardsMultiplier: 1.5
- type: StepTrigger
- type: CollisionWake
enabled: false

View File

@@ -16,7 +16,8 @@
- ReagentId: Nutriment
Quantity: 5
- type: Slippery
launchForwardsMultiplier: 5
paralyzeTime: 3
launchForwardsMultiplier: 3
- type: StepTrigger
intersectRatio: 0.2
- type: CollisionWake
@@ -28,14 +29,14 @@
slips:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.2,0.2,0.2"
bounds: "-0.4,-0.3,0.4,0.3"
hard: false
layer:
- SlipLayer
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.2,0.2,0.2"
bounds: "-0.4,-0.3,0.4,0.3"
density: 30
mask:
- ItemMask

View File

@@ -108,8 +108,6 @@
- type: Transform
anchored: true
- type: Slippery
paralyzeTime: 2
launchForwardsMultiplier: 1.5
- type: StepTrigger
intersectRatio: 0.2
- type: Physics

View File

@@ -21,8 +21,6 @@
sprite: Objects/Specific/Janitorial/soap.rsi
storedRotation: -90
- type: Slippery
paralyzeTime: 2
launchForwardsMultiplier: 1.5
- type: StepTrigger
intersectRatio: 0.2
- type: CollisionWake
@@ -129,8 +127,8 @@
- type: SolutionContainerVisuals
fillBaseName: syndie-
- type: Slippery
paralyzeTime: 5
launchForwardsMultiplier: 2.5
paralyzeTime: 3
launchForwardsMultiplier: 3
- type: Item
heldPrefix: syndie
- type: FlavorProfile
@@ -154,8 +152,8 @@
layers:
- state: syndie-soaplet
- type: Slippery
paralyzeTime: 5
launchForwardsMultiplier: 2.5
paralyzeTime: 1.5 # these things are tiny
launchForwardsMultiplier: 1.5
- type: StepTrigger
intersectRatio: 0.04
- type: Item
@@ -196,7 +194,6 @@
- type: SolutionContainerVisuals
fillBaseName: gibs-
- type: Slippery
paralyzeTime: 2
- type: StepTrigger
- type: Item
heldPrefix: gibs
@@ -221,8 +218,8 @@
- type: SolutionContainerVisuals
fillBaseName: omega-
- type: Slippery
paralyzeTime: 7
launchForwardsMultiplier: 3
paralyzeTime: 5.0
launchForwardsMultiplier: 3.0
- type: Item
heldPrefix: omega
- type: SolutionContainerManager

View File

@@ -173,12 +173,12 @@
sprite: Objects/Specific/Medical/Surgery/saw.rsi
state: saw
- type: Item
size: Normal
sprite: Objects/Specific/Medical/Surgery/saw.rsi
storedRotation: 90
- type: Tool
qualities:
- Sawing
speedModifier: 1.0
# No melee for regular saw because have you ever seen someone use a band saw as a weapon? It's dumb.
- type: entity
@@ -190,6 +190,7 @@
- type: Sprite
state: improv
- type: Item
size: Small
heldPrefix: improv
- type: MeleeWeapon
damage:
@@ -198,8 +199,6 @@
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: Tool
qualities:
- Sawing
speedModifier: 0.5
- type: entity
@@ -212,7 +211,6 @@
state: electric
- type: Item
heldPrefix: electric
storedRotation: 90
- type: MeleeWeapon
damage:
groups:
@@ -220,29 +218,19 @@
soundHit:
path: /Audio/Items/drill_hit.ogg
- type: Tool
qualities:
- Sawing
speedModifier: 1.5
- type: entity
name: advanced circular saw
id: SawAdvanced
parent: Saw
parent: SawElectric
description: You think you can cut anything with it.
components:
- type: Sprite
state: advanced
- type: Item
heldPrefix: advanced
storedRotation: 90
- type: MeleeWeapon
attackRate: 1.5
damage:
groups:
Brute: 15
soundHit:
path: /Audio/Items/drill_hit.ogg
- type: Tool
qualities:
- Sawing
speedModifier: 2.0

View File

@@ -243,6 +243,15 @@
- type: Sprite
state: ai
- type: entity
parent: BaseSign
id: SignAiUpload
name: ai upload sign
description: A sign, indicating an AI is present.
components:
- type: Sprite
state: ai_upload
- type: entity
parent: BaseSign
id: SignArcade
@@ -273,11 +282,11 @@
- type: entity
parent: BaseSign
id: SignAnomaly
name: xenoarchaeology lab sign
name: xenoarcheology lab sign
description: A sign indicating the xenoarchaeology lab.
components:
- type: Sprite
state: anomaly
state: xenoarch
- type: entity
parent: BaseSign
@@ -286,7 +295,7 @@
description: A sign indicating the anomalous research lab.
components:
- type: Sprite
state: anomaly2
state: anomaly
- type: entity
parent: BaseSign
@@ -297,15 +306,6 @@
- type: Sprite
state: atmos
- type: entity
parent: BaseSign
id: SignAtmosMinsky
name: atmospherics sign
description: A sign indicating the atmospherics area.
components:
- type: Sprite
state: atmominsky
- type: entity
parent: BaseSign
id: SignBar
@@ -315,6 +315,32 @@
- type: Sprite
state: bar
- type: entity
parent: BaseSign
id: SignKitchen
name: kitchen sign
description: The heart of the home. And disease.
components:
- type: Sprite
state: kitchen
- type: entity
parent: BaseSign
id: SignTheater
name: theater sign
description: Would it even be Space Station without drama?
components:
- type: Sprite
layers:
- state: drama1
map: [ "base" ]
- type: RandomSprite
available:
- base:
drama1: null
drama2: null
drama3: null
- type: entity
parent: BaseSign
id: SignBarbershop
@@ -396,24 +422,6 @@
- type: Sprite
state: chem
- type: entity
parent: BaseSign
id: SignChemistry1
name: chemistry sign
description: A sign indicating the chemistry lab.
components:
- type: Sprite
state: chemistry1
- type: entity
parent: BaseSign
id: SignChemistry2
name: chemistry sign
description: A sign indicating the chemistry lab.
components:
- type: Sprite
state: chemistry2
- type: entity
parent: BaseSign
id: SignCloning
@@ -427,19 +435,20 @@
parent: BaseSign
id: SignConference
name: conference room sign
description: A sign indicating the conference room.
description: Where work happens.
components:
- type: Sprite
state: conference_room
- type: entity
parent: BaseSign
id: SignCourt
name: court sign
description: A sign labelling the courtroom.
id: SignCryo
name: cryosleep sign
description: Just like that? You're gonna chicken out?
components:
- type: Sprite
state: court
state: cryo
- type: entity
parent: BaseSign
@@ -461,18 +470,27 @@
- type: entity
parent: BaseSign
id: SignDrones
name: drones sign
description: A sign indicating drones.
id: SignRestroom
name: restroom sign
description: A sign indicating where you go to... What do you do here again?
components:
- type: Sprite
state: drones
state: restroom
- type: entity
parent: BaseSign
id: SignMaterials
name: materials sign
description: An omen to the juicy vault of steel, glass, and plastic that lays before you.
components:
- type: Sprite
state: mats
- type: entity
parent: BaseSign
id: SignEngine
name: engine sign
description: A sign indicating the engine room.
name: power sign
description: Where the powa happens.
components:
- type: Sprite
state: engine
@@ -544,7 +562,7 @@
parent: BaseSign
id: SignHead
name: head sign
description: A sign with a hat on it.
description: An official sign indicating the dwellings of a Nanotrasen-certified head of department.
components:
- type: Sprite
state: commander
@@ -556,25 +574,7 @@
description: A sign indicating a hydroponics area.
components:
- type: Sprite
state: hydro1
- type: entity
parent: BaseSign
id: SignHydro2
name: hydro sign
description: A sign indicating a hydroponics area.
components:
- type: Sprite
state: hydro2
- type: entity
parent: BaseSign
id: SignHydro3
name: hydro sign
description: A sign indicating a hydroponics area.
components:
- type: Sprite
state: hydro3
state: hydro
- type: entity
parent: BaseSign
@@ -606,8 +606,8 @@
- type: entity
parent: BaseSign
id: SignLawyer
name: lawyer sign
description: A sign labelling an area where the Lawyers work.
name: law sign
description: A sign indicating the presence of the (typically absent) rule of law.
components:
- type: Sprite
state: law
@@ -639,15 +639,6 @@
- type: Sprite
state: medbay
- type: entity
parent: BaseSign
id: SignMinerDock
name: miner dock sign
description: A sign indicating the miner dock.
components:
- type: Sprite
state: miner_dock
- type: entity
parent: BaseSign
id: SignMorgue
@@ -740,36 +731,27 @@
- type: entity
parent: BaseSign
id: SignScience1
name: science sign
description: A sign indicating the science area.
id: SignServer
name: server sign
description: Ever heard of Big Data? This is it, chump. The biggest.
components:
- type: Sprite
state: science1
state: data
- type: entity
parent: BaseSign
id: SignScience2
name: science sign
description: A sign indicating the science area.
id: SignCans
name: canisters sign
description: A sign indicating the auspicious presence of gas canisters.
components:
- type: Sprite
state: science2
- type: entity
parent: BaseSign
id: SignShield
name: shield sign
description: A sign with a shield.
components:
- type: Sprite
state: shield
state: cans
- type: entity
parent: BaseSign
id: SignShipDock
name: docking sign
description: A sign indicating the ship docking area.
name: evac sign
description: A sign indicating the where the evac shuttle will (likely) arrive.
components:
- type: Sprite
state: dock
@@ -812,12 +794,12 @@
- type: entity
parent: BaseSign
id: SignToxins2
name: toxins sign
description: A sign indicating the toxin lab.
id: SignVault
name: vault sign
description: A sign indicating the vault. Who knows what secrets lie inside?
components:
- type: Sprite
state: toxins2
state: vault
- type: entity
parent: BaseSign
@@ -964,29 +946,11 @@
- type: Sprite
state: xenobio
- type: entity
parent: BaseSign
id: SignXenobio2
name: xenobio sign
description: A sign indicating the xenobiology lab.
components:
- type: Sprite
state: xenobio2
- type: entity
parent: BaseSign
id: SignXenolab
name: xenolab sign
description: A sign indicating the xenobiology lab.
components:
- type: Sprite
state: xenolab
- type: entity
parent: BaseSign
id: SignZomlab
name: zombie lab sign
description: A sign indicating the zombie lab.
description: The final remains of a shut-down Nanotrasen research project that aimed to harness the powers of Romerol. I wonder how that went...
components:
- type: Sprite
state: zomlab

View File

@@ -44,8 +44,6 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Slippery
paralyzeTime: 2
launchForwardsMultiplier: 1.5
- type: StepTrigger
intersectRatio: 0.2
- type: Physics

View File

@@ -6,7 +6,7 @@
- type: Objective
# difficulty isn't used at all since objective are fixed
difficulty: 1.5
issuer: dragon
issuer: objective-issuer-dragon
- type: RoleRequirement
roles:
components:

View File

@@ -6,7 +6,7 @@
- type: Objective
# difficulty isn't used since all objectives are picked
difficulty: 1.5
issuer: spiderclan
issuer: objective-issuer-spiderclan
- type: RoleRequirement
roles:
components:

View File

@@ -4,7 +4,7 @@
id: BaseThiefObjective
components:
- type: Objective
issuer: thief
issuer: objective-issuer-thief
- type: RoleRequirement
roles:
components:

View File

@@ -4,7 +4,7 @@
id: BaseTraitorObjective
components:
- type: Objective
issuer: syndicate
issuer: objective-issuer-syndicate
- type: RoleRequirement
roles:
components:

View File

@@ -77,8 +77,6 @@
meltingPoint: 18.2
tileReactions:
- !type:SpillTileReaction
paralyzeTime: 3
launchForwardsMultiplier: 2
requiredSlipSpeed: 1
superSlippery: true

View File

@@ -4,7 +4,7 @@
id: CP14BaseExpeditionObjective
components:
- type: Objective
issuer: ExpeditionObjective
issuer: cp14-objective-issuer-expedition
- type: entity
abstract: true

View File

@@ -54,7 +54,6 @@ Ask Botany for what you need, without a botanist, you may need to grow more plan
<GuideEntityEmbed Entity="SignHydro1" Caption=" "/>
<GuideEntityEmbed Entity="hydroponicsTray"/>
<GuideEntityEmbed Entity="WheatBushel"/>
<GuideEntityEmbed Entity="SignHydro2" Caption=" "/>
</Box>
## Gathering Milk:
Alt-Click on a Cow with a container in your hand. (Beakers, Buckets, Milk Jugs, ect.)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

View File

@@ -1 +1,26 @@
{"version": 1, "license": "CC-BY-SA-3.0", "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e", "size": {"x": 32, "y": 32}, "states": [{"name": "icon"}, {"name": "equipped-HAND", "directions": 4}, {"name": "inhand-left", "directions": 4}, {"name": "inhand-right", "directions": 4}, {"name": "equipped-HAND-vox", "directions": 4}]}
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-HAND",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 672 B

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 661 B

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 B

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by @ninruB#7795, based off tgstation's jackboots at commit https://github.com/tgstation/tgstation/commit/7e4e9d432d88981fb9bb463970c5b98ce85c0abe",
"copyright": "Made by @ninruB#7795, based off tgstation's jackboots at commit https://github.com/tgstation/tgstation/commit/7e4e9d432d88981fb9bb463970c5b98ce85c0abe. Vox state modified from jackboots.rsi by Flareguy",
"size": {
"x": 32,
"y": 32
@@ -14,6 +14,10 @@
"name": "equipped-FEET",
"directions": 4
},
{
"name": "equipped-FEET-vox",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Drawn by Ubaser.",
"copyright": "Drawn by Ubaser. Vox states made by Flareguy, modified from magboots.rsi",
"size": {
"x": 32,
"y": 32
@@ -15,6 +15,14 @@
"name": "on-equipped-FEET",
"directions": 4
},
{
"name": "equipped-FEET-vox",
"directions": 4
},
{
"name": "on-equipped-FEET-vox",
"directions": 4
},
{
"name": "icon"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC0-1.0",
"copyright": "Created by EmoGarbage404",
"copyright": "Created by EmoGarbage404. Vox states made by Flareguy, modified from magboots.rsi",
"size": {
"x": 32,
"y": 32
@@ -15,6 +15,14 @@
"name": "on-equipped-FEET",
"directions": 4
},
{
"name": "equipped-FEET-vox",
"directions": 4
},
{
"name": "on-equipped-FEET-vox",
"directions": 4
},
{
"name": "icon"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 B

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by PJB3005",
"copyright": "jumpsuit state made by PJB3005. back, hand, and eyes states made by Flareguy",
"size": {
"x": 32,
"y": 32
@@ -13,6 +13,18 @@
{
"name": "jumpsuit",
"directions": 4
},
{
"name": "back",
"directions": 4
},
{
"name": "hand",
"directions": 4
},
{
"name": "eyes",
"directions": 4
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 866 B

After

Width:  |  Height:  |  Size: 955 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 B

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 B

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 385 B

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 486 B

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 B

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 444 B

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 484 B

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 418 B

After

Width:  |  Height:  |  Size: 446 B

Some files were not shown because too many files have changed in this diff Show More