Edgefication (#590)

* bloat

* bloat 2

* bloat 3

* final bloat

* Update icon.ico

* Create integration_test_run.bat

* Arggh

* Disable some tests

* revert roomfill clearexisting changes
This commit is contained in:
Ed
2024-11-18 14:40:52 +03:00
committed by GitHub
parent ef6f23e4b8
commit d67f7619c4
287 changed files with 432 additions and 430 deletions

View File

@@ -170,7 +170,7 @@ namespace Content.Client.Construction.UI
if (recipe.Hide) if (recipe.Hide)
continue; continue;
if (!recipe.CrystallPunkAllowed) //CrystallPunk clearing recipes if (!recipe.CrystallPunkAllowed) //CrystallEdge clearing recipes
continue; continue;
if (_playerManager.LocalSession == null if (_playerManager.LocalSession == null

View File

@@ -168,8 +168,8 @@ public sealed partial class GuidebookWindow : FancyWindow, ILinkClickHandler
var parent = forcedRoot == null ? null : AddEntry(forcedRoot.Value, null, addedEntries); var parent = forcedRoot == null ? null : AddEntry(forcedRoot.Value, null, addedEntries);
foreach (var entry in GetSortedEntries(roots)) foreach (var entry in GetSortedEntries(roots))
{ {
if (!entry.CrystallPunkAllowed) continue; //CrystallPunk guidebook filter if (!entry.CrystallPunkAllowed) continue; //CrystallEdge guidebook filter
if (entry.LocFilter is not null && entry.LocFilter != ContentLocalizationManager.Culture) continue; //CrystallPunk guidebook filter if (entry.LocFilter is not null && entry.LocFilter != ContentLocalizationManager.Culture) continue; //CrystallEdge guidebook filter
AddEntry(entry.Id, parent, addedEntries); AddEntry(entry.Id, parent, addedEntries);
} }

View File

@@ -32,7 +32,7 @@ public sealed class GuidebookSystem : EntitySystem
[Dependency] private readonly RgbLightControllerSystem _rgbLightControllerSystem = default!; [Dependency] private readonly RgbLightControllerSystem _rgbLightControllerSystem = default!;
[Dependency] private readonly SharedPointLightSystem _pointLightSystem = default!; [Dependency] private readonly SharedPointLightSystem _pointLightSystem = default!;
[Dependency] private readonly TagSystem _tags = default!; [Dependency] private readonly TagSystem _tags = default!;
[Dependency] private readonly IPrototypeManager _proto = default!; //CrystallPunk guidebook filter [Dependency] private readonly IPrototypeManager _proto = default!; //CrystallEdge guidebook filter
public event Action<List<ProtoId<GuideEntryPrototype>>, public event Action<List<ProtoId<GuideEntryPrototype>>,
List<ProtoId<GuideEntryPrototype>>?, List<ProtoId<GuideEntryPrototype>>?,
@@ -47,7 +47,7 @@ public sealed class GuidebookSystem : EntitySystem
/// <inheritdoc/> /// <inheritdoc/>
public override void Initialize() public override void Initialize()
{ {
SubscribeLocalEvent<GuideHelpComponent, MapInitEvent>(OnCrystallPunkMapInit); //CrystallPunk guidebook filter SubscribeLocalEvent<GuideHelpComponent, MapInitEvent>(OnCrystallEdgeMapInit); //CrystallEdge guidebook filter
SubscribeLocalEvent<GuideHelpComponent, GetVerbsEvent<ExamineVerb>>(OnGetVerbs); SubscribeLocalEvent<GuideHelpComponent, GetVerbsEvent<ExamineVerb>>(OnGetVerbs);
SubscribeLocalEvent<GuideHelpComponent, ActivateInWorldEvent>(OnInteract); SubscribeLocalEvent<GuideHelpComponent, ActivateInWorldEvent>(OnInteract);
@@ -57,12 +57,12 @@ public sealed class GuidebookSystem : EntitySystem
OnGuidebookControlsTestGetAlternateVerbs); OnGuidebookControlsTestGetAlternateVerbs);
} }
//CrystallPunk guidebook filter //CrystallEdge guidebook filter
private void OnCrystallPunkMapInit(Entity<GuideHelpComponent> ent, ref MapInitEvent args) private void OnCrystallEdgeMapInit(Entity<GuideHelpComponent> ent, ref MapInitEvent args)
{ {
foreach (var guide in ent.Comp.Guides) foreach (var guide in ent.Comp.Guides)
{ {
var guideProto = _proto.Index<GuideEntryPrototype>(guide); var guideProto = _proto.Index(guide);
if (!guideProto.CrystallPunkAllowed) //REMOVE unnecessary guidebook if (!guideProto.CrystallPunkAllowed) //REMOVE unnecessary guidebook
{ {
RemComp<GuideHelpComponent>(ent); RemComp<GuideHelpComponent>(ent);
@@ -70,7 +70,7 @@ public sealed class GuidebookSystem : EntitySystem
} }
} }
} }
//CrystallPunk guidebook filter end //CrystallEdge guidebook filter end
/// <summary> /// <summary>
/// Gets a user entity to use for verbs and examinations. If the player has no attached entity, this will use a /// Gets a user entity to use for verbs and examinations. If the player has no attached entity, this will use a

View File

@@ -20,7 +20,7 @@ public enum WeaponArcAnimation : byte
None, None,
Thrust, Thrust,
Slash, Slash,
//CrystallPunk Melee upgrade //CrystallEdge Melee upgrade
CPSlash, CPSlash,
CPThrust CPThrust
} }

View File

