From 56395b12c69b5fca2a4298024e3a2af5f3310303 Mon Sep 17 00:00:00 2001 From: PuroSlavKing <103608145+PuroSlavKing@users.noreply.github.com> Date: Sun, 22 Dec 2024 20:28:29 +0300 Subject: [PATCH] finally fixes --- .../Components/AlienAcidComponent.cs | 2 +- .../white/entities/xenomorph_entities.ftl | 103 +++--- .../Entities/Mobs/Player/admin_ghost.yml | 1 + .../Prototypes/_White/Actions/xenomorph.yml | 52 +-- .../_White/Body/Organs/Animal/xenomorph.yml | 155 ++++++--- .../_White/Body/Parts/xenomorph.yml | 5 + .../Body/Prototypes/Animal/xenomorph.yml | 310 ++++++++++++++++++ .../Entities/Markers/Spawners/ghost_roles.yml | 2 +- .../Entities/Markers/Spawners/xenomorphs.yml | 38 +-- .../Mobs/Aliens/Xenomorphs/base_xenomorph.yml | 156 +++++---- .../Entities/Mobs/Aliens/Xenomorphs/larva.yml | 7 +- .../Mobs/Aliens/Xenomorphs/xenomorphs.yml | 107 +++--- .../Entities/Objects/Misc/xenomorph_egg.yml | 68 +++- .../Objects/Weapons/Guns/Projectiles/acid.yml | 4 +- .../Entities/Objects/Weapons/Melee/acid.yml | 24 +- .../Prototypes/_White/GameRule/events.yml | 17 - .../Prototypes/_White/GameRules/events.yml | 15 + .../_White/Polymorphs/xenomorph.yml | 12 +- .../_White/SoundCollections/xenomorphs.yml | 32 ++ .../Prototypes/_White/Voice/speech_emotes.yml | 24 ++ .../Prototypes/_White/typing_indicator.yml | 4 + .../Guidebook/Antagonist/Antagonist.xml | 2 +- .../Antagonist/Antagonist/Xenomorphs.xml | 12 +- .../Xenomorphs/Evolutions/Drone.xml | 4 +- .../Xenomorphs/Evolutions/Hunter.xml | 4 +- .../Antagonist/Xenomorphs/Evolutions/Maid.xml | 4 +- .../Xenomorphs/Evolutions/Praetorian.xml | 4 +- .../Xenomorphs/Evolutions/Queen.xml | 4 +- .../Xenomorphs/Evolutions/Sentinel.xml | 4 +- .../Antagonist/Xenomorphs/HowToPlay/Crew.xml | 10 +- .../Xenomorphs/HowToPlay/Xenomorph.xml | 12 +- .../_White/Effects/cuffs.rsi/aliencuff.png | Bin 0 -> 484 bytes .../_White/Effects/cuffs.rsi/meta.json | 15 + .../Effects/cuffs_big.rsi/aliencuff_p.png | Bin 0 -> 646 bytes .../Effects/cuffs_big.rsi/aliencuff_q.png | Bin 0 -> 644 bytes .../_White/Effects/cuffs_big.rsi/meta.json | 19 ++ 36 files changed, 878 insertions(+), 354 deletions(-) create mode 100644 Resources/Prototypes/_White/Body/Parts/xenomorph.yml create mode 100644 Resources/Prototypes/_White/Body/Prototypes/Animal/xenomorph.yml delete mode 100644 Resources/Prototypes/_White/GameRule/events.yml create mode 100644 Resources/Prototypes/_White/SoundCollections/xenomorphs.yml create mode 100644 Resources/Prototypes/_White/typing_indicator.yml create mode 100644 Resources/Textures/_White/Effects/cuffs.rsi/aliencuff.png create mode 100644 Resources/Textures/_White/Effects/cuffs.rsi/meta.json create mode 100644 Resources/Textures/_White/Effects/cuffs_big.rsi/aliencuff_p.png create mode 100644 Resources/Textures/_White/Effects/cuffs_big.rsi/aliencuff_q.png create mode 100644 Resources/Textures/_White/Effects/cuffs_big.rsi/meta.json diff --git a/Content.Server/_White/Xenomorphs/Components/AlienAcidComponent.cs b/Content.Server/_White/Xenomorphs/Components/AlienAcidComponent.cs index ec008c37e1..c7c2d30e61 100644 --- a/Content.Server/_White/Xenomorphs/Components/AlienAcidComponent.cs +++ b/Content.Server/_White/Xenomorphs/Components/AlienAcidComponent.cs @@ -10,5 +10,5 @@ namespace Content.Server.Aliens.Components; public sealed partial class AlienAcidComponent : Component { [DataField("corrosiveAcidPrototype", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string AcidPrototype = "CorrosiveAcid"; + public string AcidPrototype = "CorrosiveAcidOverlay"; } diff --git a/Resources/Locale/ru-RU/prototypes/white/entities/xenomorph_entities.ftl b/Resources/Locale/ru-RU/prototypes/white/entities/xenomorph_entities.ftl index c85e30ebc8..04d631f194 100644 --- a/Resources/Locale/ru-RU/prototypes/white/entities/xenomorph_entities.ftl +++ b/Resources/Locale/ru-RU/prototypes/white/entities/xenomorph_entities.ftl @@ -41,50 +41,50 @@ ent-FacehuggerLamarr = Ламар .desc = На конце хвоста есть что-то вроде трубки, но не похоже, что он может им пользоваться. .suffix = Лицехват -ent-MobAlienDrone = ксеноморф дрон +ent-MobXenomorphDrone = ксеноморф дрон .desc = Существо с черной гладкой оболочкой, длинными конечностями, острыми зубами и хищным, вытянутым черепом. У него отсутствуют глаза, а на месте рта ярко выраженные челюсти. -ent-MobAlienSentinel = ксеноморф плевальщик - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienHunter = ксеноморф охотник - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienPraetorian = ксеноморф преторианец - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienQueen = ксеноморф королева - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienMaid = ксеноморф горничная - .desc = { ent-MobAlienDrone.desc } +ent-MobXenomorphSentinel = ксеноморф плевальщик + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphHunter = ксеноморф охотник + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphPraetorian = ксеноморф преторианец + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphQueen = ксеноморф королева + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphMaid = ксеноморф горничная + .desc = { ent-MobXenomorphDrone.desc } -ent-MobAlienDroneDummy = { ent-MobAlienDrone } - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienSentinelDummy = { ent-MobAlienSentinel } - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienHunterDummy = { ent-MobAlienHunter } - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienPraetorianDummy = { ent-MobAlienPraetorian } - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienQueenDummy = { ent-MobAlienQueen } - .desc = { ent-MobAlienDrone.desc } -ent-MobAlienMaidDummy = { ent-MobAlienMaid } - .desc = { ent-MobAlienDrone.desc } +ent-MobXenomorphDroneDummy = { ent-MobXenomorphDrone } + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphSentinelDummy = { ent-MobXenomorphSentinel } + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphHunterDummy = { ent-MobXenomorphHunter } + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphPraetorianDummy = { ent-MobXenomorphPraetorian } + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphQueenDummy = { ent-MobXenomorphQueen } + .desc = { ent-MobXenomorphDrone.desc } +ent-MobXenomorphMaidDummy = { ent-MobXenomorphMaid } + .desc = { ent-MobXenomorphDrone.desc } ent-MobAlienLarvaGrowStageThreeDummy = { ent-MobAlienLarvaGrowStageThree } .desc = { ent-MobAlienLarvaGrowStageThree.desc } -ent-SpawnMobAlienDrone = спавнер ксеноморф дрон - .desc = { ent-MobAlienDrone.desc } -ent-SpawnMobAlienSentinel = спавнер ксеноморф плевальщик - .desc = { ent-MobAlienDrone.desc } -ent-SpawnMobAlienHunter = спавнер ксеноморф охотник - .desc = { ent-MobAlienDrone.desc } -ent-SpawnMobAlienPraetorian = спавнер ксеноморф преторианец - .desc = { ent-MobAlienDrone.desc } -ent-SpawnMobAlienQueen = спавнер ксеноморф королева - .desc = { ent-MobAlienDrone.desc } -ent-SpawnMobAlienMaid = спавнер ксеноморф горничная - .desc = { ent-MobAlienDrone.desc } +ent-SpawnMobXenomorphDrone = спавнер ксеноморф дрон + .desc = { ent-MobXenomorphDrone.desc } +ent-SpawnMobXenomorphSentinel = спавнер ксеноморф плевальщик + .desc = { ent-MobXenomorphDrone.desc } +ent-SpawnMobXenomorphHunter = спавнер ксеноморф охотник + .desc = { ent-MobXenomorphDrone.desc } +ent-SpawnMobXenomorphPraetorian = спавнер ксеноморф преторианец + .desc = { ent-MobXenomorphDrone.desc } +ent-SpawnMobXenomorphQueen = спавнер ксеноморф королева + .desc = { ent-MobXenomorphDrone.desc } +ent-SpawnMobXenomorphMaid = спавнер ксеноморф горничная + .desc = { ent-MobXenomorphDrone.desc } ent-SpawnMobAlienLarva = спавнер лярва .desc = { ent-MobAlienLarvaGrowStageThree.desc } -station-event-alien-infestation-anouncement = Обнаружены неопознанные признаки жизни на борту станции. Обеспечьте безопасность внешних доступов, включая скубберы и вентиляцию. +station-event-xenomorph-infestation-announcement = Обнаружены неопознанные признаки жизни на борту станции. Обеспечьте безопасность внешних доступов, включая скубберы и вентиляцию. hud-chatbox-select-channel-XenoHivemind = Разум роя @@ -106,21 +106,28 @@ alien-maid-greeting = Вы - ксено-горничная. Будьте пох alerts-plasma-name = Плазма alerts-plasma-desc = Ваше тело синтезирует плазму, которую вы можете использовать для своих способностей. -ent-OrganXenoAcidGland = кислотная гланда +ent-CorrosiveAcid = кислота + .desc = Яркая зелёная кислота. +ent-CorrosiveAcidOverlay = { ent-AlienAcid } + .desc = { ent-AlienAcid.desc } +ent-CorrodedAcid = { ent-AlienAcid } + .desc = { ent-AlienAcid.desc } + +ent-OrganXenomorphAcidGland = кислотная гланда .desc = Вставляется в рот, позволяет носителю плеваться плазмой. -ent-OrganXenoEggsac = яйцеклад +ent-OrganXenomorphEggsac = яйцеклад .desc = Вставляется в пах, позволяет носителю откладывать яйца. -ent-OrganXenoHivenode = разум роя +ent-OrganXenomorphHivenode = разум роя .desc = Вставляется в голову, позволяет носителю стать единым с роем. -ent-OrganXenoPlasmaVesselTiny = крошечный плазменный мешочек +ent-OrganXenomorphPlasmaVesselTiny = крошечный плазменный мешочек .desc = Вставляется в грудь, позволяет носителю хранить и вырабатывать плазму. -ent-OrganXenoPlasmaVesselSmall = маленький плазменный мешочек - .desc = { ent-OrganXenoPlasmaVesselTiny.desc } -ent-OrganXenoPlasmaVesselMedium = средний плазменный мешочек - .desc = { ent-OrganXenoPlasmaVesselTiny.desc } -ent-OrganXenoPlasmaVesselLarge = большой плазменный мешочек - .desc = { ent-OrganXenoPlasmaVesselTiny.desc } -ent-OrganXenoBrain = мозг пришельца +ent-OrganXenomorphPlasmaVesselSmall = маленький плазменный мешочек + .desc = { ent-OrganXenomorphPlasmaVesselTiny.desc } +ent-OrganXenomorphPlasmaVesselMedium = средний плазменный мешочек + .desc = { ent-OrganXenomorphPlasmaVesselTiny.desc } +ent-OrganXenomorphPlasmaVesselLarge = большой плазменный мешочек + .desc = { ent-OrganXenomorphPlasmaVesselTiny.desc } +ent-OrganXenomorphBrain = мозг пришельца .desc = Вы слишком недоразвиты, чтобы понять его положение. -ent-TorsoXeno = торс ксеноморфа +ent-TorsoXenomorph = торс ксеноморфа .desc = Сигма, крипер. diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index fb0dda94b7..3b7211630e 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -98,6 +98,7 @@ - type: IgnoreUIRange - type: ShowRevIcons - type: ShowZombieIcons + - type: ShowInfectedIcons # WWDP - type: Inventory templateId: aghost - type: InventorySlots diff --git a/Resources/Prototypes/_White/Actions/xenomorph.yml b/Resources/Prototypes/_White/Actions/xenomorph.yml index c0edd7aa4f..482c0e498f 100644 --- a/Resources/Prototypes/_White/Actions/xenomorph.yml +++ b/Resources/Prototypes/_White/Actions/xenomorph.yml @@ -3,7 +3,7 @@ id: ActionXenomorphVision name: action-toggle-xenomorph-vision-name description: action-toggle-xenomorph-vision-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: vision_on_action } @@ -16,7 +16,7 @@ id: ActionVomit name: action-vomit-name description: action-vomit-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction icon: { sprite : Fluids/vomit.rsi, state: vomit-0 } @@ -29,7 +29,7 @@ id: ActionMakeAcid name: action-make-acid-name description: action-make-acid-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction icon: { sprite : _White/Interface/Actions/xenomorph.rsi, state: acid_action } @@ -41,7 +41,7 @@ id: ActionResinNode name: action-create-weednode-name description: action-create-weednode-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 2 @@ -53,7 +53,7 @@ id: ActionCombatModeToggleAlien name: "[color=red]Боевой режим[/color]" description: Войти в боевой режим. - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction checkCanInteract: false @@ -69,7 +69,7 @@ id: ActionAlienDroneWall name: action-create-resin-wall-name description: action-create-resin-wall-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 3 @@ -81,7 +81,7 @@ id: ActionWindowResin name: action-create-resin-window-name description: action-create-resin-window-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 4 @@ -93,7 +93,7 @@ id: ActionAlienNest name: action-create-alien-nest-name description: action-create-alien-nest-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 4 @@ -107,72 +107,72 @@ id: ActionEvolveDrone name: action-evolve-alien-drone description: action-evolve-alien-drone-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 9 useDelay: 5 - icon: { sprite : _White/Mobs/Aliens/Xenos/drone.rsi, state: aliend } + icon: { sprite : _White/Mobs/Aliens/Xenomorphs/drone.rsi, state: aliend } event: !type:AlienDroneEvolveActionEvent - type: entity id: ActionEvolveSentinel name: action-evolve-alien-sentinel description: action-evolve-alien-sentinel-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 11 useDelay: 5 - icon: { sprite : _White/Mobs/Aliens/Xenos/sentinel.rsi, state: aliens } + icon: { sprite : _White/Mobs/Aliens/Xenomorphs/sentinel.rsi, state: aliens } event: !type:AlienSentinelEvolveActionEvent - type: entity id: ActionEvolvePraetorian name: action-evolve-alien-praetorian description: action-evolve-alien-praetorian-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 10 useDelay: 0 - icon: { sprite : _White/Mobs/Aliens/Xenos/praetorian.rsi, state: alienp } + icon: { sprite : _White/Mobs/Aliens/Xenomorphs/praetorian.rsi, state: alienp } event: !type:AlienPraetorianEvolveActionEvent - type: entity id: ActionEvolveHunter name: action-evolve-alien-hunter description: action-evolve-alien-hunter-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 10 useDelay: 0 - icon: { sprite : _White/Mobs/Aliens/Xenos/hunter.rsi, state: alienh } + icon: { sprite : _White/Mobs/Aliens/Xenomorphs/hunter.rsi, state: alienh } event: !type:AlienHunterEvolveActionEvent - type: entity id: ActionEvolveQueen name: action-evolve-alien-queen description: action-evolve-alien-queen-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 10 useDelay: 0 - icon: { sprite : _White/Mobs/Aliens/Xenos/queen.rsi, state: alienq } + icon: { sprite : _White/Mobs/Aliens/Xenomorphs/queen.rsi, state: alienq } event: !type:AlienQueenEvolveActionEvent - type: entity id: ActionLarvaGrow name: action-larva-grow description: action-larva-grow-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 10 useDelay: 0 - icon: { sprite : _White/Mobs/Aliens/Xenos/larva.rsi, state: larva0 } + icon: { sprite : _White/Mobs/Aliens/Xenomorphs/larva.rsi, state: larva0 } event: !type:AlienLarvaGrowActionEvent # Hunter @@ -181,7 +181,7 @@ id: ActionJumpAlien name: action-alien-jump description: action-alien-jump-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: WorldTargetAction priority: 0 @@ -196,7 +196,7 @@ id: ActionStalkAlien name: action-stalk-alien-hunter description: action-stalk-alien-hunter-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 0 @@ -211,7 +211,7 @@ id: ActionAlienEgg name: action-egg-alien description: action-egg-alien-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 0 @@ -223,7 +223,7 @@ id: ActionAlienRoyalLarva name: action-promotion-alien description: action-promotion-alien-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: EntityTargetAction priority: 0 @@ -235,7 +235,7 @@ id: ActionTailLash name: action-tail-lash description: action-tail-lash-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: InstantAction priority: 0 @@ -247,7 +247,7 @@ id: ActionAlienTransferPlasma name: action-transfer-plasma-alien description: action-transfer-plasma-alien-desc - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: EntityTargetAction priority: 0 diff --git a/Resources/Prototypes/_White/Body/Organs/Animal/xenomorph.yml b/Resources/Prototypes/_White/Body/Organs/Animal/xenomorph.yml index 7a66303790..0132ee63c6 100644 --- a/Resources/Prototypes/_White/Body/Organs/Animal/xenomorph.yml +++ b/Resources/Prototypes/_White/Body/Organs/Animal/xenomorph.yml @@ -1,6 +1,94 @@ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoAcidGland + parent: BaseItem + id: BaseXenomorphOrgan + abstract: true + components: + - type: Sprite + sprite: _White/Mobs/Species/Xenomorph/organs.rsi + - type: Organ + - type: Food + - type: Extractable + grindableSolutionName: organ + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 10 + food: + maxVol: 5 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 5 + - type: FlavorProfile + flavors: + - people + - type: Tag + tags: + - Meat + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanBrain] + id: OrganXenomorphBrain + name: alien brain + description: "The source of incredible, unending intelligence." + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanEyes] + id: OrganXenomorphEyes + name: alien eyes + description: "We see you!" + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanTongue] + id: OrganXenomorphTongue + name: alien tongue + description: "A fleshy mini alien mostly used for bite." + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanEars] + id: OrganXenomorphEars + name: alien ears + description: "WTF is this..." + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanLungs] + id: OrganXenomorphLungs + name: alien lungs + description: "Its just work." + components: + - type: Metabolizer + groups: + - id: Gas + rateModifier: 0 + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanHeart] + id: OrganXenomorphHeart + name: alien heart + description: "I feel bad for the heartless bastard who lost this." + +- type: entity + parent: [BaseXenomorphOrgan, OrganReptilianStomach] + id: OrganXenomorphStomach + name: alien stomach + description: "Gross. This is hard to stomach." + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanLiver] + id: OrganXenomorphLiver + name: alien liver + description: "Pairing suggestion: chianti and fava beans." + +- type: entity + parent: [BaseXenomorphOrgan, OrganHumanKidneys] + id: OrganXenomorphKidneys + name: alien kidneys + description: "Filters toxins from the bloodstream." + +- type: entity + parent: BaseXenomorphOrgan + id: OrganXenomorphAcidGland name: acid-gland components: - type: Sprite @@ -9,8 +97,8 @@ - type: Organ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoEggsac + parent: BaseXenomorphOrgan + id: OrganXenomorphEggsac name: eggsac components: - type: Sprite @@ -19,8 +107,8 @@ - type: Organ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoHivenode + parent: BaseXenomorphOrgan + id: OrganXenomorphHivenode name: hivenode components: - type: Sprite @@ -29,8 +117,8 @@ - type: Organ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoPlasmaVesselTiny + parent: BaseXenomorphOrgan + id: OrganXenomorphPlasmaVesselTiny name: tiny plasma-vessel components: - type: Sprite @@ -39,8 +127,8 @@ - type: Organ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoPlasmaVesselSmall + parent: BaseXenomorphOrgan + id: OrganXenomorphPlasmaVesselSmall name: small plasma-vessel components: - type: Sprite @@ -49,8 +137,8 @@ - type: Organ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoPlasmaVesselMedium + parent: BaseXenomorphOrgan + id: OrganXenomorphPlasmaVesselMedium name: medium plasma-vessel components: - type: Sprite @@ -59,50 +147,11 @@ - type: Organ - type: entity - parent: BaseAnimalOrgan - id: OrganXenoPlasmaVesselLarge + parent: BaseXenomorphOrgan + id: OrganXenomorphPlasmaVesselLarge name: large plasma-vessel components: - type: Sprite sprite: _White/Mobs/Species/Xenomorph/organs.rsi state: plasma_large - type: Organ - -- type: entity - parent: BaseHumanOrganUnGibbable - id: OrganXenoBrain - noSpawn: true - name: brain - description: "The source of incredible, unending intelligence. Honk." - components: - - type: Sprite - sprite: _White/Mobs/Species/Xenomorph/organs.rsi - state: brain - - type: Organ - - type: Input - context: "ghost" - - type: Brain - - type: InputMover - - type: Examiner - - type: BlockMovement - - type: BadFood - - type: Tag - tags: - - Meat - -- type: entity - id: TorsoXeno - noSpawn: true - name: "alien torso" - parent: [PartHuman, BaseTorso] - components: - - type: Sprite - sprite: _White/Mobs/Species/Xenomorph/parts.rsi - state: "torso_m" - - type: Extractable - juiceSolution: - reagents: - - ReagentId: Fat - Quantity: 10 - - ReagentId: Blood - Quantity: 20 diff --git a/Resources/Prototypes/_White/Body/Parts/xenomorph.yml b/Resources/Prototypes/_White/Body/Parts/xenomorph.yml new file mode 100644 index 0000000000..437302b5c8 --- /dev/null +++ b/Resources/Prototypes/_White/Body/Parts/xenomorph.yml @@ -0,0 +1,5 @@ +- type: entity + parent: [BaseXenomorphOrgan, BaseTorso] + categories: [ HideSpawnMenu ] + id: TorsoXenomorph + name: "alien torso" diff --git a/Resources/Prototypes/_White/Body/Prototypes/Animal/xenomorph.yml b/Resources/Prototypes/_White/Body/Prototypes/Animal/xenomorph.yml new file mode 100644 index 0000000000..3062d58794 --- /dev/null +++ b/Resources/Prototypes/_White/Body/Prototypes/Animal/xenomorph.yml @@ -0,0 +1,310 @@ +# Thats for testing. Need better body prototypes. + +- type: body + id: XenomorphTiny + name: xenomorph + root: torso + slots: + head: + part: HeadHuman + connections: + - torso + organs: + brain: OrganXenomorphBrain + eyes: OrganXenomorphEyes + torso: + part: TorsoXenomorph + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganXenomorphHeart + stomach: OrganXenomorphStomach + liver: OrganXenomorphLiver + kidneys: OrganXenomorphKidneys + plasmaVessel: OrganXenomorphPlasmaVesselTiny + hivenode: OrganXenomorphHivenode + right_arm: + part: RightArmHuman + connections: + - right_hand + left_arm: + part: LeftArmHuman + connections: + - left_hand + right_hand: + part: RightHandHuman + left_hand: + part: LeftHandHuman + right_leg: + part: RightLegHuman + connections: + - right_foot + left_leg: + part: LeftLegHuman + connections: + - left_foot + right_foot: + part: RightFootHuman + left_foot: + part: LeftFootHuman + +- type: body + id: XenomorphSmall + name: xenomorph + root: torso + slots: + head: + part: HeadHuman + connections: + - torso + organs: + brain: OrganXenomorphBrain + eyes: OrganXenomorphEyes + torso: + part: TorsoXenomorph + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganXenomorphHeart + stomach: OrganXenomorphStomach + liver: OrganXenomorphLiver + kidneys: OrganXenomorphKidneys + plasmaVessel: OrganXenomorphPlasmaVesselSmall + hivenode: OrganXenomorphHivenode + right_arm: + part: RightArmHuman + connections: + - right_hand + left_arm: + part: LeftArmHuman + connections: + - left_hand + right_hand: + part: RightHandHuman + left_hand: + part: LeftHandHuman + right_leg: + part: RightLegHuman + connections: + - right_foot + left_leg: + part: LeftLegHuman + connections: + - left_foot + right_foot: + part: RightFootHuman + left_foot: + part: LeftFootHuman + +- type: body + id: XenomorphMedium + name: xenomorph + root: torso + slots: + head: + part: HeadHuman + connections: + - torso + organs: + brain: OrganXenomorphBrain + eyes: OrganXenomorphEyes + torso: + part: TorsoXenomorph + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganXenomorphHeart + stomach: OrganXenomorphStomach + liver: OrganXenomorphLiver + kidneys: OrganXenomorphKidneys + plasmaVessel: OrganXenomorphPlasmaVesselMedium + hivenode: OrganXenomorphHivenode + right_arm: + part: RightArmHuman + connections: + - right_hand + left_arm: + part: LeftArmHuman + connections: + - left_hand + right_hand: + part: RightHandHuman + left_hand: + part: LeftHandHuman + right_leg: + part: RightLegHuman + connections: + - right_foot + left_leg: + part: LeftLegHuman + connections: + - left_foot + right_foot: + part: RightFootHuman + left_foot: + part: LeftFootHuman + +- type: body + id: XenomorphLarge + name: xenomorph + root: torso + slots: + head: + part: HeadHuman + connections: + - torso + organs: + brain: OrganXenomorphBrain + eyes: OrganXenomorphEyes + torso: + part: TorsoXenomorph + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganXenomorphHeart + stomach: OrganXenomorphStomach + liver: OrganXenomorphLiver + kidneys: OrganXenomorphKidneys + plasmaVessel: OrganXenomorphPlasmaVesselLarge + hivenode: OrganXenomorphHivenode + right_arm: + part: RightArmHuman + connections: + - right_hand + left_arm: + part: LeftArmHuman + connections: + - left_hand + right_hand: + part: RightHandHuman + left_hand: + part: LeftHandHuman + right_leg: + part: RightLegHuman + connections: + - right_foot + left_leg: + part: LeftLegHuman + connections: + - left_foot + right_foot: + part: RightFootHuman + left_foot: + part: LeftFootHuman + +- type: body + id: XenomorphLargeSentinel + name: xenomorph + root: torso + slots: + head: + part: HeadHuman + connections: + - torso + organs: + brain: OrganXenomorphBrain + eyes: OrganXenomorphEyes + torso: + part: TorsoXenomorph + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganXenomorphHeart + stomach: OrganXenomorphStomach + liver: OrganXenomorphLiver + kidneys: OrganXenomorphKidneys + plasmaVessel: OrganXenomorphPlasmaVesselLarge + acidGland: OrganXenomorphAcidGland + hivenode: OrganXenomorphHivenode + right_arm: + part: RightArmHuman + connections: + - right_hand + left_arm: + part: LeftArmHuman + connections: + - left_hand + right_hand: + part: RightHandHuman + left_hand: + part: LeftHandHuman + right_leg: + part: RightLegHuman + connections: + - right_foot + left_leg: + part: LeftLegHuman + connections: + - left_foot + right_foot: + part: RightFootHuman + left_foot: + part: LeftFootHuman + +- type: body + id: XenomorphQueen + name: xenomorph + root: torso + slots: + head: + part: HeadHuman + connections: + - torso + organs: + brain: OrganXenomorphBrain + eyes: OrganXenomorphEyes + torso: + part: TorsoXenomorph + connections: + - right_arm + - left_arm + - right_leg + - left_leg + organs: + heart: OrganXenomorphHeart + stomach: OrganXenomorphStomach + liver: OrganXenomorphLiver + kidneys: OrganXenomorphKidneys + plasmaVessel: OrganXenomorphPlasmaVesselLarge + acidGland: OrganXenomorphAcidGland + hivenode: OrganXenomorphHivenode +# groin: OrganXenomorphEggsac + right_arm: + part: RightArmHuman + connections: + - right_hand + left_arm: + part: LeftArmHuman + connections: + - left_hand + right_hand: + part: RightHandHuman + left_hand: + part: LeftHandHuman + right_leg: + part: RightLegHuman + connections: + - right_foot + left_leg: + part: LeftLegHuman + connections: + - left_foot + right_foot: + part: RightFootHuman + left_foot: + part: LeftFootHuman diff --git a/Resources/Prototypes/_White/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/_White/Entities/Markers/Spawners/ghost_roles.yml index b0cfa2bb9f..78ed75c612 100644 --- a/Resources/Prototypes/_White/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/_White/Entities/Markers/Spawners/ghost_roles.yml @@ -14,5 +14,5 @@ sprite: Markers/jobs.rsi layers: - state: green - - sprite: _White/Mobs/Aliens/Xenos/larva.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/larva.rsi state: larva1 diff --git a/Resources/Prototypes/_White/Entities/Markers/Spawners/xenomorphs.yml b/Resources/Prototypes/_White/Entities/Markers/Spawners/xenomorphs.yml index 01bf48a02e..fb6452e33f 100644 --- a/Resources/Prototypes/_White/Entities/Markers/Spawners/xenomorphs.yml +++ b/Resources/Prototypes/_White/Entities/Markers/Spawners/xenomorphs.yml @@ -2,93 +2,93 @@ - type: entity parent: MarkerBase - id: SpawnMobAlienDrone + id: SpawnMobXenomorphDrone name: spawn alien drone suffix: Без гост роли components: - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/drone.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/drone.rsi state: aliend - type: ConditionalSpawner prototypes: - - MobAlienDroneDummy + - MobXenomorphDroneDummy - type: entity parent: MarkerBase - id: SpawnMobAlienSentinel + id: SpawnMobXenomorphSentinel name: spawn alien sentinel suffix: Без гост роли components: - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/sentinel.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/sentinel.rsi state: aliens - type: ConditionalSpawner prototypes: - - MobAlienSentinelDummy + - MobXenomorphSentinelDummy - type: entity parent: MarkerBase - id: SpawnMobAlienHunter + id: SpawnMobXenomorphHunter name: spawn alien hunter suffix: Без гост роли components: - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/hunter.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/hunter.rsi state: alienh - type: ConditionalSpawner prototypes: - - MobAlienHunterDummy + - MobXenomorphHunterDummy - type: entity parent: MarkerBase - id: SpawnMobAlienPraetorian + id: SpawnMobXenomorphPraetorian name: spawn alien praetorian suffix: Без гост роли components: - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/praetorian.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/praetorian.rsi state: alienp - type: ConditionalSpawner prototypes: - - MobAlienPraetorianDummy + - MobXenomorphPraetorianDummy - type: entity parent: MarkerBase - id: SpawnMobAlienQueen + id: SpawnMobXenomorphQueen name: spawn alien queen suffix: Без гост роли components: - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/queen.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/queen.rsi state: alienq - type: ConditionalSpawner prototypes: - - MobAlienQueenDummy + - MobXenomorphQueenDummy - type: entity parent: MarkerBase - id: SpawnMobAlienMaid + id: SpawnMobXenomorphMaid name: spawn alien maid suffix: Без гост роли components: - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/maid.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/maid.rsi state: maid - type: ConditionalSpawner prototypes: - - MobAlienMaidDummy + - MobXenomorphMaidDummy - type: entity parent: MarkerBase @@ -99,7 +99,7 @@ - type: Sprite layers: - state: green - - sprite: _White/Mobs/Aliens/Xenomorph/larva.rsi + - sprite: _White/Mobs/Aliens/Xenomorphs/larva.rsi state: larva2 - type: ConditionalSpawner prototypes: diff --git a/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/base_xenomorph.yml b/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/base_xenomorph.yml index 94dcadb80a..2a4df83510 100644 --- a/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/base_xenomorph.yml +++ b/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/base_xenomorph.yml @@ -10,9 +10,9 @@ id: MobAlienBase abstract: true components: -# - type: ThermalVision # Because need port -# toggleAction: null -# color: "#00000000" + - type: ThermalVision + toggleAction: null + color: "#00000000" - type: NightVision toggleAction: ActionXenomorphVision color: "#7d0cc9" @@ -21,38 +21,26 @@ - type: CombatMode combatToggleAction: ActionCombatModeToggleAlien canDisarm: true - - type: InputMover - - type: MobMover - type: MovementSpeedModifier baseWalkSpeed: 3 baseSprintSpeed: 4.5 - type: NameIdentifier group: GenericNumber - type: Tool - speed: 3 - speedModifier: 3 + speed: 2 + speedModifier: 2 qualities: - Prying - type: Prying - pryPowered: !type:Bool - true - force: !type:Bool - true - useSound: - path: /Audio/Items/crowbar.ogg - - type: Reactive - groups: - Flammable: [Touch] - Extinguish: [Touch] + speedModifier: 2 + pryPowered: true - type: NpcFactionMember factions: - Xeno - - type: DeathGasps - prototype: XenomorphDeathGasp - deathSounds: - collection: XenomorphDeath - canOtherHearDeathSound: True + - type: Deathgasp + prototype: XenomorphDeathgasp - type: Hands + - type: ComplexInteraction - type: Puller needsHands: false - type: IdExaminable @@ -61,11 +49,21 @@ - type: Strippable - type: UserInterface interfaces: - - key: enum.StrippingUiKey.Key + enum.HumanoidMarkingModifierKey.Key: + type: HumanoidMarkingModifierBoundUserInterface + enum.StrippingUiKey.Key: type: StrippableBoundUserInterface + enum.InstrumentUiKey.Key: + type: InstrumentBoundUserInterface + requireInputValidation: false + enum.RadialSelectorUiKey.Key: + type: RadialSelectorMenuBUI + enum.ListViewSelectorUiKey.Key: + type: ListViewSelectorBUI + enum.SurgeryUIKey.Key: + type: SurgeryBui - type: Sprite drawdepth: Mobs - offset: 0, 0.2 - type: Fixtures fixtures: fix1: @@ -123,11 +121,11 @@ Structural: 10 - type: DamageStateVisuals rotate: true - - type: Butcherable - butcheringType: knife - spawned: - - id: FoodMeatXeno - amount: 5 +# - type: Butcherable +# butcheringType: knife +# spawned: +# - id: FoodMeatXeno +# amount: 5 - type: RotationVisuals defaultRotation: 90 horizontalRotation: 90 @@ -142,6 +140,7 @@ - CannotSuicide - DoorBumpOpener - FootstepSound + - type: ZombieImmune - type: NoSlip - type: Perishable molsPerSecondPerUnitMass: 0.0005 @@ -159,35 +158,41 @@ Airloss: -10 Brute: -5 - type: Body - prototype: Xeno + prototype: XenomorphLarge - type: Inventory templateId: alien - type: Cuffable - - type: Ensnareable - sprite: Objects/Misc/ensnare.rsi - state: icon - type: StatusEffects allowed: - - Stun - - KnockedDown - - SlowedDown - - Stutter - - Electrocution - - ForcedSleep - - TemporaryBlindness - - Pacified - - StaminaModifier + - Stun + - KnockedDown + - SlowedDown + - Stutter + - Electrocution + - RatvarianLanguage + - PressureImmunity + - Pacified + - StaminaModifier + - PsionicsDisabled + - PsionicallyInsulated - type: VomitAction thirstAdded: 5.0 hungerAdded: 5.0 - type: PlasmaVessel - - type: Alerts - type: Speech speechSounds: Xenomorph speechVerb: SmallMob + - type: LanguageKnowledge + speaks: + - Xeno + understands: + - Xeno + - Hissing + - Draconic + - TauCetiBasic - type: SSDIndicator - type: StandingState - canLieDown: true + - type: Dna - type: Devourer devourTime: 2 consumes: @@ -198,34 +203,62 @@ Male: UnisexXenomorphHybrid Female: UnisexXenomorphHybrid Unsexed: UnisexXenomorphHybrid + - type: Emoting + - type: BodyEmotes + soundsId: GeneralBodyEmotes - type: LizardAccent - type: GuideHelp guides: - Xenomorphs + - type: Targeting + - type: SurgeryTarget # BASE LARVA - type: entity - parent: SimpleSpaceMobBase + parent: + - BaseMob + - MobDamageable + - MobCombat + - MobBloodstream + - MobFlammable id: MobAlienLarva name: alien larva description: Little and harmless alien components: + - type: ThermalVision + toggleAction: ActionXenomorphVision + color: "#00000000" + - type: NightVision + toggleAction: ActionXenomorphVision + color: "#7d0cc9" - type: ShowInfectedIcons - type: Body - prototype: Xeno + prototype: XenomorphTiny - type: Speech speechSounds: Xenomorph speechVerb: SmallMob + - type: LanguageKnowledge + speaks: + - Xeno + understands: + - Xeno + - Hissing + - Draconic + - TauCetiBasic - type: Vocal sounds: Male: UnisexXenomorphHybrid Female: UnisexXenomorphHybrid Unsexed: UnisexXenomorphHybrid + - type: Emoting + - type: BodyEmotes + soundsId: GeneralBodyEmotes - type: LizardAccent + - type: ZombieImmune - type: Sprite drawdepth: SmallMobs - sprite: _White/Mobs/Aliens/Xenomorph/larva.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/larva.rsi layers: - map: ["enum.DamageStateVisualLayers.Base", "movement"] state: larva0 @@ -254,18 +287,8 @@ - SmallMobMask layer: - SmallMobLayer - - type: MobState - - type: DeathGasps - prototype: XenomorphDeathGasp - deathSounds: - collection: LarvaDeath - canOtherHearDeathSound: True - - type: MobStateActions - actions: - Critical: - - ActionCritSuccumb - - ActionCritFakeDeath - - ActionCritLastWords + - type: Deathgasp + prototype: LarvaDeathgasp - type: MobThresholds thresholds: 0: Alive @@ -285,12 +308,6 @@ Base: larva0_stun Dead: Base: larva0_dead - - type: Tag - tags: - - Trash - - VimPilot - - Meat - wilhelmProbability: 0.001 - type: CombatMode combatToggleAction: ActionCombatModeToggleAlien - type: MeleeWeapon @@ -305,12 +322,9 @@ bloodMaxVolume: 50 bloodReagent: FluorosulfuricAcid - type: MobPrice - price: 50 - - type: BadFood + price: 250 - type: TypingIndicator proto: alien - - type: NonSpreaderZombie - - type: PreventSpiller - type: PassiveDamage allowedStates: - Alive @@ -342,9 +356,9 @@ abstract: true components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/facehugger.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/facehugger.rsi - type: Item - sprite: _White/Mobs/Aliens/Xenomorph/facehugger_inhands.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/facehugger_inhands.rsi size: Small - type: Damageable damageContainer: Biological diff --git a/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/larva.yml b/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/larva.yml index 3f92fd45ca..74a880f511 100644 --- a/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/larva.yml +++ b/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/larva.yml @@ -1,7 +1,7 @@ - type: entity parent: MobAlienLarva # Larva that is inside of it's owner id: MobAlienLarvaInside - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: TimedPolymorph enabled: false @@ -23,7 +23,7 @@ components: - type: Sprite drawdepth: SmallMobs - sprite: _White/Mobs/Aliens/Xenomorph/larva.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/larva.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base", "movement" ] state: larva1 @@ -66,7 +66,7 @@ components: - type: Sprite drawdepth: SmallMobs - sprite: _White/Mobs/Aliens/Xenomorph/larva.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/larva.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base", "movement" ] state: larva2 @@ -107,5 +107,4 @@ - type: entity parent: MobAlienLarvaGrowStageThreeBase id: MobAlienLarvaGrowStageThreeDummy - noSpawn: true suffix: Без гост роли diff --git a/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/xenomorphs.yml b/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/xenomorphs.yml index 82cd17c605..d64f991ca6 100644 --- a/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/xenomorphs.yml +++ b/Resources/Prototypes/_White/Entities/Mobs/Aliens/Xenomorphs/xenomorphs.yml @@ -1,11 +1,11 @@ - type: entity parent: MobAlienBase - id: MobAlienDroneBase + id: MobXenomorphDroneBase abstract: true name: alien drone components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/drone.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/drone.rsi layers: - map: ["enum.DamageStateVisualLayers.Base"] state: aliend @@ -28,6 +28,8 @@ Base: aliend_unconscious Dead: Base: aliend_dead + - type: Body + prototype: XenomorphLarge - type: AcidMaker action: ActionMakeAcid productionLength: 0 @@ -47,8 +49,8 @@ - Critical - type: entity - parent: MobAlienDroneBase - id: MobAlienDrone + parent: MobXenomorphDroneBase + id: MobXenomorphDrone components: - type: MindContainer showExamineInfo: true @@ -64,9 +66,8 @@ settings: default - type: entity - parent: MobAlienDroneBase - id: MobAlienDroneDummy - noSpawn: true + parent: MobXenomorphDroneBase + id: MobXenomorphDroneDummy suffix: Без гост роли components: - type: MovementSpeedModifier @@ -99,12 +100,12 @@ - type: entity parent: MobAlienBase - id: MobAlienSentinelBase + id: MobXenomorphSentinelBase abstract: true name: alien sentinel components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/sentinel.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/sentinel.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] state: aliens @@ -121,6 +122,8 @@ visible: false - type: Alien caste: sentinel + - type: Body + prototype: XenomorphLargeSentinel - type: MobThresholds thresholds: 0: Alive @@ -178,8 +181,8 @@ - Critical - type: entity - parent: MobAlienSentinelBase - id: MobAlienSentinel + parent: MobXenomorphSentinelBase + id: MobXenomorphSentinel components: - type: MindContainer showExamineInfo: true @@ -195,9 +198,8 @@ settings: default - type: entity - parent: MobAlienSentinelBase - id: MobAlienSentinelDummy - noSpawn: true + parent: MobXenomorphSentinelBase + id: MobXenomorphSentinelDummy suffix: Без гост роли components: - type: MovementSpeedModifier @@ -232,15 +234,15 @@ - type: entity parent: MobAlienBase - id: MobAlienHunterBase + id: MobXenomorphHunterBase abstract: true name: alien hunter components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/hunter.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/hunter.rsi layers: - map: [ "enum.JumpLayers.Jumping" ] - sprite: _White/Mobs/Aliens/Xenomorph/hunter_jump.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/hunter_jump.rsi state: icon visible: false - map: [ "enum.DamageStateVisualLayers.Base" ] @@ -258,6 +260,8 @@ visible: false - type: Alien caste: hunter + - type: Body + prototype: XenomorphMedium - type: GenericVisualizer visuals: enum.JumpVisuals.Jumping: @@ -313,14 +317,14 @@ - type: JumpVisuals baseState: alienh - type: AlienJump - jumpSprite: _White/Mobs/Aliens/Xenomorph/alien_hunter_jump.rsi + jumpSprite: _White/Mobs/Aliens/Xenomorphs/alien_hunter_jump.rsi - type: GuideHelp guides: - XenomorphHunter - type: entity - parent: MobAlienHunterBase - id: MobAlienHunter + parent: MobXenomorphHunterBase + id: MobXenomorphHunter components: - type: MindContainer showExamineInfo: true @@ -336,9 +340,8 @@ settings: default - type: entity - parent: MobAlienHunterBase - id: MobAlienHunterDummy - noSpawn: true + parent: MobXenomorphHunterBase + id: MobXenomorphHunterDummy suffix: Без гост роли components: - type: MovementSpeedModifier @@ -371,12 +374,12 @@ - type: entity parent: MobAlienBase - id: MobAlienPraetorianBase + id: MobXenomorphPraetorianBase abstract: true name: alien praetorian components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/praetorian.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/praetorian.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] state: alienp @@ -393,6 +396,8 @@ speciesId: alien_praetorian - type: Alien caste: drone # Because Dummy + - type: Body + prototype: XenomorphLargeSentinel - type: AcidMaker action: ActionMakeAcid entityProduced: AlienAcid @@ -467,8 +472,8 @@ - Critical - type: entity - parent: MobAlienPraetorianBase - id: MobAlienPraetorian + parent: MobXenomorphPraetorianBase + id: MobXenomorphPraetorian components: - type: MindContainer showExamineInfo: true @@ -486,9 +491,8 @@ settings: default - type: entity - parent: MobAlienPraetorianBase - id: MobAlienPraetorianDummy - noSpawn: true + parent: MobXenomorphPraetorianBase + id: MobXenomorphPraetorianDummy suffix: Без гост роли components: - type: MovementSpeedModifier @@ -521,12 +525,12 @@ - type: entity parent: MobAlienBase - id: MobAlienQueenBase + id: MobXenomorphQueenBase abstract: true name: alien queen components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/queen.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/queen.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] state: alienq @@ -540,6 +544,8 @@ visible: false - type: Alien caste: drone # Because Dummy + - type: Body + prototype: XenomorphQueen - type: TypingIndicator proto: alien_royal - type: Inventory @@ -614,13 +620,20 @@ sound: collection: XenomorphQueenCommand - - type: DeathGasps - deathSounds: - collection: XenomorphQueenDeath - canOtherHearDeathSound: True + - type: Deathgasp + prototype: XenomorphQueenDeathgasp - type: Speech speechSounds: Xenomorph speechVerb: LargeMob + - type: LanguageKnowledge + speaks: + - Xeno + - TauCetiBasic + understands: + - Xeno + - Hissing + - Draconic + - TauCetiBasic - type: TailLash - type: GuideHelp guides: @@ -632,8 +645,8 @@ - Critical - type: entity - parent: MobAlienQueenBase - id: MobAlienQueen + parent: MobXenomorphQueenBase + id: MobXenomorphQueen components: - type: MindContainer showExamineInfo: true @@ -651,9 +664,8 @@ settings: default - type: entity - parent: MobAlienQueenBase - id: MobAlienQueenDummy - noSpawn: true + parent: MobXenomorphQueenBase + id: MobXenomorphQueenDummy suffix: Без гост роли components: - type: MovementSpeedModifier @@ -686,13 +698,13 @@ - type: entity parent: MobAlienBase - id: MobAlienMaidBase + id: MobXenomorphMaidBase abstract: true name: lusty alien maid description: Don't ask it to lay eggs in you. components: - type: Sprite - sprite: _White/Mobs/Aliens/Xenomorph/maid.rsi + sprite: _White/Mobs/Aliens/Xenomorphs/maid.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] state: maid @@ -746,8 +758,8 @@ - XenomorphMaid - type: entity - parent: MobAlienMaidBase - id: MobAlienMaid + parent: MobXenomorphMaidBase + id: MobXenomorphMaid components: - type: MindContainer showExamineInfo: true @@ -763,9 +775,8 @@ settings: default - type: entity - parent: MobAlienMaidBase - id: MobAlienMaidDummy - noSpawn: true + parent: MobXenomorphMaidBase + id: MobXenomorphMaidDummy suffix: Без гост роли components: - type: Damageable diff --git a/Resources/Prototypes/_White/Entities/Objects/Misc/xenomorph_egg.yml b/Resources/Prototypes/_White/Entities/Objects/Misc/xenomorph_egg.yml index 3a87388614..24bce62a4f 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Misc/xenomorph_egg.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Misc/xenomorph_egg.yml @@ -10,6 +10,11 @@ snap: - Wall components: + - type: Icon + sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi + - type: Sprite + noRot: true + sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi - type: Transform anchored: true noRot: true @@ -86,11 +91,8 @@ - Wall components: - type: Icon - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg - type: Sprite - noRot: true - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg - type: AlienEggHatch polymorphPrototype: AlienEggHatch @@ -108,11 +110,8 @@ - Wall components: - type: Icon - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_growing - type: Sprite - noRot: true - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_growing - type: TimedPolymorph polymorphTime: 240 @@ -131,11 +130,8 @@ - Wall components: - type: Icon - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_opening - type: Sprite - noRot: true - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_opening - type: TimedDespawn lifetime: 1.5 @@ -155,12 +151,33 @@ - Wall components: - type: Icon - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_hatched - type: Sprite - noRot: true - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_hatched + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: blood + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 45 + behaviors: + - !type:SpawnEntitiesBehavior + spawnInContainer: true + spawn: + Ash: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] - type: ConditionalSpawner prototypes: - Facehugger @@ -178,9 +195,30 @@ - Wall components: - type: Icon - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_hatched - type: Sprite - noRot: true - sprite: _White/Structures/Specific/Xenomorph/xenomorph_egg.rsi state: egg_hatched + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: blood + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 45 + behaviors: + - !type:SpawnEntitiesBehavior + spawnInContainer: true + spawn: + Ash: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/acid.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/acid.yml index 3386d94ef5..206b0752b7 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/acid.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Guns/Projectiles/acid.yml @@ -1,7 +1,7 @@ - type: entity parent: BaseBullet id: BulletAcidSentinel - noSpawn: true + categories: [ HideSpawnMenu ] name: acid spit components: - type: Projectile @@ -18,7 +18,7 @@ - type: entity parent: BulletAcidSentinel id: BulletAcidSentinelDummy - noSpawn: true + categories: [ HideSpawnMenu ] components: - type: Projectile damage: diff --git a/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/acid.yml b/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/acid.yml index 674cf763db..90b66bb07f 100644 --- a/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/acid.yml +++ b/Resources/Prototypes/_White/Entities/Objects/Weapons/Melee/acid.yml @@ -1,9 +1,9 @@ - type: entity parent: BaseItem - id: AlienAcid - noSpawn: true - name: alien-acid-name - description: alien-acid-desc + id: CorrosiveAcid + categories: [ HideSpawnMenu ] + name: corrosive acid + description: Green light acid. components: - type: Fixtures fixtures: @@ -66,11 +66,10 @@ - AlienItem - type: entity - id: CorrosiveAcid - noSpawn: true - name: alien-acid-name - suffix: overlay - description: alien-acid-desc + id: CorrosiveAcidOverlay + categories: [ HideSpawnMenu ] + name: corrosive acid + description: Green light acid. components: - type: Sprite sprite: _White/Interface/Actions/xenomorph.rsi @@ -84,10 +83,9 @@ - type: entity id: CorrodedAcid - noSpawn: true - name: corroded acid - suffix: overlay - description: alien-acid-desc + categories: [ HideSpawnMenu ] + name: corrosive acid + description: Green light acid. components: - type: Sprite sprite: _White/Interface/Actions/xenomorph.rsi diff --git a/Resources/Prototypes/_White/GameRule/events.yml b/Resources/Prototypes/_White/GameRule/events.yml deleted file mode 100644 index 8017d03520..0000000000 --- a/Resources/Prototypes/_White/GameRule/events.yml +++ /dev/null @@ -1,17 +0,0 @@ -- type: entity - parent: BaseGameRule - id: XenomorphInfestation - noSpawn: true - components: - - type: StationEvent - startAnnouncement: station-event-alien-infestation-anouncement - startAudio: - path: /Audio/Announcements/attention.ogg - startDelay: 10 - earliestStart: 20 - reoccurrenceDelay: 40 - minimumPlayers: 30 - weight: 5 - duration: 1 - - type: RandomSpawnRule - prototype: SpawnPointGhostAlienLarva diff --git a/Resources/Prototypes/_White/GameRules/events.yml b/Resources/Prototypes/_White/GameRules/events.yml index 71d433c40c..8fca6e9051 100644 --- a/Resources/Prototypes/_White/GameRules/events.yml +++ b/Resources/Prototypes/_White/GameRules/events.yml @@ -44,3 +44,18 @@ reoccurrenceDelay: 40 - type: RandomSpawnRule prototype: SpawnStraySupplyPodSyndicate + +- type: entity + parent: BaseGameRule + id: XenomorphInfestation + categories: [ HideSpawnMenu ] + components: + - type: StationEvent + startAnnouncement: true + weight: 5 + duration: 10 + minimumPlayers: 30 + earliestStart: 20 + reoccurrenceDelay: 50 + - type: RandomSpawnRule + prototype: SpawnPointGhostAlienLarva diff --git a/Resources/Prototypes/_White/Polymorphs/xenomorph.yml b/Resources/Prototypes/_White/Polymorphs/xenomorph.yml index ae959fbc2d..62be803b04 100644 --- a/Resources/Prototypes/_White/Polymorphs/xenomorph.yml +++ b/Resources/Prototypes/_White/Polymorphs/xenomorph.yml @@ -23,7 +23,7 @@ - type: polymorph id: AlienEvolutionDrone configuration: - entity: MobAlienDrone + entity: MobXenomorphDrone forced: true transferName: false revertOnDeath: false @@ -34,7 +34,7 @@ - type: polymorph id: AlienEvolutionSentinel configuration: - entity: MobAlienSentinel + entity: MobXenomorphSentinel forced: true transferName: false revertOnDeath: false @@ -45,7 +45,7 @@ - type: polymorph id: AlienEvolutionHunter configuration: - entity: MobAlienHunter + entity: MobXenomorphHunter forced: true transferName: false revertOnDeath: false @@ -56,7 +56,7 @@ - type: polymorph # Not evolution id: AlienHunterMorph configuration: - entity: MobAlienHunter + entity: MobXenomorphHunter forced: true transferName: true revertOnDeath: true @@ -66,7 +66,7 @@ - type: polymorph id: AlienEvolutionPraetorian configuration: - entity: MobAlienPraetorian + entity: MobXenomorphPraetorian forced: true transferName: false revertOnDeath: false @@ -77,7 +77,7 @@ - type: polymorph id: AlienEvolutionQueen configuration: - entity: MobAlienQueen + entity: MobXenomorphQueen forced: true transferName: false revertOnDeath: false diff --git a/Resources/Prototypes/_White/SoundCollections/xenomorphs.yml b/Resources/Prototypes/_White/SoundCollections/xenomorphs.yml new file mode 100644 index 0000000000..e84eedc4b3 --- /dev/null +++ b/Resources/Prototypes/_White/SoundCollections/xenomorphs.yml @@ -0,0 +1,32 @@ +- type: soundCollection + id: XenomorphQueenDeathgasp + files: + - /Audio/_White/Effects/Xenomorph/xenomorph_queen_death.ogg + +- type: soundCollection + id: XenomorphQueenCommand + files: + - /Audio/_White/Effects/Xenomorph/xenomorph_queen_command_1.ogg + - /Audio/_White/Effects/Xenomorph/xenomorph_queen_command_2.ogg + - /Audio/_White/Effects/Xenomorph/xenomorph_queen_command_3.ogg + +- type: soundCollection + id: XenomorphDeathgasp + files: + - /Audio/_White/Effects/Xenomorph/xenomorph_death_1.ogg + - /Audio/_White/Effects/Xenomorph/xenomorph_death_2.ogg + +- type: soundCollection + id: XenomorphDeathgaspAlt + files: + - /Audio/_White/Effects/Xenomorph/xenomorph_old_death.ogg + +- type: soundCollection + id: LarvaDeathgasp + files: + - /Audio/_White/Effects/Xenomorph/larva_death.ogg + +- type: soundCollection + id: LarvaBurst + files: + - /Audio/_White/Effects/Xenomorph/larva_burst.ogg diff --git a/Resources/Prototypes/_White/Voice/speech_emotes.yml b/Resources/Prototypes/_White/Voice/speech_emotes.yml index 7b518887f8..ae8aaa299b 100644 --- a/Resources/Prototypes/_White/Voice/speech_emotes.yml +++ b/Resources/Prototypes/_White/Voice/speech_emotes.yml @@ -1,3 +1,27 @@ +- type: emote + id: XenomorphQueenDeathgasp + name: chat-emote-name-deathgasp + icon: Interface/Emotes/deathgasp.png + chatMessages: ["chat-emote-msg-deathgasp"] + chatTriggers: + - xenomorphqueendeathgasp + +- type: emote + id: XenomorphDeathgasp + name: chat-emote-name-deathgasp + icon: Interface/Emotes/deathgasp.png + chatMessages: ["chat-emote-msg-deathgasp"] + chatTriggers: + - xenomorphdeathgasp + +- type: emote + id: LarvaDeathgasp + name: chat-emote-name-deathgasp + icon: Interface/Emotes/deathgasp.png + chatMessages: ["chat-emote-msg-deathgasp"] + chatTriggers: + - larvadeathgasp + - type: emote id: Nod name: chat-emote-name-nod diff --git a/Resources/Prototypes/_White/typing_indicator.yml b/Resources/Prototypes/_White/typing_indicator.yml new file mode 100644 index 0000000000..9762150827 --- /dev/null +++ b/Resources/Prototypes/_White/typing_indicator.yml @@ -0,0 +1,4 @@ +- type: typingIndicator + id: alien_royal + typingState: alienroyal0 + offset: 0.64, 0.32 diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist.xml index 146401556d..f0f0ef9eed 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist.xml @@ -5,7 +5,7 @@ Мажорные антагонисты: - + diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs.xml index bf4d13bc51..f5c429dfcb 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs.xml @@ -13,20 +13,20 @@ Тир 1, Королева: - + Тир 2, Королевская гвардия: - + Тир 3, Специалисты: - - - - + + + + Тир 4, Низшие: diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Drone.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Drone.xml index 28b03feb30..91bccaabeb 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Drone.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Drone.xml @@ -2,14 +2,14 @@ # Дрон ксеноморфов - + Рабочий класс, обустраивает улей, заражает носителей оказавшихся в улье и просто кайфарик. Единственный класс, который может превратиться в королеву. Слаб и медлителен. Как и о остальных ксеноморфах, о них мало информации. ## Особенности - + - Получает [color=#ff1f1f]на 15% меньше тупого урона, на 20% меньше режущего урона, на 20% больше колотого урона[/color], [color=#ffa500]на 80% больше урона от огня[/color] и [color=#46A446]на 100% меньше урона от яда[/color]. - Наносит [color=#ff1f1f]20 режущего урона[/color] и [color=#ffa500]10 структурного урона[/color] своими когтями. - Имеет 250 ХП. diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Hunter.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Hunter.xml index 6fac75ee2e..7a7dd94011 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Hunter.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Hunter.xml @@ -2,14 +2,14 @@ # Охотник ксеноморфов - + Сильный и маневренный, может охотиться вдали от улья и пожирать своих жертв, чтобы быстро переносить в улей. Охотники производят плазму медленно и имеют пониженное количество плазмы. Самый быстрый и сильный физически. Как и о остальных ксеноморфах, о них мало информации. ## Особенности - + - Получает [color=#ff1f1f]на 15% меньше тупого урона, на 20% меньше режущего урона, на 20% больше колотого урона[/color], [color=#ffa500]на 80% больше урона от огня[/color] и [color=#46A446]на 100% меньше урона от яда[/color]. - Наносит [color=#ff1f1f]20 режущего урона[/color] и [color=#ffa500]10 структурного урона[/color] своими когтями. - Имеет 205 ХП. diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Maid.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Maid.xml index 675a66def1..3154d7feb7 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Maid.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Maid.xml @@ -2,12 +2,12 @@ # Горничная ксеноморфов - + Ксено-горничная, не смотря на свой грозный вид, является пацифистом, отказываясь от каких либо попыток причинить боль. Происхождение неизвестно, однако ходят слухи, что это неудачные гибриды. ## Особенности - + - Получает [color=#ff1f1f]на 15% меньше тупого урона, на 20% меньше режущего урона, на 20% больше колотого урона[/color], [color=#ffa500]на 80% больше урона от огня[/color] и [color=#46A446]на 100% меньше урона от яда[/color]. - Наносит [color=#ff1f1f]10 режущего урона[/color] и [color=#ffa500]5 структурного урона[/color] своими когтями. - Имеет 200 ХП. diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Praetorian.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Praetorian.xml index e482718e8b..b559ed31a7 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Praetorian.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Praetorian.xml @@ -2,14 +2,14 @@ # Преторианец ксеноморфов - + Большой и мощный ксеноморф, способный в одиночку отбить нападение глупцов, осмелившихся напасть на гнездо или на его Королеву. Является основой королевской гвардии, защищает всеми возможными способами свою королеву и в случае чего самому стать королевой. Как и о остальных ксеноморфах, о них мало информации. ## Особенности - + - Получает [color=#ff1f1f]на 15% меньше тупого урона, на 20% меньше режущего урона, на 20% больше колотого урона[/color], [color=#ffa500]на 80% больше урона от огня[/color] и [color=#46A446]на 100% меньше урона от яда[/color]. - Наносит [color=#ff1f1f]30 режущего урона[/color] и [color=#ffa500]10 структурного урона[/color] своими когтями. - Наносит [color=#46A446]33 кислотного урона[/color] своими плевками. diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Queen.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Queen.xml index e5cb9198a4..076ce11165 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Queen.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Queen.xml @@ -2,14 +2,14 @@ # Королева ксеноморфов - + Очень немногие ксеноморфы подвергаются превращению в королеву. Это единственный вид ксеноморфа, способный откладывать яйца, из которых вылупляются лицехваты. Даже учитывая разницу в размерах, королева ксеноморфов может выдержать гораздо больше урона. Скорее всего, королева встречается там, где есть высокий уровень плазмы, в окружении ксеноморфов и свеже вылупившихся лицехватов. Королевы значительно умнее низших каст и хорошо защищают свое потомство. Несмотря на свой размер, они обладают всеми способностями низших форм ксеноморфов. Этот вид отличается от низших наличием большого и толстого гребня на голове, он предназначен для защищиты оболочки их мозга, так же королевы обладают более высокими внутренними запасами плазмы, которые они могут использовать, для формирования полимерных структур, откладывания яиц. Как и о остальных ксеноморфах, о них мало информации. ## Особенности - + - Получает [color=#ff1f1f]на 15% меньше тупого урона, на 20% меньше режущего урона, на 20% больше колотого урона[/color], [color=#ffa500]на 80% больше урона от огня[/color] и [color=#46A446]на 100% меньше урона от яда[/color]. - Наносит [color=#ff1f1f]30 режущего урона[/color] и [color=#ffa500]30 структурного урона[/color] своими когтями. - Наносит [color=#46A446]33 кислотного урона[/color] своими плевками. diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Sentinel.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Sentinel.xml index 45434c88b7..d33e04d0cc 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Sentinel.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/Evolutions/Sentinel.xml @@ -2,13 +2,13 @@ # Плевальщик ксеноморфов - + Их задача - защита улья/гнезда, они очень опасны как в близи на расстоянии. По сравнению с охотником, имеет меньшую скорость передвижения. Как и о остальных ксеноморфах, о них мало информации. ## Особенности - + - Получает [color=#ff1f1f]на 15% меньше тупого урона, на 20% меньше режущего урона, на 20% больше колотого урона[/color], [color=#ffa500]на 80% больше урона от огня[/color] и [color=#46A446]на 100% меньше урона от яда[/color]. - Наносит [color=#ff1f1f]20 режущего урона[/color] и [color=#ffa500]10 структурного урона[/color] своими когтями. - Имеет 250 ХП. diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Crew.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Crew.xml index ae03293b51..80095a8fb0 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Crew.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Crew.xml @@ -10,8 +10,8 @@ Если вы убили охотника, рекомендуется РАЗДЕЛАТЬ его чем-нибудь острым, ведь они имеют способность поглощать тела экипажа, именно в нём может находится ваш пропавший друг, или важный для станции персонал. - - + + На вашем пути встали противные полимерные структуры? Их нужно уничтожить! Структуры: @@ -40,9 +40,9 @@ - В первую очередь пытайтесь уничтожить королеву, а потом преторианца вместе с дронами, пока кто-то из них жив, вы не сможете устранить угрозу до конца. Именно эти особи могут сделать улей снова великим, не допустите этого, даже ценой своей жизни. - - - + + + ## Советы для робаста diff --git a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Xenomorph.xml b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Xenomorph.xml index 12efc40394..9e10111aca 100644 --- a/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Xenomorph.xml +++ b/Resources/ServerInfo/_White/Guidebook/Antagonist/Antagonist/Xenomorphs/HowToPlay/Xenomorph.xml @@ -16,7 +16,7 @@ ## Какая жалосссть! На месте нового роя куча носителей, что же делать... Если вы являетесь [color=#ff1f1f]ПЕРВЫМ[/color] в своём улье, вам следует выбрать эволюцию [color=#ff1f1f]ДРОНА[/color], иначе в глазах гостов вы будете хуесосом, который антажку заруинил. Только ДРОН из всех остальных эволюций может стать основой роя, поэтапно эволюционируя в королеву. Конечно же если нету дронов, но есть королева она может вмешаться, используя способность за 300 плазмы - "королевская лярва", которая принуждает эволюционировать любого ксеноморфа в преторианца. - + Абсолютно у каждого представителя улья, есть связь с разумом роя, для связи необходимо написать английскую "a", перед своим сообщением, если вы сделали всё правильно, вы увидите надпись "разум роя", означающую, что вы вводите сообщение в нужный канал. - Все ксеноморфы получают буст к генерации плазмы, находясь на семенах и полимере исходящем от них. @@ -28,7 +28,7 @@ ## КАК ИГРАТЬ ЗА ДРОНА - + - Вы являетесь главным трудягой, работягой улья. Вы [color=#ff1f1f]НЕ[/color] боевая единица и нет, это [color=#ff1f1f]не значит[/color], что вы должны сидеть в улье, и куколдить у яиц, вы всё ещё можете пойти на охоту, что-бы ЗАРАЖАТЬ носителей, однако ваша смерть может повлиять на будущее роя не хуже королевской, всегда помните, что вы тот от кого зависит будущее роя. - Ваша задача находиться в улье, разбрасывая полимерные семена и выстраивая структуры. @@ -36,7 +36,7 @@ ## КАК ИГРАТЬ ЗА ОХОТНИКА - + - Вы охотник. Вы [color=#ff1f1f]боевая единица[/color] можете считать себя пушечным мясом, смерть которого даже не заметят, но это не значит, что вы пустое место - вы главная сила роя и самый лучший добытчик, для этого вы можете пожирать носителей, при помощи своей способности, главное условие - носитель должен быть в крите, или мёртвым, но [color=#ff1f1f]мёртвые для вас бесполезны - лучше не трогайте их просто так, не будьте мудаком[/color]. - Вы очень ограничены в количестве плазмы, а ваша способность, делающая вас невидимым полностью останавливает выработку плазмы, постепенно поглащая её, но не бойтесь, если показатель плазмы дойдёт до 0, способность не перестанет работать. @@ -44,21 +44,21 @@ ## КАК ИГРАТЬ ЗА ПЛЕВАЛЬЩИКА - + - Вы плевальщик. Вы [color=#ff1f1f]боевая единица[/color] можете считать себя пушечным мясом, смерть которого даже не заметят, но это не значит, что вы пустое место - вы выступаете в роли поддержки, для этого вы имеете железы вырабатывающие нейротоксин, для плевка вам необходимо войти в боевой режим и нажать [color=#ff1f1f]ПКМ[/color]. - Харкаться впринципе ваша единственная обязанность, вы самый бесполезный, кайфуйте, гордитесь. ## КАК ИГРАТЬ ЗА ПРЕТОРИАНЦА - + - Вы преторианец. Вы [color=#ff1f1f]боевая единица[/color], представитель королевской гвардии, в случае чего, готовый стать новой королевой, ваша обязанность защищать королеву ценой своей жизни, а если не вышло, любой ценой стать новой королевой. - Для защиты вы обладаете плевком, для которого вам необходимо войти в боевой режим и нажать [color=#ff1f1f]ПКМ[/color], так же ваш мощный хвост может сбивать с ног ваших врагов в радиусе 2х тайлов. ## КАК ИГРАТЬ ЗА КОРОЛЕВУ - + - Вы королева. Вы обязаны сделать свой рой самым великим, вы очень умны, по этому следует наставлять свой рой, для этого стоит наказывать тех, кто приносит мёртвых, ведь каждая смерть носителя - является саботажем роя. Только королева может решить, как поступить с тем, кто приносит убытки рою, её власть неоспорима, каждый кто мешает рою, или оспаривает приказы королевы, может быть убит, даже если является частью роя. - Для распостранения вам необходимо откладывать яйца, из которых в последующем вылезут лицехваты, которых следует набрасывать на своих врагов и если состояние носителя критическое надевать своими силами, заражение можно будет увидеть появившейся иконкой лярвы над носителем, такого носителя нельзя будет повторно заразить, пока из него не вырвется лярва. diff --git a/Resources/Textures/_White/Effects/cuffs.rsi/aliencuff.png b/Resources/Textures/_White/Effects/cuffs.rsi/aliencuff.png new file mode 100644 index 0000000000000000000000000000000000000000..a4940bd13331cfec30d85d65e521cb67b47980f1 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnU zPZ!6KiaBp*S#N4`5OKM^YWhU!nLAjE!jq)3;iwa}ySEk$?=Hrhq&PvSXoc1?X`fYvB^lK_AoG(_3Yji0^ z+%|jg*ZVcou}yC;r|jW>@cD1m-Xu?7r!5T|s~8Vwv+SwQi*@iROXv5k_5+DtnH~B1 m*?+6(d`4h^A=&?hDX#36#Eha!RaIcLF?hQAxvXb>=G z|E1g61t!mXUU~P&u63867FA|2e?O+NQNrCSXz5TD;^7PNWt^EDJ@6Y+VWuECed!~mx z4Cfdg3@&0_1w-xq<%tq?ds64| zpZMu$w7@LJ1Ck7LXiLOwW0P&c8RYOc1lzz4iCw z#twI-i22)l#7lPRF#25n^7YRP(S+K2RW@_Ay%|D7TMK3O@BMx|cF)(HYd^-_ycxb` zPWS;G#+=%lU*ck~7e}4hviNf0#yx(==bz&h-}JqEcL`Iler;>whwc?Qopf2;Iv( Y%XRjVJLlzDfys)&)78&qol`;+04=@aMgRZ+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_White/Effects/cuffs_big.rsi/meta.json b/Resources/Textures/_White/Effects/cuffs_big.rsi/meta.json new file mode 100644 index 0000000000..c40ebb2ce8 --- /dev/null +++ b/Resources/Textures/_White/Effects/cuffs_big.rsi/meta.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation: https://github.com/tgstation/tgstation/blob/master/icons/mob/nonhuman-player/alien.dmi", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "aliencuff_q", + "directions": 4 + }, + { + "name": "aliencuff_p", + "directions": 4 + } + ] +}