From 85463d380fe9c5dcccbcf178b0c89be44cd5144a Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 20 Oct 2024 21:20:16 +0300 Subject: [PATCH] Bank preparation (#499) * TownSend condition * personal objectives update * add common objectives * add common objectives * tweaks * quartermaster and merchant * job spawner icons * add merchants to tavern map --- .../Rules/CP14CommonObjectivesRule.cs | 125 ++++ ...sRule.cs => CP14PersonalObjectivesRule.cs} | 16 +- .../CP14CommonObjectivesRuleComponent.cs | 18 + ...=> CP14PersonalObjectivesRuleComponent.cs} | 7 +- ...t.cs => CP14TownSendConditionComponent.cs} | 16 +- .../CP14ExpeditionCollectConditionSystem.cs | 108 --- .../Systems/CP14TownSendConditionSystem.cs | 105 +++ .../CP14StationCommonObjectivesComponent.cs | 11 + .../TravelingStoreShip/CP14CargoSystem.cs | 3 + .../Components/ObjectiveComponent.cs | 2 +- .../CP14SharedCargoSystem.cs | 13 + .../Locale/en-US/_CP14/job/department.ftl | 9 +- Resources/Locale/en-US/_CP14/job/job.ftl | 23 +- .../Locale/en-US/_CP14/job/supervisors.ftl | 5 +- .../objectives/condition/empire-order.ftl | 5 + .../_CP14/objectives/condition/expedition.ftl | 5 - .../_CP14/objectives/condition/personal.ftl | 2 +- .../Locale/ru-RU/_CP14/job/department.ftl | 9 +- Resources/Locale/ru-RU/_CP14/job/job.ftl | 23 +- .../Locale/ru-RU/_CP14/job/supervisors.ftl | 5 +- .../objectives/condition/empire-order.ftl | 5 + .../_CP14/objectives/condition/expedition.ftl | 5 - .../_CP14/objectives/condition/personal.ftl | 2 +- Resources/Maps/_CP14/tavern.yml | 701 ++++++------------ .../_CP14/Entities/Markers/Spawners/jobs.yml | 119 +-- .../_CP14/Entities/Stations/base.yml | 9 +- .../Prototypes/_CP14/GameRules/roundstart.yml | 10 +- .../_CP14/Loadouts/role_loadouts.yml | 16 +- Resources/Prototypes/_CP14/Maps/arenas.yml | 7 +- Resources/Prototypes/_CP14/Maps/debug.yml | 1 + .../_CP14/Objectives/empire_orders.yml | 38 + .../Objectives/expedition_objectives.yml | 39 - .../_CP14/Objectives/personal_objectives.yml | 6 +- .../_CP14/Roles/Jobs/Bank/merchant.yml | 16 + .../_CP14/Roles/Jobs/Bank/quartermaster.yml | 17 + .../_CP14/Roles/Jobs/Command/captain.yml | 1 + .../Roles/Jobs/Command/guard_commander.yml | 1 + .../_CP14/Roles/Jobs/Command/house_keeper.yml | 16 - .../_CP14/Roles/Jobs/departments.yml | 37 +- .../_CP14/Roles/play_time_tracker.yml | 5 +- Resources/Prototypes/_CP14/StatusIcon/job.yml | 14 +- Resources/Prototypes/_CP14/game_presets.yml | 3 +- .../Interface/Misc/job_icons.rsi/Merchant.png | Bin 0 -> 212 bytes .../{HouseKeeper.png => Quartermaster.png} | Bin .../Interface/Misc/job_icons.rsi/meta.json | 5 +- .../_CP14/Markers/jobs.rsi/adventurer.png | Bin 0 -> 1442 bytes .../_CP14/Markers/jobs.rsi/alchemist.png | Bin 0 -> 1300 bytes .../Textures/_CP14/Markers/jobs.rsi/green.png | Bin 0 -> 383 bytes .../Textures/_CP14/Markers/jobs.rsi/meta.json | 23 + .../_CP14/Markers/jobs.rsi/workman.png | Bin 0 -> 827 bytes Resources/migration.yml | 3 + 51 files changed, 857 insertions(+), 752 deletions(-) create mode 100644 Content.Server/_CP14/GameTicking/Rules/CP14CommonObjectivesRule.cs rename Content.Server/_CP14/GameTicking/Rules/{CP14ExpeditionObjectivesRule.cs => CP14PersonalObjectivesRule.cs} (78%) create mode 100644 Content.Server/_CP14/GameTicking/Rules/Components/CP14CommonObjectivesRuleComponent.cs rename Content.Server/_CP14/GameTicking/Rules/Components/{CP14ExpeditionObjectivesRuleComponent.cs => CP14PersonalObjectivesRuleComponent.cs} (64%) rename Content.Server/_CP14/Objectives/Components/{CP14ExpeditionCollectConditionComponent.cs => CP14TownSendConditionComponent.cs} (74%) delete mode 100644 Content.Server/_CP14/Objectives/Systems/CP14ExpeditionCollectConditionSystem.cs create mode 100644 Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs create mode 100644 Content.Server/_CP14/StationCommonObjectives/CP14StationCommonObjectivesComponent.cs create mode 100644 Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl delete mode 100644 Resources/Locale/en-US/_CP14/objectives/condition/expedition.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl delete mode 100644 Resources/Locale/ru-RU/_CP14/objectives/condition/expedition.ftl create mode 100644 Resources/Prototypes/_CP14/Objectives/empire_orders.yml delete mode 100644 Resources/Prototypes/_CP14/Objectives/expedition_objectives.yml create mode 100644 Resources/Prototypes/_CP14/Roles/Jobs/Bank/merchant.yml create mode 100644 Resources/Prototypes/_CP14/Roles/Jobs/Bank/quartermaster.yml delete mode 100644 Resources/Prototypes/_CP14/Roles/Jobs/Command/house_keeper.yml create mode 100644 Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Merchant.png rename Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/{HouseKeeper.png => Quartermaster.png} (100%) create mode 100644 Resources/Textures/_CP14/Markers/jobs.rsi/adventurer.png create mode 100644 Resources/Textures/_CP14/Markers/jobs.rsi/alchemist.png create mode 100644 Resources/Textures/_CP14/Markers/jobs.rsi/green.png create mode 100644 Resources/Textures/_CP14/Markers/jobs.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Markers/jobs.rsi/workman.png diff --git a/Content.Server/_CP14/GameTicking/Rules/CP14CommonObjectivesRule.cs b/Content.Server/_CP14/GameTicking/Rules/CP14CommonObjectivesRule.cs new file mode 100644 index 0000000000..7f3a78f1b3 --- /dev/null +++ b/Content.Server/_CP14/GameTicking/Rules/CP14CommonObjectivesRule.cs @@ -0,0 +1,125 @@ +using Content.Server._CP14.GameTicking.Rules.Components; +using Content.Server._CP14.StationCommonObjectives; +using Content.Server.GameTicking; +using Content.Server.GameTicking.Rules; +using Content.Server.Mind; +using Content.Shared.GameTicking.Components; +using Content.Shared.Objectives.Components; +using Content.Shared.Random.Helpers; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server._CP14.GameTicking.Rules; + +public sealed class CP14CommonObjectivesRule : GameRuleSystem +{ + [Dependency] private readonly MindSystem _mind = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly IRobustRandom _random = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnPlayerSpawning); + } + + protected override void Started(EntityUid uid, + CP14CommonObjectivesRuleComponent component, + GameRuleComponent gameRule, + GameRuleStartedEvent args) + { + base.Started(uid, component, gameRule, args); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var stationUid, out var stationObj)) + { + foreach (var jobObj in component.JobObjectives) + { + foreach (var weightGroupProto in jobObj.Value) + { + if (!_proto.TryIndex(weightGroupProto, out var weightGroup)) + continue; + + var objectiveProto = weightGroup.Pick(_random); + + if (!TryCreateCommonObjective(objectiveProto, out var objective) || objective is null) + continue; + + stationObj.JobObjectives.Add(objective.Value, jobObj.Key); + } + } + + foreach (var depObj in component.DepartmentObjectives) + { + foreach (var weightGroupProto in depObj.Value) + { + if (!_proto.TryIndex(weightGroupProto, out var weightGroup)) + continue; + + var objectiveProto = weightGroup.Pick(_random); + + if (!TryCreateCommonObjective(objectiveProto, out var objective) || objective is null) + continue; + + stationObj.DepartmentObjectives.Add(objective.Value, depObj.Key); + } + } + } + } + + private bool TryCreateCommonObjective(string objectiveProto, out EntityUid? objective) + { + objective = null; + + if (!_proto.HasIndex(objectiveProto)) + return false; + + objective = Spawn(objectiveProto); + + if (!TryComp(objective, out var comp)) //TODO: мы не можем в ObjectiveSystem делать цели без привязки к разуму. Поэтому щиткодим создания тут. + { + Del(objective); + Log.Error($"Invalid objective prototype {objectiveProto}, missing ObjectiveComponent"); + return false; + } + + var afterEv = new ObjectiveAfterAssignEvent(null, null, comp, MetaData(objective.Value)); + RaiseLocalEvent(objective.Value, ref afterEv); + + return true; + } + + private void OnPlayerSpawning(PlayerSpawnCompleteEvent args) + { + //TODO: Multiply station support required + if (!TryComp(args.Station, out var stationCommonObjectives)) + return; + + if (!_mind.TryGetMind(args.Mob, out var mindId, out var mind)) + return; + + foreach (var jobObj in stationCommonObjectives.JobObjectives) + { + if (args.JobId is null || args.JobId != jobObj.Value.Id) + continue; + + + _mind.AddObjective(mindId, mind, jobObj.Key); + } + + foreach (var depObj in stationCommonObjectives.DepartmentObjectives) + { + if (args.JobId is null) + continue; + + if (!_proto.TryIndex(depObj.Value, out var department)) + continue; + + if (!department.Roles.Contains(args.JobId)) + continue; + + _mind.AddObjective(mindId, mind, depObj.Key); + } + } +} diff --git a/Content.Server/_CP14/GameTicking/Rules/CP14ExpeditionObjectivesRule.cs b/Content.Server/_CP14/GameTicking/Rules/CP14PersonalObjectivesRule.cs similarity index 78% rename from Content.Server/_CP14/GameTicking/Rules/CP14ExpeditionObjectivesRule.cs rename to Content.Server/_CP14/GameTicking/Rules/CP14PersonalObjectivesRule.cs index b20b213c21..e835fb3cd6 100644 --- a/Content.Server/_CP14/GameTicking/Rules/CP14ExpeditionObjectivesRule.cs +++ b/Content.Server/_CP14/GameTicking/Rules/CP14PersonalObjectivesRule.cs @@ -1,12 +1,14 @@ using Content.Server._CP14.GameTicking.Rules.Components; +using Content.Server.GameTicking; +using Content.Server.GameTicking.Rules; using Content.Server.Mind; using Content.Shared.Random.Helpers; using Robust.Shared.Prototypes; using Robust.Shared.Random; -namespace Content.Server.GameTicking.Rules; +namespace Content.Server._CP14.GameTicking.Rules; -public sealed class CP14ExpeditionObjectivesRule : GameRuleSystem +public sealed class CP14PersonalObjectivesRule : GameRuleSystem { [Dependency] private readonly MindSystem _mind = default!; [Dependency] private readonly IPrototypeManager _proto = default!; @@ -21,8 +23,8 @@ public sealed class CP14ExpeditionObjectivesRule : GameRuleSystem(); - while (query.MoveNext(out var uid, out var expedition)) + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var personalObj)) { if (!_mind.TryGetMind(args.Player.UserId, out var mindId, out var mind)) { @@ -30,7 +32,7 @@ public sealed class CP14ExpeditionObjectivesRule : GameRuleSystem +/// A rule that assigns common goals to different roles. Common objectives are generated once at the beginning of a round and are shared between players. +/// +[RegisterComponent, Access(typeof(CP14PersonalObjectivesRule))] +public sealed partial class CP14CommonObjectivesRuleComponent : Component +{ + [DataField] + public Dictionary, List>> JobObjectives = new(); + + [DataField] + public Dictionary, List>> DepartmentObjectives = new(); +} diff --git a/Content.Server/_CP14/GameTicking/Rules/Components/CP14ExpeditionObjectivesRuleComponent.cs b/Content.Server/_CP14/GameTicking/Rules/Components/CP14PersonalObjectivesRuleComponent.cs similarity index 64% rename from Content.Server/_CP14/GameTicking/Rules/Components/CP14ExpeditionObjectivesRuleComponent.cs rename to Content.Server/_CP14/GameTicking/Rules/Components/CP14PersonalObjectivesRuleComponent.cs index 55c0d2a256..6db48939b3 100644 --- a/Content.Server/_CP14/GameTicking/Rules/Components/CP14ExpeditionObjectivesRuleComponent.cs +++ b/Content.Server/_CP14/GameTicking/Rules/Components/CP14PersonalObjectivesRuleComponent.cs @@ -1,4 +1,3 @@ -using Content.Server.GameTicking.Rules; using Content.Shared.Random; using Content.Shared.Roles; using Robust.Shared.Prototypes; @@ -6,10 +5,10 @@ using Robust.Shared.Prototypes; namespace Content.Server._CP14.GameTicking.Rules.Components; /// -/// A rule issuing a common goal for all expedition participants +/// a rule that assigns individual goals to different roles /// -[RegisterComponent, Access(typeof(CP14ExpeditionObjectivesRule))] -public sealed partial class CP14ExpeditionObjectivesRuleComponent : Component +[RegisterComponent, Access(typeof(CP14PersonalObjectivesRule))] +public sealed partial class CP14PersonalObjectivesRuleComponent : Component { [DataField] public Dictionary, List>> RoleObjectives = new(); diff --git a/Content.Server/_CP14/Objectives/Components/CP14ExpeditionCollectConditionComponent.cs b/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs similarity index 74% rename from Content.Server/_CP14/Objectives/Components/CP14ExpeditionCollectConditionComponent.cs rename to Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs index 0aec39305f..78696f0fce 100644 --- a/Content.Server/_CP14/Objectives/Components/CP14ExpeditionCollectConditionComponent.cs +++ b/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs @@ -4,18 +4,12 @@ using Robust.Shared.Prototypes; namespace Content.Server._CP14.Objectives.Components; -[RegisterComponent, Access(typeof(CP14ExpeditionCollectConditionSystem))] -public sealed partial class CP14ExpeditionCollectConditionComponent : Component +[RegisterComponent, Access(typeof(CP14TownSendConditionSystem))] +public sealed partial class CP14TownSendConditionComponent : Component { [DataField] public ProtoId CollectGroup; - /// - /// When enabled, disables generation of this target if there is no entity on the map (disable for objects that can be created mid-round). - /// - [DataField] - public bool VerifyMapExistence = true; - /// /// The minimum number of items you need to steal to fulfill a objective /// @@ -34,6 +28,12 @@ public sealed partial class CP14ExpeditionCollectConditionComponent : Component [DataField] public int CollectionSize; + /// + /// how many items have already been sent to the city + /// + [DataField] + public int CollectionSent = 0; + [DataField(required: true)] public LocId ObjectiveText; diff --git a/Content.Server/_CP14/Objectives/Systems/CP14ExpeditionCollectConditionSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14ExpeditionCollectConditionSystem.cs deleted file mode 100644 index 53cf55f3d8..0000000000 --- a/Content.Server/_CP14/Objectives/Systems/CP14ExpeditionCollectConditionSystem.cs +++ /dev/null @@ -1,108 +0,0 @@ -using Content.Server._CP14.Objectives.Components; -using Content.Server._CP14.Shuttles; -using Content.Server.Objectives.Components.Targets; -using Content.Shared.Objectives.Components; -using Content.Shared.Objectives.Systems; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; - -namespace Content.Server._CP14.Objectives.Systems; - -public sealed class CP14ExpeditionCollectConditionSystem : EntitySystem -{ - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly MetaDataSystem _metaData = default!; - [Dependency] private readonly SharedObjectivesSystem _objectives = default!; - [Dependency] private readonly CP14ExpeditionSystem _cp14Expedition = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnAssigned); - SubscribeLocalEvent(OnAfterAssign); - SubscribeLocalEvent(OnGetProgress); - } - - private void OnAssigned(Entity condition, ref ObjectiveAssignedEvent args) - { - List targetList = new(); - - var query = AllEntityQuery(); - while (query.MoveNext(out var target)) - { - if (condition.Comp.CollectGroup != target.StealGroup) - continue; - - targetList.Add(target); - } - - // cancel if the required items do not exist - if (targetList.Count == 0 && condition.Comp.VerifyMapExistence) - { - args.Cancelled = true; - return; - } - - //setup condition settings - var maxSize = condition.Comp.VerifyMapExistence - ? Math.Min(targetList.Count, condition.Comp.MaxCollectionSize) - : condition.Comp.MaxCollectionSize; - var minSize = condition.Comp.VerifyMapExistence - ? Math.Min(targetList.Count, condition.Comp.MinCollectionSize) - : condition.Comp.MinCollectionSize; - - condition.Comp.CollectionSize = _random.Next(minSize, maxSize); - } - - //Set the visual, name, icon for the objective. - private void OnAfterAssign(Entity condition, ref ObjectiveAfterAssignEvent args) - { - var group = _proto.Index(condition.Comp.CollectGroup); - - var title = Loc.GetString(condition.Comp.ObjectiveText, ("itemName", group.Name)); - - var description = condition.Comp.CollectionSize > 1 - ? Loc.GetString(condition.Comp.DescriptionMultiplyText, ("itemName", group.Name), ("count", condition.Comp.CollectionSize)) - : Loc.GetString(condition.Comp.DescriptionText, ("itemName", group.Name)); - - _metaData.SetEntityName(condition.Owner, title, args.Meta); - _metaData.SetEntityDescription(condition.Owner, description, args.Meta); - _objectives.SetIcon(condition.Owner, group.Sprite, args.Objective); - } - - private void OnGetProgress(Entity condition, ref ObjectiveGetProgressEvent args) - { - var count = 0; - - if (!_cp14Expedition.TryGetExpeditionShip(out var ship)) - return; - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out _)) - { - if (Transform(uid).GridUid != Transform(ship!.Value).GridUid) - continue; - - if (CheckStealTarget(uid, condition)) - count++; - } - - var result = count / (float) condition.Comp.CollectionSize; - result = Math.Clamp(result, 0, 1); - args.Progress = result; - } - - private bool CheckStealTarget(EntityUid entity, CP14ExpeditionCollectConditionComponent condition) - { - // check if this is the target - if (!TryComp(entity, out var target)) - return false; - - if (target.StealGroup != condition.CollectGroup) - return false; - - return true; - } -} diff --git a/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs new file mode 100644 index 0000000000..70d3ebb56d --- /dev/null +++ b/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs @@ -0,0 +1,105 @@ +using Content.Server._CP14.Objectives.Components; +using Content.Server.Objectives.Components.Targets; +using Content.Shared._CP14.TravelingStoreShip; +using Content.Shared.Objectives.Components; +using Content.Shared.Objectives.Systems; +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server._CP14.Objectives.Systems; + +public sealed class CP14TownSendConditionSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; + [Dependency] private readonly SharedObjectivesSystem _objectives = default!; + + private EntityQuery _stealQuery; + private EntityQuery _stackQuery; + + public override void Initialize() + { + base.Initialize(); + + _stealQuery = GetEntityQuery(); + _stackQuery = GetEntityQuery(); + + SubscribeLocalEvent(OnAssigned); + SubscribeLocalEvent(OnAfterAssign); + SubscribeLocalEvent(OnGetProgress); + + SubscribeLocalEvent(OnBeforeSell); + } + + private void OnBeforeSell(BeforeSellEntities ev) + { + var query = EntityQueryEnumerator(); + + HashSet removed = new(); + while (query.MoveNext(out var uid, out var condition)) + { + foreach (var sentEnt in ev.Sent) + { + if (condition.CollectionSent >= condition.CollectionSize) + continue; + + if (!_stealQuery.TryComp(sentEnt, out var stealTarget)) + continue; + + if (stealTarget.StealGroup != condition.CollectGroup) + continue; + + if (_stackQuery.TryComp(sentEnt, out var stack)) + { + condition.CollectionSent += stack.Count; + } + else + { + condition.CollectionSent++; + } + + if (!removed.Contains(sentEnt)) + removed.Add(sentEnt); + } + } + + foreach (var remove in removed) + { + ev.Sent.Remove(remove); + QueueDel(remove); + } + } + + private void OnAssigned(Entity condition, ref ObjectiveAssignedEvent args) + { + //TODO: Add ability to create mindfree objectives to Wizden + //condition.Comp.CollectionSize = _random.Next(condition.Comp.MinCollectionSize, condition.Comp.MaxCollectionSize); + } + + //Set the visual, name, icon for the objective. + private void OnAfterAssign(Entity condition, ref ObjectiveAfterAssignEvent args) + { + condition.Comp.CollectionSize = _random.Next(condition.Comp.MinCollectionSize, condition.Comp.MaxCollectionSize); + + var group = _proto.Index(condition.Comp.CollectGroup); + + var title = Loc.GetString(condition.Comp.ObjectiveText, ("itemName", Loc.GetString(group.Name))); + + var description = condition.Comp.CollectionSize > 1 + ? Loc.GetString(condition.Comp.DescriptionMultiplyText, ("itemName", Loc.GetString(group.Name)), ("count", condition.Comp.CollectionSize)) + : Loc.GetString(condition.Comp.DescriptionText, ("itemName", Loc.GetString(group.Name))); + + _metaData.SetEntityName(condition.Owner, title, args.Meta); + _metaData.SetEntityDescription(condition.Owner, description, args.Meta); + _objectives.SetIcon(condition.Owner, group.Sprite, args.Objective); + } + + private void OnGetProgress(Entity condition, ref ObjectiveGetProgressEvent args) + { + var result = (float)condition.Comp.CollectionSent / (float)condition.Comp.CollectionSize; + result = Math.Clamp(result, 0, 1); + args.Progress = result; + } +} diff --git a/Content.Server/_CP14/StationCommonObjectives/CP14StationCommonObjectivesComponent.cs b/Content.Server/_CP14/StationCommonObjectives/CP14StationCommonObjectivesComponent.cs new file mode 100644 index 0000000000..64aeae8cf1 --- /dev/null +++ b/Content.Server/_CP14/StationCommonObjectives/CP14StationCommonObjectivesComponent.cs @@ -0,0 +1,11 @@ +using Content.Shared.Roles; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.StationCommonObjectives; + +[RegisterComponent] +public sealed partial class CP14StationCommonObjectivesComponent : Component +{ + public Dictionary> JobObjectives = new(); + public Dictionary> DepartmentObjectives = new(); +} diff --git a/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs index a7e38c7f0f..e5ddcfc0d6 100644 --- a/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs +++ b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs @@ -139,6 +139,9 @@ public sealed partial class CP14CargoSystem : CP14SharedCargoSystem } } + var ev = new BeforeSellEntities(ref toSell); + RaiseLocalEvent(ev); + foreach (var sellPos in station.Comp.CurrentSellPositions) { while (sellPos.Key.Service.TrySell(EntityManager, toSell)) diff --git a/Content.Shared/Objectives/Components/ObjectiveComponent.cs b/Content.Shared/Objectives/Components/ObjectiveComponent.cs index fb2e6ca0a6..1d3a931cfb 100644 --- a/Content.Shared/Objectives/Components/ObjectiveComponent.cs +++ b/Content.Shared/Objectives/Components/ObjectiveComponent.cs @@ -64,7 +64,7 @@ public record struct ObjectiveAssignedEvent(EntityUid MindId, MindComponent Mind /// Use this to set the objective's title description or icon. /// [ByRefEvent] -public record struct ObjectiveAfterAssignEvent(EntityUid MindId, MindComponent Mind, ObjectiveComponent Objective, MetaDataComponent Meta); +public record struct ObjectiveAfterAssignEvent(EntityUid? MindId, MindComponent? Mind, ObjectiveComponent Objective, MetaDataComponent Meta); //CP14 add ? to mindId and Mind. For Common goals /// /// Event raised on an objective to update the Progress field. diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs index 3e3f84d3ff..4a04188993 100644 --- a/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs @@ -3,3 +3,16 @@ namespace Content.Shared._CP14.TravelingStoreShip; public class CP14SharedCargoSystem : EntitySystem { } + +/// +/// is called in just before the goods are shipped into town, and before the profit on them is calculated. It allows you to edit the list of sent items. +/// +public sealed class BeforeSellEntities : EntityEventArgs +{ + public HashSet Sent; + + public BeforeSellEntities(ref HashSet sent) + { + Sent = sent; + } +} diff --git a/Resources/Locale/en-US/_CP14/job/department.ftl b/Resources/Locale/en-US/_CP14/job/department.ftl index 57bcd52419..4eb66d89dd 100644 --- a/Resources/Locale/en-US/_CP14/job/department.ftl +++ b/Resources/Locale/en-US/_CP14/job/department.ftl @@ -1,5 +1,8 @@ department-CP14Mercenary = Mercenaries -department-CP14Mercenary-desc = People who joined the expedition to make some money. +department-CP14Mercenary-desc = Free people trying to make money in this crazy world. -department-CP14Command = Expedition organizers -department-CP14Command-desc = Persons responsible for carrying out the task assigned from the great house. \ No newline at end of file +department-CP14Command = Command +department-CP14Command-desc = Persons responsible for carrying out the task assigned from the empire, and managing everything that happens in the settlement. + +department-CP14Bank = Bank +department-CP14Bank-desc = Persons closely connected with the economy and commerce working in a bank. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/job/job.ftl b/Resources/Locale/en-US/_CP14/job/job.ftl index 16ab3195ae..6ec2da9809 100644 --- a/Resources/Locale/en-US/_CP14/job/job.ftl +++ b/Resources/Locale/en-US/_CP14/job/job.ftl @@ -1,14 +1,25 @@ -cp14-job-name-captain = Expedition captain -cp14-job-desc-captain = You are the most important person in this expedition. Organize its participants and manage the processes to complete the task set from the management. +# Command + +cp14-job-name-captain = Captain +cp14-job-desc-captain = You are the most important person. Organize your wards and manage the processes to complete the task set from the empire. + +# Security cp14-job-name-guard-commander = Guard commander -cp14-job-desc-guard-commander = The most dangerous person on this expedition. Manage a squad of soldiers to ensure the safety of all members of the command. +cp14-job-desc-guard-commander = The most dangerous person in the neighborhood. Manage a squad of soldiers to ensure the safety of all members of the command. -cp14-job-name-house-keeper = Housekeeper -cp14-job-desc-house-keeper = Responsible for material resources. Manage the expedition's supplies and finances, directing resources to the mercenaries who do all the dirty work. +# Bank + +cp14-job-name-quartermaster = Quartermaster +cp14-job-desc-quartermaster = Responsible for material resources. In charge of the settlement's supplies and finances, directing resources to the mercenaries who do all the dirty work. + +cp14-job-name-merchant = Merchant +cp14-job-desc-merchant = Make deals, give out deposits at interest, and do any other economic work that will enrich the settlement. + +# Mercenary cp14-job-name-adventurer = Adventurer -cp14-job-desc-adventurer = A hunter for thrills, riches and fame, constantly risking his life. Fulfill the most dangerous orders of the expedition organizers, earning a living by mining resources or killing monsters. +cp14-job-desc-adventurer = A hunter for thrills, riches and fame, constantly risking his life. Fulfill the most dangerous orders, earning a living by mining resources or killing monsters. cp14-job-name-alchemist = Alchemist cp14-job-desc-alchemist = A scientist of sorts, exploring the nature of substances. Create poisons and medicines from numerous natural plants and ingredients and earn money by selling them to people in need. diff --git a/Resources/Locale/en-US/_CP14/job/supervisors.ftl b/Resources/Locale/en-US/_CP14/job/supervisors.ftl index ee82393418..1e31088764 100644 --- a/Resources/Locale/en-US/_CP14/job/supervisors.ftl +++ b/Resources/Locale/en-US/_CP14/job/supervisors.ftl @@ -1 +1,4 @@ -cp14-job-supervisors-command = all authority figures \ No newline at end of file +cp14-job-supervisors-empire = Empire and its authority + +cp14-job-supervisors-command = all authority figures +cp14-job-supervisors-quartermaster = quartermaster \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl b/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl new file mode 100644 index 0000000000..cf5450e94b --- /dev/null +++ b/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl @@ -0,0 +1,5 @@ +cp14-objective-issuer-town = [color=#fcae38]Orders of the Empire[/color] + +cp14-objective-town-send-title = Extract { $itemName } +cp14-objective-town-send-desc = Your task is to mine and ship { $itemName } to the city on a merchant ship. +cp14-objective-town-send-multiply-desc = Your task is to mine and ship { $count } { $itemName } to the city on a merchant ship. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/objectives/condition/expedition.ftl b/Resources/Locale/en-US/_CP14/objectives/condition/expedition.ftl deleted file mode 100644 index 54588197e5..0000000000 --- a/Resources/Locale/en-US/_CP14/objectives/condition/expedition.ftl +++ /dev/null @@ -1,5 +0,0 @@ -cp14-objective-issuer-expedition = [color=#fcae38]Expedition objective[/color] - -cp14-objective-expedition-collect-title = Collect { $itemName } -cp14-objective-expedition-collect-desc = Your objective is to collect and deliver { $itemName } to the Elemental Ship. -cp14-objective-expedition-collect-multiply-desc = Your objective is to collect and deliver { $count } { $itemName } to the Elemental ship. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/objectives/condition/personal.ftl b/Resources/Locale/en-US/_CP14/objectives/condition/personal.ftl index 556a97a0f1..333eeb4ecc 100644 --- a/Resources/Locale/en-US/_CP14/objectives/condition/personal.ftl +++ b/Resources/Locale/en-US/_CP14/objectives/condition/personal.ftl @@ -1,4 +1,4 @@ cp14-objective-issuer-personal = [color="#95a6c2"]Personal objectives[/color] cp14-objective-personal-currency-collect-title = Make money -cp14-objective-personal-currency-collect-desc = I need this expedition primarily as a way to make money. At the very least I plan on making{$coins} \ No newline at end of file +cp14-objective-personal-currency-collect-desc = I plan to earn at least {$coins} by working here. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/job/department.ftl b/Resources/Locale/ru-RU/_CP14/job/department.ftl index 1c7939bf68..5d3a191dfa 100644 --- a/Resources/Locale/ru-RU/_CP14/job/department.ftl +++ b/Resources/Locale/ru-RU/_CP14/job/department.ftl @@ -1,5 +1,8 @@ department-CP14Mercenary = Наемники -department-CP14Mercenary-desc = Лица, присоединившиеся к экспедиции с целью подзаработать деньжат. +department-CP14Mercenary-desc = Свободные люди, старающиеся заработать денег в этом безумном мире. -department-CP14Command = Организаторы экспедиции -department-CP14Command-desc = Лица, ответственные за выполнение поставленной от великого дома задачи. \ No newline at end of file +department-CP14Command = Мэрия +department-CP14Command-desc = Лица, ответственные за выполнение поставленной от империи задачи, и управляющие всем, что происходит в поселении. + +department-CP14Bank = Банк +department-CP14Bank-desc = Лица, тесно связанные с экономикой и торговлей, работающие в банке. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/job/job.ftl b/Resources/Locale/ru-RU/_CP14/job/job.ftl index e1c8b12e4a..06ae8602c3 100644 --- a/Resources/Locale/ru-RU/_CP14/job/job.ftl +++ b/Resources/Locale/ru-RU/_CP14/job/job.ftl @@ -1,14 +1,25 @@ -cp14-job-name-captain = Капитан экспедиции -cp14-job-desc-captain = Вы - самая важная персона в этой экспедиции. Организуйте ее участников и руководите процессами, чтобы выполнить поставленную от руководства задачу. +# Command + +cp14-job-name-captain = Капитан +cp14-job-desc-captain = Вы - самая важная персона. Организуйте ваших подопечных и руководите процессами, чтобы выполнить поставленную от империи задачу. + +# Security cp14-job-name-guard-commander = Командир стражи -cp14-job-desc-guard-commander = Самая опасная личность на этой экспедиции. Управляйте отрядом солдат, чтобы обеспечить безопасность всех членов командования. +cp14-job-desc-guard-commander = Самая опасная личность в округе. Управляйте отрядом солдат, чтобы обеспечить безопасность всех членов командования. -cp14-job-name-house-keeper = Завхоз -cp14-job-desc-house-keeper = Ответственный за материальные ресурсы. Заведуйте запасами и финансами экспедиции, направляя ресурсы выполняющим всю грязную работу наемникам. +# Bank + +cp14-job-name-quartermaster = Квартирмейстр +cp14-job-desc-quartermaster = Ответственный за материальные ресурсы. Заведуйте запасами и финансами поселения, направляя ресурсы выполняющим всю грязную работу наемникам. + +cp14-job-name-merchant = Купец +cp14-job-desc-merchant = Заключайте сделки, выдавайте вклады под проценты и занимайтесь любой другой экономической работой, которая обогатит поселение. + +# Mercenary cp14-job-name-adventurer = Авантюрист -cp14-job-desc-adventurer = Охотник за острыми эмоциями, богатствами и славой, постоянно рискующий своей жизнью. Выполняйте самые опасные заказы организаторов экспедиции, зарабатывая на жизнь добычей ресурсов или убийством монстров. +cp14-job-desc-adventurer = Охотник за острыми эмоциями, богатствами и славой, постоянно рискующий своей жизнью. Выполняйте самые опасные заказы, зарабатывая на жизнь добычей ресурсов или убийством монстров. cp14-job-name-alchemist = Алхимик cp14-job-desc-alchemist = В своем роде ученый, исследующий природу веществ. Создавайте яды и лекарства, из многочисленных природных растений и ингредиентов, и зарабатывайте деньги, продавая их нуждающимся. diff --git a/Resources/Locale/ru-RU/_CP14/job/supervisors.ftl b/Resources/Locale/ru-RU/_CP14/job/supervisors.ftl index ec1f7bb9ec..5de1f1d211 100644 --- a/Resources/Locale/ru-RU/_CP14/job/supervisors.ftl +++ b/Resources/Locale/ru-RU/_CP14/job/supervisors.ftl @@ -1 +1,4 @@ -cp14-job-supervisors-command = всем представителям власти \ No newline at end of file +cp14-job-supervisors-empire = Империи и ее представителям власти + +cp14-job-supervisors-command = всем представителям власти +cp14-job-supervisors-quartermaster = квартирмейстеру \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl b/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl new file mode 100644 index 0000000000..efb174e517 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl @@ -0,0 +1,5 @@ +cp14-objective-issuer-town = [color=#fcae38]Приказ империи[/color] + +cp14-objective-town-send-title = Добыть { $itemName } +cp14-objective-town-send-desc = Ваша задача - добыть и отправить { $itemName } в город на торговом корабле. +cp14-objective-town-send-multiply-desc = Ваша задача - добыть и отправить { $count } { $itemName } в город на торговом корабле. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/objectives/condition/expedition.ftl b/Resources/Locale/ru-RU/_CP14/objectives/condition/expedition.ftl deleted file mode 100644 index eedd5594a2..0000000000 --- a/Resources/Locale/ru-RU/_CP14/objectives/condition/expedition.ftl +++ /dev/null @@ -1,5 +0,0 @@ -cp14-objective-issuer-expedition = [color=#fcae38]Цель экспедиции[/color] - -cp14-objective-expedition-collect-title = Добыть { $itemName } -cp14-objective-expedition-collect-desc = Ваша задача - добыть и доставить { $itemName } на Элементальный корабль. -cp14-objective-expedition-collect-multiply-desc = Ваша задача - добыть и доставить { $count } { $itemName } на Элементальный корабль. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/objectives/condition/personal.ftl b/Resources/Locale/ru-RU/_CP14/objectives/condition/personal.ftl index 9602f4d574..8f532ebbe6 100644 --- a/Resources/Locale/ru-RU/_CP14/objectives/condition/personal.ftl +++ b/Resources/Locale/ru-RU/_CP14/objectives/condition/personal.ftl @@ -1,4 +1,4 @@ cp14-objective-issuer-personal = [color="#95a6c2"]Личные цели[/color] cp14-objective-personal-currency-collect-title = Заработать денег -cp14-objective-personal-currency-collect-desc = Эта экспедиция нужна мне в первую очередь как способ заработка денег. Как минимум я планирую заработать{$coins} \ No newline at end of file +cp14-objective-personal-currency-collect-desc = Я планирую заработать как минимум {$coins}, работая здесь. \ No newline at end of file diff --git a/Resources/Maps/_CP14/tavern.yml b/Resources/Maps/_CP14/tavern.yml index 1029e1860c..991e47cbf8 100644 --- a/Resources/Maps/_CP14/tavern.yml +++ b/Resources/Maps/_CP14/tavern.yml @@ -87,7 +87,7 @@ entities: version: 6 -2,0: ind: -2,0 - tiles: HgAAAAAFHgAAAAABHQAAAAAEHgAAAAABHgAAAAAEHgAAAAABHgAAAAACHgAAAAAAHAAAAAADGgAAAAAPGgAAAAAFHQAAAAADCQAAAAAKCQAAAAAEHAAAAAABHAAAAAADHQAAAAABHQAAAAABHQAAAAABHgAAAAAEHgAAAAACHgAAAAABHgAAAAACHQAAAAAAHAAAAAAFHAAAAAAAHAAAAAABGgAAAAADCQAAAAABHAAAAAAAHAAAAAAEHAAAAAADHQAAAAACHAAAAAAFHQAAAAAFHQAAAAACHQAAAAABHQAAAAAFHQAAAAAAHQAAAAABHQAAAAADHQAAAAABHAAAAAADHQAAAAAEHAAAAAAAHAAAAAABHQAAAAAFHQAAAAAAHQAAAAAAHAAAAAACHQAAAAAAHQAAAAACHgAAAAAEHQAAAAABHQAAAAAEHQAAAAACHgAAAAAEHQAAAAABHQAAAAADHAAAAAAEHAAAAAACHAAAAAAFHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAACHQAAAAADHAAAAAACHAAAAAABHQAAAAADHgAAAAADHgAAAAADHQAAAAAFHgAAAAABHQAAAAAEHQAAAAAEHAAAAAAAHAAAAAABHQAAAAABHQAAAAAFHQAAAAAFHQAAAAAFHQAAAAAEHAAAAAADHAAAAAAAHAAAAAAFHQAAAAAAHQAAAAAFHQAAAAACHQAAAAAFHgAAAAAFHQAAAAADHQAAAAABHQAAAAADHQAAAAACHQAAAAADHgAAAAAFHgAAAAACHAAAAAABHAAAAAACHAAAAAABHAAAAAAAHQAAAAAEHAAAAAAFHAAAAAAFHAAAAAADHQAAAAAEHQAAAAACHQAAAAACHgAAAAACHgAAAAADHQAAAAAFHgAAAAAFHQAAAAACHAAAAAAFHAAAAAAAHAAAAAAEHAAAAAAFHAAAAAAEHAAAAAAEHAAAAAABHAAAAAAEHQAAAAABHQAAAAAEHQAAAAACHQAAAAACHgAAAAAFHQAAAAABHQAAAAAFHQAAAAAFHAAAAAADHAAAAAADHAAAAAAFHAAAAAAAHAAAAAACHAAAAAAAHAAAAAACHAAAAAAFHQAAAAAFHgAAAAAAHgAAAAAFHgAAAAAAHQAAAAAEHQAAAAABHgAAAAABHgAAAAABHQAAAAAEHAAAAAAAHAAAAAADHAAAAAAFHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAFHAAAAAABHQAAAAAEHQAAAAABHQAAAAACHQAAAAACHAAAAAACHgAAAAACHgAAAAAEHQAAAAABHAAAAAAAHAAAAAAAHQAAAAADHAAAAAABHAAAAAAEHAAAAAACHAAAAAAAHAAAAAABHQAAAAABHQAAAAACHQAAAAAEHQAAAAABHAAAAAAEHQAAAAAAHQAAAAAEHQAAAAAFHAAAAAAAHAAAAAAAHQAAAAAEHQAAAAACHAAAAAAFHAAAAAABHAAAAAADHAAAAAADHQAAAAADHQAAAAAEHQAAAAAFHgAAAAAFHQAAAAAFHQAAAAAAHQAAAAABHAAAAAACHAAAAAACHAAAAAABHAAAAAADHQAAAAABHQAAAAAFHQAAAAAAHQAAAAAEHQAAAAABHQAAAAADHQAAAAADHgAAAAACHgAAAAAEHgAAAAAAHAAAAAAEHQAAAAACHQAAAAACHAAAAAABHAAAAAAFHAAAAAADHQAAAAACHQAAAAAEHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAFHgAAAAAFHgAAAAAAHgAAAAAEHAAAAAADHAAAAAACHQAAAAADHQAAAAABHQAAAAAEHQAAAAACHQAAAAAEHQAAAAAFHQAAAAADHQAAAAADHQAAAAACHgAAAAAAHQAAAAADHAAAAAADHAAAAAAFHQAAAAAFHQAAAAADHQAAAAADHQAAAAABHQAAAAADHQAAAAAAHQAAAAAEHQAAAAACHQAAAAAAHQAAAAABHgAAAAADHgAAAAAEHgAAAAAEHQAAAAACHAAAAAABHAAAAAABHAAAAAAF + tiles: HgAAAAAFHgAAAAABHQAAAAAEHgAAAAABHgAAAAAEHgAAAAABHgAAAAACHgAAAAAAHAAAAAADGgAAAAAPGgAAAAAFHQAAAAADCQAAAAAKCQAAAAAEHAAAAAABHAAAAAADHQAAAAABHQAAAAABHQAAAAABHgAAAAAEHgAAAAACGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHAAAAAAAHAAAAAABGgAAAAADCQAAAAABHAAAAAAAHAAAAAAEHAAAAAADHQAAAAACHAAAAAAFHQAAAAAFGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHQAAAAAEHAAAAAAAHAAAAAABHQAAAAAFHQAAAAAAHQAAAAAAHAAAAAACGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHAAAAAAFHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAACGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHAAAAAABHQAAAAABHQAAAAAFHQAAAAAFHQAAAAAFGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHQAAAAADHgAAAAAFHgAAAAACGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHQAAAAACGgAAAAAAGgAAAAAAGgAAAAAAHgAAAAAFHQAAAAACHAAAAAAFHAAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAHQAAAAABHQAAAAAEHQAAAAACHQAAAAACGgAAAAAAGgAAAAAAHQAAAAAFHQAAAAAFHAAAAAADHAAAAAADHAAAAAAFHAAAAAAAHAAAAAACHAAAAAAAHAAAAAACHAAAAAAFHQAAAAAFHgAAAAAAHgAAAAAFHgAAAAAAGgAAAAAAGgAAAAAAHgAAAAABHgAAAAABHQAAAAAEHAAAAAAAHAAAAAADHAAAAAAFHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAFHAAAAAABHQAAAAAEHQAAAAABHQAAAAACHQAAAAACGgAAAAAAHgAAAAACHgAAAAAEHQAAAAABHAAAAAAAHAAAAAAAHQAAAAADHAAAAAABHAAAAAAEHAAAAAACHAAAAAAAHAAAAAABHQAAAAABHQAAAAACHQAAAAAEHQAAAAABHAAAAAAEHQAAAAAAHQAAAAAEHQAAAAAFHAAAAAAAHAAAAAAAHQAAAAAEHQAAAAACHAAAAAAFHAAAAAABHAAAAAADHAAAAAADHQAAAAADHQAAAAAEHQAAAAAFHgAAAAAFHQAAAAAFHQAAAAAAHQAAAAABHAAAAAACHAAAAAACHAAAAAABHAAAAAADHQAAAAABHQAAAAAFHQAAAAAAHQAAAAAEHQAAAAABHQAAAAADHQAAAAADHgAAAAACHgAAAAAEHgAAAAAAHAAAAAAEHQAAAAACHQAAAAACHAAAAAABHAAAAAAFHAAAAAADHQAAAAACHQAAAAAEHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAFHgAAAAAFHgAAAAAAHgAAAAAEHAAAAAADHAAAAAACHQAAAAADHQAAAAABHQAAAAAEHQAAAAACHQAAAAAEHQAAAAAFHQAAAAADHQAAAAADHQAAAAACHgAAAAAAHQAAAAADHAAAAAADHAAAAAAFHQAAAAAFHQAAAAADHQAAAAADHQAAAAABHQAAAAADHQAAAAAAHQAAAAAEHQAAAAACHQAAAAAAHQAAAAABHgAAAAADHgAAAAAEHgAAAAAEHQAAAAACHAAAAAABHAAAAAABHAAAAAAF version: 6 -2,1: ind: -2,1 @@ -103,11 +103,11 @@ entities: version: 6 -1,0: ind: -1,0 - tiles: HAAAAAABHAAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAABHgAAAAADHQAAAAACHAAAAAADHAAAAAACHAAAAAADHAAAAAAEHAAAAAAEHQAAAAAFIgAAAAACGgAAAAAFHAAAAAABHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAEHgAAAAAEHQAAAAADHQAAAAAEHAAAAAACHAAAAAAAHAAAAAAFHAAAAAADHAAAAAAAAQAAAAAEAwAAAAADAwAAAAADHQAAAAADHQAAAAAFHQAAAAAFHgAAAAAFHgAAAAAEHgAAAAACHgAAAAAFHQAAAAAFHQAAAAADHQAAAAAFHAAAAAACHAAAAAACHAAAAAADHAAAAAABHAAAAAAEHAAAAAADHQAAAAAFHQAAAAACHQAAAAACHgAAAAAAHgAAAAAAHQAAAAAFHQAAAAAFHQAAAAAAHQAAAAABHQAAAAADHAAAAAAEHAAAAAAEHAAAAAABHAAAAAAFHAAAAAAEHAAAAAADHQAAAAACHQAAAAACHQAAAAAFHQAAAAAAHQAAAAAFHAAAAAAEHAAAAAABHAAAAAAAHQAAAAACHAAAAAABHAAAAAABHAAAAAAFHQAAAAADHAAAAAADHAAAAAAFHAAAAAADHAAAAAAEHAAAAAACHQAAAAAEHQAAAAAFHQAAAAACHAAAAAAFHAAAAAACHAAAAAABHAAAAAAAHAAAAAACHAAAAAAFHAAAAAABHAAAAAADHAAAAAACHQAAAAAEHQAAAAAFHAAAAAABHAAAAAAAHAAAAAAFHQAAAAAEHQAAAAAAHQAAAAACHAAAAAABHAAAAAACHAAAAAAFHAAAAAADHQAAAAAAHAAAAAABHAAAAAAEHQAAAAACHQAAAAADHAAAAAAAHAAAAAAFHAAAAAACHAAAAAAEHAAAAAADHAAAAAAFHQAAAAAAHAAAAAADHAAAAAACHQAAAAACHQAAAAAAHAAAAAADHAAAAAADHAAAAAADHAAAAAABHQAAAAAEHAAAAAADHAAAAAAEHAAAAAABHAAAAAABHAAAAAAFHAAAAAAFHQAAAAABHQAAAAAEHQAAAAAEHQAAAAACHQAAAAAFHQAAAAABHQAAAAAFHQAAAAAAHAAAAAACHQAAAAADHQAAAAACHAAAAAABHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAABHgAAAAAEHQAAAAAFHQAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAAFHQAAAAADHAAAAAAAHAAAAAAAHAAAAAAFHAAAAAAEHAAAAAADHgAAAAAEHgAAAAAEHQAAAAAAHAAAAAADHAAAAAABHAAAAAAAHQAAAAABHgAAAAADHgAAAAAEHQAAAAACHQAAAAAFHAAAAAAFHQAAAAAEHAAAAAACHAAAAAAFHQAAAAADHgAAAAACHQAAAAAEHAAAAAABHAAAAAACHAAAAAAFHQAAAAAAHQAAAAABHgAAAAACHQAAAAABHQAAAAAAHAAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAAHgAAAAAAHQAAAAACHAAAAAABHAAAAAAAHAAAAAAFHQAAAAAAHQAAAAADHQAAAAAFHQAAAAACHQAAAAACHQAAAAABHgAAAAACHgAAAAAFHgAAAAAEHQAAAAAEHQAAAAACHQAAAAADHAAAAAAEHAAAAAAAHAAAAAABHAAAAAABHAAAAAAAHQAAAAAFHQAAAAAAHQAAAAADHQAAAAAFGgAAAAAGHQAAAAACGgAAAAAFHQAAAAAAHQAAAAABHQAAAAADHAAAAAADHAAAAAACHAAAAAAAHAAAAAABHAAAAAAFHAAAAAAAHAAAAAAFHQAAAAACHQAAAAAEGgAAAAAHGgAAAAANCQAAAAADCQAAAAAKHQAAAAABHAAAAAAEHAAAAAABHAAAAAABHAAAAAAEHAAAAAACHAAAAAAFHAAAAAAEHAAAAAAFHQAAAAABGgAAAAAPGgAAAAAPGgAAAAALGgAAAAAD + tiles: HAAAAAABHAAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAABHgAAAAADHQAAAAACHAAAAAADHAAAAAACHAAAAAADHAAAAAAEHAAAAAAEHQAAAAAFIgAAAAACGgAAAAAFHAAAAAABHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAEHgAAAAAEHQAAAAADHQAAAAAEHAAAAAACHAAAAAAAHAAAAAAFHAAAAAADHAAAAAAAAQAAAAAEAwAAAAADAwAAAAADHQAAAAADHQAAAAAFHQAAAAAFHgAAAAAFHgAAAAAEHgAAAAACHgAAAAAFHQAAAAAFHQAAAAADHQAAAAAFHAAAAAACHAAAAAACHAAAAAADHAAAAAABHAAAAAAEHAAAAAADHQAAAAAFHQAAAAACHQAAAAACHgAAAAAAHgAAAAAAHQAAAAAFHQAAAAAFHQAAAAAAHQAAAAABHQAAAAADHAAAAAAEHAAAAAAEHAAAAAABHAAAAAAFHAAAAAAEHAAAAAADHQAAAAACHQAAAAACHQAAAAAFHQAAAAAAHQAAAAAFHAAAAAAEHAAAAAABHAAAAAAAHQAAAAACHAAAAAABHAAAAAABHAAAAAAFHQAAAAADHAAAAAADHAAAAAAFHAAAAAADHAAAAAAEHAAAAAACHQAAAAAEHQAAAAAFHQAAAAACHAAAAAAFHAAAAAACHAAAAAABHAAAAAAAHAAAAAACHAAAAAAFHAAAAAABHAAAAAADHAAAAAACHQAAAAAEHQAAAAAFHAAAAAABHAAAAAAAHAAAAAAFHQAAAAAEHQAAAAAAHQAAAAACHAAAAAABHAAAAAACHAAAAAAFHAAAAAADHQAAAAAAHAAAAAABHAAAAAAEHQAAAAACHQAAAAADHAAAAAAAGgAAAAAAHAAAAAACHAAAAAAEHAAAAAADHAAAAAAFHQAAAAAAHAAAAAADHAAAAAACHQAAAAACHQAAAAAAHAAAAAADHAAAAAADHAAAAAADHAAAAAABHQAAAAAEHAAAAAADGgAAAAAAGgAAAAAAHAAAAAABHAAAAAAFHAAAAAAFHQAAAAABHQAAAAAEHQAAAAAEHQAAAAACHQAAAAAFHQAAAAABHQAAAAAFHQAAAAAAHAAAAAACHQAAAAADHQAAAAACGgAAAAAAGgAAAAAAHAAAAAAEHAAAAAAAHAAAAAABHgAAAAAEHQAAAAAFHQAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAAFHQAAAAADGgAAAAAAGgAAAAAAGgAAAAAAHAAAAAAEHAAAAAADHgAAAAAEHgAAAAAEHQAAAAAAHAAAAAADHAAAAAABHAAAAAAAHQAAAAABHgAAAAADHgAAAAAEHQAAAAACHQAAAAAFHAAAAAAFHQAAAAAEGgAAAAAAGgAAAAAAHQAAAAADHgAAAAACHQAAAAAEHAAAAAABHAAAAAACHAAAAAAFHQAAAAAAHQAAAAABHgAAAAACHQAAAAABHQAAAAAAHAAAAAAAHQAAAAABHQAAAAAAHQAAAAAAGgAAAAAAGgAAAAAAHgAAAAAAHQAAAAACHAAAAAABHAAAAAAAHAAAAAAFHQAAAAAAHQAAAAADHQAAAAAFHQAAAAACHQAAAAACHQAAAAABHgAAAAACHgAAAAAFHgAAAAAEHQAAAAAEGgAAAAAAGgAAAAAAHAAAAAAEHAAAAAAAHAAAAAABHAAAAAABHAAAAAAAHQAAAAAFHQAAAAAAHQAAAAADHQAAAAAFGgAAAAAGHQAAAAACGgAAAAAFHQAAAAAAHQAAAAABHQAAAAADGgAAAAAAGgAAAAAAGgAAAAAAHAAAAAABHAAAAAAFHAAAAAAAHAAAAAAFHQAAAAACHQAAAAAEGgAAAAAHGgAAAAANCQAAAAADCQAAAAAKHQAAAAABHAAAAAAEHAAAAAABHAAAAAABGgAAAAAAGgAAAAAAGgAAAAAAHAAAAAAEHAAAAAAFHQAAAAABGgAAAAAPGgAAAAAPGgAAAAALGgAAAAAD version: 6 -1,1: ind: -1,1 - tiles: CQAAAAAKGgAAAAADGgAAAAAOGgAAAAALHAAAAAABHAAAAAADHAAAAAADHAAAAAAFHAAAAAAFHAAAAAAFHQAAAAAFGgAAAAAHGgAAAAAPGgAAAAADHAAAAAAEHQAAAAAFCQAAAAABCQAAAAADCQAAAAAEGgAAAAAFHAAAAAADHAAAAAABHAAAAAADHAAAAAADHAAAAAAAHQAAAAAAGgAAAAAIGgAAAAAOHgAAAAACHQAAAAAFHQAAAAACHQAAAAACGgAAAAAHGgAAAAAJHAAAAAAAHAAAAAADHAAAAAAAHAAAAAACHAAAAAACHAAAAAAAHAAAAAAFGgAAAAAJGgAAAAAJHQAAAAABHQAAAAABHQAAAAAFHQAAAAADHAAAAAAFHAAAAAACHAAAAAABHAAAAAAFHAAAAAACHAAAAAAFHAAAAAACHQAAAAADHQAAAAAAGgAAAAADGgAAAAAIHQAAAAACHQAAAAAAHQAAAAAEHQAAAAADHAAAAAACHAAAAAABHQAAAAABHQAAAAAFHAAAAAAEHQAAAAAEHQAAAAACHQAAAAACAQAAAAAAAQAAAAAFCwAAAAACAQAAAAACAQAAAAABAQAAAAABAQAAAAABAQAAAAAAAQAAAAAEAQAAAAACHAAAAAACHAAAAAAAHAAAAAAEHAAAAAACHAAAAAABHAAAAAACAQAAAAADCAAAAAAACwAAAAAACwAAAAAACwAAAAABCwAAAAAACwAAAAACCwAAAAABCwAAAAABAQAAAAADHAAAAAAEHAAAAAACHAAAAAABHAAAAAAEHAAAAAACHAAAAAABAQAAAAAACAAAAAABCwAAAAADCwAAAAADCwAAAAADCwAAAAACCwAAAAADCgAAAAAACgAAAAACAQAAAAACHAAAAAABHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHAAAAAAAAQAAAAAACgAAAAACCgAAAAADCwAAAAABCwAAAAAACwAAAAACCwAAAAAACgAAAAAACgAAAAADAQAAAAADHQAAAAABHQAAAAAEHAAAAAAEHAAAAAAAHAAAAAABHAAAAAABAQAAAAAACgAAAAADCgAAAAADCAAAAAAACAAAAAACAQAAAAADAQAAAAADAQAAAAABAQAAAAAAAQAAAAAEHgAAAAABHQAAAAABHQAAAAAAHAAAAAAEHAAAAAABHQAAAAABCwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAAHQAAAAAFHQAAAAAFHQAAAAABHgAAAAACHQAAAAAAHAAAAAABHAAAAAABHAAAAAAFHAAAAAAECwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAADHQAAAAAFHQAAAAABHgAAAAADHgAAAAAAHAAAAAADHAAAAAADHAAAAAACHAAAAAACHAAAAAABCwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAEHgAAAAAAHQAAAAACHQAAAAADHgAAAAACHAAAAAADHAAAAAABHAAAAAABHAAAAAACHAAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAFHgAAAAADHQAAAAAFHQAAAAADHgAAAAABHQAAAAACHAAAAAACHAAAAAACHAAAAAAEHAAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAFHgAAAAABHQAAAAADHQAAAAABHgAAAAAFHQAAAAADHAAAAAABHAAAAAAFHAAAAAAAHAAAAAADCwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHgAAAAAAHgAAAAABHQAAAAAEHQAAAAAAHgAAAAAEHQAAAAADHQAAAAACHQAAAAACHAAAAAADHAAAAAAFHQAAAAACHQAAAAAFHQAAAAAEHQAAAAAFHgAAAAAFHgAAAAABHgAAAAAFHgAAAAABHgAAAAAFHgAAAAAF + tiles: CQAAAAAKGgAAAAADGgAAAAAOGgAAAAALHAAAAAABHAAAAAADHAAAAAADHAAAAAAFGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAHGgAAAAAPGgAAAAADHAAAAAAEHQAAAAAFCQAAAAABCQAAAAADCQAAAAAEGgAAAAAFHAAAAAADHAAAAAABHAAAAAADHAAAAAADHAAAAAAAHQAAAAAAGgAAAAAIGgAAAAAOHgAAAAACHQAAAAAFHQAAAAACHQAAAAACGgAAAAAHGgAAAAAJHAAAAAAAHAAAAAADHAAAAAAAHAAAAAACHAAAAAACHAAAAAAAHAAAAAAFGgAAAAAJGgAAAAAJHQAAAAABHQAAAAABHQAAAAAFHQAAAAADHAAAAAAFHAAAAAACHAAAAAABHAAAAAAFHAAAAAACHAAAAAAFHAAAAAACHQAAAAADHQAAAAAAGgAAAAADGgAAAAAIHQAAAAACHQAAAAAAHQAAAAAEHQAAAAADHAAAAAACHAAAAAABHQAAAAABHQAAAAAFHAAAAAAEHQAAAAAEHQAAAAACHQAAAAACAQAAAAAAAQAAAAAFCwAAAAACAQAAAAACAQAAAAABAQAAAAABAQAAAAABAQAAAAAAAQAAAAAEAQAAAAACHAAAAAACHAAAAAAAHAAAAAAEHAAAAAACHAAAAAABHAAAAAACAQAAAAADCAAAAAAACwAAAAAACwAAAAAACwAAAAABCwAAAAAACwAAAAACCwAAAAABCwAAAAABAQAAAAADHAAAAAAEHAAAAAACHAAAAAABHAAAAAAEHAAAAAACHAAAAAABAQAAAAAACAAAAAABCwAAAAADCwAAAAADCwAAAAADCwAAAAACCwAAAAADCgAAAAAACgAAAAACAQAAAAACHAAAAAABHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHAAAAAAAAQAAAAAACgAAAAACCgAAAAADCwAAAAABCwAAAAAACwAAAAACCwAAAAAACgAAAAAACgAAAAADAQAAAAADHQAAAAABHQAAAAAEHAAAAAAEHAAAAAAAHAAAAAABHAAAAAABAQAAAAAACgAAAAADCgAAAAADCAAAAAAACAAAAAACAQAAAAADAQAAAAADAQAAAAABAQAAAAAAAQAAAAAEHgAAAAABHQAAAAABHQAAAAAAHAAAAAAEHAAAAAABHQAAAAABCwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAAHQAAAAAFHQAAAAAFHQAAAAABHgAAAAACHQAAAAAAHAAAAAABHAAAAAABHAAAAAAFHAAAAAAECwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAADHQAAAAAFHQAAAAABHgAAAAADHgAAAAAAHAAAAAADHAAAAAADHAAAAAACHAAAAAACHAAAAAABCwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAEHgAAAAAAHQAAAAACHQAAAAADHgAAAAACHAAAAAADHAAAAAABHAAAAAABHAAAAAACHAAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAFHgAAAAADHQAAAAAFHQAAAAADHgAAAAABHQAAAAACHAAAAAACHAAAAAACHAAAAAAEHAAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHQAAAAAFHgAAAAABHQAAAAADHQAAAAABHgAAAAAFHQAAAAADHAAAAAABHAAAAAAFHAAAAAAAHAAAAAADCwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAAHgAAAAAAHgAAAAABHQAAAAAEHQAAAAAAHgAAAAAEHQAAAAADHQAAAAACHQAAAAACHAAAAAADHAAAAAAFHQAAAAACHQAAAAAFHQAAAAAEHQAAAAAFHgAAAAAFHgAAAAABHgAAAAAFHgAAAAABHgAAAAAFHgAAAAAF version: 6 1,-3: ind: 1,-3 @@ -171,7 +171,7 @@ entities: version: 6 -3,2: ind: -3,2 - tiles: MQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAFHQAAAAADHQAAAAAAHQAAAAAEHQAAAAACHQAAAAADHQAAAAACHQAAAAACHQAAAAADMQAAAAAAMwAAAAAAMwAAAAAAMwAAAAAAMwAAAAAAMQAAAAAAMQAAAAAAHQAAAAAAHQAAAAADHQAAAAAEHQAAAAADHQAAAAAFHQAAAAABHQAAAAAAHQAAAAAEHgAAAAAFMQAAAAAAMAAAAAABMgAAAAAAMgAAAAAAMAAAAAAHMQAAAAAAHAAAAAAAHQAAAAABHQAAAAAAHQAAAAAFHQAAAAAEHQAAAAABHQAAAAAEHQAAAAAAHQAAAAAAHgAAAAACMQAAAAAAMAAAAAAHMgAAAAAAMgAAAAAAMAAAAAADMQAAAAAAHQAAAAABHQAAAAAFHgAAAAADHQAAAAAAHQAAAAABHQAAAAAAHQAAAAAFHQAAAAABHAAAAAADHQAAAAABMQAAAAAAMQAAAAAAMAAAAAAIMAAAAAAGMQAAAAAAMQAAAAAAHgAAAAADHgAAAAAFHgAAAAABHQAAAAABHQAAAAADHQAAAAACHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAHAAAAAACHQAAAAACHQAAAAACHgAAAAAEHQAAAAADHAAAAAAAHQAAAAAEHAAAAAAAHAAAAAAEHAAAAAACHAAAAAADHAAAAAADHAAAAAAEHQAAAAABHAAAAAAAHAAAAAACHAAAAAAFHAAAAAADHAAAAAAFHQAAAAAAHQAAAAACHAAAAAAEHAAAAAADHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAAAHAAAAAADHAAAAAACHQAAAAAEHAAAAAAAHAAAAAABHAAAAAACHAAAAAABHAAAAAADHQAAAAACHQAAAAAAHAAAAAAFHAAAAAAEHAAAAAADHAAAAAACHAAAAAABHAAAAAACHAAAAAADHAAAAAAEHAAAAAAAHAAAAAACHAAAAAACHAAAAAABHQAAAAACHQAAAAAAHQAAAAADHQAAAAAEHAAAAAACHAAAAAAAHAAAAAACHAAAAAABHAAAAAAAHAAAAAAAHAAAAAAFHAAAAAABHAAAAAAFHAAAAAAEHQAAAAAEHAAAAAABHQAAAAACHQAAAAAAHQAAAAAFHQAAAAAEHAAAAAADHAAAAAADHAAAAAACHAAAAAAFHAAAAAAFHQAAAAAAHAAAAAAFHAAAAAAAHAAAAAAEHAAAAAAFHQAAAAABHAAAAAAFHAAAAAAAHAAAAAAFHQAAAAADHQAAAAACHQAAAAABHAAAAAABHQAAAAACHAAAAAADHAAAAAADHAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAFHAAAAAADHQAAAAAEHQAAAAABHAAAAAABHAAAAAAAHQAAAAADHQAAAAABHgAAAAABHQAAAAADHQAAAAADHAAAAAAFHAAAAAAEHAAAAAAAAAAAAAAAAAAAAAAAHAAAAAACHAAAAAABHAAAAAADHAAAAAAAHAAAAAABHAAAAAADHQAAAAAFHgAAAAAEHgAAAAAEHQAAAAAAHAAAAAAAHAAAAAAEHAAAAAADHAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHAAAAAADHQAAAAABHgAAAAADHQAAAAADHQAAAAACHAAAAAAAHAAAAAACHAAAAAABHQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAAFHgAAAAAFHQAAAAAFHQAAAAACHAAAAAACHAAAAAABHAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAABHQAAAAAFHQAAAAABHQAAAAABHQAAAAAAHQAAAAAEHQAAAAADHAAAAAAFHAAAAAABHQAAAAAB + tiles: MQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAFHQAAAAADHQAAAAAAHQAAAAAEHQAAAAACHQAAAAADHQAAAAACHQAAAAACHQAAAAADMQAAAAAAMwAAAAAAMwAAAAAAMwAAAAAAMwAAAAAAMQAAAAAAMQAAAAAAHQAAAAAAHQAAAAADHQAAAAAEHQAAAAADHQAAAAAFHQAAAAABHQAAAAAAHQAAAAAEHgAAAAAFMQAAAAAAMAAAAAABMgAAAAAAMgAAAAAAMAAAAAAHMQAAAAAAHAAAAAAAHQAAAAABHQAAAAAAHQAAAAAFHQAAAAAEHQAAAAABHQAAAAAEHQAAAAAAHQAAAAAAHgAAAAACMQAAAAAAMAAAAAAHMgAAAAAAMgAAAAAAMAAAAAADMQAAAAAAHQAAAAABHQAAAAAFHgAAAAADHQAAAAAAHQAAAAABHQAAAAAAHQAAAAAFHQAAAAABHAAAAAADHQAAAAABMQAAAAAAMQAAAAAAMAAAAAAIMAAAAAAGMQAAAAAAMQAAAAAAHgAAAAADHgAAAAAFHgAAAAABHQAAAAABHQAAAAADHQAAAAACHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAHAAAAAACHQAAAAACHQAAAAACHgAAAAAEHQAAAAADHAAAAAAAHQAAAAAEHAAAAAAAHAAAAAAEHAAAAAACHAAAAAADHAAAAAADHAAAAAAEHQAAAAABHAAAAAAAHAAAAAACHAAAAAAFHAAAAAADHAAAAAAFHQAAAAAAHQAAAAACHAAAAAAEHAAAAAADHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAAAHAAAAAADHAAAAAACHQAAAAAEHAAAAAAAHAAAAAABHAAAAAACHAAAAAABHAAAAAADHQAAAAACHQAAAAAAHAAAAAAFHAAAAAAEHAAAAAADHAAAAAACHAAAAAABHAAAAAACHAAAAAADHAAAAAAEHAAAAAAAHAAAAAACHAAAAAACHAAAAAABHQAAAAACHQAAAAAAHQAAAAADHQAAAAAEHAAAAAACHAAAAAAAHAAAAAACHAAAAAABHAAAAAAAHAAAAAAAHAAAAAAFHAAAAAABHAAAAAAFHAAAAAAEHQAAAAAEHAAAAAABHQAAAAACHQAAAAAAHQAAAAAFHQAAAAAEHAAAAAADHAAAAAADHAAAAAACHAAAAAAFHAAAAAAFHQAAAAAAHAAAAAAFHAAAAAAAHAAAAAAEHAAAAAAFHQAAAAABHAAAAAAFHAAAAAAAHAAAAAAFHQAAAAADHQAAAAACHQAAAAABHAAAAAABHQAAAAACHAAAAAADHAAAAAADHAAAAAAAHQAAAAAEHAAAAAABHAAAAAAFHAAAAAADHQAAAAAEHQAAAAABHAAAAAABHAAAAAAAHQAAAAADHQAAAAABHgAAAAABHQAAAAADHQAAAAADHAAAAAAFHAAAAAAEHAAAAAAAHQAAAAAEHAAAAAACHAAAAAACHAAAAAABHAAAAAADHAAAAAAAHAAAAAABHAAAAAADHQAAAAAFHgAAAAAEHgAAAAAEHQAAAAAAHAAAAAAAHAAAAAAEHAAAAAADHAAAAAAEHgAAAAACHQAAAAADHQAAAAAEHQAAAAAEHQAAAAAEHAAAAAABHQAAAAAAHAAAAAADHQAAAAABHgAAAAADHQAAAAADHQAAAAACHAAAAAAAHAAAAAACHAAAAAABHQAAAAABHgAAAAAEHQAAAAAEHgAAAAAAHgAAAAACHQAAAAAEHQAAAAACHQAAAAAAHQAAAAABHQAAAAACHQAAAAAFHgAAAAAFHQAAAAAFHQAAAAACHAAAAAACHAAAAAABHAAAAAABHQAAAAADHgAAAAAAHgAAAAADHgAAAAADHQAAAAACHQAAAAADHQAAAAABHQAAAAAFHQAAAAABHQAAAAABHQAAAAAAHQAAAAAEHQAAAAADHAAAAAAFHAAAAAABHQAAAAAB version: 6 -1,-2: ind: -1,-2 @@ -179,7 +179,7 @@ entities: version: 6 -3,0: ind: -3,0 - tiles: HAAAAAABHAAAAAADHAAAAAAAHAAAAAAEHAAAAAAFHQAAAAABHQAAAAAFHAAAAAABHQAAAAABHQAAAAADHQAAAAAAHQAAAAADHQAAAAAAHQAAAAAEHQAAAAABHgAAAAAEHQAAAAACHQAAAAAEHQAAAAACHAAAAAAEHAAAAAAEHAAAAAAFHAAAAAAFHAAAAAAFHAAAAAAEHQAAAAABHQAAAAAFHQAAAAAEHgAAAAAFHgAAAAAAHgAAAAAAHgAAAAAAHQAAAAAAHQAAAAABHAAAAAAEHAAAAAADHAAAAAABHAAAAAABHAAAAAAEHQAAAAAEHAAAAAACHAAAAAAEHQAAAAABHQAAAAABHgAAAAAFHgAAAAAAHgAAAAADHgAAAAABHQAAAAACHQAAAAABHQAAAAAEHAAAAAABHAAAAAAFHAAAAAABHQAAAAAFHQAAAAABHAAAAAADHAAAAAABHQAAAAACHgAAAAABHgAAAAAEHQAAAAAEHQAAAAABHQAAAAAEHQAAAAABHQAAAAAAHQAAAAAFHQAAAAABHAAAAAABHAAAAAAEHQAAAAAEHQAAAAAFHQAAAAAAHQAAAAAEHQAAAAADHQAAAAAEHQAAAAAFHQAAAAAEHAAAAAAAHQAAAAAEHQAAAAAFHQAAAAADHgAAAAABHgAAAAADHQAAAAAFHQAAAAABHQAAAAADHgAAAAAFHgAAAAACHQAAAAAFHQAAAAACHQAAAAAAHAAAAAACHAAAAAADHAAAAAAFHQAAAAAFHQAAAAABHQAAAAAAHQAAAAACHgAAAAAFHQAAAAACHQAAAAABHQAAAAADHgAAAAAAHQAAAAADHQAAAAAAHQAAAAAEHQAAAAABHAAAAAADHAAAAAACHAAAAAADHQAAAAADHAAAAAACHAAAAAAAHAAAAAADHQAAAAADHQAAAAABHQAAAAACHgAAAAACHgAAAAACHQAAAAAAHQAAAAACHAAAAAAAHAAAAAADHAAAAAADHAAAAAADHAAAAAAEHQAAAAAFGgAAAAAHGgAAAAAKHAAAAAAAHAAAAAAEHAAAAAAAHAAAAAAFHQAAAAACHQAAAAABHQAAAAACHQAAAAAFHQAAAAAEHAAAAAAAHAAAAAAAHAAAAAADHAAAAAABHAAAAAAAIAAAAAABCQAAAAAKHAAAAAACHAAAAAAAHAAAAAACHAAAAAADHAAAAAAAHQAAAAAAHQAAAAADHAAAAAAFHAAAAAAEHAAAAAACHAAAAAACHAAAAAAEHQAAAAACHQAAAAABIAAAAAADCQAAAAANHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAAHAAAAAABHAAAAAABHAAAAAAAHQAAAAACHAAAAAADHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHQAAAAADIAAAAAADCQAAAAAEHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAACHAAAAAAAHAAAAAAAHAAAAAAAHQAAAAADHAAAAAACHAAAAAAFHAAAAAAFHAAAAAAAHAAAAAAAHQAAAAADIAAAAAADCQAAAAABHQAAAAAFHQAAAAAAHQAAAAADHQAAAAABHAAAAAAFHAAAAAAFHAAAAAAAHQAAAAACHQAAAAABHAAAAAADHAAAAAAEHAAAAAACHAAAAAADHQAAAAABIAAAAAACCQAAAAAICQAAAAAEHQAAAAADHQAAAAACHQAAAAACHQAAAAACHAAAAAAEHQAAAAACHQAAAAAFHQAAAAAFHAAAAAAEHAAAAAAFHAAAAAABHAAAAAAAHAAAAAAFGgAAAAAECQAAAAACCQAAAAAAAAAAAAAAHQAAAAAFHQAAAAAAHQAAAAADHQAAAAACHAAAAAAAHAAAAAACHQAAAAAEHQAAAAAAHQAAAAAAHQAAAAAEHQAAAAAAHQAAAAAFGgAAAAANAAAAAAAAAAAAAAAACQAAAAAKAAAAAAAAHQAAAAAEHQAAAAAAHQAAAAAEHQAAAAADHQAAAAAAHQAAAAABHgAAAAABHgAAAAACHQAAAAAAHQAAAAACHQAAAAAA + tiles: HAAAAAABHAAAAAADHAAAAAAAHAAAAAAEHAAAAAAFHQAAAAABHQAAAAAFHAAAAAABHQAAAAABHQAAAAADHQAAAAAAHQAAAAADHQAAAAAAHQAAAAAEHQAAAAABHgAAAAAEHQAAAAACHQAAAAAEHQAAAAACHAAAAAAEHAAAAAAEHAAAAAAFHAAAAAAFHAAAAAAFHAAAAAAEHQAAAAABHQAAAAAFHQAAAAAEHgAAAAAFHgAAAAAAHgAAAAAAHgAAAAAAHQAAAAAAHQAAAAABHAAAAAAEHAAAAAADHAAAAAABHAAAAAABHAAAAAAEHQAAAAAEHAAAAAACHAAAAAAEHQAAAAABHQAAAAABHgAAAAAFHgAAAAAAHgAAAAADHgAAAAABHQAAAAACHQAAAAABHQAAAAAEHAAAAAABHAAAAAAFHAAAAAABHQAAAAAFHQAAAAABHAAAAAADHAAAAAABHQAAAAACHgAAAAABHgAAAAAEHQAAAAAEHQAAAAABHQAAAAAEHQAAAAABHQAAAAAAHQAAAAAFHQAAAAABHAAAAAABHAAAAAAEHQAAAAAEHQAAAAAFHQAAAAAAHQAAAAAEHQAAAAADHQAAAAAEHQAAAAAFHQAAAAAEHAAAAAAAHQAAAAAEHQAAAAAFHQAAAAADHgAAAAABHgAAAAADHQAAAAAFHQAAAAABHQAAAAADHgAAAAAFHgAAAAACHQAAAAAFHQAAAAACHQAAAAAAHAAAAAACHAAAAAADHAAAAAAFHQAAAAAFHQAAAAABHQAAAAAAHQAAAAACHgAAAAAFHQAAAAACHQAAAAABHQAAAAADHgAAAAAAHQAAAAADHQAAAAAAHQAAAAAEHQAAAAABHAAAAAADHAAAAAACHAAAAAADHQAAAAADHAAAAAACHAAAAAAAHAAAAAADHQAAAAADHQAAAAABHQAAAAACHgAAAAACHgAAAAACHQAAAAAAHQAAAAACHAAAAAAAHAAAAAADHAAAAAADHAAAAAADHAAAAAAEHQAAAAAFGgAAAAAHGgAAAAAKHAAAAAAAHAAAAAAEHAAAAAAAHAAAAAAFHQAAAAACHQAAAAABHQAAAAACHQAAAAAFHQAAAAAEHAAAAAAAHAAAAAAAHAAAAAADHAAAAAABHAAAAAAAIAAAAAABCQAAAAAKHAAAAAACHAAAAAAAHAAAAAACHAAAAAADHAAAAAAAHQAAAAAAHQAAAAADHAAAAAAFHAAAAAAEHAAAAAACHAAAAAACHAAAAAAEHQAAAAACHQAAAAABIAAAAAADCQAAAAANHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAAHAAAAAABHAAAAAABHAAAAAAAHQAAAAACHAAAAAADHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHQAAAAADIAAAAAADCQAAAAAEHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAACHAAAAAAAHAAAAAAAHAAAAAAAHQAAAAADHAAAAAACHAAAAAAFHAAAAAAFHAAAAAAAHAAAAAAAHQAAAAADIAAAAAADCQAAAAABHQAAAAAFHQAAAAAAHQAAAAADHQAAAAABHAAAAAAFHAAAAAAFHAAAAAAAHQAAAAACHQAAAAABHAAAAAADHAAAAAAEHAAAAAACHAAAAAADHQAAAAABIAAAAAACCQAAAAAICQAAAAAEHQAAAAADHQAAAAACHQAAAAACHQAAAAACHAAAAAAEHQAAAAACHQAAAAAFHQAAAAAFHAAAAAAEHAAAAAAFHAAAAAABHAAAAAAAHAAAAAAFGgAAAAAECQAAAAACCQAAAAAAHgAAAAAEHQAAAAAFHQAAAAAAHQAAAAADHQAAAAACHAAAAAAAHAAAAAACHQAAAAAEHQAAAAAAHQAAAAAAHQAAAAAEHQAAAAAAHQAAAAAFGgAAAAANHQAAAAACHQAAAAADCQAAAAAKHgAAAAADHQAAAAAEHQAAAAAAHQAAAAAEHQAAAAADHQAAAAAAHQAAAAABHgAAAAABHgAAAAACHQAAAAAAHQAAAAACHQAAAAAA version: 6 -4,-3: ind: -4,-3 @@ -223,7 +223,7 @@ entities: version: 6 -3,1: ind: -3,1 - tiles: AAAAAAAAAAAAAAAAHQAAAAAECQAAAAAKHQAAAAAAHQAAAAAAHQAAAAAAHAAAAAACHQAAAAADHQAAAAAEHgAAAAACHgAAAAADHgAAAAACHQAAAAAFHQAAAAABHQAAAAABCQAAAAAACQAAAAAHAAAAAAAAHQAAAAAFHAAAAAAAHQAAAAAEHQAAAAAEHAAAAAAEHAAAAAACHQAAAAAFHQAAAAABHgAAAAADHgAAAAAAHgAAAAADHQAAAAADHQAAAAADCQAAAAADGgAAAAAGGgAAAAAFHAAAAAADHAAAAAACHAAAAAAFHQAAAAABHQAAAAABHQAAAAABHAAAAAAAHQAAAAADHQAAAAAEHgAAAAAAHQAAAAABHQAAAAAFHQAAAAAACQAAAAAKGgAAAAAEGgAAAAALHAAAAAAEHAAAAAAAHAAAAAADHAAAAAABHAAAAAAFHAAAAAAEHQAAAAADHQAAAAABHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHAAAAAADCQAAAAAFCQAAAAABCQAAAAACGgAAAAAEHAAAAAABHAAAAAAAHQAAAAABHQAAAAAEHQAAAAAEHQAAAAACHQAAAAAEHQAAAAAFHAAAAAAEHQAAAAADHQAAAAAAHQAAAAABCQAAAAAMGgAAAAAFCQAAAAAKCQAAAAADHAAAAAACHAAAAAADHAAAAAAEHAAAAAAAHQAAAAAFHQAAAAAAHQAAAAAAHQAAAAAFHQAAAAABHQAAAAADHAAAAAACHAAAAAAACQAAAAANCQAAAAAHCQAAAAAAHQAAAAAEHQAAAAACHAAAAAAEHAAAAAAAHAAAAAABHAAAAAADHAAAAAAEHQAAAAACHQAAAAACHQAAAAAFHQAAAAAAHQAAAAABHAAAAAADCQAAAAADGgAAAAALMQAAAAAAMQAAAAAAHQAAAAACHAAAAAACHAAAAAACHAAAAAACHAAAAAAFHAAAAAAEHAAAAAAFHQAAAAAEHgAAAAAEHgAAAAAAHQAAAAABHAAAAAABHAAAAAADMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAFHQAAAAABHAAAAAAEHAAAAAACHAAAAAABHAAAAAACHQAAAAAFHgAAAAACHgAAAAAEHQAAAAAAHAAAAAACMQAAAAAAMQAAAAAAGgAAAAAIMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAADHAAAAAADHAAAAAAEHAAAAAACHAAAAAACHAAAAAAAHgAAAAACHgAAAAADHQAAAAAAHQAAAAAFMQAAAAAAMQAAAAAAHAAAAAADMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAEHQAAAAABHQAAAAAAHAAAAAAAHAAAAAACHQAAAAAEHQAAAAABHQAAAAABHAAAAAAFHAAAAAAAMQAAAAAACQAAAAAFHAAAAAAFCQAAAAALMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAEHAAAAAABHAAAAAACHQAAAAADHQAAAAAFHQAAAAAFHQAAAAABHAAAAAACHAAAAAABCQAAAAAGCQAAAAADCQAAAAAFHAAAAAACMQAAAAAAMQAAAAAAMQAAAAAAHAAAAAABHAAAAAADHQAAAAADHgAAAAAFHgAAAAADHQAAAAAEHQAAAAAAHQAAAAAAHAAAAAABCQAAAAAGGgAAAAADHAAAAAABHgAAAAADCQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHgAAAAABHgAAAAAEHQAAAAAAHQAAAAADHQAAAAAECQAAAAAMCQAAAAAGCQAAAAAKGgAAAAADCQAAAAAIMQAAAAAAMQAAAAAAHAAAAAABHAAAAAADHAAAAAACHQAAAAAFHgAAAAACHQAAAAACHQAAAAACHQAAAAAFHQAAAAACMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAJHAAAAAAEMQAAAAAAMQAAAAAAHQAAAAACHQAAAAAFHQAAAAACHgAAAAADHQAAAAADHAAAAAABHAAAAAAEHQAAAAABHAAAAAAE + tiles: HAAAAAABHAAAAAABHQAAAAAECQAAAAAKHQAAAAAAHQAAAAAAHQAAAAAAHAAAAAACHQAAAAADHQAAAAAEHgAAAAACHgAAAAADHgAAAAACHQAAAAAFHQAAAAABHQAAAAABCQAAAAAACQAAAAAHHQAAAAADHQAAAAAFHAAAAAAAHQAAAAAEHQAAAAAEHAAAAAAEHAAAAAACHQAAAAAFHQAAAAABHgAAAAADHgAAAAAAHgAAAAADHQAAAAADHQAAAAADCQAAAAADGgAAAAAGGgAAAAAFHAAAAAADHAAAAAACHAAAAAAFHQAAAAABHQAAAAABHQAAAAABHAAAAAAAHQAAAAADHQAAAAAEHgAAAAAAHQAAAAABHQAAAAAFHQAAAAAACQAAAAAKGgAAAAAEGgAAAAALHAAAAAAEHAAAAAAAHAAAAAADHAAAAAABHAAAAAAFHAAAAAAEHQAAAAADHQAAAAABHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHAAAAAADCQAAAAAFCQAAAAABCQAAAAACGgAAAAAEHAAAAAABHAAAAAAAHQAAAAABHQAAAAAEHQAAAAAEHQAAAAACHQAAAAAEHQAAAAAFHAAAAAAEHQAAAAADHQAAAAAAHQAAAAABCQAAAAAMGgAAAAAFCQAAAAAKCQAAAAADHAAAAAACHAAAAAADHAAAAAAEHAAAAAAAHQAAAAAFHQAAAAAAHQAAAAAAHQAAAAAFHQAAAAABHQAAAAADHAAAAAACHAAAAAAACQAAAAANCQAAAAAHCQAAAAAAHQAAAAAEHQAAAAACHAAAAAAEHAAAAAAAHAAAAAABHAAAAAADHAAAAAAEHQAAAAACHQAAAAACHQAAAAAFHQAAAAAAHQAAAAABHAAAAAADCQAAAAADGgAAAAALMQAAAAAAMQAAAAAAHQAAAAACHAAAAAACHAAAAAACHAAAAAACHAAAAAAFHAAAAAAEHAAAAAAFHQAAAAAEHgAAAAAEHgAAAAAAHQAAAAABHAAAAAABHAAAAAADMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAFHQAAAAABHAAAAAAEHAAAAAACHAAAAAABHAAAAAACHQAAAAAFHgAAAAACHgAAAAAEHQAAAAAAHAAAAAACMQAAAAAAMQAAAAAAGgAAAAAIMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAADHAAAAAADHAAAAAAEHAAAAAACHAAAAAACHAAAAAAAHgAAAAACHgAAAAADHQAAAAAAHQAAAAAFMQAAAAAAMQAAAAAAHAAAAAADMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAEHQAAAAABHQAAAAAAHAAAAAAAHAAAAAACHQAAAAAEHQAAAAABHQAAAAABHAAAAAAFHAAAAAAAMQAAAAAACQAAAAAFHAAAAAAFCQAAAAALMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAEHAAAAAABHAAAAAACHQAAAAADHQAAAAAFHQAAAAAFHQAAAAABHAAAAAACHAAAAAABCQAAAAAGCQAAAAADCQAAAAAFHAAAAAACMQAAAAAAMQAAAAAAMQAAAAAAHAAAAAABHAAAAAADHQAAAAADHgAAAAAFHgAAAAADHQAAAAAEHQAAAAAAHQAAAAAAHAAAAAABCQAAAAAGGgAAAAADHAAAAAABHgAAAAADCQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHgAAAAABHgAAAAAEHQAAAAAAHQAAAAADHQAAAAAECQAAAAAMCQAAAAAGCQAAAAAKGgAAAAADCQAAAAAIMQAAAAAAMQAAAAAAHAAAAAABHAAAAAADHAAAAAACHQAAAAAFHgAAAAACHQAAAAACHQAAAAACHQAAAAAFHQAAAAACMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAJHAAAAAAEMQAAAAAAMQAAAAAAHQAAAAACHQAAAAAFHQAAAAACHgAAAAADHQAAAAADHAAAAAABHAAAAAAEHQAAAAABHAAAAAAE version: 6 1,-4: ind: 1,-4 @@ -402,251 +402,251 @@ entities: loadedMarkers: {} pendingMarkers: {} loadedChunks: - - -32,24 - - -32,16 - - -32,8 + - 16,32 - 16,24 + - 8,32 - 16,16 - - 24,-16 - - 16,-16 - - -32,0 - - -32,-8 - - 8,-16 - 16,8 + - 8,24 + - 8,16 + - 16,40 + - 8,40 + - 0,32 - 16,0 - 16,-8 - - 0,-16 - - -8,-16 - - -16,-16 - - -24,-16 + - 16,-16 + - 8,8 + - 0,40 + - -8,32 - 0,24 - 0,16 - 0,8 - - 0,0 - - 0,-8 + - -8,40 + - 16,-24 - -8,24 - -8,16 - -8,8 - - -8,0 - - -8,-8 - - 24,48 - - -32,-16 - - -16,24 - - -16,16 - - -24,24 - - -16,8 - - -16,0 - - -24,16 - - -24,8 - - -24,0 - - -24,-8 - - 24,40 - - 16,40 - - 8,40 - - -16,-8 - - 24,32 - - 0,40 - - 24,24 - - 24,16 - - -40,40 - - -8,40 - - -40,32 - - 8,24 - - 8,16 - - 8,8 - 8,0 + - 8,-24 + - -16,40 + - -24,24 + - -24,16 + - -16,32 + - -48,40 + - -24,40 + - 0,-16 + - -32,40 + - -48,32 + - -48,24 + - -48,16 - 8,-8 - - 24,8 + - 8,-16 + - -48,8 + - -48,0 + - -24,32 + - -48,-8 + - 0,-24 + - -40,40 + - -32,32 + - -40,32 + - -8,-24 - -40,24 + - -16,24 - -40,16 - -40,8 - -40,0 + - -16,-24 + - -16,16 + - 0,0 + - -24,-24 - -40,-8 - - 24,0 - - -16,40 - - -24,40 - - -32,40 - - -32,32 - - -24,32 - - -16,32 - - -8,32 - - 0,32 - - 8,32 - - 16,32 + - -32,24 + - -8,-16 + - 0,-8 + - -8,-8 + - -32,-24 + - -16,-8 + - -40,-24 + - -24,-8 + - -48,-24 + - -24,8 + - -48,-16 + - -8,0 + - -32,16 + - -16,8 + - -32,8 + - -16,0 + - -32,0 + - -32,-8 + - -24,0 + - -16,-16 + - -24,-16 + - -32,-16 - -40,-16 - - 24,-8 - - 16,48 - - 8,48 - - 0,48 - - -8,48 - - -16,48 - - -24,48 - - -32,48 - - -40,48 entities: - -32,24: {} - -32,16: {} - -32,8: {} + 16,32: {} 16,24: {} + 8,32: {} 16,16: {} - 24,-16: {} - 16,-16: {} - -32,0: {} - -32,-8: {} - 8,-16: {} 16,8: {} + 8,24: {} + 8,16: {} + 16,40: {} + 8,40: {} + 0,32: {} 16,0: {} 16,-8: {} - 0,-16: {} - -8,-16: {} - -16,-16: {} - -24,-16: {} + 16,-16: {} + 8,8: {} + 0,40: {} + -8,32: {} 0,24: {} 0,16: {} 0,8: {} - 0,0: {} - 0,-8: {} + -8,40: {} + 16,-24: {} -8,24: {} -8,16: {} -8,8: {} - -8,0: {} - -8,-8: {} - 24,48: {} - -32,-16: {} - -16,24: {} - -16,16: {} - -24,24: {} - -16,8: {} - -16,0: {} - -24,16: {} - -24,8: {} - -24,0: {} - -24,-8: {} - 24,40: {} - 16,40: {} - 8,40: {} - -16,-8: {} - 24,32: {} - 0,40: {} - 24,24: {} - 24,16: {} - -40,40: {} - -8,40: {} - -40,32: {} - 8,24: {} - 8,16: {} - 8,8: {} 8,0: {} + 8,-24: {} + -16,40: {} + -24,24: {} + -24,16: {} + -16,32: {} + -48,40: {} + -24,40: {} + 0,-16: {} + -32,40: {} + -48,32: {} + -48,24: {} + -48,16: {} 8,-8: {} - 24,8: {} + 8,-16: {} + -48,8: {} + -48,0: {} + -24,32: {} + -48,-8: {} + 0,-24: {} + -40,40: {} + -32,32: {} + -40,32: {} + -8,-24: {} -40,24: {} + -16,24: {} -40,16: {} -40,8: {} -40,0: {} + -16,-24: {} + -16,16: {} + 0,0: {} + -24,-24: {} -40,-8: {} - 24,0: {} - -16,40: {} - -24,40: {} - -32,40: {} - -32,32: {} - -24,32: {} - -16,32: {} - -8,32: {} - 0,32: {} - 8,32: {} - 16,32: {} + -32,24: {} + -8,-16: {} + 0,-8: {} + -8,-8: {} + -32,-24: {} + -16,-8: {} + -40,-24: {} + -24,-8: {} + -48,-24: {} + -24,8: {} + -48,-16: {} + -8,0: {} + -32,16: {} + -16,8: {} + -32,8: {} + -16,0: {} + -32,0: {} + -32,-8: {} + -24,0: {} + -16,-16: {} + -24,-16: {} + -32,-16: {} -40,-16: {} - 24,-8: {} - 16,48: {} - 8,48: {} - 0,48: {} - -8,48: {} - -16,48: {} - -24,48: {} - -32,48: {} - -40,48: {} decals: - -32,24: {} - -32,16: {} - -32,8: {} + 16,32: {} 16,24: {} + 8,32: {} 16,16: {} - 24,-16: {} - 16,-16: {} - -32,0: {} - -32,-8: {} - 8,-16: {} 16,8: {} + 8,24: {} + 8,16: {} + 16,40: {} + 8,40: {} + 0,32: {} 16,0: {} 16,-8: {} - 0,-16: {} - -8,-16: {} - -16,-16: {} - -24,-16: {} + 16,-16: {} + 8,8: {} + 0,40: {} + -8,32: {} 0,24: {} 0,16: {} 0,8: {} - 0,0: {} - 0,-8: {} + -8,40: {} + 16,-24: {} -8,24: {} -8,16: {} -8,8: {} - -8,0: {} - -8,-8: {} - 24,48: {} - -32,-16: {} - -16,24: {} - -16,16: {} - -24,24: {} - -16,8: {} - -16,0: {} - -24,16: {} - -24,8: {} - -24,0: {} - -24,-8: {} - 24,40: {} - 16,40: {} - 8,40: {} - -16,-8: {} - 24,32: {} - 0,40: {} - 24,24: {} - 24,16: {} - -40,40: {} - -8,40: {} - -40,32: {} - 8,24: {} - 8,16: {} - 8,8: {} 8,0: {} + 8,-24: {} + -16,40: {} + -24,24: {} + -24,16: {} + -16,32: {} + -48,40: {} + -24,40: {} + 0,-16: {} + -32,40: {} + -48,32: {} + -48,24: {} + -48,16: {} 8,-8: {} - 24,8: {} + 8,-16: {} + -48,8: {} + -48,0: {} + -24,32: {} + -48,-8: {} + 0,-24: {} + -40,40: {} + -32,32: {} + -40,32: {} + -8,-24: {} -40,24: {} + -16,24: {} -40,16: {} -40,8: {} -40,0: {} + -16,-24: {} + -16,16: {} + 0,0: {} + -24,-24: {} -40,-8: {} - 24,0: {} - -16,40: {} - -24,40: {} - -32,40: {} - -32,32: {} - -24,32: {} - -16,32: {} - -8,32: {} - 0,32: {} - 8,32: {} - 16,32: {} + -32,24: {} + -8,-16: {} + 0,-8: {} + -8,-8: {} + -32,-24: {} + -16,-8: {} + -40,-24: {} + -24,-8: {} + -48,-24: {} + -24,8: {} + -48,-16: {} + -8,0: {} + -32,16: {} + -16,8: {} + -32,8: {} + -16,0: {} + -32,0: {} + -32,-8: {} + -24,0: {} + -16,-16: {} + -24,-16: {} + -32,-16: {} -40,-16: {} - 24,-8: {} - 16,48: {} - 8,48: {} - 0,48: {} - -8,48: {} - -16,48: {} - -24,48: {} - -32,48: {} - -40,48: {} modifiedTiles: -40,-24: - -34,-18 @@ -61383,12 +61383,6 @@ entities: rot: -1.5707963267948966 rad pos: -17.5,10.5 parent: 1 - - uid: 3505 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,9.5 - parent: 1 - uid: 3506 components: - type: Transform @@ -61419,18 +61413,6 @@ entities: rot: -1.5707963267948966 rad pos: -16.5,11.5 parent: 1 - - uid: 3522 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,10.5 - parent: 1 - - uid: 3523 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,9.5 - parent: 1 - uid: 3528 components: - type: Transform @@ -61467,18 +61449,6 @@ entities: rot: -1.5707963267948966 rad pos: -15.5,11.5 parent: 1 - - uid: 3540 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -15.5,10.5 - parent: 1 - - uid: 3541 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -15.5,9.5 - parent: 1 - uid: 3546 components: - type: Transform @@ -61524,24 +61494,6 @@ entities: rot: -1.5707963267948966 rad pos: -14.5,12.5 parent: 1 - - uid: 3557 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,11.5 - parent: 1 - - uid: 3558 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,10.5 - parent: 1 - - uid: 3559 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,9.5 - parent: 1 - uid: 3564 components: - type: Transform @@ -61581,30 +61533,6 @@ entities: rot: -1.5707963267948966 rad pos: -13.5,13.5 parent: 1 - - uid: 3574 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -13.5,12.5 - parent: 1 - - uid: 3575 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -13.5,11.5 - parent: 1 - - uid: 3576 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -13.5,10.5 - parent: 1 - - uid: 3577 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -13.5,9.5 - parent: 1 - uid: 3582 components: - type: Transform @@ -61623,30 +61551,6 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,20.5 parent: 1 - - uid: 3591 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -12.5,13.5 - parent: 1 - - uid: 3592 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -12.5,12.5 - parent: 1 - - uid: 3593 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -12.5,11.5 - parent: 1 - - uid: 3594 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -12.5,10.5 - parent: 1 - uid: 3595 components: - type: Transform @@ -61707,30 +61611,6 @@ entities: rot: -1.5707963267948966 rad pos: -11.5,14.5 parent: 1 - - uid: 3609 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,13.5 - parent: 1 - - uid: 3610 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,12.5 - parent: 1 - - uid: 3611 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,11.5 - parent: 1 - - uid: 3612 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,10.5 - parent: 1 - uid: 3613 components: - type: Transform @@ -61777,24 +61657,6 @@ entities: rot: -1.5707963267948966 rad pos: -10.5,15.5 parent: 1 - - uid: 3626 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -10.5,14.5 - parent: 1 - - uid: 3627 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -10.5,13.5 - parent: 1 - - uid: 3628 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -10.5,12.5 - parent: 1 - uid: 3629 components: - type: Transform @@ -61841,24 +61703,6 @@ entities: rot: -1.5707963267948966 rad pos: -9.5,16.5 parent: 1 - - uid: 3643 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -9.5,15.5 - parent: 1 - - uid: 3644 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -9.5,14.5 - parent: 1 - - uid: 3645 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -9.5,13.5 - parent: 1 - uid: 3646 components: - type: Transform @@ -61889,24 +61733,6 @@ entities: rot: -1.5707963267948966 rad pos: -8.5,18.5 parent: 1 - - uid: 3660 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,16.5 - parent: 1 - - uid: 3661 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,15.5 - parent: 1 - - uid: 3662 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,14.5 - parent: 1 - uid: 3663 components: - type: Transform @@ -61947,24 +61773,6 @@ entities: - type: Transform pos: 11.5,24.5 parent: 1 - - uid: 3678 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -7.5,16.5 - parent: 1 - - uid: 3679 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -7.5,15.5 - parent: 1 - - uid: 3680 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -7.5,14.5 - parent: 1 - uid: 3681 components: - type: Transform @@ -62015,18 +61823,6 @@ entities: - type: Transform pos: 17.5,28.5 parent: 1 - - uid: 3697 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -6.5,15.5 - parent: 1 - - uid: 3698 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -6.5,14.5 - parent: 1 - uid: 3699 components: - type: Transform @@ -62097,18 +61893,6 @@ entities: - type: Transform pos: 14.5,27.5 parent: 1 - - uid: 3715 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,15.5 - parent: 1 - - uid: 3716 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,14.5 - parent: 1 - uid: 3717 components: - type: Transform @@ -63525,30 +63309,6 @@ entities: rot: -1.5707963267948966 rad pos: -17.5,-8.5 parent: 1 - - uid: 4190 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,8.5 - parent: 1 - - uid: 4191 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,7.5 - parent: 1 - - uid: 4192 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,6.5 - parent: 1 - - uid: 4193 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,5.5 - parent: 1 - uid: 4194 components: - type: Transform @@ -63617,18 +63377,6 @@ entities: rot: -1.5707963267948966 rad pos: -16.5,-8.5 parent: 1 - - uid: 4208 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -15.5,8.5 - parent: 1 - - uid: 4209 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -15.5,7.5 - parent: 1 - uid: 4210 components: - type: Transform @@ -63711,12 +63459,6 @@ entities: rot: -1.5707963267948966 rad pos: -15.5,-8.5 parent: 1 - - uid: 4226 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,8.5 - parent: 1 - uid: 4227 components: - type: Transform @@ -82942,21 +82684,21 @@ entities: parent: 1 - proto: CP14SpawnPointAdventurer entities: - - uid: 2084 + - uid: 3541 components: - type: Transform - pos: 21.5,33.5 + pos: 19.5,29.5 + parent: 1 + - uid: 3557 + components: + - type: Transform + pos: 24.5,28.5 parent: 1 - uid: 12840 components: - type: Transform pos: 21.5,29.5 parent: 1 - - uid: 13052 - components: - - type: Transform - pos: 28.5,35.5 - parent: 1 - proto: CP14SpawnPointAlchemist entities: - uid: 3632 @@ -82976,11 +82718,35 @@ entities: - type: Transform pos: 22.5,44.5 parent: 1 + - uid: 3540 + components: + - type: Transform + pos: 21.5,33.5 + parent: 1 - uid: 13053 components: - type: Transform pos: 29.5,38.5 parent: 1 +- proto: CP14SpawnPointMerchant + entities: + - uid: 3558 + components: + - type: Transform + pos: -21.5,-3.5 + parent: 1 + - uid: 3559 + components: + - type: Transform + pos: -20.5,-4.5 + parent: 1 +- proto: CP14SpawnPointQuartermaster + entities: + - uid: 3523 + components: + - type: Transform + pos: -19.5,-3.5 + parent: 1 - proto: CP14StatueGobRuinedVines entities: - uid: 1814 @@ -83567,11 +83333,11 @@ entities: parent: 1 - proto: CP14TravelingShop entities: - - uid: 3742 + - uid: 3522 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -16.5,-2.5 + rot: 3.141592653589793 rad + pos: -24.5,-1.5 parent: 1 - proto: CP14TravelingStoreshipAnchor entities: @@ -83699,6 +83465,21 @@ entities: fixtures: {} - proto: CP14WallmountLamp entities: + - uid: 2084 + components: + - type: Transform + pos: -21.5,-2.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 3505 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -21.5,-0.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 3526 components: - type: Transform diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml index 9c98e45cc3..e1561b2beb 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml @@ -1,49 +1,14 @@ - type: entity id: CP14SpawnPointJobBase parent: SpawnPointJobBase + abstract: true categories: [ ForkFiltered ] - -- type: entity - id: CP14SpawnPointAdventurer - parent: CP14SpawnPointJobBase - name: adventurer - categories: - - Spawner components: - - type: SpawnPoint - job_id: CP14Adventurer - type: Sprite - layers: - - state: green - - state: zookeeper #TODO Replace - -- type: entity - id: CP14SpawnPointAlchemist - parent: CP14SpawnPointJobBase - name: alchemist - categories: - - Spawner - components: - - type: SpawnPoint - job_id: CP14Alchemist - - type: Sprite - layers: - - state: green - - state: zookeeper #TODO Replace - -- type: entity - id: CP14SpawnPointInnkeeper - parent: CP14SpawnPointJobBase - name: innkeeper - categories: - - Spawner - components: - - type: SpawnPoint - job_id: CP14Innkeeper - - type: Sprite - layers: - - state: green - - state: zookeeper #TODO Replace + sprite: _CP14/Markers/jobs.rsi + snapCardinals: true + +# Command - type: entity id: CP14SpawnPointCaptain @@ -57,7 +22,9 @@ - type: Sprite layers: - state: green - - state: zookeeper #TODO Replace + - state: workman #TODO Replace + +# Security - type: entity id: CP14SpawnPointGuardCommander @@ -71,18 +38,78 @@ - type: Sprite layers: - state: green - - state: zookeeper #TODO Replace + - state: workman #TODO Replace + +# Bank - type: entity - id: CP14SpawnPointHouseKeeper + id: CP14SpawnPointQuartermaster parent: CP14SpawnPointJobBase - name: house keeper + name: quartermaster categories: - Spawner components: - type: SpawnPoint - job_id: CP14HouseKeeper + job_id: CP14Quartermaster - type: Sprite layers: - state: green - - state: zookeeper #TODO Replace \ No newline at end of file + - state: workman #TODO Replace + +- type: entity + id: CP14SpawnPointMerchant + parent: CP14SpawnPointJobBase + name: merchant + categories: + - Spawner + components: + - type: SpawnPoint + job_id: CP14Merchant + - type: Sprite + layers: + - state: green + - state: workman #TODO Replace + +# Mercenary + +- type: entity + id: CP14SpawnPointAdventurer + parent: CP14SpawnPointJobBase + name: adventurer + categories: + - Spawner + components: + - type: SpawnPoint + job_id: CP14Adventurer + - type: Sprite + layers: + - state: green + - state: adventurer + +- type: entity + id: CP14SpawnPointAlchemist + parent: CP14SpawnPointJobBase + name: alchemist + categories: + - Spawner + components: + - type: SpawnPoint + job_id: CP14Alchemist + - type: Sprite + layers: + - state: green + - state: alchemist + +- type: entity + id: CP14SpawnPointInnkeeper + parent: CP14SpawnPointJobBase + name: innkeeper + categories: + - Spawner + components: + - type: SpawnPoint + job_id: CP14Innkeeper + - type: Sprite + layers: + - state: green + - state: workman #TODO Replace \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Stations/base.yml b/Resources/Prototypes/_CP14/Entities/Stations/base.yml index ccba78ca39..b7d99ea704 100644 --- a/Resources/Prototypes/_CP14/Entities/Stations/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Stations/base.yml @@ -7,9 +7,16 @@ - BaseStationJobsSpawning - BaseStationAlertLevels #Checks fail without it - CP14BaseTrading + - CP14BaseCommonObjectives - type: entity id: CP14BaseTrading abstract: true components: - - type: CP14StationTravelingStoreShipTarget \ No newline at end of file + - type: CP14StationTravelingStoreShipTarget + +- type: entity + id: CP14BaseCommonObjectives + abstract: true + components: + - type: CP14StationCommonObjectives \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/GameRules/roundstart.yml b/Resources/Prototypes/_CP14/GameRules/roundstart.yml index 84aad2ec69..5de4f24ec8 100644 --- a/Resources/Prototypes/_CP14/GameRules/roundstart.yml +++ b/Resources/Prototypes/_CP14/GameRules/roundstart.yml @@ -8,14 +8,16 @@ - type: CP14RoundSeed - type: entity - id: CP14ResourceHarvesting + id: CP14RoundObjectivesRule parent: CP14BaseGameRule categories: [ HideSpawnMenu ] components: - - type: CP14ExpeditionObjectivesRule + - type: CP14CommonObjectivesRule departmentObjectives: CP14Command: - - CP14ExpeditionCollectObjectiveGroup + - CP14TownSendObjectiveGroup + - type: CP14PersonalObjectivesRule + departmentObjectives: CP14Mercenary: - CP14PersonalCurrencyCollectObjectiveGroup - # antags + \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml b/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml index d93ec9a401..7b27bbe705 100644 --- a/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml @@ -69,7 +69,7 @@ - CP14GeneralTrinkets - type: roleLoadout - id: JobCP14HouseKeeper + id: JobCP14Quartermaster groups: - CP14GeneralHead - CP14GeneralEyes @@ -80,4 +80,18 @@ - CP14GeneralPants - CP14GeneralShoes - CP14GeneralBack + - CP14GeneralTrinkets + +- type: roleLoadout + id: JobCP14Merchant + groups: + - CP14GeneralHead + - CP14GeneralEyes + - CP14GeneralMask + - CP14GeneralCloak + - CP14GeneralGloves + - CP14GeneralShirt + - CP14GeneralPants + - CP14GeneralShoes + - CP14GeneralBack - CP14GeneralTrinkets \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Maps/arenas.yml b/Resources/Prototypes/_CP14/Maps/arenas.yml index 0f34fd0992..acf89d02ed 100644 --- a/Resources/Prototypes/_CP14/Maps/arenas.yml +++ b/Resources/Prototypes/_CP14/Maps/arenas.yml @@ -76,11 +76,10 @@ CP14Adventurer: [ -1, -1 ] CP14Alchemist: [ 2, 3 ] CP14Innkeeper: [ 3, 4 ] - #CP14Captain: [1, 1] + CP14Captain: [1, 1] + CP14Quartermaster: [1, 1] + CP14Merchant: [3, 4] #CP14GuardCommander: [1, 1] - #CP14HouseKeeper: [1, 1] - #- type: CP14StationExpeditionTarget - # shuttlePath: /Maps/_CP14/Shuttles/test-ship.yml - type: CP14StationZLevels defaultMapLevel: 0 levels: diff --git a/Resources/Prototypes/_CP14/Maps/debug.yml b/Resources/Prototypes/_CP14/Maps/debug.yml index c12f80b1e5..1f608aacee 100644 --- a/Resources/Prototypes/_CP14/Maps/debug.yml +++ b/Resources/Prototypes/_CP14/Maps/debug.yml @@ -12,6 +12,7 @@ - type: StationJobs availableJobs: CP14Adventurer: [ -1, -1 ] + CP14Captain: [ -1, -1 ] - type: gameMap id: Dev diff --git a/Resources/Prototypes/_CP14/Objectives/empire_orders.yml b/Resources/Prototypes/_CP14/Objectives/empire_orders.yml new file mode 100644 index 0000000000..a814a6db0c --- /dev/null +++ b/Resources/Prototypes/_CP14/Objectives/empire_orders.yml @@ -0,0 +1,38 @@ +- type: entity + abstract: true + parent: BaseObjective + id: CP14BaseTownObjective + components: + - type: Objective + issuer: cp14-objective-issuer-town + + +# Send group +- type: entity + abstract: true + parent: CP14BaseTownObjective + id: CP14BaseTownSendObjective + components: + - type: Objective + - type: CP14TownSendCondition + minCollectionSize: 5 + maxCollectionSize: 10 + objectiveText: cp14-objective-town-send-title + descriptionText: cp14-objective-town-send-desc + descriptionMultiplyText: cp14-objective-town-send-multiply-desc + +- type: entity + parent: CP14BaseTownSendObjective + id: CP14TownSendGoldObjective + components: + - type: CP14TownSendCondition + collectGroup: CP14Gold + minCollectionSize: 200 + maxCollectionSize: 250 + - type: Objective + difficulty: 1 + +- type: weightedRandom + id: CP14TownSendObjectiveGroup + weights: + CP14TownSendGoldObjective: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Objectives/expedition_objectives.yml b/Resources/Prototypes/_CP14/Objectives/expedition_objectives.yml deleted file mode 100644 index 347524af05..0000000000 --- a/Resources/Prototypes/_CP14/Objectives/expedition_objectives.yml +++ /dev/null @@ -1,39 +0,0 @@ -- type: entity - abstract: true - parent: BaseObjective - id: CP14BaseExpeditionObjective - components: - - type: Objective - issuer: cp14-objective-issuer-expedition - - -# Collect group -- type: entity - abstract: true - parent: CP14BaseExpeditionObjective - id: CP14BaseExpeditionCollectObjective - components: - - type: Objective - - type: CP14ExpeditionCollectCondition - minCollectionSize: 5 - maxCollectionSize: 10 - objectiveText: cp14-objective-expedition-collect-title - descriptionText: cp14-objective-expedition-collect-desc - descriptionMultiplyText: cp14-objective-expedition-collect-multiply-desc - -- type: entity - parent: CP14BaseExpeditionCollectObjective - id: CP14ExpeditionCollectGoldObjective - components: - - type: CP14ExpeditionCollectCondition - verifyMapExistence: false - collectGroup: CP14Gold - minCollectionSize: 100 - maxCollectionSize: 150 - - type: Objective - difficulty: 1 - -- type: weightedRandom - id: CP14ExpeditionCollectObjectiveGroup - weights: - CP14ExpeditionCollectGoldObjective: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml b/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml index 419504a843..88c7fe06a9 100644 --- a/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml +++ b/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml @@ -32,7 +32,7 @@ - type: Objective difficulty: 0.25 - type: CP14CurrencyCollectCondition - currency: 250 + currency: 500 - type: entity parent: CP14BasePersonalCurrencyCollectObjective @@ -41,7 +41,7 @@ - type: Objective difficulty: 0.5 - type: CP14CurrencyCollectCondition - currency: 500 + currency: 650 - type: entity parent: CP14BasePersonalCurrencyCollectObjective @@ -50,7 +50,7 @@ - type: Objective difficulty: 1 - type: CP14CurrencyCollectCondition - currency: 1000 + currency: 800 - type: weightedRandom id: CP14PersonalCurrencyCollectObjectiveGroup diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Bank/merchant.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Bank/merchant.yml new file mode 100644 index 0000000000..5dbc8cfe6e --- /dev/null +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Bank/merchant.yml @@ -0,0 +1,16 @@ +- type: job + id: CP14Merchant + name: cp14-job-name-merchant + description: cp14-job-desc-merchant + playTimeTracker: CP14JobMerchant + startingGear: CP14MerchantGear + icon: "CP14JobIconMerchant" + requireAdminNotify: true + joinNotifyCrew: true + canBeAntag: true + supervisors: cp14-job-supervisors-quartermaster + +- type: startingGear + id: CP14MerchantGear + equipment: + belt1: CP14KeyRingInnkeeper \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Bank/quartermaster.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Bank/quartermaster.yml new file mode 100644 index 0000000000..f42acec7a5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Bank/quartermaster.yml @@ -0,0 +1,17 @@ +- type: job + id: CP14Quartermaster + name: cp14-job-name-quartermaster + description: cp14-job-desc-quartermaster + playTimeTracker: CP14JobQuartermaster + startingGear: CP14QuartermasterGear + icon: "CP14JobIconQuartermaster" + requireAdminNotify: true + joinNotifyCrew: true + canBeAntag: false + supervisors: cp14-job-supervisors-command + weight: 2 + +- type: startingGear + id: CP14QuartermasterGear + equipment: + belt1: CP14KeyRingInnkeeper \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml index 80387ba442..430b403f93 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Command/captain.yml @@ -9,6 +9,7 @@ joinNotifyCrew: true canBeAntag: false supervisors: cp14-job-supervisors-command + weight: 10 - type: startingGear id: CP14CaptainGear diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Command/guard_commander.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Command/guard_commander.yml index 1ed29c2afb..f65af9794a 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Command/guard_commander.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Command/guard_commander.yml @@ -9,6 +9,7 @@ joinNotifyCrew: true canBeAntag: false supervisors: cp14-job-supervisors-command + weight: 2 - type: startingGear id: CP14GuardCommanderGear diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Command/house_keeper.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Command/house_keeper.yml deleted file mode 100644 index d91ffb526a..0000000000 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Command/house_keeper.yml +++ /dev/null @@ -1,16 +0,0 @@ -- type: job - id: CP14HouseKeeper - name: cp14-job-name-house-keeper - description: cp14-job-desc-house-keeper - playTimeTracker: CP14JobHouseKeeper - startingGear: CP14HouseKeeperGear - icon: "CP14JobIconHouseKeeper" - requireAdminNotify: true - joinNotifyCrew: true - canBeAntag: false - supervisors: cp14-job-supervisors-command - -- type: startingGear - id: CP14HouseKeeperGear - equipment: - belt1: CP14KeyRingInnkeeper \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml index a3d0894983..11c279ae03 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml @@ -1,19 +1,32 @@ -- type: department - id: CP14Mercenary - name: department-CP14Mercenary - description: department-CP14Mercenary-desc - color: "#429976" - roles: - - CP14Adventurer - - CP14Alchemist - - CP14Innkeeper - - type: department id: CP14Command name: department-CP14Command description: department-CP14Command-desc - color: "#fadb3e" + primary: false + weight: 10 + color: "#3ec8fa" roles: - CP14Captain + - CP14Quartermaster - CP14GuardCommander - - CP14HouseKeeper + +- type: department + id: CP14Bank + name: department-CP14Bank + description: department-CP14Bank-desc + weight: 9 + color: "#fadb3e" + roles: + - CP14Quartermaster + - CP14Merchant + +- type: department + id: CP14Mercenary + name: department-CP14Mercenary + description: department-CP14Mercenary-desc + weight: 0 + color: "#429976" + roles: + - CP14Adventurer + - CP14Alchemist + - CP14Innkeeper \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml b/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml index 228c534075..5744599b36 100644 --- a/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml +++ b/Resources/Prototypes/_CP14/Roles/play_time_tracker.yml @@ -16,4 +16,7 @@ id: CP14JobGuardCommander - type: playTimeTracker - id: CP14JobHouseKeeper \ No newline at end of file + id: CP14JobQuartermaster + +- type: playTimeTracker + id: CP14JobMerchant \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/StatusIcon/job.yml b/Resources/Prototypes/_CP14/StatusIcon/job.yml index a57f8ee259..ceee48c128 100644 --- a/Resources/Prototypes/_CP14/StatusIcon/job.yml +++ b/Resources/Prototypes/_CP14/StatusIcon/job.yml @@ -47,8 +47,16 @@ - type: jobIcon parent: CP14JobIcon - id: CP14JobIconHouseKeeper + id: CP14JobIconQuartermaster icon: sprite: /Textures/_CP14/Interface/Misc/job_icons.rsi - state: HouseKeeper - jobName: cp14-job-name-house-keeper + state: Quartermaster + jobName: cp14-job-name-quartermaster + +- type: jobIcon + parent: CP14JobIcon + id: CP14JobIconMerchant + icon: + sprite: /Textures/_CP14/Interface/Misc/job_icons.rsi + state: Merchant + jobName: cp14-job-name-merchant diff --git a/Resources/Prototypes/_CP14/game_presets.yml b/Resources/Prototypes/_CP14/game_presets.yml index 596e34a7bd..e9e60bd491 100644 --- a/Resources/Prototypes/_CP14/game_presets.yml +++ b/Resources/Prototypes/_CP14/game_presets.yml @@ -27,4 +27,5 @@ description: sandbox-description showInVote: true # For playtest period only rules: - - Sandbox \ No newline at end of file + - Sandbox + - CP14RoundObjectivesRule \ No newline at end of file diff --git a/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Merchant.png b/Resources/Textures/_CP14/Interface/Misc/job_icons.rsi/Merchant.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7e4491860c19481d193478a97000b6577ff0d2 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VjKx9jP7LeL$-D$|`aE46LnNjq zrz9jKSnON&^8fMg`4Sfx_b=dRPW6yge*DqY_y70zmS+q8ePicwZCk~})2FwL$4CDD z{)4L;8XFrQ{&~yK1LP$pI8Bc*jc0c@6yDXOzgynOXUm_y=)j0aqHX8D#~VJ8e|}_b zM`I(SGb1w)2!qUDxQZdHU3wLl!3XXx0|O%i0X}sGS$RX2p!pA-fi7e4boFyt=akR{ E0I~1My@2aMH4ac9Zz%T z>G?X($M!#S?qMDTbO$bh`(T*eng8JTo1Op8thY!}6gG5Nw42f-T_y z6%`eV$z+1d)wjXA9-!a#%oFk>>+ z!&JWAx)qxbABM$Z3G}ns|77DvFeG_4UKE570M&f->)V0vk8<-jii>ZHG0pZ5Q@;#x z(hN{QvzbmcTO{2rEyyI3*IGNU{*QBknBQyb5Zz$MRqBs|ADE3hFW@O?22fY}Hd^~^ zt^ai5OrURl;nUpw-?Qe6t~WuZ<#lDx9+)6TngLvMuH9}oircRNRKBb^3zWZ$BV`|B zSELVl)bE^)8@^+l7HI|;U%3)4n%y&$yxC=CxYXB&rxFsl=}GEmH4|&kq1nGcv(L<* ze~^+mV$B-38XC}1UXEq)@%M~j?N?^akEW$Tlr#b4rl%`Lnr)^6n*Cp^PolrG4f(Q+ z`0#M(K6;<`Ij5y?236`6S9)t6v9dzO#2x3>pBiS?2MFMZW9Q%vEHTVVUA`K~zD z4!4)bu`!~g34qOhufu_)#6%9Uda0SW_vYlFj}n@xXkY-f+1XeTIfGb#(HMuFUN>y5JuvAyfrN10&dMRPj01`udGz{a) zrUK8~n{nD~fXCrPoKe1OoEB*U_^WIOQbzqdElb$1O-6q0Tl*No3B( z#PZZQ6!i??807^fCsA2h$#Nig0LL9bl*f&=2{CZ?PGd=18}jz;LsL@|H}4r6<8{|> zr|?9&j6ZwaXkC>~ucMQwqrTfyBv<-zDDWjtT6MNHWf+lY}u@IQCoCsD&k{f(Lo!P zi%N52V<3L%(lkG;(|;!21u>d805k4z+=ObLwf#Fa#q0cx45gR$gS6T6(Y>U`iqgCQ znEARo8^2b~&()~Uhlq#>z7r=HjbJcI1jFtV6O%c#Xw3`2WHL!){Jt@7jE|$5UXjdn z0hJ2`#B_po-GVuvnW7~0|3ZyDJ<>+KUhz^MfKHswsVUyBr-NS2;2>V1r%+S#i*m20 zw@?WKNRE$FO1G>-)RR_pH($r}%nTYvMx=yCVwCW(FyvAD52f4iTuC`ZN*KUR=b*$O z*!7|PWoT~le-rF{?PXZ9EZF;AIqC`Qts|>~m&EszCB>}7>LZ|w@E>%(`SEA$uR6-> zO8PR3kC8Fyo8WQH-Te>N5@M#-t+wLgf34i)hX+2pt)JaXGt(UIne634A%p-7d3~t8 za@Btm77q8wDEbCG+#su29vGty@KI8;IFHu{Q4#{c64o;|&TA&syebufU9*H%<3vaZ wz@3H{8nY0Ee&7hULIA;52q4%B0R&tB10g3c{e&82z5oCK07*qoM6N<$f>)TgQ~&?~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Markers/jobs.rsi/alchemist.png b/Resources/Textures/_CP14/Markers/jobs.rsi/alchemist.png new file mode 100644 index 0000000000000000000000000000000000000000..a89e5a788c2ab6dfbfcfdeea7cfa54a855ea4723 GIT binary patch literal 1300 zcmV+v1?&2WP)x4~L@~t!T~chiwcN{!~_ahy@DO&-av#z*m3jyVKmN8a@%*d znfpaUsDQqTV#Mq!g6Wg3aCG)VmE4Z(A5)m9a5nGYe$fynU~Ooa6dx1_BMZ_L7>UR= zbDfApm{=R_tLQ;|#c8ZPQYPIVvUt`ZzS`a))qU|94&?8~=IZmPPS1i`vY|329*0au zI8+*JZoPy-#w8x{H>9R`#v!gcb54qmTE(A}qC)wYpP!BO?QMwqv;&ndrr=s?8mfM4 zMVKZ4w$b~}bqC%kP%J`723AEpHqRclk7M8M0eqYk%g51#@kLzo-FqUwTA2XX-M`m6 zfa`aMuu`MuyKJ=%!d$c)dx~qhZLy8<3=oe*&^i%WP@I83eY`1z+!^!N5-V@4WiCojHtN;1CvCNfyr5L`=(=BW!2@6zS( zBoawk0t(zGATxChc5X?-(X*G4wS6nbM(v9@bRJ~LehR+qwe9%)N*k0ykpSbJ-`d!^mu{FS|x0fb)pI@XEbZC=y`kGV_swDf_Si+jiz6XT|}h11;SXPF_ed z_&kAlNB8E=TdxF)1T=m1wQ9$6nf#xtn=)VE<+G1H>vSuDFXg9LIk+Jk!k0t|F^jK$!?^c9~SB4i?|07gb1J)TCL#^wz&Tw%X z^s9x65F)_tm_qZ7?m5H97q;=gVI3Lc0n(_`21uGmmtkspn)AjOUlfE0paVNL@edyf za_}-_5%lcqyeg+lI)nQ4>*fs~#BSyEuL`ZU)0=B~PSbJL({MFuwRf9e>}^+JVAx>2hh6pX z)4JG+@07Ue9C%$L{9mGVjeqsE`n*g0Hzj5?n5ix3<;+NCx`l;#I8OZ0 zy4yXx-U+Xsx^ks7uAC;ia{`OT>LbUdh=gAIp?vLo@{YS@$8z~juD@usK6b}riEYW% zN0TS&TnPObv0vLSi;tm`X~(aPhOg>AT$t%4bl~dy!|IarK7O5I(^LO|z2ZoF!PTJs R_kbbF;OXk;vd$@?2>{^HrjGys literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Markers/jobs.rsi/meta.json b/Resources/Textures/_CP14/Markers/jobs.rsi/meta.json new file mode 100644 index 0000000000..12c08bbf6a --- /dev/null +++ b/Resources/Textures/_CP14/Markers/jobs.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by TheShuEd (Github) for CrystallPunk", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "green" + }, + { + "name": "alchemist" + }, + { + "name": "adventurer" + }, + { + "name": "workman" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Markers/jobs.rsi/workman.png b/Resources/Textures/_CP14/Markers/jobs.rsi/workman.png new file mode 100644 index 0000000000000000000000000000000000000000..ad28d238f3c1c0fe6e981c5a547932bd11f2e788 GIT binary patch literal 827 zcmV-B1H}A^P)Px%^+`lQRA_@CpV z6atZY@F~Ox!35v-7Wp7PL{LE{77{UO5-k&b5Zk@QPKmfqTnW$}LbshC}g36X9sbsMAErzycm&yhJ_Sq>91y}>K&P*rym|Yc_RF0v zxgzd8n!@D$e%dcvPbwLN!V#78xzp;;@k^KABAq@-B?B90qGi?=3P%6{ zxsDceuv`Li$+tGN=6WHt1e7ETg~Abd-J)uZ)Yl30$+Luc1kT%QiP^$~vzrgJDRCKc zdIw+Q(L+a}?1#C52M+-N-2NWCZjoNx{+_Cx6-)(8OimM*vk@Mr9ko_78pICRI1?Jg z4%AxB@Hp*oIU6xCInC^hUecq)B~P2G1c1hK0@Hgi6VT~vC!3KaEX*%rc_WT!N`{5! z000)ALo_7=0D{38Y(|!7+C3`FBQQ2LY5;)k)Gmhncd+sL1BU!}u$|h)@p< zVR&RzRnPt&9vLmlc_t7-in@dvp7?zpVz*Y4T)W*`P5eF&5o&l+%y?QbKMO?@X~UDL zankx(eeSt?yAR?85wrb+$LEbKA1w_6sWKWNrFS4DWjemYW+n~`kNv%$h-}4~tpVl{ zNGU%6K;?Y4?y#Aef9BIaEmj&`K&AQb1?cGL=;)kmegPSBaK;lHY>WT^002ovPDHLk FV1lrRcp(4) literal 0 HcmV?d00001 diff --git a/Resources/migration.yml b/Resources/migration.yml index cc898acb6e..f8cf16a54b 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -116,6 +116,9 @@ CP14WoodenCupboard: CP14WoodenCloset CP14VialSmallChromiumSlime: CP14VialTinyChromiumSlime CP14VialSmallLumiMushroom: CP14VialTinyLumiMushroom +#2024-10-20 +CP14SpawnPointHouseKeeper: CP14SpawnPointQuartermaster + # <---> CrystallPunk migration zone end