diff --git a/Content.Client/_CP14/MagicRituals/CP14ClientRitualSystem.cs b/Content.Client/_CP14/MagicRituals/CP14ClientRitualSystem.cs deleted file mode 100644 index 92db60ba09..0000000000 --- a/Content.Client/_CP14/MagicRituals/CP14ClientRitualSystem.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Robust.Client.GameObjects; - -namespace Content.Server._CP14.MagicRituals; - -public partial class CP14ClientRitualSystem : CP14SharedRitualSystem -{ - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnAppearanceChange); - } - - private void OnAppearanceChange(Entity ent, ref AppearanceChangeEvent args) - { - if (args.Sprite == null) - return; - - if (!args.Sprite.LayerMapTryGet(ent.Comp.RitualLayerMap, out var ritualLayer)) - return; - - if (_appearance.TryGetData(ent, RitualVisuals.Color, out var ritualColor, args.Component)) - { - args.Sprite.LayerSetColor(ritualLayer, ritualColor); - } - - if (_appearance.TryGetData(ent, RitualVisuals.Enabled, out var enabled, args.Component)) - { - args.Sprite.LayerSetVisible(ritualLayer, enabled); - } - } -} diff --git a/Content.IntegrationTests/Tests/_CP14/CP14RitualTest.cs b/Content.IntegrationTests/Tests/_CP14/CP14RitualTest.cs deleted file mode 100644 index 3a61bbe320..0000000000 --- a/Content.IntegrationTests/Tests/_CP14/CP14RitualTest.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Robust.Shared.GameObjects; -using Robust.Shared.Prototypes; - -namespace Content.IntegrationTests.Tests._CP14; - -#nullable enable - -[TestFixture] -public sealed class CP14RitualTest -{ - - /// - /// States that all edges of the ritual phase have triggers. - /// - [Test] - public async Task RitualHasAllTriggersTest() - { - await using var pair = await PoolManager.GetServerClient(); - var server = pair.Server; - - var compFactory = server.ResolveDependency(); - var protoManager = server.ResolveDependency(); - - await server.WaitAssertion(() => - { - Assert.Multiple(() => - { - foreach (var proto in protoManager.EnumeratePrototypes()) - { - if (!proto.TryGetComponent(out CP14MagicRitualPhaseComponent? phase, compFactory)) - continue; - - if (phase.DeadEnd) - { - Assert.That(phase.Edges.Count == 0, $"{proto} is a ritual node, but has no paths to other nodes. Either add deadEnd = true, or add paths to other nodes."); - } - else - { - Assert.That(phase.Edges.Count > 0, $"{proto} is a deadEnd ritual node, but has {phase.Edges.Count} edges! Remove all edges, or make it a non dead-end node"); - } - - foreach (var edge in phase.Edges) - { - Assert.That(edge.Triggers.Count > 0, $"{proto} is ritual node, but edge to {edge.Target} has no triggers and cannot be activated."); - } - } - }); - }); - - await pair.CleanReturnAsync(); - } -} diff --git a/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.Draw.cs b/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.Draw.cs index 3fd5710bf5..b4dc1f04b2 100644 --- a/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.Draw.cs +++ b/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.Draw.cs @@ -59,7 +59,7 @@ public partial class CP14MagicEnergySystem if (TryComp(uid, out var mobState) && !_mobState.IsAlive(uid, mobState)) continue; - draw.NextUpdateTime = _gameTiming.CurTime + TimeSpan.FromSeconds(draw.Delay); + draw.NextUpdateTime += TimeSpan.FromSeconds(draw.Delay); ChangeEnergy((uid, magicContainer), draw.Energy, out _, out _, draw.Safe); } diff --git a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Sacrifice.cs b/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Sacrifice.cs deleted file mode 100644 index 0976c9a9cb..0000000000 --- a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Sacrifice.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Content.Shared._CP14.MagicRitualTrigger.Triggers; -using Content.Shared.Humanoid; -using Content.Shared.Mobs; -using Content.Shared.Whitelist; - -namespace Content.Server._CP14.MagicRitualTrigger; - - -public partial class CP14RitualTriggerSystem -{ - [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; - - private void InitializeSacrifice() - { - SubscribeLocalEvent(OnMobStateChanged); - } - - private void OnMobStateChanged(MobStateChangedEvent ev) - { - if (ev.NewMobState != MobState.Dead) - return; - - var deathXform = Transform(ev.Target); - - SacrificeSpecies(ev, deathXform); - SacrificeWhitelist(ev, deathXform); - } - - private void SacrificeSpecies(MobStateChangedEvent ev, TransformComponent deathXform) - { - - if (!TryComp(ev.Target, out var humanoid)) - return; - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var sacrifice, out var phase, out var xform)) - { - if (!deathXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance)) - continue; - - foreach (var trigger in sacrifice.Triggers) - { - if (distance > trigger.Range) - continue; - - if (trigger.Edge is null) - continue; - - if (trigger.Species != humanoid.Species) - continue; - - TriggerRitualPhase((uid, phase), trigger.Edge.Value.Target); - } - } - } - - private void SacrificeWhitelist(MobStateChangedEvent ev, TransformComponent deathXform) - { - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var sacrifice, out var phase, out var xform)) - { - if (!deathXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance)) - continue; - - foreach (var trigger in sacrifice.Triggers) - { - if (distance > trigger.Range) - continue; - - if (trigger.Edge is null) - continue; - - var entProto = MetaData(ev.Target).EntityPrototype; - - if (entProto is null) - continue; - - if (!_whitelist.IsValid(trigger.Whitelist, ev.Target)) - continue; - - TriggerRitualPhase((uid, phase), trigger.Edge.Value.Target); - } - } - } -} diff --git a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Timer.cs b/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Timer.cs deleted file mode 100644 index 63bccc6f43..0000000000 --- a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Timer.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Content.Shared._CP14.MagicRitualTrigger.Triggers; -using Robust.Shared.Timing; - -namespace Content.Server._CP14.MagicRitualTrigger; - - -public partial class CP14RitualTriggerSystem -{ - [Dependency] private readonly IGameTiming _timing = default!; - - private void InitializeTimer() - { - SubscribeLocalEvent(OnMapInit); - } - - private void OnMapInit(Entity ent, ref MapInitEvent args) - { - foreach (var trigger in ent.Comp.Triggers) - { - trigger.TriggerTime = _timing.CurTime + TimeSpan.FromSeconds(trigger.Delay); - } - } - - private void UpdateTimer(float frameTime) - { - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var timer, out var phase)) - { - foreach (var trigger in timer.Triggers) - { - if (_timing.CurTime < trigger.TriggerTime || trigger.TriggerTime == TimeSpan.Zero) - continue; - - if (trigger.Edge is null) - continue; - - TriggerRitualPhase((uid, phase), trigger.Edge.Value.Target); - trigger.TriggerTime = TimeSpan.Zero; - } - } - } -} diff --git a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Voice.cs b/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Voice.cs deleted file mode 100644 index 3cdd461067..0000000000 --- a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.Voice.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Text.RegularExpressions; -using Content.Server.Speech; -using Content.Shared._CP14.MagicRitual; -using Content.Shared._CP14.MagicRitualTrigger.Triggers; - -namespace Content.Server._CP14.MagicRitualTrigger; - -public partial class CP14RitualTriggerSystem -{ - private void InitializeVoice() - { - SubscribeLocalEvent(OnListenEvent); - } - - private void OnListenEvent(Entity ent, ref ListenEvent args) - { - if (!TryComp(ent, out var phase)) - return; - - // Lowercase the phrase and remove all punctuation marks - var message = Regex.Replace(args.Message.Trim().ToLower(), @"[^\w\s]", ""); - - foreach (var trigger in ent.Comp.Triggers) - { - var triggerMessage = Regex.Replace(trigger.Message.ToLower(), @"[^\w\s]", ""); - - if (triggerMessage != message) - continue; - - if (trigger.Edge is null) - continue; - - TriggerRitualPhase((ent.Owner, phase), trigger.Edge.Value.Target); - } - } -} diff --git a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.cs b/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.cs deleted file mode 100644 index 37852bbc2f..0000000000 --- a/Content.Server/_CP14/MagicRitualTrigger/CP14RitualTriggerSystem.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Content.Shared._CP14.MagicRitualTrigger; -using Robust.Shared.Prototypes; - -namespace Content.Server._CP14.MagicRitualTrigger; - -public partial class CP14RitualTriggerSystem : CP14SharedRitualTriggerSystem -{ - public override void Initialize() - { - InitializeTimer(); - InitializeVoice(); - InitializeSacrifice(); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - UpdateTimer(frameTime); - } - - private void TriggerRitualPhase(Entity ent, EntProtoId nextPhase) - { - var evConfirmed = new CP14RitualTriggerEvent(nextPhase); - RaiseLocalEvent(ent, evConfirmed); - } -} diff --git a/Content.Server/_CP14/MagicRituals/CP14RitualSystem.Describer.cs b/Content.Server/_CP14/MagicRituals/CP14RitualSystem.Describer.cs deleted file mode 100644 index da99773a6a..0000000000 --- a/Content.Server/_CP14/MagicRituals/CP14RitualSystem.Describer.cs +++ /dev/null @@ -1,167 +0,0 @@ -using System.Text; -using Content.Server._CP14.MagicRituals.Components; -using Content.Shared._CP14.MagicRitual; -using Content.Shared.Paper; -using Content.Shared.Verbs; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Map; -using Robust.Shared.Prototypes; - -namespace Content.Server._CP14.MagicRituals; - -public sealed partial class CP14RitualSystem -{ - [Dependency] private readonly PaperSystem _paper = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - private void InitializeDescriber() - { - - SubscribeLocalEvent>(OnDescriberVerbs); - SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnShutdown); - } - - private void OnShutdown(Entity ent, ref ComponentShutdown args) - { - QueueDel(ent.Comp.CurrentPhase); - } - - private void OnMapInit(Entity ent, ref MapInitEvent args) - { - SetPhase(ent, ent.Comp.StartPhase); - } - - private void SetPhase(Entity ent, EntProtoId newProto, bool saveHistory = true) - { - var oldPhase = ent.Comp.CurrentPhase; - if (oldPhase is not null && saveHistory) - { - var oldProto = MetaData(oldPhase.Value).EntityPrototype; - if (oldProto is not null && oldProto != newProto) - { - ent.Comp.SearchHistory.Add(oldProto); - if (ent.Comp.SearchHistory.Count > 50) - ent.Comp.SearchHistory.RemoveAt(0); - } - } - QueueDel(oldPhase); - var newPhase = Spawn(newProto, MapCoordinates.Nullspace); - - ent.Comp.CurrentPhase = newPhase; - - if (!TryComp(ent, out var paper)) - return; - - _paper.SetContent((ent, paper), GetPhaseDescription(newPhase)); - _audio.PlayPvs(ent.Comp.UseSound, ent); - } - - private void BackPhase(Entity ent) - { - if (ent.Comp.SearchHistory.Count > 0) - SetPhase(ent, ent.Comp.SearchHistory[^1], false); - } - - private void OnDescriberVerbs(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract) - return; - - if (!TryComp(ent.Comp.CurrentPhase, out var phase)) - return; - - if (!TryComp(ent.Comp.CurrentPhase.Value, out var phaseComp)) - return; - - foreach (var edge in phaseComp.Edges) - { - if (!_proto.TryIndex(edge.Target, out var indexedTarget)) - continue; - - Verb verb = new() - { - Text = Loc.GetString("cp14-ritual-describer-verb-item", ("name", indexedTarget.Name)), - Category = VerbCategory.CP14RitualBook, - Priority = 1, - Act = () => SetPhase(ent, edge.Target), - }; - args.Verbs.Add(verb); - } - - foreach (var hyperlink in ent.Comp.Hyperlinks) - { - if (!_proto.TryIndex(hyperlink, out var indexedTarget)) - continue; - - Verb verb = new() - { - Text = Loc.GetString("cp14-ritual-describer-verb-hyperlink", ("name", indexedTarget.Name)), - Category = VerbCategory.CP14RitualBook, - Priority = 0, - Act = () => SetPhase(ent, hyperlink), - }; - args.Verbs.Add(verb); - } - - if (ent.Comp.SearchHistory.Count > 0) - { - Verb verb = new() - { - Text = Loc.GetString("cp14-ritual-describer-verb-back"), - Category = VerbCategory.CP14RitualBook, - Priority = -1, - Act = () => BackPhase(ent), - }; - args.Verbs.Add(verb); - } - } - - private string GetPhaseDescription(EntityUid uid) - { - if (!TryComp(uid, out var phase)) - return string.Empty; - - return GetPhaseDescription((uid, phase)); - } - - private string GetPhaseDescription(Entity ent) - { - var sb = new StringBuilder(); - sb.Append($"[color=#e6a132][head=1]{MetaData(ent).EntityName}[/head][/color] \n \n"); - sb.Append($"[italic]{MetaData(ent).EntityDescription}[/italic] \n \n"); - - sb.Append(Loc.GetString("cp14-ritual-intro") + "\n \n \n"); - foreach (var edge in ent.Comp.Edges) - { - if (!_proto.TryIndex(edge.Target, out var targetIndexed)) - continue; - - sb.Append($"[color=#b5783c][head=3]{targetIndexed.Name}[/head][/color]" + "\n"); - - //TRIGGERS - if (edge.Triggers.Count > 0) - { - sb.Append($"[bold]{Loc.GetString("cp14-ritual-trigger-header")}[/bold] \n"); - foreach (var trigger in edge.Triggers) - sb.Append(trigger.GetGuidebookTriggerDescription(_proto, _entitySystem) + "\n"); - } - - //REQUIREMENTS - if (edge.Requirements.Count > 0) - { - sb.Append($"[bold]{Loc.GetString("cp14-ritual-req-header")}[/bold] \n"); - foreach (var req in edge.Requirements) - sb.Append(req.GetGuidebookRequirementDescription(_proto, _entitySystem) + "\n"); - } - - //ACTIONS - if (edge.Actions.Count > 0) - { - sb.Append($"[bold]{Loc.GetString("cp14-ritual-effect-header")}[/bold] \n"); - foreach (var act in edge.Actions) - sb.Append(act.GetGuidebookEffectDescription(_proto, _entitySystem) + "\n"); - } - } - return sb.ToString(); - } -} diff --git a/Content.Server/_CP14/MagicRituals/CP14RitualSystem.Visuals.cs b/Content.Server/_CP14/MagicRituals/CP14RitualSystem.Visuals.cs deleted file mode 100644 index 9b88426e68..0000000000 --- a/Content.Server/_CP14/MagicRituals/CP14RitualSystem.Visuals.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Robust.Server.GameObjects; - -namespace Content.Server._CP14.MagicRituals; - -public sealed partial class CP14RitualSystem -{ - [Dependency] private readonly AppearanceSystem _appearance = default!; - private void InitializeVisuals() - { - SubscribeLocalEvent(OnPhaseBound); - } - - private void OnPhaseBound(Entity ent, ref CP14RitualPhaseBoundEvent args) - { - if (!TryComp(args.Ritual, out var ritual)) - return; - - _pointLight.SetColor(ent, ent.Comp.PhaseColor); - _appearance.SetData(args.Ritual, RitualVisuals.Color, ent.Comp.PhaseColor); - } -} diff --git a/Content.Server/_CP14/MagicRituals/CP14RitualSystem.cs b/Content.Server/_CP14/MagicRituals/CP14RitualSystem.cs deleted file mode 100644 index 5f440a5a50..0000000000 --- a/Content.Server/_CP14/MagicRituals/CP14RitualSystem.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System.Text; -using Content.Server.Speech.Components; -using Content.Shared._CP14.MagicRitual; -using Content.Shared.DoAfter; -using Content.Shared.Examine; -using Content.Shared.Verbs; -using Robust.Server.GameObjects; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; -using Robust.Shared.Timing; - -namespace Content.Server._CP14.MagicRituals; - -public partial class CP14RitualSystem : CP14SharedRitualSystem -{ - [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; - [Dependency] private readonly IEntitySystemManager _entitySystem = default!; - [Dependency] private readonly PointLightSystem _pointLight = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly TransformSystem _transform = default!; - - public override void Initialize() - { - base.Initialize(); - - InitializeDescriber(); - InitializeVisuals(); - - SubscribeLocalEvent(OnActivateRitual); - SubscribeLocalEvent>(OnAlternativeVerb); - - SubscribeLocalEvent(OnPhaseTrigger); - - SubscribeLocalEvent(OnOrbExamine); - } - - private void OnActivateRitual(Entity ent, ref CP14ActivateRitualDoAfter args) - { - //if (args.Cancelled || args.Handled) - // return; -// - //args.Handled = true; -// - //StartRitual(ent); - } - - private void OnAlternativeVerb(Entity ent, ref GetVerbsEvent args) - { - //if (!args.CanInteract || ent.Comp.CurrentPhase is not null) - // return; -// - //var user = args.User; - //AlternativeVerb verb = new() - //{ - // Act = () => - // { - // var doAfterArgs = - // new DoAfterArgs(EntityManager, user, ent.Comp.ActivationTime, new CP14ActivateRitualDoAfter(), ent, ent) - // { - // BreakOnDamage = true, - // BreakOnMove = true, - // }; -// - // _doAfter.TryStartDoAfter(doAfterArgs); - // }, - // Text = Loc.GetString("cp14-ritual-verb-text"), - // Priority = 1, - //}; - //args.Verbs.Add(verb); - } - - private void OnOrbExamine(Entity ent, ref ExaminedEvent args) - { - //var sb = new StringBuilder(); - //sb.Append(Loc.GetString("cp14-ritual-orb-examine", ("name", MetaData(ent).EntityName)) + "\n"); - //foreach (var orbType in ent.Comp.Powers) - //{ - // if (!_proto.TryIndex(orbType.Key, out var indexedType)) - // continue; -// - // sb.Append($"[color={indexedType.Color.ToHex()}]"); - // sb.Append(Loc.GetString("cp14-ritual-entry-item", - // ("name", Loc.GetString(indexedType.Name)), - // ("count", orbType.Value))); - // sb.Append($"[/color] \n"); - //} -// - //args.PushMarkup(sb.ToString()); - } - - private void OnPhaseTrigger(Entity phase, ref CP14RitualTriggerEvent args) - { - //if (phase.Comp.Ritual is null) - // return; -// - //if (!TryComp(phase, out var ritualComp)) - // return; -// - //RitualPhaseEdge? selectedEdge = null; - //foreach (var edge in phase.Comp.Edges) - //{ - // if (edge.Target == args.NextPhase) - // { - // selectedEdge = edge; - // break; - // } - //} -// - //if (selectedEdge is null) - // return; -// - //var passed = true; - //foreach (var req in selectedEdge.Value.Requirements) - //{ - // if (!req.Check(EntityManager, phase, ritualComp.Stability)) //lol - // { - // ChangeRitualStability(phase.Comp.Ritual.Value, -req.FailStabilityCost); - // passed = false; - // break; - // } - //} -// - //if (!passed) - // return; -// - //foreach (var action in selectedEdge.Value.Actions) - //{ - // action.Effect(EntityManager, _transform, phase); - //} -// - //ChangePhase(phase.Comp.Ritual.Value, args.NextPhase); - } - - public void StartRitual(EntityUid uid, CP14MagicRitualComponent? ritual = null) - { - //if (!Resolve(uid, ref ritual, false)) - // return; -// - //EndRitual(uid); -// - //var ev = new CP14RitualStartEvent(uid); - //RaiseLocalEvent(uid, ev); -// - //ChangePhase(uid, ritual.StartPhase); - //_appearance.SetData(uid, RitualVisuals.Enabled, true); - } - - private void ChangePhase(EntityUid uid, EntProtoId newPhase, CP14MagicRitualComponent? ritual = null) - { - //if (!Resolve(uid, ref ritual, false)) - // return; -// - //QueueDel(ritual.CurrentPhase); -// - //var newPhaseEnt = Spawn(newPhase, Transform(uid).Coordinates); - //_transform.SetParent(newPhaseEnt, uid); - //var newPhaseComp = EnsureComp(newPhaseEnt); -// - //ritual.CurrentPhase = newPhaseEnt; - //newPhaseComp.Ritual = uid; -// - //foreach (var edge in newPhaseComp.Edges) - //{ - // foreach (var trigger in edge.Triggers) - // { - // trigger.Initialize(EntityManager, ritual.CurrentPhase.Value, edge); - // } - //} -// - //var ev = new CP14RitualPhaseBoundEvent(uid, newPhaseEnt); - //RaiseLocalEvent(uid, ev); - //RaiseLocalEvent(newPhaseEnt, ev); -// - //if (newPhaseComp.DeadEnd) - // EndRitual(uid); - } - - public void EndRitual(EntityUid uid, CP14MagicRitualComponent? ritual = null) - { - //if (!Resolve(uid, ref ritual, false)) - // return; -// - //if (ritual.CurrentPhase is null) - // return; -// - //QueueDel(ritual.CurrentPhase); - //ritual.CurrentPhase = null; -// - //var ev = new CP14RitualEndEvent(uid); - //RaiseLocalEvent(uid, ev); -// - //_appearance.SetData(uid, RitualVisuals.Enabled, false); -// - //foreach (var orb in ritual.Orbs) - //{ - // QueueDel(orb); - //} - } -} diff --git a/Content.Server/_CP14/MagicRituals/Components/CP14PaperPhaseDescriberComponent.cs b/Content.Server/_CP14/MagicRituals/Components/CP14PaperPhaseDescriberComponent.cs deleted file mode 100644 index d3bd9b00af..0000000000 --- a/Content.Server/_CP14/MagicRituals/Components/CP14PaperPhaseDescriberComponent.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Robust.Shared.Audio; -using Robust.Shared.Prototypes; - -namespace Content.Server._CP14.MagicRituals.Components; - -/// -/// -/// -[RegisterComponent, Access(typeof(CP14RitualSystem))] -public sealed partial class CP14PaperPhaseDescriberComponent : Component -{ - [DataField(required: true)] - public EntProtoId StartPhase = default!; - - [DataField] - public EntityUid? CurrentPhase = null; - - public List SearchHistory = new(); - - [DataField] - public List Hyperlinks = new(); - - public SoundSpecifier UseSound = new SoundCollectionSpecifier("CP14Book") - { - Params = AudioParams.Default - .WithVariation(0.05f) - .WithVolume(0.5f), - }; -} - diff --git a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs index 62c99e9e80..3dd4bf1126 100644 --- a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs +++ b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs @@ -37,7 +37,10 @@ public sealed partial class CP14FireplaceComponent : Component public float FuelDrainingPerUpdate = 1f; [DataField] - public TimeSpan UpdateFrequency = TimeSpan.FromSeconds(2f); + public bool DeleteOnEmpty = false; + + [DataField] + public TimeSpan UpdateFrequency = TimeSpan.FromSeconds(1f); [DataField] public TimeSpan NextUpdateTime = TimeSpan.Zero; diff --git a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs index bba2430003..02a0088b3e 100644 --- a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs +++ b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs @@ -88,7 +88,7 @@ public sealed partial class CP14FireplaceSystem : EntitySystem if (_timing.CurTime <= fireplace.NextUpdateTime) continue; - fireplace.NextUpdateTime = _timing.CurTime + fireplace.UpdateFrequency; + fireplace.NextUpdateTime += fireplace.UpdateFrequency; if (fireplace.Fuel >= fireplace.FuelDrainingPerUpdate) { @@ -102,6 +102,12 @@ public sealed partial class CP14FireplaceSystem : EntitySystem ConsumeFuel(uid, fireplace, fuel.Value); flammable.FirestackFade = -fireplace.FireFadeDelta; + + if (flammable.FireStacks == 0 && fireplace.DeleteOnEmpty) + { + QueueDel(uid); + return; + } } } } diff --git a/Content.Shared/_CP14/MagicRitual/Actions/AddOrb.cs b/Content.Shared/_CP14/MagicRitual/Actions/AddOrb.cs deleted file mode 100644 index 599b393526..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/AddOrb.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Text; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -/// -/// Adds a key-orb to the ritual. -/// -public sealed partial class AddOrb : CP14RitualAction -{ - [DataField(required: true)] - public Dictionary Orbs = new(); - - public override string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - var sb = new StringBuilder(); - sb.Append(Loc.GetString("cp14-ritual-effect-add-orb")+ "\n"); - foreach (var orb in Orbs) - { - if (!prototype.TryIndex(orb.Key, out var indexedOrb)) - continue; - - sb.Append(Loc.GetString("cp14-ritual-entry-item", ("name", indexedOrb.Name), ("count", orb.Value)) + "\n"); - } - - return sb.ToString(); - } - - public override void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase) - { - if (phase.Comp.Ritual is null) - return; - - var ritual = entManager.System(); - - foreach (var orb in Orbs) - { - for (var i = 0; i < orb.Value; i++) - { - ritual.AddOrbToRitual(phase.Comp.Ritual.Value, orb.Key); - } - } - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Actions/ApplyEntityEffect.cs b/Content.Shared/_CP14/MagicRitual/Actions/ApplyEntityEffect.cs deleted file mode 100644 index b5b0159c18..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/ApplyEntityEffect.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System.Text; -using Content.Shared.EntityEffects; -using Content.Shared.Whitelist; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -/// -/// Filters the nearest X entities by whitelist and applies the specified EntityEffects on them -/// -public sealed partial class ApplyEntityEffect : CP14RitualAction -{ - [DataField] - public float CheckRange = 1f; - - [DataField] - public EntityWhitelist? Whitelist; - - [DataField] - public LocId? WhitelistDesc; - - [DataField(required: true, serverOnly: true)] - public List Effects = new(); - - [DataField] - public int MaxEntities = 1; - - public override string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - var sb = new StringBuilder(); - - sb.Append(Loc.GetString("cp14-ritual-range", ("range", CheckRange)) + "\n"); - sb.Append(Loc.GetString("cp14-ritual-effect-apply-effect", ("count", MaxEntities), ("range", CheckRange)) + "\n"); - - if (WhitelistDesc is not null) - { - sb.Append(Loc.GetString(WhitelistDesc)); - sb.Append("\n"); - } - - foreach (var effect in Effects) - { - sb.Append("- " + effect.GuidebookEffectDescription(prototype, entSys) + "\n"); - } - sb.Append("\n"); - - return sb.ToString(); - } - - public override void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase) - { - var lookup = entManager.System(); - var whitelist = entManager.System(); - - var entitiesAround = lookup.GetEntitiesInRange(phase, CheckRange, LookupFlags.Uncontained); - - var count = 0; - foreach (var entity in entitiesAround) - { - if (Whitelist is not null && !whitelist.IsValid(Whitelist, entity)) - continue; - - foreach (var effect in Effects) - { - effect.Effect(new EntityEffectBaseArgs(entity, entManager)); - } - - entManager.Spawn(VisualEffect, transform.GetMapCoordinates(entity)); - count++; - - if (count >= MaxEntities) - break; - } - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Actions/CP14RitualAction.cs b/Content.Shared/_CP14/MagicRitual/Actions/CP14RitualAction.cs deleted file mode 100644 index b8e4d5b55c..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/CP14RitualAction.cs +++ /dev/null @@ -1,19 +0,0 @@ -using JetBrains.Annotations; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -[ImplicitDataDefinitionForInheritors] -[MeansImplicitUse] -public abstract partial class CP14RitualAction -{ - /// - /// Effect appearing in place of interacted entities - /// - [DataField("vfx")] - public EntProtoId? VisualEffect = "CP14DustEffect"; - - public abstract void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase); - - public abstract string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys); -} diff --git a/Content.Shared/_CP14/MagicRitual/Actions/ConsumeOrb.cs b/Content.Shared/_CP14/MagicRitual/Actions/ConsumeOrb.cs deleted file mode 100644 index 4bfa738bde..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/ConsumeOrb.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.Text; -using Content.Shared._CP14.MagicRitual.Prototypes; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -/// -/// Removes the orb key from the ritual. -/// -public sealed partial class ConsumeOrb : CP14RitualAction -{ - [DataField(required: true)] - public ProtoId MagicType = new(); - - [DataField(required: true)] - public int Count = 0; - - public override string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - if (!prototype.TryIndex(MagicType, out var indexedType)) - return null; - - var sb = new StringBuilder(); - sb.Append(Loc.GetString("cp14-ritual-effect-consume-orb", ("name", Loc.GetString(indexedType.Name)), ("count", Count))+ "\n"); - - return sb.ToString(); - } - - public override void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase) - { - if (phase.Comp.Ritual is null) - return; - - var ritual = entManager.System(); - - for (var i = 0; i < Count; i++) - { - ritual.ConsumeOrbType(phase.Comp.Ritual.Value, MagicType); - } - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Actions/ConsumeResource.cs b/Content.Shared/_CP14/MagicRitual/Actions/ConsumeResource.cs deleted file mode 100644 index cad1cb1ee1..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/ConsumeResource.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System.Text; -using Content.Shared.Stacks; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -public sealed partial class ConsumeResource : CP14RitualAction -{ - [DataField] - public float CheckRange = 1f; - - [DataField] - public Dictionary RequiredEntities = new (); - - [DataField] - public Dictionary, int> RequiredStacks = new(); - - public override string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - var sb = new StringBuilder(); - sb.Append(Loc.GetString("cp14-ritual-effect-consume-resource", ("range", CheckRange)) + "\n"); - - foreach (var entity in RequiredEntities) - { - if (!prototype.TryIndex(entity.Key, out var indexed)) - continue; - - sb.Append(Loc.GetString("cp14-ritual-entry-item", ("name", indexed.Name), ("count", entity.Value)) + "\n"); - } - - foreach (var stack in RequiredStacks) - { - if (!prototype.TryIndex(stack.Key, out var indexed)) - continue; - - sb.Append(Loc.GetString("cp14-ritual-entry-item", ("name", Loc.GetString(indexed.Name)), ("count", stack.Value)) + "\n"); - } - - return sb.ToString(); - } - - public override void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase) - { - var lookup = entManager.System(); - var stack = entManager.System(); - - var entitiesAround = lookup.GetEntitiesInRange(phase, CheckRange, LookupFlags.Uncontained); - - foreach (var reqEnt in RequiredEntities) - { - var requiredCount = reqEnt.Value; - - foreach (var entity in entitiesAround) - { - if (!entManager.TryGetComponent(entity, out var metaData)) - continue; - if (!entManager.HasComponent(entity)) - continue; - - var entProto = metaData.EntityPrototype; - if (entProto is null) - continue; - - if (entProto.ID == reqEnt.Key && requiredCount > 0) - { - if (VisualEffect is not null) - entManager.Spawn(VisualEffect.Value, transform.GetMapCoordinates(entity)); - - entManager.DeleteEntity(entity); - - requiredCount--; - } - } - } - - foreach (var reqStack in RequiredStacks) - { - var requiredCount = reqStack.Value; - - foreach (var entity in entitiesAround) - { - if (!entManager.TryGetComponent(entity, out var stackComp)) - continue; - - if (stackComp.StackTypeId != reqStack.Key) - continue; - - var count = (int)MathF.Min(requiredCount, stackComp.Count); - - - if (stackComp.Count - count <= 0) - entManager.DeleteEntity(entity); - else - stack.SetCount(entity, stackComp.Count - count, stackComp); - - - requiredCount -= count; - - if (VisualEffect is not null) - entManager.Spawn(VisualEffect.Value, transform.GetMapCoordinates(entity)); - } - } - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Actions/EditStability.cs b/Content.Shared/_CP14/MagicRitual/Actions/EditStability.cs deleted file mode 100644 index f70cdfab23..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/EditStability.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -public sealed partial class EditStability : CP14RitualAction -{ - [DataField(required: true)] - public float Mod; - - public override void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase) - { - var ritual = entManager.System(); - - if (phase.Comp.Ritual is not null) - ritual.ChangeRitualStability(phase.Comp.Ritual.Value, Mod); - } - - public override string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - return Mod switch - { - > 0 => Loc.GetString("cp14-ritual-effect-stability-add", ("count", Mod * 100)) + "\n", - < 0 => Loc.GetString("cp14-ritual-effect-stability-minus", ("count", -Mod * 100)) + "\n", - _ => null, - }; - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Actions/SpawnEntity.cs b/Content.Shared/_CP14/MagicRitual/Actions/SpawnEntity.cs deleted file mode 100644 index faff072030..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Actions/SpawnEntity.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Text; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Actions; - -/// -/// Creates an entity in the coordinates of the ritual. -/// TODO: EntityTable support? -public sealed partial class SpawnEntity : CP14RitualAction -{ - [DataField(required: true)] - public Dictionary Spawns = new(); - - [DataField] - public LocId? Name; - - public override string? GetGuidebookEffectDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - var sb = new StringBuilder(); - sb.Append(Loc.GetString("cp14-ritual-effect-spawn-entity")+ "\n"); - foreach (var spawn in Spawns) - { - if (!prototype.TryIndex(spawn.Key, out var indexed)) - return null; - - sb.Append(Loc.GetString("cp14-ritual-entry-item", - ("name", Name is null ? indexed.Name : Loc.GetString(Name)), - ("count", spawn.Value)) + "\n"); - } - - return sb.ToString(); - } - - public override void Effect(EntityManager entManager, SharedTransformSystem transform, Entity phase) - { - foreach (var spawn in Spawns) - { - for (var i = 0; i < spawn.Value; i++) - { - entManager.Spawn(spawn.Key, transform.GetMapCoordinates(phase)); - } - } - } -} diff --git a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualComponent.cs b/Content.Shared/_CP14/MagicRitual/CP14MagicRitualComponent.cs deleted file mode 100644 index df6f93bfbc..0000000000 --- a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualComponent.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual; - -/// -/// Ritual Behavior Controller. Creates and removes entities of magical phases -/// -[RegisterComponent, Access(typeof(CP14SharedRitualSystem))] -public sealed partial class CP14MagicRitualComponent : Component -{ - [DataField(required: true)] - public EntProtoId StartPhase; - - [DataField] - public EntityUid? CurrentPhase; - - [DataField] - public float Stability = 1f; - - [DataField] - public float ActivationTime = 5f; - - [DataField] - public string RitualLayerMap = "ritual"; - - [DataField] - public int MaxOrbCapacity = 3; - - [DataField] - public float RitualRadius = 5; - - [DataField] - public TimeSpan TriggerTime = TimeSpan.Zero; - - [DataField] - public List Orbs = new(); -} diff --git a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualEvents.cs b/Content.Shared/_CP14/MagicRitual/CP14MagicRitualEvents.cs deleted file mode 100644 index fe676a44eb..0000000000 --- a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualEvents.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; - -namespace Content.Shared._CP14.MagicRitual; - -/// -/// Called out a ritual when any of its phase triggers are activated -/// -public sealed class CP14RitualTriggerEvent : EntityEventArgs -{ - public EntProtoId NextPhase; - - public CP14RitualTriggerEvent(EntProtoId phase) - { - NextPhase = phase; - } -} - -/// -/// Called out at a ritual when his stability is altered -/// -public sealed class CP14RitualStabilityChangedEvent : EntityEventArgs -{ - public float OldStability; - public float NewStability; - - public CP14RitualStabilityChangedEvent(float oldS, float newS) - { - OldStability = oldS; - NewStability = newS; - } -} - -/// -/// Called on both the ritual and the phase when they link together -/// -public sealed class CP14RitualPhaseBoundEvent : EntityEventArgs -{ - public EntityUid Ritual; - public EntityUid Phase; - - public CP14RitualPhaseBoundEvent(EntityUid r, EntityUid p) - { - Ritual = r; - Phase = p; - } -} - -/// -/// Invoked at the ritual holder entity when the ritual is complete and the phase entities have been removed -/// -public sealed class CP14RitualEndEvent : EntityEventArgs -{ - public EntityUid Ritual; - - public CP14RitualEndEvent(EntityUid r) - { - Ritual = r; - } -} - -/// -/// Invoked at the ritual holder entity when the ritual begins, and invokes the starting phase -/// -public sealed class CP14RitualStartEvent : EntityEventArgs -{ - public EntityUid Ritual; - - public CP14RitualStartEvent(EntityUid r) - { - Ritual = r; - } -} - -[Serializable, NetSerializable] -public sealed partial class CP14ActivateRitualDoAfter : SimpleDoAfterEvent -{ -} - -[Serializable, NetSerializable] -public enum RitualVisuals -{ - Color, - Enabled, -} diff --git a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualOrbComponent.cs b/Content.Shared/_CP14/MagicRitual/CP14MagicRitualOrbComponent.cs deleted file mode 100644 index fb82663d62..0000000000 --- a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualOrbComponent.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Content.Shared._CP14.MagicRitual.Prototypes; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual; - -/// -/// “Key” in the concept of rituals. An entity that can be a key to a ritual, and holds certain characteristics that can be spent, or by which a phase transition requirement check can be made. -/// -[RegisterComponent, Access(typeof(CP14SharedRitualSystem))] -public sealed partial class CP14MagicRitualOrbComponent : Component -{ - [DataField] - public Dictionary, int> Powers = new(); -} diff --git a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualPhaseComponent.cs b/Content.Shared/_CP14/MagicRitual/CP14MagicRitualPhaseComponent.cs deleted file mode 100644 index f5a897d98c..0000000000 --- a/Content.Shared/_CP14/MagicRitual/CP14MagicRitualPhaseComponent.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Content.Shared._CP14.MagicRitual.Actions; -using Content.Shared._CP14.MagicRitual.Requirements; -using Content.Shared._CP14.MagicRitualTrigger; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual; - -/// -/// Magical entity that reacts to world events -/// -[RegisterComponent, Access(typeof(CP14SharedRitualSystem))] -public sealed partial class CP14MagicRitualPhaseComponent : Component -{ - /// - /// A link to the ritual itself in which this phase is found - /// - [DataField] - public EntityUid? Ritual; - - [DataField] - public Color PhaseColor = Color.White; - - [DataField] - public List Edges = new(); - - /// - /// by moving to this node, the ritual will end instantly. - /// - [DataField] - public bool DeadEnd = false; -} - -[DataRecord] -public partial record struct RitualPhaseEdge() -{ - public EntProtoId Target { get; set; } - - public List Triggers { get; set; } = new(); - public List Requirements { get; set; } = new(); - public List Actions { get; set; } = new(); -} diff --git a/Content.Shared/_CP14/MagicRitual/CP14SharedRitualSystem.cs b/Content.Shared/_CP14/MagicRitual/CP14SharedRitualSystem.cs deleted file mode 100644 index e36cdffb27..0000000000 --- a/Content.Shared/_CP14/MagicRitual/CP14SharedRitualSystem.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Content.Shared._CP14.MagicRitual.Prototypes; -using Content.Shared.Follower; -using Robust.Shared.Network; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual; - -public partial class CP14SharedRitualSystem : EntitySystem -{ - [Dependency] private readonly FollowerSystem _followerSystem = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly INetManager _net = default!; - - public void ChangeRitualStability(EntityUid uid, float dStab, CP14MagicRitualComponent? ritual = null) - { - //if (!Resolve(uid, ref ritual)) - // return; -// - //var newS = MathHelper.Clamp01(ritual.Stability + dStab); -// - //var ev = new CP14RitualStabilityChangedEvent(ritual.Stability, newS); - //RaiseLocalEvent(uid, ev); -// - //ritual.Stability = newS; - } - - public void AddOrbToRitual(EntityUid uid, EntProtoId orb, CP14MagicRitualComponent? ritual = null) - { - //if (_net.IsClient) - // return; -// - //if (!Resolve(uid, ref ritual)) - // return; -// - //if (!_proto.TryIndex(orb, out var indexedOrb)) - // return; -// - //if (ritual.Orbs.Count >= ritual.MaxOrbCapacity) - // return; -// - //var spawnedOrb = Spawn(orb, _transform.GetMapCoordinates(uid)); -// - //if (!TryComp(spawnedOrb, out var orbComp)) - //{ - // QueueDel(spawnedOrb); - // return; - //} -// - //_followerSystem.StartFollowingEntity(spawnedOrb, uid); - //ritual.Orbs.Add((spawnedOrb, orbComp)); - } - - public void ConsumeOrbType(EntityUid uid, ProtoId magicType, CP14MagicRitualComponent? ritual = null) - { - //if (!Resolve(uid, ref ritual)) - // return; -// - //foreach (var orb in ritual.Orbs) - //{ - // var powers = orb.Comp.Powers; - // if (!powers.ContainsKey(magicType)) - // continue; -// - // ritual.Orbs.Remove(orb); - // QueueDel(orb); - // return; - //} - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Requirements/CP14RitualRequirement.cs b/Content.Shared/_CP14/MagicRitual/Requirements/CP14RitualRequirement.cs deleted file mode 100644 index dafe4d5183..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Requirements/CP14RitualRequirement.cs +++ /dev/null @@ -1,19 +0,0 @@ -using JetBrains.Annotations; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Requirements; - -[ImplicitDataDefinitionForInheritors] -[MeansImplicitUse] -public abstract partial class CP14RitualRequirement -{ - /// - /// If this checks fails, the ritual will lose some of its stability. - /// - [DataField] - public float FailStabilityCost; - - public abstract bool Check(EntityManager entManager, Entity phaseEnt, float stability); - - public abstract string? GetGuidebookRequirementDescription(IPrototypeManager prototype, IEntitySystemManager entSys); -} diff --git a/Content.Shared/_CP14/MagicRitual/Requirements/RequiredOrbs.cs b/Content.Shared/_CP14/MagicRitual/Requirements/RequiredOrbs.cs deleted file mode 100644 index 54d1480b8f..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Requirements/RequiredOrbs.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System.Text; -using Content.Shared._CP14.MagicRitual.Prototypes; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Requirements; - -/// -/// Requires specific daytime period -/// -public sealed partial class RequiredOrbs : CP14RitualRequirement -{ - [DataField] - public ProtoId MagicType = new(); - - [DataField] - public int? Min; - - [DataField] - public int? Max; - - public override string? GetGuidebookRequirementDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - var sb = new StringBuilder(); - - if (!prototype.TryIndex(MagicType, out var indexedType)) - return null; - - sb.Append(Loc.GetString("cp14-ritual-required-orbs", ("name", Loc.GetString(indexedType.Name))) + " "); - if (Min is not null && Max is not null) - sb.Append(Loc.GetString("cp14-ritual-required-orbs-item-minmax", ("min", Min), ("max", Max))+ "\n"); - else if (Min is not null) - sb.Append(Loc.GetString("cp14-ritual-required-orbs-item-min", ("min", Min))+ "\n"); - else if (Max is not null) - sb.Append(Loc.GetString("cp14-ritual-required-orbs-item-min", ("max", Max))+ "\n"); - - return sb.ToString(); - } - - public override bool Check(EntityManager entManager, Entity phaseEnt, float stability) - { - //if (phaseEnt.Comp.Ritual is null) - // return false; -// - //if (!entManager.TryGetComponent(phaseEnt, out var ritualComp)) - // return false; -// - //var count = 0; - //foreach (var orb in ritualComp.Orbs) - //{ - // foreach (var power in orb.Comp.Powers) - // { - // if (power.Key == MagicType) - // count += power.Value; - // } - //} -// - //if (Min is not null && Max is not null) - // return count >= Min && count <= Max; - //if (Min is not null) - // return count >= Min; - //if (Max is not null) - // return count <= Max; -// - return false; - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Requirements/RequiredResource.cs b/Content.Shared/_CP14/MagicRitual/Requirements/RequiredResource.cs deleted file mode 100644 index 88a2ceb9d4..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Requirements/RequiredResource.cs +++ /dev/null @@ -1,113 +0,0 @@ -using System.Text; -using Content.Shared.Stacks; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Requirements; - -/// -/// Requires certain specific entities to be near the ritual. TODO: Replace with Whitelist -/// -public sealed partial class RequiredResource : CP14RitualRequirement -{ - [DataField] - public float CheckRange = 3f; - - [DataField] - public Dictionary RequiredEntities = new (); - - [DataField] - public Dictionary, int> RequiredStacks = new(); - - /// - /// Effect appearing in place of used entities - /// - [DataField("vfx")] - public EntProtoId? Effect = "CP14DustEffect"; - - public override string? GetGuidebookRequirementDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - var sb = new StringBuilder(); - sb.Append(Loc.GetString("cp14-ritual-required-resource", ("range", CheckRange)) + "\n"); - - foreach (var entity in RequiredEntities) - { - if (!prototype.TryIndex(entity.Key, out var indexed)) - continue; - - sb.Append(Loc.GetString("cp14-ritual-entry-item", ("name", indexed.Name), ("count", entity.Value)) + "\n"); - } - - foreach (var stack in RequiredStacks) - { - if (!prototype.TryIndex(stack.Key, out var indexed)) - continue; - - sb.Append(Loc.GetString("cp14-ritual-entry-item", ("name", Loc.GetString(indexed.Name)), ("count", stack.Value)) + "\n"); - } - - return sb.ToString(); - } - - public override bool Check(EntityManager entManager, Entity phaseEnt, float stability) - { - var _lookup = entManager.System(); - var _transform = entManager.System(); - - var entitiesAround = _lookup.GetEntitiesInRange(phaseEnt, CheckRange, LookupFlags.Uncontained); - - var passed = true; - - foreach (var reqEnt in RequiredEntities) - { - var requiredCount = reqEnt.Value; - - foreach (var entity in entitiesAround) - { - if (!entManager.TryGetComponent(entity, out var metaData)) - continue; - if (!entManager.TryGetComponent(entity, out var xform)) - continue; - - var entProto = metaData.EntityPrototype; - if (entProto is null) - continue; - - if (entProto.ID == reqEnt.Key && requiredCount > 0) - { - if (Effect is not null) - entManager.Spawn(Effect.Value, _transform.GetMapCoordinates(entity)); - - requiredCount--; - } - } - - if (requiredCount > 0) - passed = false; - } - - foreach (var reqStack in RequiredStacks) - { - var requiredCount = reqStack.Value; - - foreach (var entity in entitiesAround) - { - if (!entManager.TryGetComponent(entity, out var stack)) - continue; - - if (stack.StackTypeId != reqStack.Key) - continue; - - var count = (int)MathF.Min(requiredCount, stack.Count); - requiredCount -= count; - - if (Effect is not null) - entManager.Spawn(Effect.Value, _transform.GetMapCoordinates(entity)); - } - - if (requiredCount > 0) - passed = false; - } - - return passed; - } -} diff --git a/Content.Shared/_CP14/MagicRitual/Requirements/RequiredStability.cs b/Content.Shared/_CP14/MagicRitual/Requirements/RequiredStability.cs deleted file mode 100644 index 51f3eace29..0000000000 --- a/Content.Shared/_CP14/MagicRitual/Requirements/RequiredStability.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitual.Requirements; - -/// -/// Requires that the stability of the ritual be within specified limits. If the stability is above or below the specified values, the check will fail -/// -public sealed partial class RequiredStability : CP14RitualRequirement -{ - [DataField] - public float Min = 0; - [DataField] - public float Max = 1; - - public override string? GetGuidebookRequirementDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - return Min switch - { - > 0 when Max < 1 => - Loc.GetString("cp14-ritual-required-stability-minmax", ("min", Min*100), ("max", Max*100)), - > 0 => Loc.GetString("cp14-ritual-required-stability-min", ("min", Min*100)), - < 0 => Loc.GetString("cp14-ritual-required-stability-max", ("min", Max*100)), - _ => null, - }; - } - - public override bool Check(EntityManager entManager, Entity phaseEnt, float stability) - { - if (phaseEnt.Comp.Ritual is null) - return false; - - if (!entManager.TryGetComponent(phaseEnt, out var ritualComp)) - return false; - - return !(ritualComp.Stability < Min) && !(ritualComp.Stability > Max); - } -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/CP14RitualTrigger.cs b/Content.Shared/_CP14/MagicRitualTrigger/CP14RitualTrigger.cs deleted file mode 100644 index a86b942ed5..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/CP14RitualTrigger.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using JetBrains.Annotations; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitualTrigger; - -[ImplicitDataDefinitionForInheritors] -[MeansImplicitUse] -public abstract partial class CP14RitualTrigger -{ - [DataField] - public RitualPhaseEdge? Edge = null; - - public abstract void Initialize(EntityManager entManager, Entity ritual, RitualPhaseEdge edge); - - public abstract string? GetGuidebookTriggerDescription(IPrototypeManager prototype, IEntitySystemManager entSys); -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/CP14SharedRitualTriggerSystem.cs b/Content.Shared/_CP14/MagicRitualTrigger/CP14SharedRitualTriggerSystem.cs deleted file mode 100644 index 49e3a8f0d3..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/CP14SharedRitualTriggerSystem.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Content.Shared._CP14.MagicRitualTrigger; - -public partial class CP14SharedRitualTriggerSystem : EntitySystem -{ -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeSpeciesTrigger.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeSpeciesTrigger.cs deleted file mode 100644 index f2f6629fb3..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeSpeciesTrigger.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Content.Shared.Humanoid.Prototypes; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -/// -/// triggers when a creature of a certain race dies within range of the ritual. -/// -public sealed partial class CP14SacrificeSpeciesTrigger : CP14RitualTrigger -{ - [DataField] - public float Range = 3f; - - [DataField(required: true)] - public ProtoId Species = default!; - - public override void Initialize(EntityManager entManager, Entity ritual, RitualPhaseEdge edge) - { - entManager.EnsureComponent(ritual, out var trigger); - trigger.Triggers.Add(this); - Edge = edge; - } - - public override string? GetGuidebookTriggerDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - if (!prototype.TryIndex(Species, out var indexedSpecies)) - return null; - - return Loc.GetString("cp14-ritual-trigger-sacrifice", - ("name", Loc.GetString(indexedSpecies.Name)), - ("range", Range)); - } -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeSpeciesTriggerComponent.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeSpeciesTriggerComponent.cs deleted file mode 100644 index cb92dc1cd8..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeSpeciesTriggerComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -[RegisterComponent] -public sealed partial class CP14RitualSacrificeSpeciesTriggerComponent : Component -{ - [DataField] - public HashSet Triggers = new(); -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeWhitelistTrigger.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeWhitelistTrigger.cs deleted file mode 100644 index 7b8b29cc24..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeWhitelistTrigger.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Content.Shared.Whitelist; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -/// -/// Triggers when a creature passing the whitelist dies within range of the ritual. -/// -public sealed partial class CP14SacrificeWhitelistTrigger : CP14RitualTrigger -{ - [DataField] - public float Range = 3f; - - [DataField(required: true)] - public EntityWhitelist Whitelist = default!; - - [DataField(required: true)] - public LocId WhitelistDesc = default!; - - public override void Initialize(EntityManager entManager, Entity ritual, RitualPhaseEdge edge) - { - entManager.EnsureComponent(ritual, out var trigger); - trigger.Triggers.Add(this); - Edge = edge; - } - - public override string? GetGuidebookTriggerDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - return Loc.GetString("cp14-ritual-trigger-sacrifice", - ("name", Loc.GetString(WhitelistDesc)), - ("range", Range)); - } -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeWhitelistTriggerComponent.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeWhitelistTriggerComponent.cs deleted file mode 100644 index 20cad400cb..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualSacrificeWhitelistTriggerComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -[RegisterComponent] -public sealed partial class CP14RitualSacrificeWhitelistTriggerComponent : Component -{ - [DataField] - public HashSet Triggers = new(); -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualTimerTrigger.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualTimerTrigger.cs deleted file mode 100644 index 2c84afb3ec..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualTimerTrigger.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -/// -/// Triggers the phase transition after a certain period of time -/// -public sealed partial class CP14TimerTrigger : CP14RitualTrigger -{ - [DataField] - public float Delay = 10f; - - [DataField] - public TimeSpan TriggerTime = TimeSpan.Zero; - - public override void Initialize(EntityManager entManager, Entity ritual, RitualPhaseEdge edge) - { - entManager.EnsureComponent(ritual, out var trigger); - trigger.Triggers.Add(this); - Edge = edge; - } - - public override string? GetGuidebookTriggerDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - return Loc.GetString("cp14-ritual-trigger-timer-stable", ("time", Delay)); - } -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualTimerTriggerComponent.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualTimerTriggerComponent.cs deleted file mode 100644 index c1293c83ac..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualTimerTriggerComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -[RegisterComponent] -public sealed partial class CP14RitualTimerTriggerComponent : Component -{ - [DataField] - public HashSet Triggers = new(); -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualVoiceTrigger.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualVoiceTrigger.cs deleted file mode 100644 index 3793c64761..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualVoiceTrigger.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Content.Shared._CP14.MagicRitual; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -/// -/// Triggers a phase transition when the Ritual hears a certain message -/// -public sealed partial class CP14VoiceTrigger : CP14RitualTrigger -{ - [DataField] - public string Message = string.Empty; - - [DataField] - public int Speakers = 1; - - public override void Initialize(EntityManager entManager, Entity ritual, RitualPhaseEdge edge) - { - entManager.EnsureComponent(ritual, out var trigger); - trigger.Triggers.Add(this); - Edge = edge; - } - - public override string? GetGuidebookTriggerDescription(IPrototypeManager prototype, IEntitySystemManager entSys) - { - return Loc.GetString("cp14-ritual-trigger-voice", ("phrase", Message), ("count", Speakers)); - } -} diff --git a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualVoiceTriggerComponent.cs b/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualVoiceTriggerComponent.cs deleted file mode 100644 index 9704086dbe..0000000000 --- a/Content.Shared/_CP14/MagicRitualTrigger/Triggers/CP14RitualVoiceTriggerComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Shared._CP14.MagicRitualTrigger.Triggers; - -[RegisterComponent] -public sealed partial class CP14RitualVoiceTriggerComponent : Component -{ - [DataField] - public HashSet Triggers = new(); -} diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml index bca044f7e2..b88c8032c5 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml @@ -29,6 +29,8 @@ amount: 3 - id: CP14SeedPepper amount: 3 + - id: CP14SeedCotton + amount: 3 - type: storePositionBuy @@ -182,9 +184,7 @@ components: - type: StorageFill contents: - - id: CP14EnergyCrystalSmallEmpty - amount: 5 - id: CP14EnergyCrystalMediumEmpty - amount: 3 + amount: 5 - id: CP14ManaOperationGlove amount: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml index dcd5c82e48..57e390647e 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml @@ -48,26 +48,6 @@ proto: CP14SpellScrollBeerCreation count: 1 -- type: storePositionSell - id: CP14EnergyCrystalSmallEmpty - special: true - price: 70 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14EnergyCrystalSmallEmpty - count: 5 - -- type: storePositionSell - id: CP14EnergyCrystalMediumEmpty - special: true - price: 80 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14EnergyCrystalMediumEmpty - count: 3 - - type: storePositionSell id: CP14ClothingRingIceShards special: true diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml index ccd5d48f87..642b81a6b7 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml @@ -100,7 +100,7 @@ - id: CP14BaseLightCrossbow - id: CP14CrossboltIron amount: 5 - - id: CP14EnergyCrystalSmall + - id: CP14EnergyCrystalMedium - id: CP14CrystalLampBlueEmpty - type: entity @@ -118,7 +118,7 @@ - id: CP14BaseShield - id: CP14ModularGripIronLongGuard amount: 2 - - id: CP14EnergyCrystalSmall + - id: CP14EnergyCrystalMedium - id: CP14CrystalLampBlueEmpty - id: CP14StampGuardCommander diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml index a4c7a4bad9..853a00cb4c 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml @@ -75,7 +75,7 @@ - id: CP14CrystalLampBlueEmpty - id: CP14CrystalLampOrangeEmpty - id: CP14Rope - - id: CP14EnergyCrystalSmall + - id: CP14EnergyCrystalMediumEmpty - id: CP14d20Dice - id: CP14d6Dice - id: CP14CopperCoin5 diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml index 20774dfad2..5d630cc192 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/fire.yml @@ -64,8 +64,6 @@ - id: CP14FoodMeatLambCutletCooked - id: CP14ModularInlayQuartzFire - id: CP14CopperCoin1 - - id: CP14CrystalShardFire - weight: 3 - type: entity id: CP14AreaEntityEffectSlimeIgnite diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml index b593e16fd6..e6273e1723 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/ice.yml @@ -77,8 +77,6 @@ - id: CP14Snowball - id: CP14CopperCoin1 - id: CP14ModularInlayQuartzWater - - id: CP14CrystalShardWater - weight: 3 - type: entity id: CP14AreaEntityEffectSlimeFroze diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml b/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml index 34356abd6c..c0879d7be3 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml @@ -1,13 +1,12 @@ - type: entity id: CP14Wheat - parent: ProduceBase + parent: BaseItem name: wheat bushel description: You have the choice of either planting the grains again or grinding them into flour. categories: [ ForkFiltered ] components: - type: Item size: Tiny - - type: Produce - type: Sprite sprite: _CP14/Objects/Flora/Farm/wheat.rsi layers: @@ -22,3 +21,27 @@ tags: - CP14Wheat - CP14FarmFood + +- type: entity + id: CP14Cotton + parent: BaseItem + name: cotton + description: A plant raw fiber used to make cotton fabric. + categories: [ ForkFiltered ] + components: + - type: Item + size: Tiny + - type: Sprite + sprite: _CP14/Objects/Flora/Farm/cotton.rsi + layers: + - state: base1 + map: ["random"] + - type: RandomSprite + available: + - random: + base1: "" + base2: "" + base3: "" + - type: Tag + tags: + - CP14FarmFood diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml new file mode 100644 index 0000000000..a6899ee95a --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml @@ -0,0 +1,29 @@ +- type: entity + id: CP14CrystalShardQuartz + parent: BaseItem + name: quartz shard + description: Natural quartz crystals that can absorb the magical energy of the world around them. + categories: [ ForkFiltered ] + components: + - type: Tag + tags: + - CP14FitInMortar + - type: Item + size: Tiny + - type: Sprite + sprite: _CP14/Structures/Flora/Crystal/crystal_shard.rsi + layers: + - state: shard0 + map: ["random"] + - type: RandomSprite + available: + - random: + shard0: "" + shard1: "" + shard2: "" + shard3: "" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: CP14GroundQuartz + Quantity: 7 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml index 3e4ce201a0..3929a26da7 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Farming/seeds.yml @@ -100,3 +100,16 @@ - state: sage - type: CP14Seed plantProto: CP14PlantSage + +- type: entity + id: CP14SeedCotton + name: cotton seeds + description: Cotton seeds. It's time to grow some pants! + parent: CP14BaseSeed + components: + - type: Sprite + layers: + - state: bag + - state: cotton + - type: CP14Seed + plantProto: CP14PlantCotton diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml index 69de76e142..2225795c23 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml @@ -13,60 +13,19 @@ - type: CP14MagicEnergyContainer - type: CP14MagicEnergyExaminable -- type: entity - id: CP14EnergyCrystalSmall - parent: CP14EnergyCrystalBase - name: small energyshard - suffix: Full - components: - - type: Sprite - layers: - - state: small1 - shader: unshaded - map: ["random"] - - state: small_connector - - type: RandomSprite - available: - - random: - small1: "" - small2: "" - small3: "" - - type: CP14MagicEnergyContainer - energy: 30 - maxEnergy: 30 - -- type: entity - id: CP14EnergyCrystalSmallEmpty - parent: CP14EnergyCrystalSmall - suffix: Empty - components: - - type: CP14MagicEnergyContainer - energy: 0 - - - type: entity id: CP14EnergyCrystalMedium parent: CP14EnergyCrystalBase name: energyshard suffix: Full components: - - type: PointLight - radius: 1.2 - type: Sprite layers: - - state: medium1 - shader: unshaded - map: ["random"] + - state: medium - state: medium_connector - - type: RandomSprite - available: - - random: - medium1: "" - medium2: "" - medium3: "" - type: CP14MagicEnergyContainer - energy: 100 - maxEnergy: 100 + energy: 50 + maxEnergy: 50 - type: entity id: CP14EnergyCrystalMediumEmpty diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml b/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml index 15349e4887..d46d2b3f15 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml @@ -1,6 +1,8 @@ - type: entity id: CP14Torch - parent: BaseItem + parent: + - BaseItem + - CP14BaseTorch name: torch description: At its core, a stick burning on one side. Used to light up the area. categories: [ ForkFiltered ] @@ -15,30 +17,6 @@ shape: - 0,0,0,2 storedRotation: -65 - - type: CP14FlammableAmbientSound - - type: AmbientSound - enabled: false - volume: -5 - range: 5 - sound: - path: /Audio/Ambience/Objects/fireplace.ogg - - type: Appearance - - type: Reactive - groups: - Flammable: [ Touch ] - Extinguish: [ Touch ] - - type: Flammable - fireSpread: false - canResistFire: false - alwaysCombustible: true - canExtinguish: true - firestacksOnIgnite: 0.5 - damage: - types: - Heat: 0 - - type: CP14Fireplace - maxFuelLimit: 200 - fuel: 200 - type: FireVisuals sprite: _CP14/Objects/Tools/torch.rsi normalState: lit-overlay @@ -58,17 +36,6 @@ Empty: { state: torch-spent } Medium: { state: torch-unlit } Full: { state: torch-unlit } - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Wood - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - type: CP14DelayedIgnitionSource - type: CP14IgnitionModifier hideCaution: true @@ -86,7 +53,7 @@ - type: UseDelay - type: ExtinguishOnInteract extinguishAttemptSound: - path: /Audio/Items/candle_blowing.ogg #TODO sound + path: /Audio/Items/candle_blowing.ogg params: variation: 0.05 volume: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ritual_describer.yml b/Resources/Prototypes/_CP14/Entities/Objects/ritual_describer.yml deleted file mode 100644 index 073d55a3c8..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/ritual_describer.yml +++ /dev/null @@ -1,25 +0,0 @@ -- type: entity - parent: BookBase - id: CP14RitualGrimoire - name: ritualist's grimoire - description: a book that holds the knowledge of hundreds of ritualists before you. Use it on an active ritual to get all the information about its current state. - categories: [ ForkFiltered ] - components: - - type: Sprite - sprite: Objects/Misc/books.rsi - layers: - - state: paper - - state: cover_old - color: "#a6161d" - - state: decor_bottom - color: "#6e1022" - - state: decor_wingette - color: "#4a101b" - - state: icon_pentagramm - color: "#911129" - - state: detail_bookmark - color: red - - type: CP14PaperPhaseDescriber - startPhase: CP14_NeutralCluster_Root - hyperlinks: - - CP14_NeutralCluster_Root \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Ritual/Graph/neutral_cluster.yml b/Resources/Prototypes/_CP14/Entities/Ritual/Graph/neutral_cluster.yml deleted file mode 100644 index 3b24ea224e..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Ritual/Graph/neutral_cluster.yml +++ /dev/null @@ -1,55 +0,0 @@ -- type: entity - parent: CP14BaseRitualPhase - abstract: true - id: CP14_NeutralCluster_Base - components: - - type: CP14MagicRitualPhase - phaseColor: "#FFFFFF" - - type: ActiveListener - range: 3 - -- type: entity - parent: CP14_NeutralCluster_Base - id: CP14_NeutralCluster_Root - name: Te-Se-Ra - description: The perfect energetic position to begin any ritual. - categories: [ HideSpawnMenu ] - components: - - type: CP14MagicRitualPhase - edges: - - target: CP14_NeutralCluster_00 - triggers: - - !type:CP14SacrificeWhitelistTrigger - whitelist: - components: - - MobState - whitelistDesc: cp14-ritual-category-all-living - -- type: entity - parent: CP14_NeutralCluster_Base - id: CP14_NeutralCluster_00 - name: Li-Ra - categories: [ HideSpawnMenu ] - components: - - type: CP14MagicRitualPhase - edges: - - target: CP14RitualEnd - triggers: - - !type:CP14VoiceTrigger - message: "Vespere nebula" - actions: - - !type:ApplyEntityEffect - maxEntities: 3 - vfx: CP14ImpactEffectCureWounds - whitelist: - components: - - HumanoidAppearance - effects: - - !type:HealthChange - damage: - types: - Asphyxiation: -50 - Bloodloss: -10 - - !type:ModifyBleedAmount - - !type:ModifyBloodLevel - - !type:Jitter \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Ritual/basic.yml b/Resources/Prototypes/_CP14/Entities/Ritual/basic.yml deleted file mode 100644 index 294083e95b..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Ritual/basic.yml +++ /dev/null @@ -1,23 +0,0 @@ -- type: entity - id: CP14BaseRitualPhase - abstract: true - components: - - type: CP14MagicRitualPhase - - type: Tag - tags: - - HideContextMenu - - type: PointLight - - type: EmitSoundOnSpawn - sound: - path: /Audio/Effects/tesla_consume.ogg - params: - variation: 0.3 - -- type: entity - parent: CP14BaseRitualPhase - id: CP14RitualEnd - name: end of ritual - categories: [ HideSpawnMenu ] - components: - - type: CP14MagicRitualPhase - deadEnd: true \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Ritual/orbs.yml b/Resources/Prototypes/_CP14/Entities/Ritual/orbs.yml deleted file mode 100644 index 7081a34043..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Ritual/orbs.yml +++ /dev/null @@ -1,39 +0,0 @@ -- type: entity - id: CP14BaseRitualOrb - abstract: true - components: - - type: Transform - - type: Physics - canCollide: false - - type: Sprite - sprite: _CP14/Effects/Magic/ritual_orbs.rsi - drawDepth: Mobs - noRot: true - -#- type: entity -# parent: CP14BaseRitualOrb -# id: CP14RitualOrbCreation -# name: creation orb -# categories: [ HideSpawnMenu] -# components: -# - type: CP14MagicRitualOrb -# powers: -# Creation: 1 -# - type: Sprite -# layers: -# - state: creation -# shader: unshaded -# -#- type: entity -# parent: CP14BaseRitualOrb -# id: CP14RitualOrbDestruction -# name: destruction orb -# categories: [ HideSpawnMenu] -# components: -# - type: CP14MagicRitualOrb -# powers: -# Destruction: 1 -# - type: Sprite -# layers: -# - state: destruction -# shader: unshaded \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Decorations/statues.yml b/Resources/Prototypes/_CP14/Entities/Structures/Decorations/statues.yml index fd05c1b2e8..b31f540030 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Decorations/statues.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Decorations/statues.yml @@ -11,10 +11,6 @@ sprite: _CP14/Structures/Decoration/statue_gob.rsi layers: - state: gob - - state: eyes - map: ["ritual"] - visible: false - shader: unshaded - state: wire map: ["wire"] visible: false @@ -55,8 +51,6 @@ CP14StoneBlock1: min: 4 max: 5 - - type: CP14MagicRitual - startPhase: CP14_NeutralCluster_Root - type: Appearance - type: HolidayVisuals holidays: @@ -82,10 +76,6 @@ - type: Sprite layers: - state: gob_vines - - state: eyes - map: ["ritual"] - visible: false - shader: unshaded - state: wire map: ["wire"] visible: false @@ -102,10 +92,6 @@ - type: Sprite layers: - state: gob_ruined - - state: eyes - map: ["ritual"] - visible: false - shader: unshaded - state: wire map: ["wire"] visible: false @@ -122,10 +108,6 @@ - type: Sprite layers: - state: gob_ruined_vines - - state: eyes - map: ["ritual"] - visible: false - shader: unshaded - state: wire map: ["wire"] visible: false @@ -146,10 +128,6 @@ sprite: _CP14/Structures/Decoration/angel_statue.rsi layers: - state: statue1 - - state: glow - map: ["ritual"] - visible: false - shader: unshaded drawdepth: Mobs offset: "0.0,0.5" - type: Fixtures @@ -184,8 +162,6 @@ CP14StoneBlock1: min: 4 max: 5 - - type: CP14MagicRitual - startPhase: CP14_NeutralCluster_Root - type: Appearance - type: entity @@ -196,10 +172,6 @@ - type: Sprite layers: - state: statue2 - - state: glow - map: ["ritual"] - visible: false - shader: unshaded - type: entity id: CP14StatueAngelLimestone @@ -209,10 +181,6 @@ - type: Sprite layers: - state: statue3 - - state: glow - map: ["ritual"] - visible: false - shader: unshaded - type: entity id: CP14StatueStoneHeadHigh diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml index 1a2548c97b..79aa6da757 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml @@ -68,7 +68,7 @@ # Normal - type: entity - id: CP14CrystalEmpty + id: CP14CrystalQuartz suffix: Normal parent: CP14CrystalBase components: @@ -89,171 +89,8 @@ collection: GlassBreak - !type:SpawnEntitiesBehavior spawn: - CP14CrystalShardBase: + CP14CrystalShardQuartz: min: 1 max: 2 - - !type:TriggerBehavior - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: CP14CrystalEarth - parent: CP14CrystalBase - suffix: Terra - components: - - type: PointLight - color: "#70533f" - - type: Sprite - color: "#70533f" - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - CP14CrystalShardEarth: - min: 1 - max: 2 - - !type:TriggerBehavior - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: CP14CrystalFire - parent: CP14CrystalBase - suffix: Ignis - components: - - type: PointLight - color: "#d9741c" - - type: Sprite - color: "#d9741c" - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - CP14CrystalShardFire: - min: 1 - max: 2 - - !type:TriggerBehavior - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: CP14CrystalWater - parent: CP14CrystalBase - suffix: Aqua - components: - - type: PointLight - color: "#1c94d9" - - type: Sprite - color: "#1c94d9" - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - CP14CrystalShardWater: - min: 1 - max: 2 - - !type:TriggerBehavior - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: CP14CrystalAir - parent: CP14CrystalBase - suffix: Aer - components: - - type: PointLight - color: "#fdfe86" - - type: Sprite - color: "#fdfe86" - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - CP14CrystalShardAir: - min: 1 - max: 2 - - !type:TriggerBehavior - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: CP14CrystalOrder - parent: CP14CrystalBase - suffix: Ordo - components: - - type: PointLight - color: "#d9d9d9" - - type: Sprite - color: "#d9d9d9" - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - CP14CrystalShardOrder: - min: 1 - max: 2 - - !type:TriggerBehavior - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - id: CP14CrystalChaos - parent: CP14CrystalBase - suffix: Perditio - components: - - type: PointLight - color: "#5c5c5c" - - type: Sprite - color: "#5c5c5c" - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:SpawnEntitiesBehavior - spawn: - CP14CrystalShardChaos: - min: 1 - max: 2 - - !type:TriggerBehavior - - !type:DoActsBehavior - acts: [ "Destruction" ] + acts: [ "Destruction" ] \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml deleted file mode 100644 index 119b66061b..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml +++ /dev/null @@ -1,102 +0,0 @@ -- type: entity - id: CP14CrystalShardBase - parent: BaseItem - name: quartz shard - description: Natural quartz crystals that can absorb the magical energy of the world around them. - categories: [ ForkFiltered ] - components: - - type: Tag - tags: - - CP14FitInMortar - - type: Item - size: Tiny - - type: Sprite - sprite: _CP14/Structures/Flora/Crystal/crystal_shard.rsi - layers: - - state: shard0 - map: ["random"] - - type: RandomSprite - available: - - random: - shard0: "" - shard1: "" - shard2: "" - shard3: "" - - type: Extractable - juiceSolution: - reagents: - - ReagentId: CP14GroundQuartz - Quantity: 7 - -- type: entity - parent: CP14CrystalShardBase - id: CP14CrystalShardEarth - name: terra quartz shard - components: - - type: Sprite - color: "#70533f" - - type: CP14MagicEssenceContainer - essences: - Earth: 3 - Crystal: 1 - -- type: entity - parent: CP14CrystalShardBase - id: CP14CrystalShardFire - name: ignis quartz shard - components: - - type: Sprite - color: "#d9741c" - - type: CP14MagicEssenceContainer - essences: - Fire: 3 - Crystal: 1 - -- type: entity - parent: CP14CrystalShardBase - id: CP14CrystalShardWater - name: aqua quartz shard - components: - - type: Sprite - color: "#1c94d9" - - type: CP14MagicEssenceContainer - essences: - Water: 3 - Crystal: 1 - -- type: entity - parent: CP14CrystalShardBase - id: CP14CrystalShardAir - name: aer quartz shard - components: - - type: Sprite - color: "#fdfe86" - - type: CP14MagicEssenceContainer - essences: - Air: 3 - Crystal: 1 - -- type: entity - parent: CP14CrystalShardBase - id: CP14CrystalShardOrder - name: ordo quartz shard - components: - - type: Sprite - color: "#d9d9d9" - - type: CP14MagicEssenceContainer - essences: - Order: 3 - Crystal: 1 - -- type: entity - parent: CP14CrystalShardBase - id: CP14CrystalShardChaos - name: perditio quartz shard - components: - - type: Sprite - color: "#5c5c5c" - - type: CP14MagicEssenceContainer - essences: - Chaos: 3 - Crystal: 1 - diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/cotton.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/cotton.yml new file mode 100644 index 0000000000..85ceb87ee2 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Gatherable/Farm/cotton.yml @@ -0,0 +1,26 @@ +- type: entity + id: CP14PlantCotton + parent: CP14GatherablePlantSingleHarvestBase + name: cotton + description: In a way, you're growing future clothes. + components: + - type: Sprite + offset: 0, 0.5 + drawdepth: Mobs + layers: + - state: liq-1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - state: grow-1 + sprite: _CP14/Structures/Flora/Farm/cotton.rsi + map: ["enum.PlantVisualLayers.Base"] + - type: CP14PlantGatherable + loot: + All: CP14GatherCotton + +- type: entityLootTable + id: CP14GatherCotton + entries: + - id: CP14Cotton + amount: 4 + maxAmount: 6 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/torch.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/torch.yml new file mode 100644 index 0000000000..fd413a0488 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/torch.yml @@ -0,0 +1,184 @@ +- type: entity + id: CP14BaseTorch + abstract: true + description: A good, reliable light source. Too bad it doesn't last. + categories: [ ForkFiltered ] + components: + - type: InteractionOutline + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: CP14FlammableAmbientSound + - type: AmbientSound + enabled: false + volume: -15 + range: 5 + sound: + path: /Audio/Ambience/Objects/fireplace.ogg + - type: Reactive + groups: + Flammable: [ Touch ] + Extinguish: [ Touch ] + - type: Flammable + fireSpread: false + canResistFire: false + alwaysCombustible: true + canExtinguish: true + firestacksOnIgnite: 0.5 + damage: + types: + Heat: 0 + - type: CP14Fireplace + deleteOnEmpty: true + maxFuelLimit: 1800 + fuel: 1800 + - type: Appearance + - type: CP14IgnitionModifier + hideCaution: true + +- type: entity + id: CP14FloorTorch + parent: + - CP14BaseTorch + - BaseStructure + name: floor torch + components: + - type: Sprite + noRot: true + drawdepth: Mobs + sprite: _CP14/Structures/Furniture/torch_floor.rsi + offset: 0, 0.3 + layers: + - state: base + map: ["fuel"] + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + density: 1000 + layer: + - LowImpassable + - MidImpassable + - type: FireVisuals + sprite: _CP14/Structures/Furniture/torch_floor.rsi + normalState: fire + - type: GenericVisualizer + visuals: + enum.FireplaceFuelVisuals.Status: + fuel: + Empty: { state: burned } + Medium: { state: base } + Full: { state: base } + - type: Construction + graph: CP14FloorTorch + node: CP14FloorTorch + +- type: entity + parent: CP14FloorTorch + id: CP14FloorTorchIgnited + suffix: Ignited + components: + - type: CP14AutoIgnite + +- type: entity + id: CP14FloorTorchAlwaysPowered + name: floor torch + parent: BaseStructure + categories: [ ForkFiltered ] + suffix: Debug, Infinite + components: + - type: Sprite + noRot: true + drawdepth: Mobs + sprite: _CP14/Structures/Furniture/torch_floor.rsi + offset: 0, 0.3 + layers: + - state: base + - state: fire + shader: unshaded + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + density: 1000 + layer: + - LowImpassable + - MidImpassable + - type: PointLight + color: "#e67c34" + energy: 2 + radius: 8 + - type: AmbientSound + enabled: true + volume: -15 + range: 5 + sound: + path: /Audio/Ambience/Objects/fireplace.ogg + +- type: entity + id: CP14WallmountTorch + parent: + - CP14BaseTorch + - CP14BaseWallmount + name: wallmount torch + components: + - type: Sprite + sprite: _CP14/Structures/Furniture/wallmount_torch.rsi + layers: + - state: base + map: ["fuel"] + - type: FireVisuals + sprite: _CP14/Structures/Furniture/wallmount_torch.rsi + normalState: fire + - type: GenericVisualizer + visuals: + enum.FireplaceFuelVisuals.Status: + fuel: + Empty: { state: burned } + Medium: { state: base } + Full: { state: base } + - type: Construction + graph: CP14WallmountTorch + node: CP14WallmountTorch + +- type: entity + parent: CP14WallmountTorch + id: CP14WallmountTorchIgnited + suffix: Ignited + components: + - type: CP14AutoIgnite + +- type: entity + id: CP14WallmountTorchAlwaysPowered + name: wallmount torch + parent: CP14BaseWallmount + suffix: Debug, Infinite + components: + - type: Sprite + sprite: _CP14/Structures/Furniture/wallmount_torch.rsi + layers: + - state: base + - state: fire + shader: unshaded + - type: PointLight + color: "#e67c34" + energy: 2 + radius: 8 + - type: AmbientSound + enabled: true + volume: -15 + range: 5 + sound: + path: /Audio/Ambience/Objects/fireplace.ogg \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml index 743744b6b9..c26bbf4e14 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml @@ -15,90 +15,6 @@ - type: Physics canCollide: false -- type: entity - id: CP14WallmountTorch - name: wallmount torch - parent: CP14BaseWallmount - description: A good, reliable light source. Too bad it doesn't last. - components: - - type: Sprite - sprite: _CP14/Structures/Furniture/wallmount_torch.rsi - layers: - - state: base - map: ["fuel"] - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Wood - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 80 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: CP14FlammableAmbientSound - - type: AmbientSound - enabled: false - volume: -15 - range: 5 - sound: - path: /Audio/Ambience/Objects/fireplace.ogg - - type: Reactive - groups: - Flammable: [ Touch ] - Extinguish: [ Touch ] - - type: Flammable - fireSpread: false - canResistFire: false - alwaysCombustible: true - canExtinguish: true - firestacksOnIgnite: 0.5 - damage: - types: - Heat: 0 - - type: CP14Fireplace - maxFuelLimit: 200 - fuel: 200 - - type: FireVisuals - sprite: _CP14/Structures/Furniture/wallmount_torch.rsi - normalState: fire - - type: Appearance - - type: GenericVisualizer - visuals: - enum.FireplaceFuelVisuals.Status: - fuel: - Empty: { state: burned } - Medium: { state: base } - Full: { state: base } - - type: Construction - graph: CP14WallmountTorch - node: CP14WallmountTorch - - type: CP14IgnitionModifier - hideCaution: true - -- type: entity - id: CP14WallmountTorchAlwaysPowered - name: always powered wallmount torch - parent: CP14BaseWallmount - components: - - type: Sprite - sprite: _CP14/Structures/Furniture/wallmount_torch.rsi - layers: - - state: base - - state: fire - shader: unshaded - - type: PointLight - color: "#e67c34" - energy: 2 - radius: 8 - - type: AmbientSound - enabled: true - volume: -15 - range: 5 - sound: - path: /Audio/Ambience/Objects/fireplace.ogg - - type: entity id: CP14WallmountBarShelfA name: bar shelf diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_lamp.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_lamp.yml index 16e70e455a..12d673a6da 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_lamp.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_lamp.yml @@ -22,7 +22,7 @@ - type: PointLight energy: 1 radius: 8 - color: "#b2ceeb" + color: "#dfe7f0" enabled: false - type: Appearance - type: GenericVisualizer @@ -41,14 +41,14 @@ thresholds: - trigger: !type:DamageTrigger - damage: 40 + damage: 20 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] - type: CP14MagicLantern - type: CP14MagicEnergyDraw energy: -0.1 - delay: 6 + delay: 12 - type: Construction graph: CP14WallmountLampEmpty node: CP14WallmountLampEmpty @@ -75,7 +75,7 @@ - type: ItemSlots slots: crystal_slot: - startingItem: CP14EnergyCrystalSmall + startingItem: CP14EnergyCrystalMedium insertSound: path: /Audio/_CP14/Items/crystal_insert.ogg params: diff --git a/Resources/Prototypes/_CP14/Entities/Structures/crystal.yml b/Resources/Prototypes/_CP14/Entities/Structures/crystal.yml deleted file mode 100644 index 2430025711..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Structures/crystal.yml +++ /dev/null @@ -1,135 +0,0 @@ -# Wallmount crystall - -- type: entity - id: CP14WallmountCrystalBase - parent: - - CP14BaseWallmount - abstract: true - name: sparkling quartz - description: bioluminescent quartz crystals that can take on any color - a very handy light source in a deep caves. Unfortunately, the luminous properties are very hard to preserve. - categories: [ ForkFiltered ] - components: - - type: Sprite - drawdepth: Mobs - sprite: _CP14/Structures/Wallmount/wallmount_crystal.rsi - layers: - - state: crystal1 - map: ["random"] - shader: unshaded - - type: MeleeSound - soundGroups: - Brute: - collection: GlassSmash - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Glass - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 80 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger - damage: 20 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "0.49,0.49,-0.49,0.36" - density: 60 - mask: - - MachineMask - layer: - - MidImpassable - - LowImpassable - - type: RandomSprite - available: - - random: - crystal1: Inherit - crystal2: Inherit - crystal3: Inherit - - type: PointLight - radius: 1.5 - energy: 1 - -- type: entity - id: CP14WallmountCrystalRubies - parent: CP14WallmountCrystalBase - suffix: Red - components: - - type: Sprite - color: "#ff3d0b" - - type: RandomSprite - cP14InheritBaseColor: "#ff3d0b" - - type: PointLight - color: "#ff3d0b" - -- type: entity - id: CP14WallmountCrystalTopazes - parent: CP14WallmountCrystalBase - suffix: Yellow - components: - - type: Sprite - color: "#ffe269" - - type: RandomSprite - cP14InheritBaseColor: "#ffe269" - - type: PointLight - color: "#ffe269" - -- type: entity - id: CP14WallmountCrystalEmeralds - parent: CP14WallmountCrystalBase - suffix: Green - components: - - type: Sprite - color: "#30be81" - - type: RandomSprite - cP14InheritBaseColor: "#30be81" - - type: PointLight - color: "#30be81" - -- type: entity - id: CP14WallmountCrystalSapphires - parent: CP14WallmountCrystalBase - suffix: Cyan - components: - - type: Sprite - color: "#5eabeb" - - type: RandomSprite - cP14InheritBaseColor: "#5eabeb" - - type: PointLight - color: "#5eabeb" - -- type: entity - id: CP14WallmountCrystalAmethysts - parent: CP14WallmountCrystalBase - suffix: Purple - components: - - type: Sprite - color: "#a878d1" - - type: RandomSprite - cP14InheritBaseColor: "#a878d1" - - type: PointLight - color: "#a878d1" - -- type: entity - id: CP14WallmountCrystalDiamonds - parent: CP14WallmountCrystalBase - suffix: White - components: - - type: Sprite - color: "#f8f8f8" - - type: RandomSprite - cP14InheritBaseColor: "#f8f8f8" - - type: PointLight - color: "#f8f8f8" \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml index 2082cd9bab..4d5446b23f 100644 --- a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml +++ b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml @@ -1,151 +1,15 @@ - - type: cp14DemiplaneModifier - id: CrystalNormal + id: Quartz levels: min: 1 - max: 3 - generationWeight: 0.1 + max: 8 categories: Reward: 0.1 layers: - !type:OreDunGen tileMask: - CP14FloorBase - entity: CP14CrystalEmpty + entity: CP14CrystalQuartz count: 30 minGroupSize: 1 - maxGroupSize: 5 - -# TIER 2 - -- type: cp14DemiplaneModifier - id: CrystalFire - levels: - min: 4 - max: 10 - generationWeight: 0.1 - categories: - Reward: 0.1 - requiredTags: - - CP14DemiplaneHot - layers: - - !type:OreDunGen - entity: CP14CrystalFire - count: 30 - minGroupSize: 1 - maxGroupSize: 5 - - !type:OreDunGen - entity: CP14EssenceNodeFire - count: 3 - minGroupSize: 1 - maxGroupSize: 1 - -- type: cp14DemiplaneModifier - id: CrystalEarth - levels: - min: 4 - max: 10 - generationWeight: 0.1 - categories: - Reward: 0.1 - requiredTags: - - CP14DemiplaneUnderground - blacklistTags: - - CP14DemiplaneOpenSky - layers: - - !type:OreDunGen - entity: CP14CrystalEarth - count: 30 - minGroupSize: 1 - maxGroupSize: 5 - - !type:OreDunGen - entity: CP14EssenceNodeEarth - count: 3 - minGroupSize: 1 - maxGroupSize: 1 - -- type: cp14DemiplaneModifier - id: CrystalWater - levels: - min: 4 - max: 10 - generationWeight: 0.1 - categories: - Reward: 0.1 - requiredTags: - - CP14DemiplaneWater - layers: - - !type:OreDunGen - entity: CP14CrystalWater - count: 30 - minGroupSize: 1 - maxGroupSize: 5 - - !type:OreDunGen - entity: CP14EssenceNodeWater - count: 3 - minGroupSize: 1 - maxGroupSize: 1 - -- type: cp14DemiplaneModifier - id: CrystalAir - levels: - min: 4 - max: 10 - generationWeight: 0.1 - categories: - Reward: 0.1 - requiredTags: - - CP14DemiplaneOpenSky - blacklistTags: - - CP14DemiplaneUnderground - layers: - - !type:OreDunGen - entity: CP14CrystalAir - count: 30 - minGroupSize: 1 - maxGroupSize: 5 - - !type:OreDunGen - entity: CP14EssenceNodeAir - count: 3 - minGroupSize: 1 - maxGroupSize: 1 - -- type: cp14DemiplaneModifier - id: CrystalOrder - levels: - min: 4 - max: 10 - generationWeight: 0.1 - categories: - Reward: 0.1 - layers: - - !type:OreDunGen - entity: CP14CrystalOrder - count: 30 - minGroupSize: 1 - maxGroupSize: 5 - - !type:OreDunGen - entity: CP14EssenceNodeOrder - count: 3 - minGroupSize: 1 - maxGroupSize: 1 - -- type: cp14DemiplaneModifier - id: CrystalChaos - levels: - min: 4 - max: 10 - generationWeight: 0.1 - categories: - Reward: 0.1 - layers: - - !type:OreDunGen - entity: CP14CrystalChaos - count: 30 - minGroupSize: 1 - maxGroupSize: 5 - - !type:OreDunGen - entity: CP14EssenceNodeChaos - count: 3 - minGroupSize: 1 - maxGroupSize: 1 \ No newline at end of file + maxGroupSize: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml index d8b02a1b6f..f89e28747b 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml @@ -9,10 +9,10 @@ - to: CP14Bonfire steps: - material: CP14Stone - amount: 3 + amount: 2 doAfter: 2 - stackGroup: WoodenPlanks - amount: 2 + amount: 1 doAfter: 2 - node: CP14Bonfire diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/mannequin.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/mannequin.yml index 3e451d18ef..3d359ca282 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/mannequin.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/mannequin.yml @@ -11,7 +11,7 @@ - !type:SnapToGrid { } steps: - stackGroup: WoodenPlanks - amount: 5 + amount: 2 doAfter: 3 - node: CP14mannequin entity: CP14Mannequin @@ -21,7 +21,7 @@ - !type:EmptyAllContainers - !type:SpawnPrototype prototype: CP14WoodenPlanks1 - amount: 5 + amount: 2 steps: - tool: CP14Hammering doAfter: 3 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml index 741908c9df..9a8e185606 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml @@ -9,7 +9,7 @@ - to: CP14WallmountOrdersBorder steps: - stackGroup: WoodenPlanks - amount: 3 + amount: 1 doAfter: 3 - node: CP14WallmountOrdersBorder diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Wallmount/lighting.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Furniture/lighting.yml similarity index 61% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Wallmount/lighting.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Furniture/lighting.yml index 0cd8ae795b..471ffd24d1 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Wallmount/lighting.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Furniture/lighting.yml @@ -9,8 +9,8 @@ - to: CP14WallmountTorch steps: - stackGroup: WoodenPlanks - amount: 3 - doAfter: 3 + amount: 1 + doAfter: 1 - material: CP14Cloth amount: 1 doAfter: 1 @@ -18,6 +18,26 @@ - node: CP14WallmountTorch entity: CP14WallmountTorch +- type: constructionGraph + id: CP14FloorTorch + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14FloorTorch + steps: + - stackGroup: WoodenPlanks + amount: 1 + doAfter: 1 + - material: CP14Cloth + amount: 1 + doAfter: 1 + + - node: CP14FloorTorch + entity: CP14FloorTorch + - type: constructionGraph id: CP14WallmountLampEmpty start: start diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/structures.yml b/Resources/Prototypes/_CP14/Recipes/Construction/structures.yml index 6407c816a1..de8c7fd797 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/structures.yml @@ -9,7 +9,7 @@ category: construction-category-structures icon: sprite: _CP14/Structures/Furniture/wallmount_torch.rsi - state: fire + state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -18,6 +18,24 @@ - !type:TileNotBlocked - !type:CP14WallRequired +- type: construction + crystallPunkAllowed: true + name: floor torch + description: A good, reliable light source. Too bad it doesn't last. + id: CP14FloorTorch + graph: CP14FloorTorch + startNode: start + targetNode: CP14FloorTorch + category: construction-category-structures + icon: + sprite: _CP14/Structures/Furniture/torch_floor.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction crystallPunkAllowed: true name: crystal wall lamp diff --git a/Resources/Prototypes/_CP14/Recipes/Crafting/Graphs/improvised/torch.yml b/Resources/Prototypes/_CP14/Recipes/Crafting/Graphs/improvised/torch.yml index 9968fae8ac..f89cb8853a 100644 --- a/Resources/Prototypes/_CP14/Recipes/Crafting/Graphs/improvised/torch.yml +++ b/Resources/Prototypes/_CP14/Recipes/Crafting/Graphs/improvised/torch.yml @@ -7,7 +7,7 @@ - to: cp14torch steps: - material: CP14WoodenPlanks - amount: 3 + amount: 1 - material: CP14Cloth amount: 1 doAfter: 4 diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml index 66adfe0f97..e13188f5a7 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml @@ -288,3 +288,16 @@ count: 1 result: CP14LockMithril +- type: CP14Recipe + id: CP14EnergyCrystalMediumEmpty + tag: CP14RecipeAnvil + category: Tools + craftTime: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14CrystalShardQuartz + count: 1 + - !type:StackResource + stack: CP14CopperBar + count: 1 + result: CP14EnergyCrystalMediumEmpty \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml index 2f51e7e5c6..1e6355b4b4 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml @@ -60,7 +60,7 @@ protoId: CP14FoodPepper count: 1 result: CP14SeedPepper - resultCount: 3 + resultCount: 2 - type: CP14Recipe id: CP14SeedSage @@ -71,4 +71,15 @@ protoId: CP14WildSage count: 1 result: CP14SeedSage - resultCount: 1 + resultCount: 2 + +- type: CP14Recipe + id: CP14SeedCotton + tag: CP14RecipeCooking + craftTime: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14Cotton + count: 1 + result: CP14SeedCotton + resultCount: 2 diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml index 3260bc9185..a7e42aa549 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml @@ -159,7 +159,7 @@ - !type:StackGroupResource group: WoodenPlanks - !type:ProtoIdResource - protoId: CP14CrystalShardBase + protoId: CP14CrystalShardQuartz result: CP14CrayonWhite - type: CP14Recipe diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml index 3ada6f8d61..50b51f8f31 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -41,10 +41,11 @@ - type: CP14Recipe id: CP14GlassSheet1 tag: CP14RecipeMeltingFurnace - craftTime: 4 + craftTime: 2 requirements: - !type:ProtoIdResource - protoId: CP14CrystalShardBase + protoId: CP14CrystalShardQuartz + count: 1 result: CP14GlassSheet1 - type: CP14Recipe diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml index 1c9d132818..1b0d866d6b 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml @@ -1,3 +1,13 @@ +- type: CP14Recipe + id: CP14ClothMaterialCotton + tag: CP14RecipeSewing + craftTime: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14Cotton + count: 2 + result: CP14Cloth1 + - type: CP14Recipe id: CP14ClothingShirtCottonBlue tag: CP14RecipeSewing diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/alchemist.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/alchemist.yml index 6ab2949431..865f259a98 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/alchemist.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/alchemist.yml @@ -19,8 +19,8 @@ id: CP14AlchemistGear storage: back: - - CP14EnergyCrystalSmall - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium + - CP14EnergyCrystalMedium equipment: belt1: CP14WalletFilledTest keys: CP14KeyRingAlchemist diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/apprentice.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/apprentice.yml index 51bf92b2b1..8fb12ea307 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/apprentice.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/apprentice.yml @@ -11,8 +11,8 @@ id: CP14ApprenticeGear storage: back: - - CP14EnergyCrystalSmall - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium + - CP14EnergyCrystalMedium equipment: keys: CP14BaseKeyRing belt1: CP14WalletFilledTest \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/blacksmith.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/blacksmith.yml index 774a0d5c2f..8126c96418 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/blacksmith.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/blacksmith.yml @@ -15,8 +15,8 @@ id: CP14BlacksmithGear storage: back: - - CP14EnergyCrystalSmall - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium + - CP14EnergyCrystalMedium equipment: belt1: CP14WalletFilledTest keys: CP14KeyRingBlacksmith \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/innkeeper.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/innkeeper.yml index a5aa1ad380..3ce1ff25e1 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/innkeeper.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Artisan/innkeeper.yml @@ -11,7 +11,7 @@ id: CP14InnkeeperGear storage: back: - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium equipment: belt1: CP14WalletFilledTest keys: CP14KeyRingInnkeeper \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml index 14409b1eec..851bfa2af1 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/adventurer.yml @@ -11,8 +11,8 @@ id: CP14AdventurerGear storage: back: - - CP14EnergyCrystalSmall - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium + - CP14EnergyCrystalMedium equipment: keys: CP14BaseKeyRing belt1: CP14WalletFilledTest \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml index bcdb613c54..3dfd695627 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml @@ -29,7 +29,7 @@ id: CP14GuildmasterGear storage: back: - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium equipment: belt1: CP14WalletFilledTest keys: CP14KeyRingGuildmaster diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml index 93e6824b18..bb139cb541 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml @@ -14,8 +14,8 @@ id: CP14MerchantGear storage: back: - - CP14EnergyCrystalSmall - - CP14EnergyCrystalSmall + - CP14EnergyCrystalMedium + - CP14EnergyCrystalMedium equipment: belt1: CP14WalletFilledTest keys: CP14KeyRingMerchant \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml index 5d8588b604..787ab25db9 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml @@ -19,14 +19,6 @@ - - - - - - - - Most "raw" ingredients can first be ground using a mortar and pestle: diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml index 7ee910b2ee..78789197ca 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml @@ -19,14 +19,6 @@ - - - - - - - - Большая часть таких "сырых" ингредиентов может быть сначала измельчена при помощи пестика и ступки: diff --git a/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base1.png b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base1.png new file mode 100644 index 0000000000..5ec1b0cbf8 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base1.png differ diff --git a/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base2.png b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base2.png new file mode 100644 index 0000000000..ea26b17ad8 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base2.png differ diff --git a/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base3.png b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base3.png new file mode 100644 index 0000000000..3e0e13aa0b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/base3.png differ diff --git a/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/meta.json b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/meta.json new file mode 100644 index 0000000000..99aa81d9f2 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Flora/Farm/cotton.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by TheShuEd", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base1" + }, + { + "name": "base2" + }, + { + "name": "base3" + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/cotton.png b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/cotton.png new file mode 100644 index 0000000000..01b89b504c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/cotton.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/meta.json index fe47cdd106..d94ecef9a5 100644 --- a/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Specific/Farming/seeds.rsi/meta.json @@ -39,6 +39,9 @@ }, { "name": "sage" + }, + { + "name": "cotton" } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium.png new file mode 100644 index 0000000000..94e26d9d33 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium1.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium1.png deleted file mode 100644 index 7de9fc37f2..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium1.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium2.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium2.png deleted file mode 100644 index 2b5935848a..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium3.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium3.png deleted file mode 100644 index 87a74db46f..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium3.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium_connector.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium_connector.png index f7d2f44e4c..179cea0e25 100644 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium_connector.png and b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium_connector.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/meta.json index 62c74e8f0b..265b8b03ba 100644 --- a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/meta.json @@ -5,28 +5,10 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Created by TheShuEd (Github) ", + "copyright": "Created by TheShuEd (Github)", "states": [ { - "name": "small1" - }, - { - "name": "small2" - }, - { - "name": "small3" - }, - { - "name": "small_connector" - }, - { - "name": "medium1" - }, - { - "name": "medium2" - }, - { - "name": "medium3" + "name": "medium" }, { "name": "medium_connector" diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small1.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small1.png deleted file mode 100644 index 480755d599..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small1.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small2.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small2.png deleted file mode 100644 index 0165769c62..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small3.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small3.png deleted file mode 100644 index f2939d1c9f..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small3.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small_connector.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small_connector.png deleted file mode 100644 index c6209173e0..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/small_connector.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-1.png b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-1.png new file mode 100644 index 0000000000..b365150f31 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-1.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-2.png b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-2.png new file mode 100644 index 0000000000..a6708bd52d Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-2.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-3.png b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-3.png new file mode 100644 index 0000000000..e5c2817c4c Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-3.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-4.png b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-4.png new file mode 100644 index 0000000000..1ab58ba75f Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-4.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-5.png b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-5.png new file mode 100644 index 0000000000..7e224eeb23 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-5.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-6.png b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-6.png new file mode 100644 index 0000000000..9eeb5ca5dd Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/grow-6.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/meta.json b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/meta.json new file mode 100644 index 0000000000..205c4b691c --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Flora/Farm/cotton.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by omsoyk (Discord)", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "grow-1" + }, + { + "name": "grow-2" + }, + { + "name": "grow-3" + }, + { + "name": "grow-4" + }, + { + "name": "grow-5" + }, + { + "name": "grow-6" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/base.png b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/base.png new file mode 100644 index 0000000000..51149cbfc8 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/burned.png b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/burned.png new file mode 100644 index 0000000000..80ceba9654 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/burned.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/fire.png b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/fire.png new file mode 100644 index 0000000000..75efd507e7 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/fire.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/meta.json new file mode 100644 index 0000000000..1c6a3d47ef --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Furniture/torch_floor.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "All right reserved", + "copyright": "Created by TheShuEd, fire sprite from Agoichi", + "size": { + "x": 32, + "y": 48 + }, + "states": [ + { + "name": "base" + }, + { + "name": "fire", + "delays": [ + [ + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "burned" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Wallmount/TODO - DELETE THIS WALLMOUNT FOLDER.txt b/Resources/Textures/_CP14/Structures/Wallmount/TODO - DELETE THIS WALLMOUNT FOLDER.txt new file mode 100644 index 0000000000..d25dd3fcec --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Wallmount/TODO - DELETE THIS WALLMOUNT FOLDER.txt @@ -0,0 +1 @@ +Эта папка не должна существовать, все ее содержимое должно быть разбросано по другим папкам. Картины - декорации, полки - фурнитура. \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_32icon.rsi/meta.json b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_32icon.rsi/meta.json deleted file mode 100644 index 337ed2a261..0000000000 --- a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_32icon.rsi/meta.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd (Github) ", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "torch" - } - ] -} diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_32icon.rsi/torch.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_32icon.rsi/torch.png deleted file mode 100644 index 542701e6cf..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_32icon.rsi/torch.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal1.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal1.png deleted file mode 100644 index 9835d85bd1..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal1.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal2.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal2.png deleted file mode 100644 index 3d0a8d3840..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal3.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal3.png deleted file mode 100644 index 36e0bc53f0..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal3.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/meta.json b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/meta.json deleted file mode 100644 index 34f9974994..0000000000 --- a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/meta.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "version": 1, - "license": "All right reserved", - "copyright": "By TheShuEd", - "size": { - "x": 32, - "y": 96 - }, - "states": [ - { - "name": "crystal1", - "directions": 4 - }, - { - "name": "crystal2", - "directions": 4 - }, - { - "name": "crystal3", - "directions": 4 - } - ] -} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards.png deleted file mode 100644 index f82732c05f..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards2.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards2.png deleted file mode 100644 index 0ed914e480..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards3.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards3.png deleted file mode 100644 index bf82782525..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards3.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards4.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards4.png deleted file mode 100644 index 5cafb12731..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards4.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/meta.json b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/meta.json deleted file mode 100644 index 57d539a1e6..0000000000 --- a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/meta.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "version": 1, - "license": "All right reserved", - "copyright": "By jaraten(discord), modified by TheShuEd", - "size": { - "x": 32, - "y": 96 - }, - "states": [ - { - "name": "boards", - "directions": 4 - }, - { - "name": "boards2", - "directions": 4 - }, - { - "name": "boards3", - "directions": 4 - }, - { - "name": "boards4", - "directions": 4 - }, - { - "name": "web", - "directions": 4 - }, - { - "name": "web2", - "directions": 4 - }, - { - "name": "web3", - "directions": 4 - }, - { - "name": "vines", - "directions": 4 - } - ] -} diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/vines.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/vines.png deleted file mode 100644 index edaafd48b6..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/vines.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web.png deleted file mode 100644 index c2706184db..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web2.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web2.png deleted file mode 100644 index a9acbb8e89..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web3.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web3.png deleted file mode 100644 index ddfb3ca564..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web3.png and /dev/null differ diff --git a/Resources/migration.yml b/Resources/migration.yml index 44d4f2b13f..453e6a8ccd 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -147,29 +147,6 @@ CP14PlateIron: CP14Plate CP14BaseLightHammer: CP14ModularIronHammer CP14BaseBattleHammer: CP14ModularIronHammer -#2025-28-01 -CP14CrystalRubiesSmall: CP14CrystalFire -CP14CrystalRubiesMedium: CP14CrystalFire -CP14CrystalRubiesBig: CP14CrystalFire -CP14CrystalTopazesSmall: CP14CrystalAir -CP14CrystalTopazesMedium: CP14CrystalAir -CP14CrystalTopazesBig: CP14CrystalAir -CP14CrystalEmeraldsSmall: CP14CrystalOrder -CP14CrystalEmeraldsMedium: CP14CrystalOrder -CP14CrystalEmeraldsBig: CP14CrystalOrder -CP14CrystalSapphiresSmall: CP14CrystalWater -CP14CrystalSapphiresMedium: CP14CrystalWater -CP14CrystalSapphiresBig: CP14CrystalWater -CP14CrystalAmethystsSmall: CP14CrystalChaos -CP14CrystalAmethystsMedium: CP14CrystalChaos -CP14CrystalAmethystsBig: CP14CrystalChaos -CP14CrystalDiamondsSmall: CP14CrystalAir -CP14CrystalDiamondsMedium: CP14CrystalAir -CP14CrystalDiamondsBig: CP14CrystalAir - -CP14QuartzCrystal: CP14CrystalEmpty -CP14QuartzShard: CP14CrystalShardBase - #2025-30-01 CP14OreCopper: CP14OreCopper1 CP14OreIron: CP14OreIron1 @@ -199,34 +176,6 @@ CP14Crossbolt: CP14CrossboltIron #2025-26-02 CP14BookImperialLawsHandBook: CP14GuidebookImperialLaws -#2025-28-02 -CP14CrystalSmall: CP14CrystalEmpty -CP14CrystalMedium: CP14CrystalEmpty -CP14CrystalBig: CP14CrystalEmpty -CP14CrystalElementalWaterSmall: CP14CrystalWater -CP14CrystalElementalWaterMedium: CP14CrystalWater -CP14CrystalElementalWaterBig: CP14CrystalWater -CP14CrystalElementalHealingSmall: CP14CrystalOrder -CP14CrystalElementalHealingMedium: CP14CrystalOrder -CP14CrystalElementalHealingBig: CP14CrystalOrder -CP14CrystalElementalFireSmall: CP14CrystalFire -CP14CrystalElementalFireMedium: CP14CrystalFire -CP14CrystalElementalFireBig: CP14CrystalFire -CP14CrystalElementalLightSmall: CP14CrystalAir -CP14CrystalElementalLightMedium: CP14CrystalAir -CP14CrystalElementalLightBig: CP14CrystalAir -CP14CrystalElementalElectricSmall: CP14CrystalAir -CP14CrystalElementalElectricMedium: CP14CrystalAir -CP14CrystalElementalElectricBig: CP14CrystalAir -CP14CrystalElementalDarknessSmall: CP14CrystalChaos -CP14CrystalElementalDarknessMedium: CP14CrystalChaos -CP14CrystalElementalDarknessBig: CP14CrystalChaos - -CP14CrystalShardHealing: CP14CrystalShardOrder -CP14CrystalShardLight: CP14CrystalShardAir -CP14CrystalShardElectric: CP14CrystalShardAir -CP14CrystalShardDarkness: CP14CrystalShardChaos - CP14AlchemyNormalizer: CP14AlchemySolutionCleaner CP14VialSmallBloodFlowerSap: CP14VialSmall CP14VialSmallAgaricMushroom: CP14VialSmall @@ -337,6 +286,32 @@ CP14Nail1: null CP14Nail20: null CP14Nail50: null +CP14WallmountCrystalDiamonds: null +CP14WallmountCrystalAmethysts: null +CP14WallmountCrystalSapphires: null +CP14WallmountCrystalEmeralds: null +CP14WallmountCrystalTopazes: null +CP14WallmountCrystalRubies: null + +CP14CrystalShardBase: CP14CrystalShardQuartz +CP14CrystalShardChaos: CP14CrystalShardQuartz +CP14CrystalShardEarth: CP14CrystalShardQuartz +CP14CrystalShardFire: CP14CrystalShardQuartz +CP14CrystalShardWater: CP14CrystalShardQuartz +CP14CrystalShardAir: CP14CrystalShardQuartz +CP14CrystalShardOrder: CP14CrystalShardQuartz + +CP14CrystalEmpty: CP14CrystalQuartz +CP14CrystalEarth: CP14CrystalQuartz +CP14CrystalFire: CP14CrystalQuartz +CP14CrystalWater: CP14CrystalQuartz +CP14CrystalAir: CP14CrystalQuartz +CP14CrystalOrder: CP14CrystalQuartz +CP14CrystalChaos: CP14CrystalQuartz + +CP14EnergyCrystalSmallEmpty: CP14EnergyCrystalMediumEmpty +CP14EnergyCrystalSmall: CP14EnergyCrystalMedium + # <---> CrystallEdge migration zone end