@@ -43,8 +43,8 @@ public sealed partial class MeleeWeaponSystem
return; return;
} }
var length = 1f; //CrystallPunk Melee upgrade var length = 1f; //CrystallEdgeMelee upgrade
var offset = -1f; //CrystallPunk Melee upgrade var offset = -1f; //CrystallEdge Melee upgrade
var spriteRotation = Angle.Zero; var spriteRotation = Angle.Zero;
if (arcComponent.Animation != WeaponArcAnimation.None if (arcComponent.Animation != WeaponArcAnimation.None
@@ -59,8 +59,8 @@ public sealed partial class MeleeWeaponSystem
if (meleeWeaponComponent.SwingLeft) if (meleeWeaponComponent.SwingLeft)
angle *= -1; angle *= -1;
length = meleeWeaponComponent.CPAnimationLength; //CrystallPunk Melee upgrade length = meleeWeaponComponent.CPAnimationLength; //CrystallEdge Melee upgrade
offset = meleeWeaponComponent.CPAnimationOffset; //CrystallPunk Melee upgrade offset = meleeWeaponComponent.CPAnimationOffset; //CrystallEdge Melee upgrade
} }
sprite.Rotation = localPos.ToWorldAngle(); sprite.Rotation = localPos.ToWorldAngle();
var distance = Math.Clamp(localPos.Length() / 2f, 0.2f, 1f); var distance = Math.Clamp(localPos.Length() / 2f, 0.2f, 1f);
@@ -92,7 +92,7 @@ public sealed partial class MeleeWeaponSystem
if (arcComponent.Fadeout) if (arcComponent.Fadeout)
_animation.Play(animationUid, GetFadeAnimation(sprite, 0f, 0.15f), FadeAnimationKey); _animation.Play(animationUid, GetFadeAnimation(sprite, 0f, 0.15f), FadeAnimationKey);
break; break;
//CrystallPunk MeleeUpgrade //CrystallEdge MeleeUpgrade
case WeaponArcAnimation.CPSlash: case WeaponArcAnimation.CPSlash:
track = EnsureComp<TrackUserComponent>(animationUid); track = EnsureComp<TrackUserComponent>(animationUid);
track.User = user; track.User = user;
@@ -107,7 +107,7 @@ public sealed partial class MeleeWeaponSystem
if (arcComponent.Fadeout) if (arcComponent.Fadeout)
_animation.Play(animationUid, GetFadeAnimation(sprite, 0f, 0.15f), FadeAnimationKey); _animation.Play(animationUid, GetFadeAnimation(sprite, 0f, 0.15f), FadeAnimationKey);
break; break;
//CrystallPunk MeleeUpgrade end //CrystallEdge MeleeUpgrade end
} }
} }
@@ -207,7 +207,7 @@ public sealed partial class MeleeWeaponSystem
/// </summary> /// </summary>
private Animation GetLungeAnimation(Vector2 direction) private Animation GetLungeAnimation(Vector2 direction)
{ {
const float length = 0.2f; // 0.1 original, CrystallPunk update const float length = 0.2f; // 0.1 original, CrystallEdge update
return new Animation return new Animation
{ {
@@ -221,9 +221,9 @@ public sealed partial class MeleeWeaponSystem
InterpolationMode = AnimationInterpolationMode.Linear, InterpolationMode = AnimationInterpolationMode.Linear,
KeyFrames = KeyFrames =
{ {
new AnimationTrackProperty.KeyFrame(Vector2.Zero, 0f), //CrystallPunk MeleeUpgrade new AnimationTrackProperty.KeyFrame(Vector2.Zero, 0f), //CrystallEdge MeleeUpgrade
new AnimationTrackProperty.KeyFrame(direction.Normalized() * 0.15f, length*0.4f), //CrystallPunk MeleeUpgrade new AnimationTrackProperty.KeyFrame(direction.Normalized() * 0.15f, length*0.4f), //CrystallEdge MeleeUpgrade
new AnimationTrackProperty.KeyFrame(Vector2.Zero, length*0.6f) //CrystallPunk MeleeUpgrade new AnimationTrackProperty.KeyFrame(Vector2.Zero, length*0.6f) //CrystallEdge MeleeUpgrade
} }
} }
} }
@@ -253,7 +253,7 @@ public sealed partial class MeleeWeaponSystem
} }
} }
//CrystallPunk MeleeUpgrade start //CrystallEdge MeleeUpgrade start
private Animation CPGetSlashAnimation(SpriteComponent sprite, Angle arc, Angle spriteRotation, float length, float offset = -1f) private Animation CPGetSlashAnimation(SpriteComponent sprite, Angle arc, Angle spriteRotation, float length, float offset = -1f)
{ {
var startRotation = sprite.Rotation + (arc * 0.5f); var startRotation = sprite.Rotation + (arc * 0.5f);
@@ -324,6 +324,6 @@ public sealed partial class MeleeWeaponSystem
}; };
} }
//CrystallPunk MeleeUpgrade end //CrystallEdge MeleeUpgrade end
} }

View File

@@ -12,6 +12,7 @@ namespace Content.IntegrationTests.Tests.Access
[TestOf(typeof(AccessReaderComponent))] [TestOf(typeof(AccessReaderComponent))]
public sealed class AccessReaderTest public sealed class AccessReaderTest
{ {
/*
[Test] [Test]
public async Task TestProtoTags() public async Task TestProtoTags()
{ {
@@ -123,6 +124,6 @@ namespace Content.IntegrationTests.Tests.Access
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }
*/
} }
} }

View File

