From c6eda2a60ae7f1b3e3905068321207aeeaded71f Mon Sep 17 00:00:00 2001 From: BIGZi0348 Date: Sun, 16 Mar 2025 18:00:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=87=D0=B5?= =?UTF-8?q?=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_White/AddImplant/AddImplantComponent.cs | 14 + .../_White/AddImplant/AddImplantSystem.cs | 21 + .../FillIDCard/ContractorIDCardComponent.cs | 11 + .../FillIDCard/ContractorIDCardSystem.cs | 24 + .../_White/FillIDCard/FillIDCardComponent.cs | 11 + .../_White/FillIDCard/FillIDCardSystem.cs | 72 +++ Resources/Locale/ru-RU/_white/mercenary.ftl | 30 +- .../entities/clothing/ears/headsets.ftl | 4 +- .../_white/recipes/structures/airlocks.ftl | 68 ++- .../objects/misc/identification_cards.ftl | 12 - .../objects/misc/identification_cards.ftl | 24 + .../Maps/Shuttles/ShuttleEvent/honki.yml | 388 ++++++++++++--- .../ShuttleEvent/traveling_china_cuisine.yml | 454 ++++++++++++------ .../Entities/Mobs/Player/admin_ghost.yml | 1 + .../Entities/Mobs/Player/humanoid.yml | 44 +- .../Entities/Objects/Devices/door_remote.yml | 1 + .../Roles/Jobs/Fun/misc_startinggear.yml | 6 +- .../Prototypes/Roles/play_time_trackers.yml | 25 - Resources/Prototypes/_White/Access/misc.yml | 18 + .../_White/Entities/Objects/Misc/airlocks.yml | 235 +++++++++ .../Objects/Misc/identification_cards.yml | 20 + .../Jobs/{another_sector.yml => misc.yml} | 23 +- .../_White/Roles/play_time_trackers.yml | 32 ++ Resources/Prototypes/_White/mercenary.yml | 118 ++++- 24 files changed, 1385 insertions(+), 271 deletions(-) create mode 100644 Content.Server/_White/AddImplant/AddImplantComponent.cs create mode 100644 Content.Server/_White/AddImplant/AddImplantSystem.cs create mode 100644 Content.Server/_White/FillIDCard/ContractorIDCardComponent.cs create mode 100644 Content.Server/_White/FillIDCard/ContractorIDCardSystem.cs create mode 100644 Content.Server/_White/FillIDCard/FillIDCardComponent.cs create mode 100644 Content.Server/_White/FillIDCard/FillIDCardSystem.cs create mode 100644 Resources/Prototypes/_White/Access/misc.yml create mode 100644 Resources/Prototypes/_White/Entities/Objects/Misc/airlocks.yml rename Resources/Prototypes/_White/Roles/Jobs/{another_sector.yml => misc.yml} (65%) create mode 100644 Resources/Prototypes/_White/Roles/play_time_trackers.yml diff --git a/Content.Server/_White/AddImplant/AddImplantComponent.cs b/Content.Server/_White/AddImplant/AddImplantComponent.cs new file mode 100644 index 0000000000..b5ff2d3021 --- /dev/null +++ b/Content.Server/_White/AddImplant/AddImplantComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Set; + +namespace Content.Server._White.AddImplant; + +/// +/// WD. +/// +[RegisterComponent] +public sealed partial class AddImplantComponent : Component +{ + [DataField("implants", customTypeSerializer: typeof(PrototypeIdHashSetSerializer))] + public HashSet Implants { get; private set; } = new(); +} diff --git a/Content.Server/_White/AddImplant/AddImplantSystem.cs b/Content.Server/_White/AddImplant/AddImplantSystem.cs new file mode 100644 index 0000000000..34ee6eae10 --- /dev/null +++ b/Content.Server/_White/AddImplant/AddImplantSystem.cs @@ -0,0 +1,21 @@ + +using Content.Shared.Examine; +using Content.Shared.Implants; + +namespace Content.Server._White.AddImplant; + +public sealed class AddImplantSystem : EntitySystem +{ + [Dependency] private readonly SharedSubdermalImplantSystem _implantSystem = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit); + } + public void OnMapInit(Entity ent, ref MapInitEvent args) + { + _implantSystem.AddImplants(ent.Owner, ent.Comp.Implants); + RemComp(ent.Owner); + } +} diff --git a/Content.Server/_White/FillIDCard/ContractorIDCardComponent.cs b/Content.Server/_White/FillIDCard/ContractorIDCardComponent.cs new file mode 100644 index 0000000000..4ecf2b1bb9 --- /dev/null +++ b/Content.Server/_White/FillIDCard/ContractorIDCardComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server._White.ContractorIDCard; + +/// +/// WD. +/// +[RegisterComponent] +public sealed partial class ContractorIDCardComponent : Component +{ + [DataField] + public string Details = string.Empty; +} diff --git a/Content.Server/_White/FillIDCard/ContractorIDCardSystem.cs b/Content.Server/_White/FillIDCard/ContractorIDCardSystem.cs new file mode 100644 index 0000000000..0306333d04 --- /dev/null +++ b/Content.Server/_White/FillIDCard/ContractorIDCardSystem.cs @@ -0,0 +1,24 @@ + +using Content.Shared.Examine; + +namespace Content.Server._White.ContractorIDCard; + +public sealed class ContractorIDCardSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnExamined); + } + public void OnExamined(Entity ent, ref ExaminedEvent args) + { + if (!args.IsInDetailsRange) + return; + + if (ent.Comp.Details == string.Empty) + return; + + args.PushMarkup(ent.Comp.Details); + } +} diff --git a/Content.Server/_White/FillIDCard/FillIDCardComponent.cs b/Content.Server/_White/FillIDCard/FillIDCardComponent.cs new file mode 100644 index 0000000000..21844b80e1 --- /dev/null +++ b/Content.Server/_White/FillIDCard/FillIDCardComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server._White.FillIDCard; + +/// +/// WD. +/// +[RegisterComponent] +public sealed partial class FillIDCardComponent : Component +{ + [DataField] + public bool IsContractor = false; +} diff --git a/Content.Server/_White/FillIDCard/FillIDCardSystem.cs b/Content.Server/_White/FillIDCard/FillIDCardSystem.cs new file mode 100644 index 0000000000..b9b289f0fa --- /dev/null +++ b/Content.Server/_White/FillIDCard/FillIDCardSystem.cs @@ -0,0 +1,72 @@ + +using Content.Server._White.ContractorIDCard; +using Content.Server.Access.Systems; +using Content.Server.Forensics; +using Content.Server.PDA; +using Content.Shared.Access.Components; +using Content.Shared.Inventory; +using Content.Shared.PDA; +using Robust.Server.Containers; +using Robust.Shared.Timing; + +namespace Content.Server._White.FillIDCard; + +public sealed class FillIDCardSystem : EntitySystem +{ + [Dependency] private readonly InventorySystem _inventorySystem = default!; + [Dependency] private readonly PdaSystem _pdaSystem = default!; + [Dependency] private readonly ContainerSystem _containerSystem = default!; + [Dependency] private readonly IdCardSystem _idCardSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + Timer.Spawn(15000, () => ItDoBeDoing(ent)); // 15 seconds and yes this is bad // TODO Make it less dogshit + } + + private void ItDoBeDoing(Entity ent) + { + if (!TryComp(ent.Owner, out var targetMeta)) + { + RemComp(ent.Owner); + return; + } + + if (!_inventorySystem.TryGetSlotEntity(ent.Owner, "id", out var idcardSlot)) + { + RemComp(ent.Owner); + return; + } + + if (TryComp(idcardSlot, out var pda)) + { + _pdaSystem.SetOwnerName((EntityUid) idcardSlot, pda, targetMeta.EntityName); + + _containerSystem.TryGetContainer((EntityUid) idcardSlot, "PDA-id", out var container); + + if (container != null) + { + var idCardInPda = container.ContainedEntities[0]; + _idCardSystem.TryChangeFullName(idCardInPda, targetMeta.EntityName); + } + } + else if (HasComp(idcardSlot)) + { + _idCardSystem.TryChangeFullName((EntityUid) idcardSlot, targetMeta.EntityName); + if (ent.Comp.IsContractor) + { + EnsureComp((EntityUid) idcardSlot, out var comp); + if (TryComp(ent.Owner, out var fingerprintComponent) && TryComp(ent.Owner, out var dnaComponent)) + comp.Details = $"На карте имеется следующая информация:\nВладелец карты: {targetMeta.EntityName}\nОтпечаток пальцев владельца: {fingerprintComponent.Fingerprint}\nДНК владельца: {dnaComponent.DNA}"; + } + } + + RemComp(ent.Owner); + } +} diff --git a/Resources/Locale/ru-RU/_white/mercenary.ftl b/Resources/Locale/ru-RU/_white/mercenary.ftl index 6936d94a8f..4da592d747 100644 --- a/Resources/Locale/ru-RU/_white/mercenary.ftl +++ b/Resources/Locale/ru-RU/_white/mercenary.ftl @@ -35,5 +35,31 @@ ent-DoorElectronicsMercenary = { ent-DoorElectronics } .desc = { ent-DoorElectronics.desc } ent-AirlockMercenaryLocked = { ent-Airlock } - .suffix = Наёмник, Закрыт - .desc = { ent-Airlock.desc } В углу имеется небольшой символ Администрации сектора. + .desc = { ent-Airlock.desc } + +ent-AirlockMercenaryGlassLocked = { ent-AirlockGlass } + .desc = { ent-AirlockGlass.desc } + +ent-AirlockMercenaryShuttleLocked = { ent-AirlockShuttle } + .desc = { ent-AirlockShuttle.desc } + +ent-AirlockMercenaryGlassShuttleLocked = { ent-AirlockGlassShuttle } + .desc = { ent-AirlockGlassShuttle.desc } + +ent-WindoorMercenaryLocked = { ent-Windoor } + .desc = { ent-Windoor.desc } + +ent-WindoorSecureMercenaryLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + +ent-PlasmaWindoorMercenaryLocked = { ent-WindoorPlasma } + .desc = { ent-WindoorPlasma.desc } + +ent-UraniumWindoorMercenaryLocked = { ent-WindoorUranium } + .desc = { ent-WindoorUranium.desc } + +ent-PlasmaWindoorSecureMercenaryLocked = { ent-WindoorSecurePlasma } + .desc = { ent-WindoorSecurePlasma.desc } + +ent-UraniumWindoorSecureMercenaryLocked = { ent-WindoorSecureUranium } + .desc = { ent-WindoorSecureUranium.desc } diff --git a/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/ears/headsets.ftl b/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/ears/headsets.ftl index a3f245f5e0..63e7ef6d9e 100644 --- a/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/ears/headsets.ftl +++ b/Resources/Locale/ru-RU/_white/prototypes/entities/clothing/ears/headsets.ftl @@ -6,5 +6,5 @@ ent-ClothingHeadsetRDAnotherSector = { ent-ClothingHeadsetRD } .desc = { ent-ClothingHeadsetRD.desc } ent-ClothingHeadsetCargoAnotherSector = { ent-ClothingHeadsetCargo } .desc = { ent-ClothingHeadsetCargo.desc } -ent-ClothingHeadsetServiceContractor = { ent-ClothingHeadsetService } - .desc = { ent-ClothingHeadsetService.desc } +ent-ClothingHeadsetContractor = гарнитура контрактника + .desc = { ent-ClothingHeadsetGrey.desc } diff --git a/Resources/Locale/ru-RU/_white/recipes/structures/airlocks.ftl b/Resources/Locale/ru-RU/_white/recipes/structures/airlocks.ftl index 3df37da0ea..c734a5475f 100644 --- a/Resources/Locale/ru-RU/_white/recipes/structures/airlocks.ftl +++ b/Resources/Locale/ru-RU/_white/recipes/structures/airlocks.ftl @@ -2,4 +2,70 @@ ent-airlockExternal = { ent-AirlockExternal } .desc = { ent-AirlockExternal.desc } ent-airlockExternalGlass = стеклянный внешний шлюз - .desc = { ent-airlockExternal.desc} \ No newline at end of file + .desc = { ent-airlockExternal.desc } + +ent-DoorElectronicsClownContractor = { ent-DoorElectronics } + .desc = { ent-DoorElectronics.desc } + +ent-AirlockClownContractorLocked = { ent-Airlock } + .desc = { ent-Airlock.desc } + +ent-AirlockClownContractorGlassLocked = { ent-AirlockGlass } + .desc = { ent-AirlockGlass.desc } + +ent-AirlockClownContractorShuttleLocked = { ent-AirlockShuttle } + .desc = { ent-AirlockShuttle.desc } + +ent-AirlockClownContractorGlassShuttleLocked = { ent-AirlockGlassShuttle } + .desc = { ent-AirlockGlassShuttle.desc } + +ent-WindoorClownContractorLocked = { ent-Windoor } + .desc = { ent-Windoor.desc } + +ent-WindoorSecureClownContractorLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + +ent-PlasmaWindoorClownContractorLocked = { ent-WindoorPlasma } + .desc = { ent-WindoorPlasma.desc } + +ent-UraniumWindoorClownContractorLocked = { ent-WindoorUranium } + .desc = { ent-WindoorUranium.desc } + +ent-PlasmaWindoorSecureClownContractorLocked = { ent-WindoorSecurePlasma } + .desc = { ent-WindoorSecurePlasma.desc } + +ent-UraniumWindoorSecureClownContractorLocked = { ent-WindoorSecureUranium } + .desc = { ent-WindoorSecureUranium.desc } + +ent-DoorElectronicsChefContractor = { ent-DoorElectronics } + .desc = { ent-DoorElectronics.desc } + +ent-AirlockChefContractorLocked = { ent-Airlock } + .desc = { ent-Airlock.desc } + +ent-AirlockChefContractorGlassLocked = { ent-AirlockGlass } + .desc = { ent-AirlockGlass.desc } + +ent-AirlockChefContractorShuttleLocked = { ent-AirlockShuttle } + .desc = { ent-AirlockShuttle.desc } + +ent-AirlockChefContractorGlassShuttleLocked = { ent-AirlockGlassShuttle } + .desc = { ent-AirlockGlassShuttle.desc } + +ent-WindoorChefContractorLocked = { ent-Windoor } + .desc = { ent-Windoor.desc } + +ent-WindoorSecureChefContractorLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + +ent-PlasmaWindoorChefContractorLocked = { ent-WindoorPlasma } + .desc = { ent-WindoorPlasma.desc } + +ent-UraniumWindoorChefContractorLocked = { ent-WindoorUranium } + .desc = { ent-WindoorUranium.desc } + +ent-PlasmaWindoorSecureChefContractorLocked = { ent-WindoorSecurePlasma } + .desc = { ent-WindoorSecurePlasma.desc } + +ent-UraniumWindoorSecureChefContractorLocked = { ent-WindoorSecureUranium } + .desc = { ent-WindoorSecureUranium.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/identification_cards.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/identification_cards.ftl index 0aca8b73a1..8aa9bab67b 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/identification_cards.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/identification_cards.ftl @@ -94,15 +94,3 @@ ent-CluwneIDCard = ID карта клувна .suffix = Неснимаемое ent-ResearchAssistantIDCard = ID карта научного ассистента .desc = { ent-IDCardStandard.desc } -ent-MaidIDCard = ID карта прислуги - .desc = { ent-IDCardStandard.desc } -ent-BomzhIDCard = грязная ID карта - .desc = Старая и грязная карта дожившая до нашего времени. -ent-CargoIDCardAnotherSector = { ent-CargoIDCard } - .desc = { ent-CargoIDCard.desc } -ent-CMOIDCardAnotherSector = { ent-CMOIDCard } - .desc = { ent-CMOIDCard.desc } -ent-CaptainIDCardAnotherSector = { ent-CaptainIDCard } - .desc = { ent-CaptainIDCard.desc } -ent-RDIDCardAnotherSector = { ent-RDIDCard } - .desc = { ent-RDIDCard.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/misc/identification_cards.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/misc/identification_cards.ftl index da1b875c47..4d12474f05 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/misc/identification_cards.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/white/entities/objects/misc/identification_cards.ftl @@ -3,3 +3,27 @@ ent-IAAIDCard = ID карта агента внутренних дел ent-MercenaryIDCard = ID карта резидента .desc = Карта резидента выдаётся Администрацией сектора. Позволяет записывать данные для временного оформления и имеет доступ к личному судну владельца. + +ent-ClownIDCardContractor = { ent-MercenaryIDCard } + .desc = { ent-MercenaryIDCard.desc } + +ent-ChefIDCardContractor = { ent-MercenaryIDCard } + .desc = { ent-MercenaryIDCard.desc } + +ent-MaidIDCard = ID карта прислуги + .desc = { ent-IDCardStandard.desc } + +ent-BomzhIDCard = грязная ID карта + .desc = Старая и грязная карта дожившая до нашего времени. + +ent-CargoIDCardAnotherSector = { ent-CargoIDCard } + .desc = { ent-CargoIDCard.desc } + +ent-CMOIDCardAnotherSector = { ent-CMOIDCard } + .desc = { ent-CMOIDCard.desc } + +ent-CaptainIDCardAnotherSector = { ent-CaptainIDCard } + .desc = { ent-CaptainIDCard.desc } + +ent-RDIDCardAnotherSector = { ent-RDIDCard } + .desc = { ent-RDIDCard.desc } diff --git a/Resources/Maps/Shuttles/ShuttleEvent/honki.yml b/Resources/Maps/Shuttles/ShuttleEvent/honki.yml index 0fca6a8ba9..ade69b06ca 100644 --- a/Resources/Maps/Shuttles/ShuttleEvent/honki.yml +++ b/Resources/Maps/Shuttles/ShuttleEvent/honki.yml @@ -16,7 +16,7 @@ entities: name: Honkomother - type: Transform pos: 1.212189,-1.7551664 - parent: invalid + parent: 313 - type: MapGrid chunks: 0,0: @@ -168,13 +168,16 @@ entities: 1,0: 1: 56 1,-1: - 0: 30576 + 2: 4112 + 0: 10016 + 3: 16448 0,-2: 0: 48051 -1,-2: 0: 48056 -1,-1: - 0: 56784 + 3: 16 + 0: 56768 0,-3: 1: 32768 1,-3: @@ -185,7 +188,8 @@ entities: -2,0: 1: 130 -2,-1: - 0: 52928 + 0: 52800 + 3: 128 -2,-2: 1: 8708 0: 34944 @@ -209,6 +213,14 @@ entities: - 0 - 0 - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - volume: 2500 immutable: True moles: @@ -224,9 +236,76 @@ entities: - 0 - 0 - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.15 + moles: + - 21.6852 + - 81.57766 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.14975 + moles: + - 20.078888 + - 75.53487 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 chunkSize: 4 - type: GasTileOverlay - type: RadiationGridResistance + - uid: 313 + components: + - type: MetaData + name: Map Entity + - type: Transform + - type: Map + mapPaused: True + - type: PhysicsMap + - type: GridTree + - type: MovedGrids + - type: Broadphase + - type: OccluderTree + - type: LoadedMap - proto: AirCanister entities: - uid: 2 @@ -237,6 +316,8 @@ entities: parent: 1 - type: Physics bodyType: Static + - type: PolymorphableCanister + currentPrototype: AirCanister - uid: 3 components: - type: Transform @@ -245,7 +326,9 @@ entities: parent: 1 - type: Physics bodyType: Static -- proto: AirlockShuttle + - type: PolymorphableCanister + currentPrototype: AirCanister +- proto: AirlockClownContractorShuttleLocked entities: - uid: 4 components: @@ -280,7 +363,7 @@ entities: - uid: 7 components: - type: Transform - pos: -1.4946816,-0.2775966 + pos: 2.268822,0.6392218 parent: 1 - proto: BananiumDoor entities: @@ -296,6 +379,9 @@ entities: rot: 3.141592653589793 rad pos: -2.5,-1.5 parent: 1 + - type: Door + secondsUntilStateChange: -131.67447 + state: Opening - uid: 10 components: - type: Transform @@ -381,6 +467,15 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage +- proto: BorgModuleClowning + entities: + - uid: 379 + components: + - type: Transform + parent: 115 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CableApcExtension entities: - uid: 31 @@ -836,8 +931,16 @@ entities: immutable: False temperature: 293.14673 moles: - - 1.7459903 - - 6.568249 + - 1.8856695 + - 7.0937095 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - 0 - 0 - 0 @@ -854,11 +957,11 @@ entities: showEnts: False occludes: True ents: - - 25 - - 23 - - 22 - - 24 - 261 + - 22 + - 23 + - 25 + - 24 paper_label: !type:ContainerSlot showEnts: False occludes: True @@ -868,6 +971,52 @@ entities: - type: Transform pos: 4.5,-2.5 parent: 1 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14673 + moles: + - 1.8856695 + - 7.0937095 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 30 + - 28 + - 27 + - 315 + - 29 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 115 + components: + - type: Transform + pos: 6.5,-2.5 + parent: 1 - type: EntityStorage air: volume: 200 @@ -886,43 +1035,32 @@ entities: - 0 - 0 - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - type: ContainerContainer containers: entity_storage: !type:Container showEnts: False occludes: True ents: - - 29 - - 315 - - 27 - - 28 - - 30 - paper_label: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - - uid: 115 - components: - - type: Transform - pos: 6.5,-2.5 - parent: 1 - - type: ContainerContainer - containers: - entity_storage: !type:Container - showEnts: False - occludes: True - ents: - - 125 - - 124 - - 123 - - 122 - - 121 - - 126 - - 120 - - 119 - - 118 - - 117 + - 379 - 116 + - 117 + - 118 + - 119 + - 120 + - 126 + - 121 + - 122 + - 123 + - 124 + - 125 paper_label: !type:ContainerSlot showEnts: False occludes: True @@ -932,27 +1070,68 @@ entities: - type: Transform pos: 6.5,-0.5 parent: 1 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14673 + moles: + - 1.7459903 + - 6.568249 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - type: ContainerContainer containers: entity_storage: !type:Container showEnts: False occludes: True ents: - - 128 - - 129 - - 130 - - 131 - - 132 - - 133 - - 134 - - 135 - - 138 - - 136 - 137 + - 136 + - 138 + - 135 + - 134 + - 133 + - 132 + - 131 + - 130 + - 129 + - 380 + - 128 paper_label: !type:ContainerSlot showEnts: False occludes: True ent: null +- proto: CrayonRainbow + entities: + - uid: 382 + components: + - type: Transform + pos: -1.2894332,-0.29621565 + parent: 1 +- proto: DeepSpaceComWallMount + entities: + - uid: 384 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 - proto: DehydratedSpaceCarp entities: - uid: 24 @@ -962,6 +1141,9 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage + - type: ContainerContainer + containers: + item: !type:ContainerSlot {} - uid: 29 components: - type: Transform @@ -969,6 +1151,9 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage + - type: ContainerContainer + containers: + item: !type:ContainerSlot {} - proto: DeviceQuantumSpinInverter entities: - uid: 25 @@ -1008,6 +1193,13 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage +- proto: FaxMachineBase + entities: + - uid: 383 + components: + - type: Transform + pos: -1.5,0.5 + parent: 1 - proto: FloorBananiumEntity entities: - uid: 139 @@ -1106,12 +1298,12 @@ entities: - uid: 144 components: - type: Transform - pos: -1.5971907,0.54355335 + pos: 2.7644207,0.14128423 parent: 1 - uid: 145 components: - type: Transform - pos: -1.405974,0.27368832 + pos: 2.2753637,0.14128423 parent: 1 - proto: FoodCakeClown entities: @@ -1909,6 +2101,13 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage +- proto: PaperBin10 + entities: + - uid: 385 + components: + - type: Transform + pos: -1.5,-0.5 + parent: 1 - proto: PlasmaWindow entities: - uid: 262 @@ -2223,6 +2422,11 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage + - uid: 381 + components: + - type: Transform + pos: -1.6230972,-0.35871565 + parent: 1 - proto: SpawnClownSpider entities: - uid: 312 @@ -2230,11 +2434,6 @@ entities: - type: Transform pos: -4.5,-4.5 parent: 1 - - uid: 313 - components: - - type: Transform - pos: -2.5,-5.5 - parent: 1 - uid: 314 components: - type: Transform @@ -2280,17 +2479,43 @@ entities: parent: 1 - type: Lock locked: False + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14673 + moles: + - 1.7459903 + - 6.568249 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - type: ContainerContainer containers: entity_storage: !type:Container showEnts: False occludes: True ents: - - 96 - 95 - - 97 - - 94 + - 96 - 98 + - 94 + - 97 - uid: 99 components: - type: Transform @@ -2314,15 +2539,41 @@ entities: parent: 1 - type: Lock locked: False + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14673 + moles: + - 1.7459903 + - 6.568249 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - type: ContainerContainer containers: entity_storage: !type:Container showEnts: False occludes: True ents: - - 104 - - 105 - 106 + - 105 + - 104 - proto: TablePlasmaGlass entities: - uid: 317 @@ -2663,4 +2914,13 @@ entities: - type: Transform pos: 3.5,-2.5 parent: 1 +- proto: WhoopieCushion + entities: + - uid: 380 + components: + - type: Transform + parent: 127 + - type: Physics + canCollide: False + - type: InsideEntityStorage ... diff --git a/Resources/Maps/Shuttles/ShuttleEvent/traveling_china_cuisine.yml b/Resources/Maps/Shuttles/ShuttleEvent/traveling_china_cuisine.yml index 7b6812c493..2770768f42 100644 --- a/Resources/Maps/Shuttles/ShuttleEvent/traveling_china_cuisine.yml +++ b/Resources/Maps/Shuttles/ShuttleEvent/traveling_china_cuisine.yml @@ -26,7 +26,7 @@ entities: name: SRV "Salami-Salami" - type: Transform pos: -0.5104167,-0.5 - parent: invalid + parent: 71 - type: MapGrid chunks: 0,0: @@ -86,34 +86,59 @@ entities: data: tiles: 0,0: - 0: 7 - 1: 128 + 0: 1 + 1: 6 + 2: 128 0,-1: - 0: 29303 + 1: 29303 -1,0: - 1: 129 + 2: 129 -1,-1: - 0: 28686 - 1: 272 + 1: 28686 + 2: 272 -1,-2: - 1: 28 - 0: 65024 + 2: 28 + 1: 65024 -1,-3: - 1: 49152 + 2: 49152 0,-3: - 1: 61440 + 2: 61440 0,-2: - 0: 32624 - 1: 8 + 1: 32624 + 2: 8 1,-3: - 1: 4096 + 2: 4096 1,-2: - 1: 65 - 0: 13056 + 2: 65 + 1: 12544 + 3: 512 1,-1: - 0: 3 - 1: 320 + 1: 3 + 2: 320 uniqueMixes: + - volume: 2500 + temperature: 293.14978 + moles: + - 21.813705 + - 82.06108 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - volume: 2500 temperature: 293.15 moles: @@ -129,6 +154,14 @@ entities: - 0 - 0 - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - volume: 2500 immutable: True moles: @@ -144,10 +177,62 @@ entities: - 0 - 0 - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.15 + moles: + - 21.6852 + - 81.57766 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 chunkSize: 4 - type: GasTileOverlay - type: RadiationGridResistance - type: NavMap + - uid: 71 + components: + - type: MetaData + name: Map Entity + - type: Transform + - type: Map + mapPaused: True + - type: PhysicsMap + - type: GridTree + - type: MovedGrids + - type: Broadphase + - type: OccluderTree + - type: LoadedMap +- proto: AirlockChefContractorShuttleLocked + entities: + - uid: 3 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -3.5,-0.5 + parent: 1 - proto: AirlockShuttle entities: - uid: 2 @@ -156,12 +241,6 @@ entities: rot: -1.5707963267948966 rad pos: -3.5,-4.5 parent: 1 - - uid: 3 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -3.5,-0.5 - parent: 1 - proto: APCBasic entities: - uid: 4 @@ -169,6 +248,13 @@ entities: - type: Transform pos: 2.5,-1.5 parent: 1 +- proto: ATM + entities: + - uid: 235 + components: + - type: Transform + pos: -1.5,-2.5 + parent: 1 - proto: AtmosDeviceFanTiny entities: - uid: 5 @@ -374,73 +460,21 @@ entities: rot: 3.141592653589793 rad pos: 1.5,-0.5 parent: 1 -- proto: ClosetMaintenance - entities: - - uid: 71 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14786 - moles: - - 1.8856695 - - 7.0937095 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - type: ContainerContainer - containers: - entity_storage: !type:Container - showEnts: False - occludes: True - ents: - - 80 - - 76 - - 73 - - 74 - - 78 - - 81 - - 77 - - 72 - - 75 - - 79 - paper_label: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - proto: ClothingHeadHatCasa entities: - uid: 72 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage -- proto: ClothingHeadHelmetEVALarge - entities: - - uid: 82 - components: - - type: Transform - pos: 0.30235916,-0.6487955 - parent: 1 - proto: ClothingOuterDameDane entities: - uid: 79 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage @@ -449,16 +483,16 @@ entities: - uid: 73 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage -- proto: ClothingOuterHardsuitAncientEVA +- proto: ClothingOuterHardsuitBasic entities: - - uid: 74 + - uid: 90 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage @@ -467,7 +501,7 @@ entities: - uid: 75 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage @@ -476,7 +510,7 @@ entities: - uid: 76 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage @@ -492,10 +526,17 @@ entities: - uid: 77 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage +- proto: ComputerDeepSpaceCom + entities: + - uid: 232 + components: + - type: Transform + pos: 2.5,0.5 + parent: 1 - proto: ComputerShuttle entities: - uid: 84 @@ -516,8 +557,16 @@ entities: immutable: False temperature: 293.14783 moles: - - 1.7459903 - - 6.568249 + - 1.8856695 + - 7.0937095 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - 0 - 0 - 0 @@ -534,36 +583,36 @@ entities: showEnts: False occludes: True ents: - - 11 - - 29 - - 24 - - 13 - - 25 - - 37 - - 33 - - 32 - - 38 - - 16 - - 15 - - 19 - - 17 - - 18 - - 20 - - 40 - - 14 - - 22 - - 30 - - 21 - - 34 - - 23 - - 35 - - 28 - - 36 - - 27 - - 39 - - 31 - - 26 - 12 + - 26 + - 31 + - 39 + - 27 + - 36 + - 28 + - 35 + - 23 + - 34 + - 21 + - 30 + - 22 + - 14 + - 40 + - 20 + - 18 + - 17 + - 19 + - 15 + - 16 + - 38 + - 32 + - 33 + - 37 + - 25 + - 13 + - 24 + - 29 + - 11 paper_label: !type:ContainerSlot showEnts: False occludes: True @@ -595,6 +644,15 @@ entities: rot: 3.141592653589793 rad pos: 1.8425496,-6.086302 parent: 1 +- proto: Eftpos + entities: + - uid: 233 + components: + - type: Transform + parent: 74 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: EggySeeds entities: - uid: 89 @@ -607,16 +665,25 @@ entities: - uid: 78 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage -- proto: FolderSpawner +- proto: FaxMachineBase entities: - - uid: 90 + - uid: 126 components: - type: Transform - pos: 2.6497245,-0.5822141 + pos: 2.5,-0.5 + parent: 1 + - type: FaxMachine + name: Шаттл Бистро +- proto: FolderSpawner + entities: + - uid: 188 + components: + - type: Transform + pos: 2.6700735,-0.7461357 parent: 1 - proto: FoodBowlBig entities: @@ -1066,6 +1133,13 @@ entities: rot: -1.5707963267948966 rad pos: -1.5,0.5 parent: 1 +- proto: GrowingPot + entities: + - uid: 187 + components: + - type: Transform + pos: 5.5,-4.5 + parent: 1 - proto: Gyroscope entities: - uid: 123 @@ -1088,13 +1162,6 @@ entities: - type: Transform pos: 1.5,-1.5 parent: 1 -- proto: hydroponicsSoil - entities: - - uid: 126 - components: - - type: Transform - pos: 5.5,-4.5 - parent: 1 - proto: HydroponicsToolClippers entities: - uid: 127 @@ -1122,7 +1189,7 @@ entities: - uid: 80 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage @@ -1147,6 +1214,9 @@ entities: - type: Transform pos: 0.5,-2.5 parent: 1 + - type: PointLight + color: '#D56C6CFF' + enabled: True - type: EntityStorage air: volume: 200 @@ -1165,6 +1235,14 @@ entities: - 0 - 0 - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - type: ContainerContainer containers: entity_storage: !type:Container @@ -1191,6 +1269,67 @@ entities: showEnts: False occludes: True ent: null +- proto: LockerSteel + entities: + - uid: 74 + components: + - type: Transform + pos: 0.5,0.5 + parent: 1 + - type: PointLight + color: '#D56C6CFF' + enabled: True + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14703 + moles: + - 1.8968438 + - 7.1357465 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 233 + - 133 + - 80 + - 76 + - 73 + - 78 + - 81 + - 77 + - 72 + - 79 + - 75 + - 185 + - 90 + - 82 + - 147 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null - proto: MaterialSheetMeat entities: - uid: 39 @@ -1212,25 +1351,26 @@ entities: - uid: 81 components: - type: Transform - parent: 71 + parent: 74 - type: Physics canCollide: False - type: InsideEntityStorage - proto: NoticeBoard entities: - - uid: 133 + - uid: 234 components: - type: Transform - pos: -1.5,-2.5 + pos: -0.5,-2.5 parent: 1 - proto: Pen entities: - - uid: 232 + - uid: 82 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 2.27949,-0.47790605 - parent: 1 + parent: 74 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: PlushieVox entities: - uid: 134 @@ -1238,6 +1378,9 @@ entities: - type: Transform pos: -0.5571752,-4.2839594 parent: 1 + - type: ContainerContainer + containers: + item: !type:ContainerSlot {} - proto: PosterLegitFruitBowl entities: - uid: 135 @@ -1333,8 +1476,10 @@ entities: - uid: 147 components: - type: Transform - pos: 2.6184745,-0.09783912 - parent: 1 + parent: 74 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: Shovel entities: - uid: 148 @@ -1350,6 +1495,7 @@ entities: pos: -0.5,-4.5 parent: 1 - type: DeviceLinkSink + invokeCounter: 2 links: - 160 - uid: 150 @@ -1358,6 +1504,7 @@ entities: pos: -0.5,-3.5 parent: 1 - type: DeviceLinkSink + invokeCounter: 2 links: - 160 - uid: 151 @@ -1366,6 +1513,7 @@ entities: pos: -0.5,-5.5 parent: 1 - type: DeviceLinkSink + invokeCounter: 2 links: - 160 - uid: 152 @@ -1374,6 +1522,7 @@ entities: pos: -3.5,-4.5 parent: 1 - type: DeviceLinkSink + invokeCounter: 2 links: - 160 - proto: ShuttleWindow @@ -1459,7 +1608,7 @@ entities: rot: 3.141592653589793 rad pos: 0.5,-6.5 parent: 1 -- proto: soda_dispenser +- proto: SodaDispenser entities: - uid: 164 components: @@ -1467,6 +1616,17 @@ entities: rot: 3.141592653589793 rad pos: 2.5,-6.5 parent: 1 +- proto: SpaceCash2500 + entities: + - uid: 133 + components: + - type: Transform + parent: 74 + - type: Stack + count: 7500 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: StoolBar entities: - uid: 165 @@ -1603,8 +1763,10 @@ entities: - uid: 185 components: - type: Transform - pos: 0.5731925,-0.16962886 - parent: 1 + parent: 74 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: TravelingChefSpawner entities: - uid: 186 @@ -1612,18 +1774,6 @@ entities: - type: Transform pos: 1.5,-0.5 parent: 1 - - uid: 187 - components: - - type: Transform - pos: 4.5,-5.5 - parent: 1 -- proto: VendingMachineChang - entities: - - uid: 188 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - proto: WallShuttle entities: - uid: 189 diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index edd74ab291..f3b82cb06a 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -30,6 +30,7 @@ - type: Access groups: - AllAccess + - Everything # WD tags: - NuclearOperative - SyndicateAgent diff --git a/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml b/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml index 20883af760..7f1eaeaf2f 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml @@ -639,6 +639,7 @@ id: LostCargoTechnician randomizeName: false components: + - type: FillIDCard # WD - type: GhostRole name: ghost-role-information-lost-cargo-technical-name description: ghost-role-information-lost-cargo-technical-description @@ -706,7 +707,23 @@ - type: RandomMetadata nameSegments: - names_clown - - type: Pacified # WD + # WD Edit start + - type: Pacified + - type: Clumsy + clumsyDamage: + types: + Blunt: 5 + Piercing: 4 + groups: + Burn: 3 + - type: SleepEmitSound + snore: /Audio/Voice/Misc/silly_snore.ogg + interval: 10 + - type: FillIDCard + isContractor: true + - type: AddImplant + implants: [ SadTromboneImplant ] + # WD Edit end - type: randomHumanoidSettings id: ClownTroupeBanana @@ -722,7 +739,23 @@ - type: RandomMetadata nameSegments: - names_clown - - type: Pacified # WD + # WD Edit start + - type: Pacified + - type: Clumsy + clumsyDamage: + types: + Blunt: 5 + Piercing: 4 + groups: + Burn: 3 + - type: SleepEmitSound + snore: /Audio/Voice/Misc/silly_snore.ogg + interval: 10 + - type: FillIDCard + isContractor: true + - type: AddImplant + implants: [ SadTromboneImplant ] + # WD Edit end # Traveling exotic chef @@ -767,6 +800,8 @@ nameSegments: - names_first - names_last + - type: FillIDCard # WD + isContractor: true # Disaster victim @@ -831,6 +866,7 @@ nameSegments: - names_first - names_last + - type: FillIDCard # WD - type: randomHumanoidSettings parent: Nanotrasen # WD @@ -850,6 +886,7 @@ nameSegments: - names_first - names_last + - type: FillIDCard # WD - type: randomHumanoidSettings parent: Nanotrasen # WD @@ -869,6 +906,9 @@ nameSegments: - names_first - names_last + - type: FillIDCard # WD + - type: AddImplant # WD + implants: [ MindShieldImplant ] # Syndie Disaster Victim diff --git a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml index 25ac56a6da..cfa7a579c2 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml @@ -176,5 +176,6 @@ - type: Access groups: - AllAccess + - Everything # WD tags: - CentralCommand diff --git a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml index 3c457a3bdb..4dc59139ed 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml @@ -313,7 +313,7 @@ - type: startingGear id: BananaClown equipment: - id: ClownPDA # TODO + id: ClownIDCardContractor # WD back: ClothingBackpackClown shoes: ClothingShoesClownBanana jumpsuit: ClothingUniformJumpsuitClownBanana @@ -328,7 +328,7 @@ equipment: jumpsuit: ClothingUniformJumpsuitClown shoes: ClothingShoesClown - id: ClownPDA # TODO + id: ClownIDCardContractor # WD back: ClothingBackpackClown ears: ClothingHeadsetServiceContractor # WD mask: ClothingMaskClown @@ -365,7 +365,7 @@ equipment: jumpsuit: ClothingUniformJumpsuitChef shoes: ClothingShoesColorWhite - id: ChefPDA # TODO + id: ChefIDCardContractor # WD back: ClothingBackpackSatchel ears: ClothingHeadsetServiceContractor # WD belt: ClothingBeltChef diff --git a/Resources/Prototypes/Roles/play_time_trackers.yml b/Resources/Prototypes/Roles/play_time_trackers.yml index 159905dd3e..35b9235770 100644 --- a/Resources/Prototypes/Roles/play_time_trackers.yml +++ b/Resources/Prototypes/Roles/play_time_trackers.yml @@ -156,28 +156,3 @@ - type: playTimeTracker id: JobZookeeper - -# WHITE -- type: playTimeTracker - id: JobInspector - -- type: playTimeTracker - id: JobBomzh - -- type: playTimeTracker - id: JobBrigmedic - -- type: playTimeTracker - id: JobMaid - -- type: playTimeTracker - id: JobCargoTechnicianAnotherSector - -- type: playTimeTracker - id: JobChiefMedicalOfficerAnotherSector - -- type: playTimeTracker - id: JobCaptainAnotherSector - -- type: playTimeTracker - id: JobResearchDirectorAnotherSector diff --git a/Resources/Prototypes/_White/Access/misc.yml b/Resources/Prototypes/_White/Access/misc.yml new file mode 100644 index 0000000000..ce05dcc92b --- /dev/null +++ b/Resources/Prototypes/_White/Access/misc.yml @@ -0,0 +1,18 @@ +- type: accessGroup + id: Everything + tags: + - AllAccess + - NuclearOperative + - SyndicateAgent + - CentralCommand + - Mercenary + - ClownContractor + - ChefContractor + +- type: accessLevel + id: ClownContractor + name: Клоун контрактник + +- type: accessLevel + id: ChefContractor + name: Шеф-повар контрактник diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/airlocks.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/airlocks.yml new file mode 100644 index 0000000000..b23cd2f094 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/airlocks.yml @@ -0,0 +1,235 @@ +- type: entity + parent: DoorElectronics + id: DoorElectronicsClownContractor + suffix: ClownContractor, Locked + components: + - type: AccessReader + access: [["ClownContractor"]] + +- type: entity + parent: Airlock + id: AirlockClownContractorLocked + suffix: ClownContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockGlass + id: AirlockClownContractorGlassLocked + suffix: ClownContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockShuttle + id: AirlockClownContractorShuttleLocked + suffix: ClownContractor, Docking, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockGlassShuttle + id: AirlockClownContractorGlassShuttleLocked + suffix: ClownContractor, Glass, Docking, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: Windoor + id: WindoorClownContractorLocked + suffix: ClownContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecure + id: WindoorSecureClownContractorLocked + suffix: ClownContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorPlasma + id: PlasmaWindoorClownContractorLocked + suffix: ClownContractor, Locked, Plasma + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorUranium + id: UraniumWindoorClownContractorLocked + suffix: ClownContractor, Locked, Uranium + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureClownContractorLocked + suffix: ClownContractor, Locked, Plasma + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecureUranium + id: UraniumWindoorSecureClownContractorLocked + suffix: ClownContractor, Locked, Uranium + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsClownContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: DoorElectronics + id: DoorElectronicsChefContractor + suffix: ChefContractor, Locked + components: + - type: AccessReader + access: [["ChefContractor"]] + +- type: entity + parent: Airlock + id: AirlockChefContractorLocked + suffix: ChefContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockGlass + id: AirlockChefContractorGlassLocked + suffix: ChefContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockShuttle + id: AirlockChefContractorShuttleLocked + suffix: ChefContractor, Docking, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockGlassShuttle + id: AirlockChefContractorGlassShuttleLocked + suffix: ChefContractor, Glass, Docking, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: Windoor + id: WindoorChefContractorLocked + suffix: ChefContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecure + id: WindoorSecureChefContractorLocked + suffix: ChefContractor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorPlasma + id: PlasmaWindoorChefContractorLocked + suffix: ChefContractor, Locked, Plasma + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorUranium + id: UraniumWindoorChefContractorLocked + suffix: ChefContractor, Locked, Uranium + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureChefContractorLocked + suffix: ChefContractor, Locked, Plasma + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecureUranium + id: UraniumWindoorSecureChefContractorLocked + suffix: ChefContractor, Locked, Uranium + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChefContractor ] + - type: Wires + layoutId: AirlockArmory diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/identification_cards.yml index d47c352fd7..ccfa58f6f3 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Misc/identification_cards.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/identification_cards.yml @@ -29,3 +29,23 @@ components: - type: PresetIdCard job: ResearchDirectorAnotherSector + +- type: entity + parent: IDCardStandard + id: ClownIDCardContractor + components: + - type: Sprite + layers: + - state: non_faction + - type: PresetIdCard + job: ClownContractor + +- type: entity + parent: IDCardStandard + id: ChefIDCardContractor + components: + - type: Sprite + layers: + - state: non_faction + - type: PresetIdCard + job: ChefContractor diff --git a/Resources/Prototypes/_White/Roles/Jobs/another_sector.yml b/Resources/Prototypes/_White/Roles/Jobs/misc.yml similarity index 65% rename from Resources/Prototypes/_White/Roles/Jobs/another_sector.yml rename to Resources/Prototypes/_White/Roles/Jobs/misc.yml index 377c1d2363..9986d15b25 100644 --- a/Resources/Prototypes/_White/Roles/Jobs/another_sector.yml +++ b/Resources/Prototypes/_White/Roles/Jobs/misc.yml @@ -21,9 +21,6 @@ playTimeTracker: JobCaptainAnotherSector icon: "JobIconCaptain" supervisors: job-supervisors-centcom - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant ] - type: job id: ResearchDirectorAnotherSector @@ -32,3 +29,23 @@ playTimeTracker: JobResearchDirectorAnotherSector icon: "JobIconResearchDirector" supervisors: job-supervisors-captain + +- type: job + id: ClownContractor + name: клоун контрактник + description: job-description-clown + playTimeTracker: JobClownContractor + icon: "JobIconVisitor" + supervisors: job-supervisors-hop + access: + - ClownContractor + +- type: job + id: ChefContractor + name: шеф-повар контрактник + description: job-description-chef + playTimeTracker: JobChefContractor + icon: "JobIconVisitor" + supervisors: job-supervisors-hop + access: + - ChefContractor diff --git a/Resources/Prototypes/_White/Roles/play_time_trackers.yml b/Resources/Prototypes/_White/Roles/play_time_trackers.yml new file mode 100644 index 0000000000..bb3b7c5001 --- /dev/null +++ b/Resources/Prototypes/_White/Roles/play_time_trackers.yml @@ -0,0 +1,32 @@ +- type: playTimeTracker + id: JobInspector + +- type: playTimeTracker + id: JobBomzh + +- type: playTimeTracker + id: JobBrigmedic + +- type: playTimeTracker + id: JobMaid + +- type: playTimeTracker + id: JobCargoTechnicianAnotherSector + +- type: playTimeTracker + id: JobChiefMedicalOfficerAnotherSector + +- type: playTimeTracker + id: JobCaptainAnotherSector + +- type: playTimeTracker + id: JobResearchDirectorAnotherSector + +- type: playTimeTracker + id: JobClownContractor + +- type: playTimeTracker + id: JobChefContractor + +- type: playTimeTracker + id: JobMercenary diff --git a/Resources/Prototypes/_White/mercenary.yml b/Resources/Prototypes/_White/mercenary.yml index e63dfbe20b..4b423eb101 100644 --- a/Resources/Prototypes/_White/mercenary.yml +++ b/Resources/Prototypes/_White/mercenary.yml @@ -16,7 +16,7 @@ - id: Tourniquet - id: Lighter - id: CigPackBlack - - id: SpaceCash500 + - id: SpaceCash5000 - id: FlashlightLantern - type: startingGear @@ -79,6 +79,8 @@ nameSegments: - names_first - names_last + - type: FillIDCard + isContractor: true # Book - type: entity @@ -120,7 +122,7 @@ # Airlock - type: accessLevel id: Mercenary - name: id-card-access-level-mercenary + name: Наёмник - type: entity parent: DoorElectronics @@ -139,9 +141,17 @@ - type: Sprite layers: - state: non_faction - - type: Access - tags: - - Mercenary + - type: PresetIdCard + job: Mercenary + +- type: job + id: Mercenary + name: наёмник + description: ghost-role-information-mercenary-standard-description + playTimeTracker: JobMercenary + icon: "JobIconVisitor" + access: + - Mercenary - type: entity parent: Airlock @@ -154,3 +164,101 @@ - type: Wires layoutId: AirlockArmory +- type: entity + parent: AirlockGlass + id: AirlockMercenaryGlassLocked + suffix: Mercenary, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockShuttle + id: AirlockMercenaryShuttleLocked + suffix: Mercenary, Docking, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: AirlockGlassShuttle + id: AirlockMercenaryGlassShuttleLocked + suffix: Mercenary, Glass, Docking, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: Windoor + id: WindoorMercenaryLocked + suffix: Mercenary, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecure + id: WindoorSecureMercenaryLocked + suffix: Mercenary, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorPlasma + id: PlasmaWindoorMercenaryLocked + suffix: Mercenary, Locked, Plasma + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorUranium + id: UraniumWindoorMercenaryLocked + suffix: Mercenary, Locked, Uranium + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureMercenaryLocked + suffix: Mercenary, Locked, Plasma + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory + +- type: entity + parent: WindoorSecureUranium + id: UraniumWindoorSecureMercenaryLocked + suffix: Mercenary, Locked, Uranium + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMercenary ] + - type: Wires + layoutId: AirlockArmory