diff --git a/Content.Server/_CP14/Salary/CP14SalaryCounterComponent.cs b/Content.Server/_CP14/Salary/CP14SalaryCounterComponent.cs new file mode 100644 index 0000000000..c96908cb26 --- /dev/null +++ b/Content.Server/_CP14/Salary/CP14SalaryCounterComponent.cs @@ -0,0 +1,17 @@ +namespace Content.Server._CP14.Salary; + +[RegisterComponent, Access(typeof(CP14SalarySystem))] +public sealed partial class CP14SalaryCounterComponent : Component +{ + [DataField, AutoNetworkedField] + public TimeSpan NextSalaryTime = TimeSpan.Zero; + + [DataField] + public TimeSpan Frequency = TimeSpan.FromMinutes(20); + + [DataField] + public int Salary = 100; + + [DataField] + public int UnpaidSalary = 0; +} diff --git a/Content.Server/_CP14/Salary/CP14SalaryPairollComponent.cs b/Content.Server/_CP14/Salary/CP14SalaryPairollComponent.cs new file mode 100644 index 0000000000..76462c7548 --- /dev/null +++ b/Content.Server/_CP14/Salary/CP14SalaryPairollComponent.cs @@ -0,0 +1,20 @@ +using Robust.Shared.Audio; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.Salary; + +/// +/// Pays out the salary upon interaction, if it has accumulated for the player. +/// +[RegisterComponent, Access(typeof(CP14SalarySystem))] +public sealed partial class CP14SalaryPairollComponent : Component +{ + [DataField] + public SoundSpecifier BuySound = new SoundPathSpecifier("/Audio/_CP14/Effects/cash.ogg") + { + Params = AudioParams.Default.WithVariation(0.1f), + }; + + [DataField] + public EntProtoId BuyVisual = "CP14CashImpact"; +} diff --git a/Content.Server/_CP14/Salary/CP14SalarySystem.cs b/Content.Server/_CP14/Salary/CP14SalarySystem.cs new file mode 100644 index 0000000000..508fe0fd01 --- /dev/null +++ b/Content.Server/_CP14/Salary/CP14SalarySystem.cs @@ -0,0 +1,90 @@ +using Content.Server._CP14.Currency; +using Content.Server._CP14.Trading; +using Content.Server.Cargo.Systems; +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Popups; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Timing; + +namespace Content.Server._CP14.Salary; + +public sealed partial class CP14SalarySystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly PricingSystem _price = default!; + [Dependency] private readonly CP14CurrencySystem _cp14Currency = default!; + [Dependency] private readonly CP14StationEconomySystem _economy = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent(OnInteract); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var ent, out var counter)) + { + if (_timing.CurTime < counter.NextSalaryTime) + continue; + counter.NextSalaryTime = _timing.CurTime + counter.Frequency; + + counter.UnpaidSalary += counter.Salary; + } + } + + private void OnExamined(Entity ent, ref ExaminedEvent args) + { + if (!TryComp(args.Examiner, out var counter)) + { + args.PushMarkup(Loc.GetString("cp14-salary-payroll-examine-unsupported-job")); + return; + } + + if (counter.UnpaidSalary <= 0) + { + args.PushMarkup(Loc.GetString("cp14-salary-payroll-examine-empty")); + } + else + { + args.PushMarkup(Loc.GetString("cp14-salary-payroll-examine", ("count", _cp14Currency.GetCurrencyPrettyString(counter.UnpaidSalary)))); + } + + //Timer + var remainingToSalaryTime = counter.NextSalaryTime - _timing.CurTime; + //time in format mm:ss + var minutes = (int)remainingToSalaryTime.TotalMinutes; + var seconds = remainingToSalaryTime.Seconds; + + args.PushMarkup(Loc.GetString("cp14-salary-payroll-examine-timer", ("time", $"{minutes:D2}:{seconds:D2}"))); + } + + private void OnInteract(Entity ent, ref InteractHandEvent args) + { + if (!TryComp(args.User, out var counter)) + { + _popup.PopupEntity(Loc.GetString("cp14-salary-payroll-examine-unsupported-job"), args.User, args.User); + return; + } + + if (counter.UnpaidSalary <= 0) + { + _popup.PopupEntity(Loc.GetString("cp14-salary-payroll-examine-empty"), args.User, args.User); + return; + } + + _audio.PlayPvs(ent.Comp.BuySound, Transform(ent).Coordinates); + SpawnAtPosition(ent.Comp.BuyVisual, Transform(ent).Coordinates); + + _cp14Currency.GenerateMoney(counter.UnpaidSalary, Transform(ent).Coordinates); + counter.UnpaidSalary = 0; + } +} diff --git a/Resources/Locale/en-US/_CP14/salary/salary_paper.ftl b/Resources/Locale/en-US/_CP14/salary/salary_paper.ftl index 8eb902c9f1..106903a251 100644 --- a/Resources/Locale/en-US/_CP14/salary/salary_paper.ftl +++ b/Resources/Locale/en-US/_CP14/salary/salary_paper.ftl @@ -1,3 +1,4 @@ -cp14-salary-title = [head=3] Sponsorship order [/head] - -cp14-salary-entry = {$dep} receives funding in the amount of {$total}. Give these funds to the department head, he/she has the right to distribute them as he/she sees fit. \ No newline at end of file +cp14-salary-payroll-examine-unsupported-job = You are not sponsored by the empire. +cp14-salary-payroll-examine = You can receive your salary: {$count} +cp14-salary-payroll-examine-empty = All your salary has already been paid. +cp14-salary-payroll-examine-timer = Next salary in: {$time} \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/salary/salary_paper.ftl b/Resources/Locale/ru-RU/_CP14/salary/salary_paper.ftl index 8622d40a71..edb0b0cf30 100644 --- a/Resources/Locale/ru-RU/_CP14/salary/salary_paper.ftl +++ b/Resources/Locale/ru-RU/_CP14/salary/salary_paper.ftl @@ -1,3 +1,4 @@ -cp14-salary-title = [head=3] Приказ о спонсировании [/head] - -cp14-salary-entry = {$dep} получает финансирование в размере {$total}. Передайте эти средства главе отдела, он имеет право распределить их по своему усмотрению. \ No newline at end of file +cp14-salary-payroll-examine-unsupported-job = Вы не спонсируетесь империей. +cp14-salary-payroll-examine = Вы можете получить вашу зарплату: {$count} +cp14-salary-payroll-examine-empty = Вся ваша зарплата уже выплачена. +cp14-salary-payroll-examine-timer = Следующая зарплата через: {$time} \ No newline at end of file diff --git a/Resources/Maps/_CP14/Frigid_Coast.yml b/Resources/Maps/_CP14/Frigid_Coast.yml index 8dc5f7e4ac..928b2fe839 100644 --- a/Resources/Maps/_CP14/Frigid_Coast.yml +++ b/Resources/Maps/_CP14/Frigid_Coast.yml @@ -57683,13 +57683,6 @@ entities: rot: 3.141592653589793 rad pos: 107.5,40.5 parent: 1 -- proto: CP14WoodenClosetGuardCommanderFilled - entities: - - uid: 9078 - components: - - type: Transform - pos: 105.5,54.5 - parent: 1 - proto: CP14WoodenClosetGuardFilled entities: - uid: 9079 diff --git a/Resources/Maps/_CP14/comoss.yml b/Resources/Maps/_CP14/comoss.yml index b4689ba6b2..342c19002a 100644 --- a/Resources/Maps/_CP14/comoss.yml +++ b/Resources/Maps/_CP14/comoss.yml @@ -4,8 +4,8 @@ meta: engineVersion: 262.0.0 forkId: "" forkVersion: "" - time: 07/05/2025 20:36:44 - entityCount: 14807 + time: 07/06/2025 09:46:03 + entityCount: 14817 maps: - 1 grids: @@ -119,7 +119,7 @@ entities: version: 7 0,-2: ind: 0,-2 - tiles: IQAAAAACAAIAAAAAAwAdAAAAAAAAHAAAAAAAAB0AAAAAAAAcAAAAAAAAHgAAAAAAAB4AAAAABQAdAAAAAAAAHgAAAAAEABwAAAAAAAAdAAAAAAAAHQAAAAAAAB4AAAAAAgAeAAAAAAMADQAAAAAAACEAAAAAAwAcAAAAAAMAHQAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAeAAAAAAQAHgAAAAABAA0AAAAAAAACAAAAAAMAAgAAAAAOABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHgAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAB4AAAAABQANAAAAAAAAIQAAAAABAAIAAAAACQACAAAAAAYAAgAAAAABAAIAAAAACAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAgAAAAAAAAIAAAAAAgACAAAAAAAAAgAAAAAHAAIAAAAAAAACAAAAAAcAAgAAAAAAAAIAAAAACQACAAAAAAAAIQAAAAAAACEAAAAAAwACAAAAAAIAAgAAAAANACEAAAAABAAhAAAAAAIAAgAAAAAOAAIAAAAACwACAAAAAAAAAgAAAAAOAAIAAAAADAACAAAAAAIAAgAAAAAKAAIAAAAACwAhAAAAAAIAIQAAAAAAAAIAAAAACwACAAAAAAsAAgAAAAAIACEAAAAAAgAhAAAAAAQAIQAAAAAEACEAAAAAAQAhAAAAAAIAAgAAAAAPAAIAAAAADAACAAAAAAUAAgAAAAAPAAIAAAAABwACAAAAAAcAHgAAAAABABwAAAAABQACAAAAAAgAHgAAAAAEAB4AAAAAAwACAAAAAAkAAgAAAAAAACEAAAAAAgACAAAAAAMAHgAAAAAAAB4AAAAABQAeAAAAAAAAHgAAAAACAB4AAAAAAQAeAAAAAAQAHgAAAAACAB4AAAAABQAeAAAAAAEAAgAAAAANAB4AAAAAAQAeAAAAAAQAHgAAAAACAB4AAAAAAgACAAAAAA4AAgAAAAAHAB4AAAAABAAeAAAAAAQAAwAAAAACAAMAAAAAAgADAAAAAAMAAwAAAAACAAMAAAAAAAAeAAAAAAAAAgAAAAAHAAIAAAAABAACAAAAAAAAHgAAAAAAAB4AAAAAAwAeAAAAAAEAAgAAAAAKACEAAAAAAwAeAAAAAAUAHgAAAAABAAMAAAAACAADAAAAAAEAAwAAAAAFAAMAAAAABwADAAAAAAUABgAAAAAAACEAAAAAAgACAAAAAAMAAgAAAAADAAIAAAAABAAhAAAAAAEAAgAAAAAHACEAAAAAAwAhAAAAAAMAHgAAAAAFAB4AAAAAAgADAAAAAAAAAwAAAAACAAMAAAAABQADAAAAAAAAAwAAAAACAAYAAAAAAgAhAAAAAAMAAgAAAAAFAAIAAAAADgAhAAAAAAMAAgAAAAAMAAIAAAAAAAAhAAAAAAQAIQAAAAAAAB4AAAAABQADAAAAAAIAAwAAAAAHAAMAAAAABgADAAAAAAYAAwAAAAAAAAMAAAAACAAeAAAAAAEAHgAAAAACAAIAAAAABAACAAAAAAwAAgAAAAAHABwAAAAAAgAdAAAAAAEAIQAAAAACAAIAAAAAAAAeAAAAAAAAAwAAAAADAAMAAAAAAAADAAAAAAAAEAAAAAACABAAAAAAAQADAAAAAAAAHgAAAAAFAAIAAAAAAgADAAAAAAgAAwAAAAAFAAMAAAAABgAeAAAAAAAAHAAAAAABACEAAAAAAAAhAAAAAAQAHgAAAAACAAMAAAAAAAADAAAAAAAAAwAAAAAAABAAAAAAAwAQAAAAAAIAEAAAAAABAB4AAAAAAAACAAAAAA8AEAAAAAADABAAAAAAAgAQAAAAAAIAHgAAAAAFAB0AAAAAAAACAAAAAAYAIQAAAAADAB4AAAAAAQADAAAAAAEAEAAAAAAAABAAAAAAAgAQAAAAAAAAEAAAAAABABAAAAAAAQACAAAAAAIAEAAAAAADABAAAAAAAQAQAAAAAAEAEAAAAAAAABAAAAAAAAAeAAAAAAAAAgAAAAAOACEAAAAAAAAeAAAAAAQAAwAAAAAHABAAAAAAAQADAAAAAAAAAwAAAAAAABAAAAAAAQAQAAAAAAEAHgAAAAACABAAAAAAAwAQAAAAAAMAIgAAAAADABAAAAAAAAAQAAAAAAAAHgAAAAACACEAAAAAAgAhAAAAAAMAHgAAAAAFAAMAAAAAAQAQAAAAAAMAAwAAAAAAAAMAAAAAAAAQAAAAAAIAEAAAAAADAA== + tiles: IQAAAAACAAIAAAAAAwAdAAAAAAAAHAAAAAAAAB0AAAAAAAAcAAAAAAAAHgAAAAAAAB4AAAAABQAdAAAAAAAAHgAAAAAEABwAAAAAAAAdAAAAAAAAHQAAAAAAAB4AAAAAAgAeAAAAAAMADQAAAAAAACEAAAAAAwAcAAAAAAMAHQAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAeAAAAAAQAHgAAAAABAA0AAAAAAAACAAAAAAMAAgAAAAAOABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHgAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAB4AAAAABQANAAAAAAAAIQAAAAABAAIAAAAACQACAAAAAAYAAgAAAAABAAIAAAAACAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAgAAAAAAAAIAAAAAAgAhAAAAAAAAAgAAAAAHAAIAAAAAAAACAAAAAAcAAgAAAAAAAAIAAAAACQACAAAAAAAAIQAAAAAAACEAAAAAAwACAAAAAAIAAgAAAAANACEAAAAABAAhAAAAAAIAAgAAAAAOAAIAAAAACwACAAAAAAAAAgAAAAAOACEAAAAAAAAhAAAAAAAAIQAAAAAAAAIAAAAACwAhAAAAAAIAIQAAAAAAAAIAAAAACwACAAAAAAsAAgAAAAAIACEAAAAAAgAhAAAAAAQAIQAAAAAEACEAAAAAAQAhAAAAAAIAAgAAAAAPAAIAAAAADAACAAAAAAUAIQAAAAAAAAIAAAAABwACAAAAAAcAHgAAAAABABwAAAAABQACAAAAAAgAHgAAAAAEAB4AAAAAAwACAAAAAAkAAgAAAAAAACEAAAAAAgACAAAAAAMAHAAAAAAAABwAAAAAAAAdAAAAAAAAAgAAAAAAACEAAAAAAAAdAAAAAAAAHgAAAAACAB4AAAAABQAeAAAAAAEAAgAAAAANAB4AAAAAAQAeAAAAAAQAHgAAAAACAB4AAAAAAgACAAAAAA4AAgAAAAAHAB0AAAAAAAAdAAAAAAAAAwAAAAACAAMAAAAAAgADAAAAAAMAAwAAAAACAAMAAAAAAAAeAAAAAAAAAgAAAAAHAAIAAAAABAACAAAAAAAAHgAAAAAAAB4AAAAAAwAeAAAAAAEAAgAAAAAKACEAAAAAAwAcAAAAAAAAHQAAAAAAAAMAAAAACAADAAAAAAEAAwAAAAAFAAMAAAAABwADAAAAAAUABgAAAAAAACEAAAAAAgACAAAAAAMAAgAAAAADAAIAAAAABAAhAAAAAAEAAgAAAAAHACEAAAAAAwAhAAAAAAMAHgAAAAAFAB4AAAAAAgADAAAAAAAAAwAAAAACAAMAAAAABQADAAAAAAAAAwAAAAACAAYAAAAAAgAhAAAAAAMAAgAAAAAFAAIAAAAADgAhAAAAAAMAAgAAAAAMAAIAAAAAAAAhAAAAAAQAIQAAAAAAAB4AAAAABQADAAAAAAIAAwAAAAAHAAMAAAAABgADAAAAAAYAAwAAAAAAAAMAAAAACAAeAAAAAAEAHgAAAAACAAIAAAAABAACAAAAAAwAAgAAAAAHABwAAAAAAgAdAAAAAAEAIQAAAAACAAIAAAAAAAAeAAAAAAAAAwAAAAADAAMAAAAAAAADAAAAAAAAEAAAAAACABAAAAAAAQADAAAAAAAAHgAAAAAFAAIAAAAAAgADAAAAAAgAAwAAAAAFAAMAAAAABgAeAAAAAAAAHAAAAAABACEAAAAAAAAhAAAAAAQAHgAAAAACAAMAAAAAAAADAAAAAAAAAwAAAAAAABAAAAAAAwAQAAAAAAIAEAAAAAABAB4AAAAAAAACAAAAAA8AEAAAAAADABAAAAAAAgAQAAAAAAIAHgAAAAAFAB0AAAAAAAACAAAAAAYAIQAAAAADAB4AAAAAAQADAAAAAAEAEAAAAAAAABAAAAAAAgAQAAAAAAAAEAAAAAABABAAAAAAAQACAAAAAAIAEAAAAAADABAAAAAAAQAQAAAAAAEAEAAAAAAAABAAAAAAAAAeAAAAAAAAAgAAAAAOACEAAAAAAAAeAAAAAAQAAwAAAAAHABAAAAAAAQADAAAAAAAAAwAAAAAAABAAAAAAAQAQAAAAAAEAHgAAAAACABAAAAAAAwAQAAAAAAMAIgAAAAADABAAAAAAAAAQAAAAAAAAHgAAAAACACEAAAAAAgAhAAAAAAMAHgAAAAAFAAMAAAAAAQAQAAAAAAMAAwAAAAAAAAMAAAAAAAAQAAAAAAIAEAAAAAADAA== version: 7 -2,-2: ind: -2,-2 @@ -143,7 +143,7 @@ entities: version: 7 1,-2: ind: 1,-2 - tiles: AwAAAAAAABEAAAAAAAADAAAAAAAADQAAAAAAAB4AAAAAAQANAAAAAAAADQAAAAAAAA0AAAAAAAAdAAAAAAUACQAAAAANAAkAAAAACgAJAAAAAAgACQAAAAAMAAkAAAAABgAJAAAAAA0ACQAAAAADAAMAAAAAAAADAAAAAAAAAwAAAAAAAA0AAAAAAAAeAAAAAAEADQAAAAAAAA0AAAAAAAANAAAAAAAAHQAAAAACAAkAAAAAAAAJAAAAAAsACQAAAAALAAkAAAAAAAAJAAAAAAQACQAAAAAJAAkAAAAAAwANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAAEAA0AAAAAAAANAAAAAAAADQAAAAAAAB0AAAAABQAJAAAAAAcACQAAAAAMAAkAAAAABwAJAAAAAAoACQAAAAAFAAkAAAAABAAJAAAAAAIAHgAAAAACAB4AAAAAAgAeAAAAAAEAHgAAAAADAB4AAAAAAQANAAAAAAAADQAAAAAAAA0AAAAAAAAdAAAAAAQACQAAAAAGAAkAAAAABAAJAAAAAAoACQAAAAAHAAkAAAAAAQAJAAAAAAEACQAAAAAJAAIAAAAACwACAAAAAAcAAgAAAAAAAAIAAAAACQAeAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAHAAAAAAFAAkAAAAACwAJAAAAAAsACQAAAAANAAkAAAAABwAJAAAAAAsACQAAAAAFAAkAAAAACwACAAAAAAoAAgAAAAAHAAIAAAAADgACAAAAAAIAHgAAAAADAA0AAAAAAAANAAAAAAAADQAAAAAAABwAAAAABQAJAAAAAAoACQAAAAAAAAkAAAAABgAJAAAAAAcACQAAAAAEAAkAAAAAAwAJAAAAAAIAHgAAAAADAB4AAAAAAgAeAAAAAAUAHgAAAAAEAB4AAAAABAANAAAAAAAADQAAAAAAAA0AAAAAAAAcAAAAAAQACQAAAAAMAAkAAAAACAAJAAAAAAQACQAAAAALAAkAAAAACgAJAAAAAAMACQAAAAANAAMAAAAABQADAAAAAAEAAwAAAAAIAAMAAAAABAAeAAAAAAIADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAADAAkAAAAAAgAJAAAAAAgACQAAAAALAAkAAAAAAgAJAAAAAAgACQAAAAAMAAkAAAAAAQADAAAAAAQAAwAAAAAGAAMAAAAACAADAAAAAAgAHgAAAAADAA0AAAAAAAANAAAAAAAADQAAAAAAAB4AAAAABQAJAAAAAAYACQAAAAAJAAkAAAAABgAJAAAAAAcACQAAAAAHAAkAAAAACAAJAAAAAAIAAwAAAAAAAAMAAAAAAQADAAAAAAQAAwAAAAAFAB4AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAAeAAAAAAAACQAAAAAHAAkAAAAACwAJAAAAAA0ACQAAAAAEAAkAAAAAAgAJAAAAAAMACQAAAAACAAMAAAAACAADAAAAAAAAAwAAAAAAAAMAAAAAAwAeAAAAAAQADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAAEAAkAAAAABwAJAAAAAAQACQAAAAAGAAkAAAAADAAJAAAAAAUACQAAAAADAAkAAAAABQAQAAAAAAEAEAAAAAADABAAAAAAAAADAAAAAAYAHgAAAAAFAA0AAAAAAAANAAAAAAAADQAAAAAAAB4AAAAAAgAJAAAAAAMACQAAAAAGAAkAAAAACwAJAAAAAAQACQAAAAACAAkAAAAAAgAJAAAAAAUAAwAAAAAAAAMAAAAAAAAQAAAAAAIAAwAAAAAFAB4AAAAAAgANAAAAAAAADQAAAAAAAA0AAAAAAAAeAAAAAAMACQAAAAAMAAkAAAAACgAJAAAAAAkACQAAAAAHAAkAAAAABQAJAAAAAA0ACQAAAAAMAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAQAeAAAAAAMADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAAFAAkAAAAABgAJAAAAAAsACQAAAAABAAkAAAAAAgAJAAAAAAgACQAAAAAMAAkAAAAABgAQAAAAAAMAAwAAAAAAAAMAAAAAAAADAAAAAAYAHgAAAAACAA0AAAAAAAANAAAAAAAADQAAAAAAAB4AAAAABAAeAAAAAAAAHAAAAAAAAAkAAAAABAAJAAAAAAsACQAAAAAIAAkAAAAABgAJAAAAAAMAEAAAAAAAABAAAAAAAgAQAAAAAAIAAwAAAAAGAB4AAAAAAwANAAAAAAAADQAAAAAAAA0AAAAAAAAeAAAAAAMAHgAAAAADABwAAAAAAwAcAAAAAAQACQAAAAAJAAkAAAAABwAJAAAAAAkACQAAAAAGAA== + tiles: AwAAAAAAABEAAAAAAAADAAAAAAAADQAAAAAAAB4AAAAAAQANAAAAAAAADQAAAAAAAA0AAAAAAAAdAAAAAAUACQAAAAANAAkAAAAACgAJAAAAAAgACQAAAAAMAAkAAAAABgAJAAAAAA0ACQAAAAADAAMAAAAAAAADAAAAAAAAAwAAAAAAAA0AAAAAAAAeAAAAAAEADQAAAAAAAA0AAAAAAAANAAAAAAAAHQAAAAACAAkAAAAAAAAJAAAAAAsACQAAAAALAAkAAAAAAAAJAAAAAAQACQAAAAAJAAkAAAAAAwANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAAEAA0AAAAAAAANAAAAAAAADQAAAAAAAB0AAAAABQAJAAAAAAcACQAAAAAMAAkAAAAABwAJAAAAAAoACQAAAAAFAAkAAAAABAAJAAAAAAIAIQAAAAAAACEAAAAAAAAhAAAAAAAAHgAAAAADAB4AAAAAAQANAAAAAAAADQAAAAAAAA0AAAAAAAAdAAAAAAQACQAAAAAGAAkAAAAABAAJAAAAAAoACQAAAAAHAAkAAAAAAQAJAAAAAAEACQAAAAAJACEAAAAAAAACAAAAAAcAIQAAAAAAAAIAAAAACQAeAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAHAAAAAAFAAkAAAAACwAJAAAAAAsACQAAAAANAAkAAAAABwAJAAAAAAsACQAAAAAFAAkAAAAACwACAAAAAAoAAgAAAAAHAAIAAAAADgACAAAAAAIAHgAAAAADAA0AAAAAAAANAAAAAAAADQAAAAAAABwAAAAABQAJAAAAAAoACQAAAAAAAAkAAAAABgAJAAAAAAcACQAAAAAEAAkAAAAAAwAJAAAAAAIAHgAAAAADAB4AAAAAAgAeAAAAAAUAHgAAAAAEAB4AAAAABAANAAAAAAAADQAAAAAAAA0AAAAAAAAcAAAAAAQACQAAAAAMAAkAAAAACAAJAAAAAAQACQAAAAALAAkAAAAACgAJAAAAAAMACQAAAAANAAMAAAAABQADAAAAAAEAAwAAAAAIAAMAAAAABAAeAAAAAAIADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAADAAkAAAAAAgAJAAAAAAgACQAAAAALAAkAAAAAAgAJAAAAAAgACQAAAAAMAAkAAAAAAQADAAAAAAQAAwAAAAAGAAMAAAAACAADAAAAAAgAHgAAAAADAA0AAAAAAAANAAAAAAAADQAAAAAAAB4AAAAABQAJAAAAAAYACQAAAAAJAAkAAAAABgAJAAAAAAcACQAAAAAHAAkAAAAACAAJAAAAAAIAAwAAAAAAAAMAAAAAAQADAAAAAAQAAwAAAAAFAB4AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAAeAAAAAAAACQAAAAAHAAkAAAAACwAJAAAAAA0ACQAAAAAEAAkAAAAAAgAJAAAAAAMACQAAAAACAAMAAAAACAADAAAAAAAAAwAAAAAAAAMAAAAAAwAeAAAAAAQADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAAEAAkAAAAABwAJAAAAAAQACQAAAAAGAAkAAAAADAAJAAAAAAUACQAAAAADAAkAAAAABQAQAAAAAAEAEAAAAAADABAAAAAAAAADAAAAAAYAHgAAAAAFAA0AAAAAAAANAAAAAAAADQAAAAAAAB4AAAAAAgAJAAAAAAMACQAAAAAGAAkAAAAACwAJAAAAAAQACQAAAAACAAkAAAAAAgAJAAAAAAUAAwAAAAAAAAMAAAAAAAAQAAAAAAIAAwAAAAAFAB4AAAAAAgANAAAAAAAADQAAAAAAAA0AAAAAAAAeAAAAAAMACQAAAAAMAAkAAAAACgAJAAAAAAkACQAAAAAHAAkAAAAABQAJAAAAAA0ACQAAAAAMAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAQAeAAAAAAMADQAAAAAAAA0AAAAAAAANAAAAAAAAHgAAAAAFAAkAAAAABgAJAAAAAAsACQAAAAABAAkAAAAAAgAJAAAAAAgACQAAAAAMAAkAAAAABgAQAAAAAAMAAwAAAAAAAAMAAAAAAAADAAAAAAYAHgAAAAACAA0AAAAAAAANAAAAAAAADQAAAAAAAB4AAAAABAAeAAAAAAAAHAAAAAAAAAkAAAAABAAJAAAAAAsACQAAAAAIAAkAAAAABgAJAAAAAAMAEAAAAAAAABAAAAAAAgAQAAAAAAIAAwAAAAAGAB4AAAAAAwANAAAAAAAADQAAAAAAAA0AAAAAAAAeAAAAAAMAHgAAAAADABwAAAAAAwAcAAAAAAQACQAAAAAJAAkAAAAABwAJAAAAAAkACQAAAAAGAA== version: 7 1,1: ind: 1,1 @@ -37898,6 +37898,36 @@ entities: - type: Transform pos: -16.5,-6.5 parent: 1 + - uid: 9648 + components: + - type: Transform + pos: 15.5,-19.5 + parent: 1 + - uid: 9649 + components: + - type: Transform + pos: 15.5,-18.5 + parent: 1 + - uid: 9650 + components: + - type: Transform + pos: 16.5,-19.5 + parent: 1 + - uid: 9651 + components: + - type: Transform + pos: 16.5,-18.5 + parent: 1 + - uid: 9652 + components: + - type: Transform + pos: 17.5,-19.5 + parent: 1 + - uid: 9653 + components: + - type: Transform + pos: 17.5,-18.5 + parent: 1 - proto: CP14CarpetCyan entities: - uid: 7432 @@ -40007,12 +40037,6 @@ entities: parent: 1 - proto: CP14FenceBigIron entities: - - uid: 4808 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 11.5,-17.5 - parent: 1 - uid: 7225 components: - type: Transform @@ -40070,19 +40094,16 @@ entities: - uid: 7597 components: - type: Transform - rot: 3.141592653589793 rad pos: 18.5,-33.5 parent: 1 - uid: 7599 components: - type: Transform - rot: 3.141592653589793 rad pos: 16.5,-33.5 parent: 1 - uid: 7602 components: - type: Transform - rot: 3.141592653589793 rad pos: 17.5,-33.5 parent: 1 - uid: 7604 @@ -40831,6 +40852,11 @@ entities: - type: Transform pos: 15.5,-23.5 parent: 1 + - uid: 9655 + components: + - type: Transform + pos: 11.5,-17.5 + parent: 1 - uid: 11417 components: - type: Transform @@ -46502,6 +46528,11 @@ entities: rot: -1.5707963267948966 rad pos: 54.5,12.5 parent: 1 + - uid: 9657 + components: + - type: Transform + pos: 18.5,-27.5 + parent: 1 - proto: CP14LargeWoodenCrate entities: - uid: 7467 @@ -47327,6 +47358,11 @@ entities: - type: Transform pos: -1.5,-19.5 parent: 1 + - uid: 9654 + components: + - type: Transform + pos: 14.5,-15.5 + parent: 1 - proto: CP14PottedPlant2 entities: - uid: 7456 @@ -64463,6 +64499,11 @@ entities: rot: 1.5707963267948966 rad pos: -8.5,-40.5 parent: 1 + - uid: 4808 + components: + - type: Transform + pos: 11.5,-17.5 + parent: 1 - uid: 7133 components: - type: Transform @@ -83513,6 +83554,14 @@ entities: - type: Transform pos: -5.5,-11.5 parent: 1 +- proto: CP14WoodenCabinetInvestigator + entities: + - uid: 9656 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,-23.5 + parent: 1 - proto: CP14WoodenCabinetMerchant entities: - uid: 11577 diff --git a/Resources/Maps/_CP14/comoss_d.yml b/Resources/Maps/_CP14/comoss_d.yml index 3734f09f44..832186c65e 100644 --- a/Resources/Maps/_CP14/comoss_d.yml +++ b/Resources/Maps/_CP14/comoss_d.yml @@ -4,8 +4,8 @@ meta: engineVersion: 262.0.0 forkId: "" forkVersion: "" - time: 06/29/2025 15:19:58 - entityCount: 23372 + time: 07/06/2025 09:42:48 + entityCount: 23414 maps: - 1 grids: @@ -576,11 +576,6 @@ entities: chunkCollection: version: 2 nodes: - - node: - color: '#79150096' - id: CP14BrickTileGrayScaleStoneBox - decals: - 20: 20,-17 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneLineE @@ -730,6 +725,18 @@ entities: - type: Transform pos: 16.619337,-21.391006 parent: 1 +- proto: CP14BaseAlchemyBomb + entities: + - uid: 19642 + components: + - type: Transform + pos: 20.386324,-15.420374 + parent: 1 + - uid: 19645 + components: + - type: Transform + pos: 20.228853,-15.184242 + parent: 1 - proto: CP14BaseBarrel entities: - uid: 23 @@ -742,6 +749,48 @@ entities: - type: Transform pos: 49.269325,-15.964533 parent: 1 +- proto: CP14BaseShield + entities: + - uid: 23375 + components: + - type: Transform + parent: 23374 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23376 + components: + - type: Transform + parent: 23374 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23377 + components: + - type: Transform + parent: 23374 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23378 + components: + - type: Transform + parent: 23374 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23379 + components: + - type: Transform + parent: 23374 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23406 + components: + - type: Transform + pos: 22.628853,-17.18603 + parent: 1 - proto: CP14BaseVat entities: - uid: 27 @@ -99211,6 +99260,43 @@ entities: - type: ItemPlacer placedEntities: - 27 +- proto: CP14BowCombat + entities: + - uid: 23386 + components: + - type: Transform + parent: 23385 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23387 + components: + - type: Transform + parent: 23385 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23388 + components: + - type: Transform + parent: 23385 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23389 + components: + - type: Transform + parent: 23385 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23390 + components: + - type: Transform + parent: 23385 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14Bucket entities: - uid: 19600 @@ -99381,123 +99467,6 @@ entities: parent: 1 - proto: CP14Chasm entities: - - uid: 19638 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-33.5 - parent: 1 - - uid: 19639 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-30.5 - parent: 1 - - uid: 19640 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-31.5 - parent: 1 - - uid: 19641 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-32.5 - parent: 1 - - uid: 19642 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-33.5 - parent: 1 - - uid: 19643 - components: - - type: Transform - pos: 31.5,-31.5 - parent: 1 - - uid: 19644 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-33.5 - parent: 1 - - uid: 19645 - components: - - type: Transform - pos: 31.5,-32.5 - parent: 1 - - uid: 19646 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-29.5 - parent: 1 - - uid: 19647 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-29.5 - parent: 1 - - uid: 19648 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-29.5 - parent: 1 - - uid: 19649 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-32.5 - parent: 1 - - uid: 19650 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-30.5 - parent: 1 - - uid: 19651 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-30.5 - parent: 1 - - uid: 19652 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-32.5 - parent: 1 - - uid: 19653 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-30.5 - parent: 1 - - uid: 19654 - components: - - type: Transform - pos: 31.5,-30.5 - parent: 1 - - uid: 19655 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-31.5 - parent: 1 - - uid: 19656 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-31.5 - parent: 1 - - uid: 19657 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-32.5 - parent: 1 - uid: 19658 components: - type: Transform @@ -99830,6 +99799,36 @@ entities: - type: Transform pos: -6.616871,-35.262444 parent: 1 +- proto: CP14ClothingBeltQuiverIronArrow + entities: + - uid: 23381 + components: + - type: Transform + parent: 23380 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23382 + components: + - type: Transform + parent: 23380 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23383 + components: + - type: Transform + parent: 23380 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23384 + components: + - type: Transform + parent: 23380 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14ClothingCloakAlchemist entities: - uid: 19725 @@ -100135,6 +100134,16 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage + - uid: 23409 + components: + - type: Transform + pos: 21.717716,-17.092743 + parent: 1 + - uid: 23410 + components: + - type: Transform + pos: 21.818947,-17.362608 + parent: 1 - proto: CP14CrystalLampOrangeEmpty entities: - uid: 19782 @@ -100206,6 +100215,40 @@ entities: - type: Transform pos: -53.922863,-33.303955 parent: 1 +- proto: CP14CrystalQuartzEarth + entities: + - uid: 19638 + components: + - type: Transform + pos: 28.299154,-30.32085 + parent: 1 + - uid: 19639 + components: + - type: Transform + pos: 30.436272,-33.930298 + parent: 1 + - uid: 19641 + components: + - type: Transform + pos: 32.100975,-30.039742 + parent: 1 +- proto: CP14CrystalQuartzWater + entities: + - uid: 19640 + components: + - type: Transform + pos: 29.49144,-31.580221 + parent: 1 + - uid: 19643 + components: + - type: Transform + pos: 26.938147,-31.94004 + parent: 1 + - uid: 19644 + components: + - type: Transform + pos: 31.696047,-33.356834 + parent: 1 - proto: CP14CurtainsBlue entities: - uid: 19789 @@ -100272,6 +100315,16 @@ entities: - type: Transform pos: 52.416264,-16.199903 parent: 1 + - uid: 23407 + components: + - type: Transform + pos: 22.14514,-17.508785 + parent: 1 + - uid: 23408 + components: + - type: Transform + pos: 22.156387,-17.205187 + parent: 1 - proto: CP14EnergyCrystalMediumEmpty entities: - uid: 19797 @@ -104105,6 +104158,8 @@ entities: - type: Transform pos: 31.526072,-9.368305 parent: 1 + - type: CollisionWake + enabled: False - proto: CP14FoodMeatLambSlice entities: - uid: 20569 @@ -104137,6 +104192,8 @@ entities: - type: Transform pos: 32.103775,-9.466713 parent: 1 + - type: CollisionWake + enabled: False - proto: CP14FoodPumpkin entities: - uid: 20574 @@ -104191,6 +104248,8 @@ entities: - type: Transform pos: 31.84203,-9.2049675 parent: 1 + - type: CollisionWake + enabled: False - proto: CP14Furnace entities: - uid: 2 @@ -104310,6 +104369,24 @@ entities: rot: -1.5707963267948966 rad pos: -2.5,-19.5 parent: 1 +- proto: CP14GuidebookImperialLaws + entities: + - uid: 19647 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.257955,-22.68742 + parent: 1 + - uid: 19651 + components: + - type: Transform + pos: 11.5841465,-22.923553 + parent: 1 + - uid: 23414 + components: + - type: Transform + pos: 19.637709,-17.34634 + parent: 1 - proto: CP14HeadSkeleton entities: - uid: 20611 @@ -104427,10 +104504,9 @@ entities: rot: 3.141592653589793 rad pos: 79.5,24.5 parent: 1 - - uid: 23095 + - uid: 23412 components: - type: Transform - rot: 3.141592653589793 rad pos: 15.5,-17.5 parent: 1 - proto: CP14IronDoorGuardCommandantRoom @@ -104441,6 +104517,11 @@ entities: rot: 3.141592653589793 rad pos: 12.5,-20.5 parent: 1 + - uid: 23373 + components: + - type: Transform + pos: 20.5,-18.5 + parent: 1 - proto: CP14IronDoorWindowed entities: - uid: 20630 @@ -104877,6 +104958,12 @@ entities: showEnts: False occludes: False ent: null + - uid: 23095 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 15.5,-21.5 + parent: 1 - proto: CP14MetalBeerMug entities: - uid: 20650 @@ -104906,6 +104993,29 @@ entities: rot: -1.5707963267948966 rad pos: 78.04069,28.695343 parent: 1 +- proto: CP14ModularGripIronLongGuard + entities: + - uid: 19655 + components: + - type: Transform + parent: 19654 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 19656 + components: + - type: Transform + parent: 19654 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 19657 + components: + - type: Transform + parent: 19654 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14ModularGripWoodenLong entities: - uid: 20654 @@ -104914,13 +105024,43 @@ entities: rot: -1.5707963267948966 rad pos: 78.686516,29.049511 parent: 1 -- proto: CP14ModularInlayQuartzElectric +- proto: CP14ModularGuardHalberd entities: - - uid: 20655 + - uid: 23392 components: - type: Transform - pos: 29.47895,-31.525307 - parent: 1 + parent: 23391 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23393 + components: + - type: Transform + parent: 23391 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23394 + components: + - type: Transform + parent: 23391 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23395 + components: + - type: Transform + parent: 23391 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23396 + components: + - type: Transform + parent: 23391 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14ModularInlayQuartzWater entities: - uid: 20656 @@ -104936,6 +105076,8 @@ entities: rot: -1.5707963267948966 rad pos: 31.32473,-9.408573 parent: 1 + - type: CollisionWake + enabled: False - uid: 20658 components: - type: Transform @@ -115381,6 +115523,49 @@ entities: parent: 1 - type: Fixtures fixtures: {} +- proto: CP14Rope + entities: + - uid: 20655 + components: + - type: Transform + parent: 19654 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23059 + components: + - type: Transform + parent: 19654 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23084 + components: + - type: Transform + parent: 19654 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 23402 + components: + - type: Transform + pos: 18.512087,-17.332207 + parent: 1 + - uid: 23403 + components: + - type: Transform + pos: 18.748297,-17.422161 + parent: 1 + - uid: 23404 + components: + - type: Transform + pos: 18.83828,-17.44465 + parent: 1 + - uid: 23405 + components: + - type: Transform + pos: 18.534584,-17.332207 + parent: 1 - proto: CP14RoyalPumpkin entities: - uid: 21929 @@ -115388,6 +115573,14 @@ entities: - type: Transform pos: -106.045135,22.865108 parent: 1 +- proto: CP14SalaryPlatform + entities: + - uid: 19653 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 21.5,-19.5 + parent: 1 - proto: CP14Scissors entities: - uid: 21932 @@ -115395,6 +115588,8 @@ entities: - type: Transform pos: -7.658538,-35.42911 parent: 1 + - type: CollisionWake + enabled: False - proto: CP14SmallWoodenCrate entities: - uid: 21934 @@ -115416,6 +115611,12 @@ entities: parent: 1 - proto: CP14SmallWoodenCrateFilled entities: + - uid: 19650 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-19.5 + parent: 1 - uid: 21937 components: - type: Transform @@ -115941,11 +116142,15 @@ entities: rot: -1.5707963267948966 rad pos: -7.2754755,-35.213493 parent: 1 + - type: CollisionWake + enabled: False - uid: 22029 components: - type: Transform pos: -7.1504755,-35.400993 parent: 1 + - type: CollisionWake + enabled: False - proto: CP14TableWooden entities: - uid: 22030 @@ -116197,6 +116402,31 @@ entities: rot: -1.5707963267948966 rad pos: 11.5,-22.5 parent: 1 + - uid: 23397 + components: + - type: Transform + pos: 20.5,-15.5 + parent: 1 + - uid: 23398 + components: + - type: Transform + pos: 18.5,-17.5 + parent: 1 + - uid: 23399 + components: + - type: Transform + pos: 19.5,-17.5 + parent: 1 + - uid: 23400 + components: + - type: Transform + pos: 21.5,-17.5 + parent: 1 + - uid: 23401 + components: + - type: Transform + pos: 22.5,-17.5 + parent: 1 - proto: CP14TableWoodenCounter entities: - uid: 22076 @@ -116243,6 +116473,13 @@ entities: - type: Transform pos: 52.5,-12.5 parent: 1 +- proto: CP14VialMedium + entities: + - uid: 19646 + components: + - type: Transform + pos: 20.755821,-15.27911 + parent: 1 - proto: CP14VialSmall entities: - uid: 22084 @@ -117170,14 +117407,6 @@ entities: parent: 1 - type: Fixtures fixtures: {} - - uid: 23304 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 14.5,-16.5 - parent: 1 - - type: Fixtures - fixtures: {} - uid: 23371 components: - type: Transform @@ -119483,6 +119712,21 @@ entities: - type: Transform pos: 80.5,41.5 parent: 1 + - uid: 19648 + components: + - type: Transform + pos: 14.5,-17.5 + parent: 1 + - uid: 19649 + components: + - type: Transform + pos: 11.5,-17.5 + parent: 1 + - uid: 19652 + components: + - type: Transform + pos: 16.5,-17.5 + parent: 1 - uid: 20633 components: - type: Transform @@ -121028,11 +121272,6 @@ entities: - type: Transform pos: 37.5,51.5 parent: 1 - - uid: 23059 - components: - - type: Transform - pos: 11.5,-17.5 - parent: 1 - uid: 23060 components: - type: Transform @@ -121091,12 +121330,27 @@ entities: - uid: 23092 components: - type: Transform - pos: 14.5,-17.5 + pos: 17.5,-18.5 parent: 1 - uid: 23093 components: - type: Transform - pos: 16.5,-17.5 + pos: 18.5,-18.5 + parent: 1 + - uid: 23094 + components: + - type: Transform + pos: 22.5,-18.5 + parent: 1 + - uid: 23129 + components: + - type: Transform + pos: 21.5,-18.5 + parent: 1 + - uid: 23304 + components: + - type: Transform + pos: 19.5,-18.5 parent: 1 - uid: 23344 components: @@ -122650,18 +122904,16 @@ entities: parent: 1 - proto: CP14WindowStoneBrick entities: - - uid: 23084 + - uid: 23411 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 13.5,-17.5 - parent: 1 - - uid: 23094 - components: - - type: Transform - rot: -1.5707963267948966 rad pos: 12.5,-17.5 parent: 1 + - uid: 23413 + components: + - type: Transform + pos: 13.5,-17.5 + parent: 1 - proto: CP14WindowWooden entities: - uid: 23300 @@ -122949,6 +123201,27 @@ entities: parent: 1 - proto: CP14WoodenChest entities: + - uid: 19654 + components: + - type: Transform + pos: 13.5,-21.5 + parent: 1 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 19655 + - 19656 + - 19657 + - 20655 + - 23059 + - 23084 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null - uid: 19780 components: - type: Transform @@ -123049,6 +123322,85 @@ entities: - type: Transform pos: 23.5,1.5 parent: 1 + - uid: 23374 + components: + - type: Transform + pos: 18.5,-15.5 + parent: 1 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 23375 + - 23376 + - 23377 + - 23378 + - 23379 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 23380 + components: + - type: Transform + pos: 19.5,-15.5 + parent: 1 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 23384 + - 23383 + - 23382 + - 23381 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 23385 + components: + - type: Transform + pos: 21.5,-15.5 + parent: 1 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 23386 + - 23387 + - 23388 + - 23389 + - 23390 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 23391 + components: + - type: Transform + pos: 22.5,-15.5 + parent: 1 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 23392 + - 23393 + - 23394 + - 23395 + - 23396 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null - proto: CP14WoodenCloset entities: - uid: 23347 @@ -123087,14 +123439,6 @@ entities: - type: Transform pos: 21.5,1.5 parent: 1 -- proto: CP14WoodenClosetGuardCommanderFilled - entities: - - uid: 23129 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 13.5,-22.5 - parent: 1 - proto: CP14WoodenDoor entities: - uid: 23354 @@ -123186,6 +123530,13 @@ entities: - type: Transform pos: 31.5,-9.5 parent: 1 + - type: ItemPlacer + placedEntities: + - 20568 + - 20573 + - 20583 + - 20657 + - 23362 - proto: CP14WorkbenchFurnace entities: - uid: 23367 @@ -123201,6 +123552,11 @@ entities: rot: 1.5707963267948966 rad pos: -7.5,-35.5 parent: 1 + - type: ItemPlacer + placedEntities: + - 21932 + - 22028 + - 22029 - proto: PlushieLizardInversed entities: - uid: 23369 diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml index 2195cfd92c..d8d3bad2e9 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml @@ -87,47 +87,6 @@ - id: CP14PenFeather amount: 1 -- type: entity - parent: CP14WoodenCloset - id: CP14WoodenClosetGuardFilled - suffix: Guard, Filled - components: - - type: StorageFill - contents: - - id: CP14Rope - amount: 2 - - id: Bola - amount: 2 - - id: CP14ModularGuardHalberd - - id: CP14BaseShield - - id: CP14ModularGripIronLongGuard - amount: 2 - - id: CP14BaseLightCrossbow - - id: CP14CrossboltIron - amount: 5 - - id: CP14EnergyCrystalMedium - - id: CP14CrystalLampBlueEmpty - -- type: entity - parent: CP14WoodenCloset - id: CP14WoodenClosetGuardCommanderFilled - suffix: Guard Commander, Filled - components: - - type: StorageFill - contents: - - id: CP14Rope - amount: 2 - - id: Bola - - id: Bola - - id: CP14ModularGuardHalberd - - id: CP14BaseShield - - id: CP14ModularGripIronLongGuard - amount: 2 - - id: CP14EnergyCrystalMedium - - id: CP14CrystalLampBlueEmpty - - id: CP14StampGuardCommander - - id: CP14ClothingCloakAristocraticCloak - - type: entity parent: CP14WoodenCloset id: CP14WoodenClosetGuildmasterFilled diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml b/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml index 79dfe64282..777a19fbe7 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml @@ -80,6 +80,25 @@ - id: CP14ClothingCloakGuardBlue prob: 0.5 +- type: entity + parent: CP14WoodenCabinet + id: CP14WoodenCabinetInvestigator + suffix: Investigator, Filled + components: + - type: StorageFill + contents: + - id: CP14GuidebookImperialLaws + - id: CP14ClothingHeadGuardHelmet + prob: 0.7 + - id: CP14ClothingPantsGuardsChainmailSkirt + prob: 0.7 + - id: CP14ClothingShirtGuardsChainmailShirtB + prob: 0.7 + - id: CP14ClothingCloakGuardInvestigator + prob: 1 + - id: CP14ManaOperationGlove + prob: 1 + - type: entity parent: CP14WoodenCabinet id: CP14WoodenCabinetGuardCommander @@ -96,6 +115,7 @@ prob: 0.7 - id: CP14ClothingCloakGuardCommander prob: 1 + - id: CP14StampGuardCommander - type: entity parent: CP14WoodenCabinet diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml index 49f5fd51fe..5eff7cff62 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml @@ -121,6 +121,43 @@ - state: old - state: sell +- type: entity + parent: BaseStructure + id: CP14SalaryPlatform + name: salary dimensional platform + description: allows you to quickly receive the salary you are entitled to (if, of course, you are supposed to receive a salary from the empire) + categories: [ ForkFiltered ] + components: + - type: Sprite + drawdepth: FloorTiles + snapCardinals: true + sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi + layers: + - state: base + - state: salary + - type: Clickable + - type: InteractionOutline + - type: CP14SalaryPairoll + - type: PlaceableSurface + - type: ItemPlacer + maxEntities: 0 + whitelist: + tags: + - CP14Coin + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + mask: + - TabletopMachineMask + layer: + - Impassable + - MidImpassable + - LowImpassable + hard: false + - type: entity id: CP14CashImpact categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/_CP14/Maps/comoss.yml b/Resources/Prototypes/_CP14/Maps/comoss.yml index 6ad899b969..01bda71485 100644 --- a/Resources/Prototypes/_CP14/Maps/comoss.yml +++ b/Resources/Prototypes/_CP14/Maps/comoss.yml @@ -25,9 +25,9 @@ CP14Innkeeper: [ 3, 4 ] CP14Merchant: [2, 2] #Guard - #CP14Guard: [4, 4] - #CP14Investigator: [2, 2] - #CP14GuardCommander: [1, 1] + CP14Guard: [4, 4] + CP14Investigator: [2, 2] + CP14GuardCommander: [1, 1] - type: CP14StationZLevels defaultMapLevel: 0 levels: diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard.yml index c6a9390d82..b7361c0d0e 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard.yml @@ -11,6 +11,10 @@ - !type:CP14LearnSkillsSpecial skills: - SwordMastery + - !type:AddComponentSpecial + components: + - type: CP14SalaryCounter + salary: 50 - type: startingGear id: CP14GuardGear diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard_commander.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard_commander.yml index 5f6d592a2f..db96bffc67 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard_commander.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Guard/guard_commander.yml @@ -14,11 +14,15 @@ requirements: - !type:DepartmentTimeRequirement department: CP14Guard - time: 3600 # 1 hours + time: 10980 # 3 hours special: - !type:CP14LearnSkillsSpecial skills: - SwordMastery + - !type:AddComponentSpecial + components: + - type: CP14SalaryCounter + salary: 400 - type: startingGear id: CP14GuardCommanderGear diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Guard/investigator.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Guard/investigator.yml index dc0de86665..205cf822e6 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Guard/investigator.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Guard/investigator.yml @@ -7,11 +7,19 @@ startingGear: CP14InvestigatorGear icon: "CP14JobIconInvestigator" supervisors: cp14-job-supervisors-guard-commander + requirements: + - !type:DepartmentTimeRequirement + department: CP14Guard + time: 3600 # 1 hours special: - !type:CP14LearnSkillsSpecial skills: - CP14ActionSpellMagicSplitting - CP14ActionToggleMagicVision + - !type:AddComponentSpecial + components: + - type: CP14SalaryCounter + salary: 75 - type: startingGear id: CP14InvestigatorGear diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml index 2d5c5780b1..e599e351ce 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml @@ -27,7 +27,7 @@ description: department-CP14Guard-desc weight: 9 color: "#576384" - editorHidden: true + editorHidden: false roles: - CP14GuardCommander - CP14Investigator diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json index b2de13b0f1..75d5d62b3a 100644 --- a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json @@ -19,6 +19,9 @@ { "name": "sell" }, + { + "name": "salary" + }, { "name": "impact", "delays": [ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/salary.png b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/salary.png new file mode 100644 index 0000000000..66acf727ce Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/salary.png differ diff --git a/Resources/migration.yml b/Resources/migration.yml index bba0246bf5..0d6d254f6e 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -365,6 +365,10 @@ CP14SpellScrollMagicSplitting: null CP14AlchemyFurnaceDebug: CP14FurnaceDebug CP14AlchemyFurnace: CP14Furnace +#2025-06-07 +CP14WoodenClosetGuardFilled: null +CP14WoodenClosetGuardCommanderFilled: null + # <---> CrystallEdge migration zone end