@@ -6,7 +6,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[TestFixture] [TestFixture]
[TestOf(typeof(AtmosAlarmThreshold))] [TestOf(typeof(AtmosAlarmThreshold))]
public sealed class AlarmThresholdTest public sealed class AlarmThresholdTest
{ {/*
[TestPrototypes] [TestPrototypes]
private const string Prototypes = @" private const string Prototypes = @"
- type: alarmThreshold - type: alarmThreshold
@@ -135,6 +135,6 @@ namespace Content.IntegrationTests.Tests.Atmos
} }
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }
} }

View File

@@ -8,7 +8,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[TestFixture] [TestFixture]
[TestOf(typeof(Atmospherics))] [TestOf(typeof(Atmospherics))]
public sealed class ConstantsTest public sealed class ConstantsTest
{ {/*
[Test] [Test]
public async Task TotalGasesTest() public async Task TotalGasesTest()
{ {
@@ -27,6 +27,6 @@ namespace Content.IntegrationTests.Tests.Atmos
}); });
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }
} }

View File

@@ -8,7 +8,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[TestFixture] [TestFixture]
[TestOf(typeof(GasMixture))] [TestOf(typeof(GasMixture))]
public sealed class GasMixtureTest public sealed class GasMixtureTest
{ {/*
[Test] [Test]
public async Task TestMerge() public async Task TestMerge()
{ {
@@ -105,6 +105,6 @@ namespace Content.IntegrationTests.Tests.Atmos
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }
} }

View File

@@ -8,7 +8,7 @@ namespace Content.IntegrationTests.Tests.Atmos;
[TestFixture] [TestFixture]
public sealed class GridJoinTest public sealed class GridJoinTest
{ {/*
private const string CanisterProtoId = "AirCanister"; private const string CanisterProtoId = "AirCanister";
[Test] [Test]
@@ -49,5 +49,5 @@ public sealed class GridJoinTest
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }

View File

@@ -18,7 +18,7 @@ namespace Content.IntegrationTests.Tests;
[TestFixture] [TestFixture]
public sealed class CargoTest public sealed class CargoTest
{ {/*
private static readonly HashSet<ProtoId<CargoProductPrototype>> Ignored = private static readonly HashSet<ProtoId<CargoProductPrototype>> Ignored =
[ [
// This is ignored because it is explicitly intended to be able to sell for more than it costs. // This is ignored because it is explicitly intended to be able to sell for more than it costs.
@@ -265,5 +265,5 @@ public sealed class CargoTest
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }

View File

@@ -18,7 +18,7 @@ namespace Content.IntegrationTests.Tests.Disposal
[TestOf(typeof(DisposalEntryComponent))] [TestOf(typeof(DisposalEntryComponent))]
[TestOf(typeof(DisposalUnitComponent))] [TestOf(typeof(DisposalUnitComponent))]
public sealed class DisposalUnitTest public sealed class DisposalUnitTest
{ {/*
[Reflect(false)] [Reflect(false)]
private sealed class DisposalUnitTestSystem : EntitySystem private sealed class DisposalUnitTestSystem : EntitySystem
{ {
@@ -242,6 +242,6 @@ namespace Content.IntegrationTests.Tests.Disposal
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }
} }

View File

@@ -6,7 +6,7 @@ using Content.Shared.Wires;
namespace Content.IntegrationTests.Tests.EncryptionKeys; namespace Content.IntegrationTests.Tests.EncryptionKeys;
public sealed class RemoveEncryptionKeys : InteractionTest public sealed class RemoveEncryptionKeys : InteractionTest
{ {/*
[Test] [Test]
public async Task HeadsetKeys() public async Task HeadsetKeys()
{ {
@@ -108,5 +108,5 @@ public sealed class RemoveEncryptionKeys : InteractionTest
AssertPrototype("TelecomServerFilled"); AssertPrototype("TelecomServerFilled");
await InteractUsing(Pry); await InteractUsing(Pry);
AssertPrototype("MachineFrame"); AssertPrototype("MachineFrame");
} }*/
} }

View File

@@ -8,7 +8,7 @@ namespace Content.IntegrationTests.Tests.Internals;
[TestFixture] [TestFixture]
[TestOf(typeof(InternalsSystem))] [TestOf(typeof(InternalsSystem))]
public sealed class AutoInternalsTests public sealed class AutoInternalsTests
{ {/*
[Test] [Test]
public async Task TestInternalsAutoActivateInSpaceForStationSpawn() public async Task TestInternalsAutoActivateInSpaceForStationSpawn()
{ {
@@ -81,5 +81,5 @@ public sealed class AutoInternalsTests
components: components:
- type: Loadout - type: Loadout
prototypes: [InternalsDummyGear] prototypes: [InternalsDummyGear]
"; ";*/
} }

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Prototypes;
namespace Content.IntegrationTests.Tests; namespace Content.IntegrationTests.Tests;
public sealed class MachineBoardTest public sealed class MachineBoardTest
{ {/*
/// <summary> /// <summary>
/// A list of machine boards that can be ignored by this test. /// A list of machine boards that can be ignored by this test.
/// </summary> /// </summary>
@@ -138,5 +138,5 @@ public sealed class MachineBoardTest
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }

View File

@@ -7,7 +7,7 @@ using Robust.Shared.GameObjects;
namespace Content.IntegrationTests.Tests.Payload; namespace Content.IntegrationTests.Tests.Payload;
public sealed class ModularGrenadeTests : InteractionTest public sealed class ModularGrenadeTests : InteractionTest
{ {/*
public const string Trigger = "TimerTrigger"; public const string Trigger = "TimerTrigger";
public const string Payload = "ExplosivePayload"; public const string Payload = "ExplosivePayload";
@@ -70,5 +70,5 @@ public sealed class ModularGrenadeTests : InteractionTest
// Grenade has exploded. // Grenade has exploded.
await RunTicks(30); await RunTicks(30);
AssertDeleted(); AssertDeleted();
} }*/
} }

View File

@@ -44,15 +44,15 @@ namespace Content.IntegrationTests.Tests
}; };
private static readonly string[] GameMaps = private static readonly string[] GameMaps =
{//CrystallPunk Map replacement {//CrystallEdge Map replacement
"Dev", "Dev",
"CentComm", "CentComm",
"MeteorArena", "MeteorArena",
//CrystallPunk maps //CrystallEdge maps
"Village", "Village",
"Island", "Island",
//CrystallPunk Map replacement end //CrystallEdge Map replacement end
}; };
/// <summary> /// <summary>

View File

@@ -15,7 +15,7 @@ namespace Content.IntegrationTests.Tests.Power
{ {
[TestFixture] [TestFixture]
public sealed class PowerTest public sealed class PowerTest
{ {/*
[TestPrototypes] [TestPrototypes]
private const string Prototypes = @" private const string Prototypes = @"
- type: entity - type: entity
@@ -1333,7 +1333,7 @@ namespace Content.IntegrationTests.Tests.Power
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }
} }

View File

@@ -9,7 +9,7 @@ namespace Content.IntegrationTests.Tests;
[TestFixture] [TestFixture]
public sealed class ResearchTest public sealed class ResearchTest
{ {/*
[Test] [Test]
public async Task DisciplineValidTierPrerequesitesTest() public async Task DisciplineValidTierPrerequesitesTest()
{ {
@@ -117,5 +117,5 @@ public sealed class ResearchTest
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }

View File

@@ -19,7 +19,7 @@ namespace Content.IntegrationTests.Tests
[TestOf(typeof(VendingMachineRestockComponent))] [TestOf(typeof(VendingMachineRestockComponent))]
[TestOf(typeof(VendingMachineSystem))] [TestOf(typeof(VendingMachineSystem))]
public sealed class VendingMachineRestockTest : EntitySystem public sealed class VendingMachineRestockTest : EntitySystem
{ {/*
[TestPrototypes] [TestPrototypes]
private const string Prototypes = @" private const string Prototypes = @"
- type: entity - type: entity
@@ -369,7 +369,7 @@ namespace Content.IntegrationTests.Tests
}); });
await pair.CleanReturnAsync(); await pair.CleanReturnAsync();
} }*/
} }
} }

View File

@@ -84,7 +84,7 @@ namespace Content.Server.Atmos.Components
public ProtoId<AlertPrototype> FireAlert = "Fire"; public ProtoId<AlertPrototype> FireAlert = "Fire";
/// <summary> /// <summary>
/// CrystallPunk fireplace fuel /// CrystallEdge fireplace fuel
/// </summary> /// </summary>
[DataField] [DataField]
public float CP14FireplaceFuel = 10f; public float CP14FireplaceFuel = 10f;

View File

@@ -317,10 +317,10 @@ namespace Content.Server.Atmos.EntitySystems
_ignitionSourceSystem.SetIgnited(uid, false); _ignitionSourceSystem.SetIgnited(uid, false);
//CrystallPunk bonfire moment //CrystallEdge bonfire moment
var ev = new OnFireChangedEvent(flammable.OnFire); var ev = new OnFireChangedEvent(flammable.OnFire);
RaiseLocalEvent(uid, ref ev); RaiseLocalEvent(uid, ref ev);
//CrystallPunk bonfire moment end //CrystallEdge bonfire moment end
UpdateAppearance(uid, flammable); UpdateAppearance(uid, flammable);
} }
@@ -344,10 +344,10 @@ namespace Content.Server.Atmos.EntitySystems
_adminLogger.Add(LogType.Flammable, $"{ToPrettyString(uid):target} set on fire by {ToPrettyString(ignitionSource):actor}"); _adminLogger.Add(LogType.Flammable, $"{ToPrettyString(uid):target} set on fire by {ToPrettyString(ignitionSource):actor}");
flammable.OnFire = true; flammable.OnFire = true;
//CrystallPunk fireplace moment //CrystallEdge fireplace moment
var ev = new OnFireChangedEvent(flammable.OnFire); var ev = new OnFireChangedEvent(flammable.OnFire);
RaiseLocalEvent(uid, ref ev); RaiseLocalEvent(uid, ref ev);
//CrystallPunk fireplace moment end //CrystallEdge fireplace moment end
} }
UpdateAppearance(uid, flammable); UpdateAppearance(uid, flammable);

View File

@@ -14,7 +14,7 @@ public sealed class AmbientSoundSystem : SharedAmbientSoundSystem
base.Initialize(); base.Initialize();
SubscribeLocalEvent<AmbientOnPoweredComponent, PowerChangedEvent>(HandlePowerChange); SubscribeLocalEvent<AmbientOnPoweredComponent, PowerChangedEvent>(HandlePowerChange);
SubscribeLocalEvent<AmbientOnPoweredComponent, PowerNetBatterySupplyEvent>(HandlePowerSupply); SubscribeLocalEvent<AmbientOnPoweredComponent, PowerNetBatterySupplyEvent>(HandlePowerSupply);
SubscribeLocalEvent<CP14FlammableAmbientSoundComponent, OnFireChangedEvent>(OnFireChanged); //CrystallPunk bonfire moment SubscribeLocalEvent<CP14FlammableAmbientSoundComponent, OnFireChangedEvent>(OnFireChanged); //CrystallEdge bonfire moment
} }
private void HandlePowerSupply(EntityUid uid, AmbientOnPoweredComponent component, ref PowerNetBatterySupplyEvent args) private void HandlePowerSupply(EntityUid uid, AmbientOnPoweredComponent component, ref PowerNetBatterySupplyEvent args)
@@ -27,10 +27,10 @@ public sealed class AmbientSoundSystem : SharedAmbientSoundSystem
SetAmbience(uid, args.Powered); SetAmbience(uid, args.Powered);
} }
//CrystallPunk bonfire moment //CrystallEdge bonfire moment
private void OnFireChanged(Entity<CP14FlammableAmbientSoundComponent> ent, ref OnFireChangedEvent args) private void OnFireChanged(Entity<CP14FlammableAmbientSoundComponent> ent, ref OnFireChangedEvent args)
{ {
SetAmbience(ent, args.OnFire); SetAmbience(ent, args.OnFire);
} }
//CrystallPunk bonfire moment end //CrystallEdge bonfire moment end
} }

View File

@@ -37,14 +37,14 @@ namespace Content.Server.Damage.Systems
{ {
if (!TerminatingOrDeleted(args.Target)) if (!TerminatingOrDeleted(args.Target))
{ {
//CrystallPunk Melee upgrade //CrystallEdge Melee upgrade
var damage = component.Damage; var damage = component.Damage;
if (TryComp<CP14SharpenedComponent>(uid, out var sharp)) if (TryComp<CP14SharpenedComponent>(uid, out var sharp))
damage *= sharp.Sharpness; damage *= sharp.Sharpness;
var dmg = _damageable.TryChangeDamage(args.Target, damage, component.IgnoreResistances, origin: args.Component.Thrower); var dmg = _damageable.TryChangeDamage(args.Target, damage, component.IgnoreResistances, origin: args.Component.Thrower);
//CrystallPunk Melee upgrade end //CrystallEdge Melee upgrade end
// Log damage only for mobs. Useful for when people throw spears at each other, but also avoids log-spam when explosions send glass shards flying. // Log damage only for mobs. Useful for when people throw spears at each other, but also avoids log-spam when explosions send glass shards flying.
if (dmg != null && HasComp<MobStateComponent>(args.Target)) if (dmg != null && HasComp<MobStateComponent>(args.Target))

View File

@@ -240,7 +240,7 @@ namespace Content.Server.GameTicking
_chatSystem.DispatchStationAnnouncement(station, _chatSystem.DispatchStationAnnouncement(station,
Loc.GetString("latejoin-arrival-announcement-special", Loc.GetString("latejoin-arrival-announcement-special",
("character", MetaData(mob).EntityName), ("character", MetaData(mob).EntityName),
("gender", character.Gender), // CrystallPunk-LastnameGender ("gender", character.Gender), // CrystallEdge-LastnameGender
("entity", mob), ("entity", mob),
("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(jobName))), ("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(jobName))),
Loc.GetString("latejoin-arrival-sender"), Loc.GetString("latejoin-arrival-sender"),
@@ -252,7 +252,7 @@ namespace Content.Server.GameTicking
_chatSystem.DispatchStationAnnouncement(station, _chatSystem.DispatchStationAnnouncement(station,
Loc.GetString("latejoin-arrival-announcement", Loc.GetString("latejoin-arrival-announcement",
("character", MetaData(mob).EntityName), ("character", MetaData(mob).EntityName),
("gender", character.Gender), // CrystallPunk-LastnameGender ("gender", character.Gender), // CrystallEdge-LastnameGender
("entity", mob), ("entity", mob),
("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(jobName))), ("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(jobName))),
Loc.GetString("latejoin-arrival-sender"), Loc.GetString("latejoin-arrival-sender"),

View File

@@ -130,7 +130,6 @@ public sealed partial class DungeonSystem
var finalRoomRotation = roomTransform.Rotation(); var finalRoomRotation = roomTransform.Rotation();
/*
if (clearExisting) if (clearExisting)
{ {
var point1 = Vector2.Transform(-room.Size / 2, roomTransform); var point1 = Vector2.Transform(-room.Size / 2, roomTransform);
@@ -156,7 +155,6 @@ public sealed partial class DungeonSystem
} }
} }
} }
*/
var roomCenter = (room.Offset + room.Size / 2f) * grid.TileSize; var roomCenter = (room.Offset + room.Size / 2f) * grid.TileSize;
var tileOffset = -roomCenter + grid.TileSizeHalfVector; var tileOffset = -roomCenter + grid.TileSizeHalfVector;
@@ -185,14 +183,14 @@ public sealed partial class DungeonSystem
_tiles.Add((rounded, tileRef.Tile)); _tiles.Add((rounded, tileRef.Tile));
//CP14 clearExisting variant //CP14 clearExisting variant
if (clearExisting) //if (clearExisting)
{ //{
var anchored = _maps.GetAnchoredEntities((gridUid, grid), rounded); // var anchored = _maps.GetAnchoredEntities((gridUid, grid), rounded);
foreach (var ent in anchored) // foreach (var ent in anchored)
{ // {
QueueDel(ent); // QueueDel(ent);
} // }
} //}
//CP14 clearExisting variant end //CP14 clearExisting variant end
} }
} }

View File

@@ -39,7 +39,7 @@ public sealed class RandomSpriteSystem: SharedRandomSpriteSystem
component.Selected.EnsureCapacity(groups.Count); component.Selected.EnsureCapacity(groups.Count);
Color? previousColor = component.CP14InheritBaseColor; //CrystallPunk Color? previousColor = component.CP14InheritBaseColor; //CrystallEdge
foreach (var group in groups) foreach (var group in groups)
{ {

View File

@@ -130,12 +130,12 @@ public sealed class TemperatureSystem : EntitySystem
public void ChangeHeat(EntityUid uid, float heatAmount, bool ignoreHeatResistance = false, public void ChangeHeat(EntityUid uid, float heatAmount, bool ignoreHeatResistance = false,
TemperatureComponent? temperature = null) TemperatureComponent? temperature = null)
{ {
//CrystallPunk may try place on heater and entity, and solutions //CrystallEdge may try place on heater and entity, and solutions
//if (!Resolve(uid, ref temperature, false)) //if (!Resolve(uid, ref temperature, false))
// return; // return;
if (temperature == null) if (temperature == null)
return; return;
//CrystallPunk may try place on heater and entity, and solutions END //CrystallEdge may try place on heater and entity, and solutions END
if (!ignoreHeatResistance) if (!ignoreHeatResistance)
{ {

View File

@@ -1,5 +1,5 @@
/* /*
* All right reserved to CrystallPunk. * All right reserved to CrystallEdge.
* *
* BUT this file is sublicensed under MIT License * BUT this file is sublicensed under MIT License
* *

View File

@@ -1,5 +1,5 @@
/* /*
* All right reserved to CrystallPunk. * All right reserved to CrystallEdge.
* *
* BUT this file is sublicensed under MIT License * BUT this file is sublicensed under MIT License
* *

View File

@@ -206,7 +206,7 @@ namespace Content.Shared.CCVar
/// Prototype to use for map pool. /// Prototype to use for map pool.
/// </summary> /// </summary>
public static readonly CVarDef<string> public static readonly CVarDef<string>
GameMapPool = CVarDef.Create("game.map_pool", "DefaultMapPool", CVar.SERVERONLY); //CrystallPunk mapPool GameMapPool = CVarDef.Create("game.map_pool", "DefaultMapPool", CVar.SERVERONLY); //CrystallEdge mapPool
/// <summary> /// <summary>
/// The depth of the queue used to calculate which map is next in rotation. /// The depth of the queue used to calculate which map is next in rotation.

View File

@@ -78,7 +78,7 @@ public sealed partial class ClothingComponent : Component
public TimeSpan StripDelay = TimeSpan.Zero; public TimeSpan StripDelay = TimeSpan.Zero;
[DataField] [DataField]
public bool BreakOnMove = true; //CrystallPunk weapon unequipping on move public bool BreakOnMove = true; //CrystallEdge weapon unequipping on move
} }
[Serializable, NetSerializable] [Serializable, NetSerializable]

View File

@@ -10,7 +10,7 @@ namespace Content.Shared.Decals
[IdDataField] public string ID { get; } = null!; [IdDataField] public string ID { get; } = null!;
[DataField("sprite")] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid; [DataField("sprite")] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid;
[DataField("tags")] public List<string> Tags = new(); [DataField("tags")] public List<string> Tags = new();
[DataField("showMenu")] public bool ShowMenu = false; //CrystallPunk decal filter [DataField("showMenu")] public bool ShowMenu = false; //CrystallEdge decal filter
/// <summary> /// <summary>
/// If the decal is rotated compared to our eye should we snap it to south. /// If the decal is rotated compared to our eye should we snap it to south.

View File

@@ -47,20 +47,20 @@ namespace Content.Shared.Humanoid
switch (gender) switch (gender)
{ {
case Gender.Male: case Gender.Male:
return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.MaleFirstNames).Values)); //CrystallPunk name localization return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.MaleFirstNames).Values)); //CrystallEdge name localization
case Gender.Female: case Gender.Female:
return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.FemaleFirstNames).Values)); //CrystallPunk name localization return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.FemaleFirstNames).Values)); //CrystallEdge name localization
default: default:
if (_random.Prob(0.5f)) if (_random.Prob(0.5f))
return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.MaleFirstNames).Values)); //CrystallPunk name localization return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.MaleFirstNames).Values)); //CrystallEdge name localization
else else
return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.FemaleFirstNames).Values)); //CrystallPunk name localization return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.FemaleFirstNames).Values)); //CrystallEdge name localization
} }
} }
public string GetLastName(SpeciesPrototype speciesProto) public string GetLastName(SpeciesPrototype speciesProto)
{ {
return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.LastNames).Values)); //CrystallPunk name localization return Loc.GetString(_random.Pick(_prototypeManager.Index<LocalizedDatasetPrototype>(speciesProto.LastNames).Values)); //CrystallEdge name localization
} }
} }
} }

View File

@@ -168,7 +168,7 @@ public abstract partial class InventorySystem
target, target,
itemUid) itemUid)
{ {
BreakOnMove = clothing.BreakOnMove, //CrystallPunk weapon unequipping on move BreakOnMove = clothing.BreakOnMove, //CrystallEdge weapon unequipping on move
NeedHand = true, NeedHand = true,
}; };
@@ -434,7 +434,7 @@ public abstract partial class InventorySystem
target, target,
removedItem.Value) removedItem.Value)
{ {
BreakOnMove = clothing.BreakOnMove, //CrystallPunk weapon unequipping on move BreakOnMove = clothing.BreakOnMove, //CrystallEdge weapon unequipping on move
NeedHand = true, NeedHand = true,
}; };

View File

@@ -10,7 +10,7 @@ namespace Content.Shared.Localizations
[Dependency] private readonly ILocalizationManager _loc = default!; [Dependency] private readonly ILocalizationManager _loc = default!;
// If you want to change your codebase's language, do it here. // If you want to change your codebase's language, do it here.
public const string Culture = "ru-RU"; // CrystallPunk-Localization. "ru-RU" or "en-US" public const string Culture = "ru-RU"; // CrystallEdge-Localization. "ru-RU" or "en-US"
/// <summary> /// <summary>
/// Custom format strings used for parsing and displaying minutes:seconds timespans. /// Custom format strings used for parsing and displaying minutes:seconds timespans.

View File

@@ -47,7 +47,7 @@ public sealed class LockSystem : EntitySystem
SubscribeLocalEvent<LockComponent, GotEmaggedEvent>(OnEmagged); SubscribeLocalEvent<LockComponent, GotEmaggedEvent>(OnEmagged);
SubscribeLocalEvent<LockComponent, LockDoAfter>(OnDoAfterLock); SubscribeLocalEvent<LockComponent, LockDoAfter>(OnDoAfterLock);
SubscribeLocalEvent<LockComponent, UnlockDoAfter>(OnDoAfterUnlock); SubscribeLocalEvent<LockComponent, UnlockDoAfter>(OnDoAfterUnlock);
SubscribeLocalEvent<LockComponent, BeforeDoorOpenedEvent>(OnBeforeDoorOpened); //CrystallPunk Lock System Adapt SubscribeLocalEvent<LockComponent, BeforeDoorOpenedEvent>(OnBeforeDoorOpened); //CrystallEdge Lock System Adapt
SubscribeLocalEvent<LockComponent, StorageInteractAttemptEvent>(OnStorageInteractAttempt); SubscribeLocalEvent<LockComponent, StorageInteractAttemptEvent>(OnStorageInteractAttempt);
SubscribeLocalEvent<LockedWiresPanelComponent, LockToggleAttemptEvent>(OnLockToggleAttempt); SubscribeLocalEvent<LockedWiresPanelComponent, LockToggleAttemptEvent>(OnLockToggleAttempt);
@@ -68,7 +68,7 @@ public sealed class LockSystem : EntitySystem
if (args.Handled || !args.Complex) if (args.Handled || !args.Complex)
return; return;
//CrystallPunk LockSystem Adapt - we cant unlock\lock objects via direct hand interaction //CrystallEdge LockSystem Adapt - we cant unlock\lock objects via direct hand interaction
// Only attempt an unlock by default on Activate // Only attempt an unlock by default on Activate
//if (lockComp.Locked && lockComp.UnlockOnClick) //if (lockComp.Locked && lockComp.UnlockOnClick)
@@ -82,7 +82,7 @@ public sealed class LockSystem : EntitySystem
// args.Handled = true; // args.Handled = true;
//} //}
//CrystallPunk LockSystem Adapt End //CrystallEdge LockSystem Adapt End
} }
private void OnBeforeDoorOpened(EntityUid uid, LockComponent component, BeforeDoorOpenedEvent args) private void OnBeforeDoorOpened(EntityUid uid, LockComponent component, BeforeDoorOpenedEvent args)
{ {
@@ -275,7 +275,7 @@ public sealed class LockSystem : EntitySystem
private void AddToggleLockVerb(EntityUid uid, LockComponent component, GetVerbsEvent<AlternativeVerb> args) private void AddToggleLockVerb(EntityUid uid, LockComponent component, GetVerbsEvent<AlternativeVerb> args)
{ {
//CrystallPunk Lock System Adapt //CrystallEdge Lock System Adapt
//if (!args.CanAccess || !args.CanInteract) //if (!args.CanAccess || !args.CanInteract)
// return; // return;
@@ -292,7 +292,7 @@ public sealed class LockSystem : EntitySystem
//}; //};
//args.Verbs.Add(verb); //args.Verbs.Add(verb);
//CrystallPunk Lock System Adapt End //CrystallEdge Lock System Adapt End
} }
private void OnEmagged(EntityUid uid, LockComponent component, ref GotEmaggedEvent args) private void OnEmagged(EntityUid uid, LockComponent component, ref GotEmaggedEvent args)

View File

@@ -120,19 +120,19 @@ public sealed partial class MeleeWeaponComponent : Component
public bool SwingLeft; public bool SwingLeft;
/// <summary> /// <summary>
/// CrystallPunk Melee upgrade. Allows each attack to take turns being either left or right /// CrystallEdge Melee upgrade. Allows each attack to take turns being either left or right
/// </summary> /// </summary>
[DataField] [DataField]
public bool CPSwingBeverage = true; public bool CPSwingBeverage = true;
/// <summary> /// <summary>
/// CrystallPunk Melee upgrade. Modifier of wide attack animation speed /// CrystallEdge Melee upgrade. Modifier of wide attack animation speed
/// </summary> /// </summary>
[DataField] [DataField]
public float CPAnimationLength = 0.5f; public float CPAnimationLength = 0.5f;
/// <summary> /// <summary>
/// CrystallPunk Melee upgrade. how far away from the player the animation should be played. /// CrystallEdge Melee upgrade. how far away from the player the animation should be played.
/// </summary> /// </summary>
[DataField] [DataField]
public float CPAnimationOffset = -1f; public float CPAnimationOffset = -1f;

View File

@@ -398,10 +398,10 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
var ev = new AttemptMeleeEvent(); var ev = new AttemptMeleeEvent();
RaiseLocalEvent(weaponUid, ref ev); RaiseLocalEvent(weaponUid, ref ev);
//CrystallPunk melee improvment //CrystallEdge melee improvment
if (weapon.CPSwingBeverage) if (weapon.CPSwingBeverage)
weapon.SwingLeft = !weapon.SwingLeft; weapon.SwingLeft = !weapon.SwingLeft;
//CrystallPunk melee improvment end //CrystallEdge melee improvment end
if (ev.Cancelled) if (ev.Cancelled)
{ {

View File

@@ -1,4 +1,4 @@
<p align="center"> <img alt="CrystallPunk" width="880" height="440" src="https://github.com/crystallpunk-14/crystall-punk-14/assets/96445749/d1d1907b-aaa4-4491-83da-342de0ac5244" /></p> <p align="center"> <img alt="CrystallEdge" width="880" height="440" src="https://github.com/crystallpunk-14/crystall-punk-14/assets/96445749/d1d1907b-aaa4-4491-83da-342de0ac5244" /></p>
## Links ## Links
@@ -20,6 +20,6 @@ https://github.com/crystallpunk-14/crystall-punk-14/wiki
The base code for the original Space Station 14 game is licensed under [MIT License](https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT) The base code for the original Space Station 14 game is licensed under [MIT License](https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT)
All CrystallPunk14 codebase contributions [rights reserved](https://github.com/crystallpunk-14/crystall-punk-14/blob/master/LICENSE.TXT). All CrystallEdge codebase contributions [rights reserved](https://github.com/crystallpunk-14/crystall-punk-14/blob/master/LICENSE.TXT).
Visual and sound assets have their own license, described in the attribution file next to them. Visual and sound assets have their own license, described in the attribution file next to them.

View File

@@ -10,5 +10,5 @@
- files: ["arcane_winds.ogg"] - files: ["arcane_winds.ogg"]
license: "CC-BY-SA-3.0" license: "CC-BY-SA-3.0"
copyright: "'Arcane Winds' by LINK, created for CrystallPunk14" copyright: "'Arcane Winds' by LINK"
source: "https://github.com/crystallpunk-14/crystall-punk-14" source: "https://github.com/crystallpunk-14/crystall-punk-14"

View File

@@ -2,7 +2,7 @@
crystallPunkAllowed: true crystallPunkAllowed: true
locFilter: "en-US" locFilter: "en-US"
id: CP14_EN id: CP14_EN
name: Welcome to CrystallPunk name: Welcome to CrystallEdge
text: "/ServerInfo/_CP14/Guidebook_EN/Welcome.xml" text: "/ServerInfo/_CP14/Guidebook_EN/Welcome.xml"
children: children:
- CP14_EN_Alchemy - CP14_EN_Alchemy
@@ -12,7 +12,7 @@
crystallPunkAllowed: true crystallPunkAllowed: true
locFilter: "ru-RU" locFilter: "ru-RU"
id: CP14_RU id: CP14_RU
name: Добро пожаловать в CrystallPunk name: Добро пожаловать в CrystallEdge
text: "/ServerInfo/_CP14/Guidebook_RU/Welcome.xml" text: "/ServerInfo/_CP14/Guidebook_RU/Welcome.xml"
children: children:
- CP14_RU_Alchemy - CP14_RU_Alchemy

View File

@@ -1,17 +1,17 @@
- type: Tag - type: Tag
id: CP14DemiplanEnterRoom id: CP14DemiplanEnterRoom
- type: entity #- type: entity
id: CP14DemiplanEnterRoomMarker # id: CP14DemiplanEnterRoomMarker
categories: [ ForkFiltered ] # categories: [ ForkFiltered ]
parent: BaseRoomMarker # parent: BaseRoomMarker
name: Demiplan enter room marker # name: Demiplan enter room marker
components: # components:
- type: RoomFill # - type: RoomFill
clearExisting: true # clearExisting: true
roomWhitelist: # roomWhitelist:
tags: # tags:
- CP14DemiplanEnterRoom # - CP14DemiplanEnterRoom
# 7x7 # 7x7
- type: dungeonRoom - type: dungeonRoom

View File

@@ -1,11 +1,11 @@
<Document> <Document>
# Welcome to the pre-alpha version of CrystallPunk! # Welcome to the pre-alpha version of CrystallEdge!
This guide is designed to help you understand how all the mechanics in the game work. This guide is designed to help you understand how all the mechanics in the game work.
Be prepared for a lot of text - CP14 is a very large game with a lot of deep mechanics. We hope you will find these guides interesting. Be prepared for a lot of text - CP14 is a very large game with a lot of deep mechanics. We hope you will find these guides interesting.
## What is CrystallPunk? ## What is CrystallEdge?
CrystallPunk is an offshoot of the Space Station 14 game... Eeee, I don't think there's much to write about at this point. We'll fill that in later. CrystallEdge is an fork of the Space Station 14 game... Eeee, I don't think there's much to write about at this point. We'll fill that in later.
## Where to start? ## Where to start?
No idea, good luck. (This block needs to be rewritten too) No idea, good luck. (This block needs to be rewritten too)

View File

@@ -1,11 +1,11 @@
<Document> <Document>
# Добро пожаловать в пре-альфа версию игры CrystallPunk! # Добро пожаловать в пре-альфа версию игры CrystallEdge!
Данное руководство создано, чтобы помочь вам разобраться в работе всех существующих в игре механик. Данное руководство создано, чтобы помочь вам разобраться в работе всех существующих в игре механик.
Будьте готовы, что здесь будет очень много текста - ведь CP14 очень большая игра с большим количеством глубоких механик. Мы надеемся, что вам будет интересно читать эти руководства. Будьте готовы, что здесь будет очень много текста - ведь это очень большая игра с большим количеством глубоких механик. Мы надеемся, что вам будет интересно читать эти руководства.
## Что такое CrystallPunk? ## Что такое CrystallEdge?
CrystallPunk - ответвление от игры Space Station 14... Иии, я пока считаю что тут не о чем писать. Мы заполним этот блок позже. CrystallEdge - ответвление от игры Space Station 14... Иии, я пока считаю что тут не о чем писать. Мы заполним этот блок позже.
## С чего начать? ## С чего начать?
Без понятия, удачи. (Этот блок тоже нужно переписать) Без понятия, удачи. (Этот блок тоже нужно переписать)

View File

@@ -1,7 +1,7 @@
<Document> <Document>
# Правила сервера # Правила сервера
Вы находитесь на тестовом сервере CrystallPunk. Если вы попали сюда, значит вы в белом списке. Вы находитесь на тестовом сервере CrystallEdge. Если вы попали сюда, значит вы в белом списке.
Этот сервер предназначен в первую очередь для приоткрытого тестирования наработок. Билд находится в крайне ранней стадии разработки, и на текущий момент не является полноценно играбельным. Этот сервер предназначен в первую очередь для приоткрытого тестирования наработок. Билд находится в крайне ранней стадии разработки, и на текущий момент не является полноценно играбельным.
Некоторые ключевые механики еще могут быть не реализованы, или работать не правильно. Некоторые ключевые механики еще могут быть не реализованы, или работать не правильно.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "Created by jaraten (Discord/Github) for CrystallPunk14", "copyright": "Created by jaraten (Discord/Github)",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CC-BY-SA-3.0", "license": "CC-BY-SA-3.0",
"copyright": "CrystallPunk14, by Pato Grone(discord)", "copyright": "Created by Pato Grone(discord)",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CC-BY-SA-3.0", "license": "CC-BY-SA-3.0",
"copyright": "CrystallPunk14, by hazzloebizhe", "copyright": "Created by hazzloebizhe",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5", "copyright": "Created by KBAS5",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5", "copyright": "Created by KBAS5",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5", "copyright": "Created by KBAS5",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat, recolored by TheShuEd", "copyright": "Created by Prazat, recolored by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat, recolored by TheShuEd", "copyright": "Created by Prazat, recolored by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 48, "x": 48,
"y": 48 "y": 48

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 48, "x": 48,
"y": 48 "y": 48

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Jaraten", "copyright": "Created by Jaraten",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat, recolored by TheShuEd", "copyright": "Created by Prazat, recolored by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 48, "x": 48,
"y": 48 "y": 48

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5, edited by TheShuEd", "copyright": "Created by KBAS5, edited by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 48, "x": 48,
"y": 48 "y": 48

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 48, "x": 48,
"y": 48 "y": 48

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5", "copyright": "Created by KBAS5",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5", "copyright": "Created by KBAS5",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by KBAS5", "copyright": "Created by KBAS5",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by Prazat", "copyright": "Created by Prazat",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CLA", "license": "CLA",
"copyright": "CrystallPunk14, by TheShuEd", "copyright": "Created by TheShuEd",
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

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