diff --git a/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl b/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl index efdfe2d6bda688..7d315235c79e6e 100644 --- a/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl @@ -109,3 +109,33 @@ ghost-role-information-behonker-name = Бехонкер ghost-role-information-behonker-description = Вы - антагонист, сейте смерть и хонки тем, кто не следует за хонкоматерью. ghost-role-information-taxibot-name = ТаксиБот ghost-role-information-taxibot-description = Доставьте экипаж станции к месту их назначения. +ghost-role-information-MechMaulerReal-name = АБМС «Маулер» +ghost-role-information-MechMaulerReal-description = Автономная Боевая Машина на службе синдиката. +ghost-role-information-MechMaulerReal-rules = Используйте свое оружие, чтобы вызвать хаос. Вы антагонист. +ghost-role-information-MechMarauder-name = БПМ «Мародёр» +ghost-role-information-MechMarauder-description = Боевой механоид на службе НаноТрейзен. +ghost-role-information-MechMarauder-rules = Выполняйте различные приказы, ваша задача будет варьироваться от задач центрального командования. +ghost-role-information-MechDarkGygax-name = АБМС «Гайгэкс» +ghost-role-information-MechDarkGygax-description = Боевой механоид на службе Синдиката. +ghost-role-information-MechDarkGygax-rules = Выполняйте различные приказы, ваша задача будет варьироваться от задач владельца. +ghost-role-information-MechSeraph-name = БКМ «Серафим» +ghost-role-information-MechSeraph-description = Командующий механоид на службе НаноТрейзен. +ghost-role-information-MechSeraph-rules = Выполняйте различные приказы, ваша задача будет варьироваться от задач центрального командования. +ghost-role-information-MechDurand-name = ПВМ «Дюранд» +ghost-role-information-MechDurand-description = Вы полицейский механоид, выполняйте что вам прикажут местные правоохранительные силы. +ghost-role-information-MechDurand-rules = Вы полицейский механоид, выполняйте что вам прикажут местные правоохранительные силы. +ghost-role-information-MechGygax-name = БПМП «Гайгэкс» +ghost-role-information-MechGygax-description = Боевой механоид на службе НаноТрейзен. +ghost-role-information-MechGygax-rules = Выполняйте различные приказы, ваша задача будет варьироваться от задач центрального командования. +ghost-role-information-MechDarkHonker-name = АБМС тёмный «Х.О.Н.К.» +ghost-role-information-MechDarkHonker-description = Боевой механоид на службе Хонкоматери, ой, то есть Синдиката... Да... +ghost-role-information-MechDarkHonker-rules = Выполняйте различные приказы, ваша задача будет варьироваться от задач синдиката. +ghost-role-information-MechOdysseus-name = ГМС «Одиссей» +ghost-role-information-MechOdysseus-description = Гражданский механоид, сделанный специально для медицинских задач по спасению жизни. +ghost-role-information-MechOdysseus-rules = Вы медицинский механоид, ваша задача будет варьироваться от задач медицинского отдела. +ghost-role-information-MechHauler-name = АТМЕ «Хаулер» +ghost-role-information-MechHauler-description = Гражданский механоид, сделанный специально для инженерных задач. +ghost-role-information-MechHauler-rules = Выполняйте различные приказы, ваша задача будет варьироваться от задач экипажа. +ghost-role-information-MechClarke-name = АТМЕ «Кларк» +ghost-role-information-MechClarke-description = Гражданский механоид, сделанный специально для шахтерских задач. +ghost-role-information-MechClarke-rules = Вы медицинский механоид, ваша задача будет варьироваться от задач отдела поставок. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/mobs/mechs_locale.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/mobs/mechs_locale.ftl new file mode 100644 index 00000000000000..2285d7fffd5b9c --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/mobs/mechs_locale.ftl @@ -0,0 +1,60 @@ +ent-MechMaulerReal = АБМС «Маулер» + .desc = Перекрашенный синдикатом мародёр, был изрядно изменен, но все тот же старый добрый мародёр. + .suffix = { "механоид" } +ent-MechMaulerDestroyed = сломанный АБМС «Маулер» + .desc = больше не выстрелит, теперь он груда металла и микросхем. Используйте его остатки как хотите. + .suffix = { "" } +ent-MechMarauder = БПМ «Мародёр» + .desc = Броне-Пехотный Мех «Мародёр». Используется силами НТ в разных боевых сферах. + .suffix = { "механоид" } +ent-MechMarauderDestroyed = сломанный БПМ «Мародёр» + .desc = больше не выстрелит, теперь он лишь груда металла и схем. + .suffix = { "" } +ent-MechDarkGygax = АБМС «Гайгэкс» + .desc = Перекрашенный синдикатом БПМП «Гайгэкс», потрёпан и сильно изношен, но все еще функционирует в штатном режиме. Прямо как с последней корпоротивной войны. + .suffix = { "механоид" } +ent-MechSeraph = БКМ «Серафим» + .desc = Броне-Командный Мех «Серафим». Это особая модель, используемая только высокопоставленными военными. + .suffix = { "механоид" } +ent-MechDurand = ПВМ «Дюранд» + .desc = Полицейский мех правительства земли, зачастую его просто используют в правоохранительных органах, так как он зарекомендовал себя как надежный мех поддержки. А ещё он довольно дешевый. + .suffix = { "механоид" } +ent-MechGygaxDestroyed = сломанный БПМП «Гайгэкс» + .desc = не уже поможет в нужный момент, можете собрать из него стол, он будет благодарен. + .suffix = { "" } +ent-MechDarkHonker = АБМС тёмный «Х.О.Н.К.» + .desc = Боевой мех на службе Хонкоматери, ой, то есть Синдиката... Да... + .suffix = { "механоид" } +ent-MechDarkHonkerDestroyed = сломанный АБМС тёмный «Х.О.Н.К.» + .desc = Исходя из своего состояния, дошутился... + .suffix = { "" } +ent-MechOdysseus = ГСМ «Одиссей» + .desc = Если постараться, то с этим мехом можно спасти бесчисленное количество жизней. + .suffix = { "механоид" } +ent-MechOdysseusDestroyed = сломанный ГСМ «Одиссей» + .desc = уже вылечил последнего члена экипажа, отныне он красивая декорация. + .suffix = { "" } +ent-MechHauler = АТМЕ «Хаулер» + .desc = Автономная тяговая механизированная единица «Хаулер». + .suffix = { "механоид" } +ent-MechHaulerDestroyed = сломанный АТМЕ «Хаулер» + .desc = Слишком много работал. Достройте за него, он занят ничем. + .suffix = { "" } +ent-MechClarke = КШГ «Кларк» + .desc = Гражданский мех, сделанный специально для шахтерских задач. + .suffix = { "механоид" } +ent-MechClarkeDestroyed = сломанный КШГ «Кларк» + .desc = Не донес руды на станцию, оставьте его гнить тут, или сделайте из него что-нибудь. + .suffix = { "" } +ent-MechGygax = БПМ «Гайгэкс» + .desc = броне-пехотный механоид Поддержки «Гайгэкс», один из старых но хорошо зарекомендовавший себя. Используеться НаноТрейзен как вторичный механоид поддержки. + .suffix = { "механоид" } +ent-MechDarkGygaxDestroyed = сломанный БПМ «Гайгэкс» + .desc = Ему не хватает запчастей чтоб взорвать что-нибудь, сделайте это за него, чтобы он не грустил. + .suffix = { "" } +ent-MechDurandDestroyed = сломанный ПВМ «Дюранд» + .desc = Не в состоянии патрулировать, но он пойдет как не очень живой щит. + .suffix = { "" } +ent-MechSeraphDestroyed = сломанный БКМ «Серафим» + .desc = Устроил свою последнюю резню, не дайте ему попасть в руки синдиката! + .suffix = { "" } \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/mech_locale.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/mech_locale.ftl new file mode 100644 index 00000000000000..c5f28684fb96fb --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/weapons/mech_locale.ftl @@ -0,0 +1,75 @@ +ent-WeaponPulseRifle9000 = тяжёлый импульсный карабин М-4 + .desc = Навесное импульсное орудие, действующее по тому же принципу, что и ручной импульсный карабин. Чрезвычайно эффективно против всего. + .suffix = { "" } +ent-WeaponLauncherMultipleRocket9000 = пусковой ракетный комплекс SRM-8 + .desc = Навесная ракетная установка. + .suffix = { "" } +ent-WeaponLauncherRocket9000 = пусковой ракетный комплекс SRM-6 + .desc = Навесная ракетная установка. + .suffix = { "" } +ent-WeaponTaser9000 = навесной дизейблер PBT «Усмиритель» + .desc = Навесной нелетальный Дизейблер, позволяющий оглушить злоумышленников. + .suffix = { "" } +ent-WeaponShotgunEnforcer9000 = LBX AC 10 «Залп» + .desc = Навесное огнестрельное орудие, стреляющее дробовыми патронами. + .suffix = { "" } +ent-WeaponLightMachineGunL69000 = карабин FNX-99 «Аид» + .desc = Вы его любите, вы его знаете. + .suffix = { "" } +ent-MagazineLightRifleBox9000 = магазин Карабина FNX-99 + .suffix = { "" } +ent-WeaponBFG9000 = Тесла-пушка P-X + .desc = Орудие для боевых механоидов, стреляющее энергетическими шарами, по принципу экспериментального тесла-двигателя. + .suffix = { "" } +ent-WeaponXrayCannon9000 = пушка-испепелитель ZFI + .desc = Орудие для боевых механоидов, стреляющее высокотемпературными лучами. + .suffix = { "" } +ent-WeaponLaserCHPS9000 = лазер «Дожигатель» CH-PS + .desc = Стандартное боевое вооружение механоидов, боевой навесной лазер. + .suffix = { "" } +ent-WeaponGrenadeLauncher9000 = SGL-6 Светошумовой гранатомёт + .desc = Навесная пусковая установка светошумовых гранат. + .suffix = { "" } +ent-WeaponFireExtinguisher9000 = навесной огнетушитель + .desc = Навесной огнетушитель, эффективный в борьбе со слизнями. Пускает быстрые, контролируемые струи воды. + .suffix = { "" } +ent-WeaponGrenadeFragLauncher9000 = SGL-8 Осколочный гранатомёт + .desc = Навесная пусковая установка осколочных гранат. + .suffix = { "" } +ent-WeaponAS2Ultra9000 = AC 2 «Ультра» + .desc = Навесной пулемет. + .suffix = { "" } +ent-MagazineLightRifleBoxAS29000 = магазин AC 2 «Ультра» + .suffix = { "" } +ent-WeaponMousetrapLauncher9000 = мышеловочная мортира + .desc = Навесная пусковая установка мышеловок. + .suffix = { "" } +ent-WeaponBananaPeelLauncher9000 = Банановая мортира + .desc = Навесная пусковая установка банановой кожуры. + .suffix = { "" } +ent-WeaponBikeHorn9000 = ХоНКоВзРыВ 5000 + .desc = Невероятно громкая шумовая установка. + .suffix = { "" } +ent-WeaponPieCreamLauncher9000 = пироговая мортира + .desc = Навесная пусковая установка пирогов. + .suffix = { "" } +ent-HyposprayPromisliniy9000 = промышленный гипоспрей + .desc = Промышленный стерильный инъектор для быстрого введения лекарств пациентам. + .suffix = { "" } +ent-JawsOfLife9000 = гидравлическая клешня + .desc = Дает механоиду возможность вскрывать шлюзы. + .suffix = { "" } +ent-WeaponBananaPeelMineLauncher9000 = минобанановая мортира + .desc = Навесная пусковая установка банановой кожуры. + .suffix = { "" } +ent-LandMineExplosiveBanana = мина-кожурка от банана + .suffix = { "" } +ent-MechaDrill9000 = бур + .desc = Бур. Сильнее, лучше, быстрее, мощнее. + .suffix = { "" } +ent-MechaAnalyzer9000 = шахтёрский сканер + .desc = Прибор, сканирующий близлежащие камни на предмет наличия полезных ископаемых. + .suffix = { "" } +ent-JawsOfLifeHarm9000 = гидравлическая клешня + .desc = Дает механоиду возможность вскрывать шлюзы. + .suffix = { "" } \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/mechs.yml b/Resources/Prototypes/Entities/Mobs/mechs.yml new file mode 100644 index 00000000000000..86763657c8f567 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/mechs.yml @@ -0,0 +1,993 @@ +- type: entity + name: AIM «Mauler» + id: MechMaulerReal + description: The Marauder, repainted by the Syndicate, has undergone significant modifications, yet remains the same old good Marauder. + parent: MechMauler + suffix: Mech + components: + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 900: Dead + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 900 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechMaulerDestroyed: + min: 1 + max: 1 + - type: InnateTool + tools: + - id: WeaponLightMachineGunL69000 + - id: WeaponLauncherMultipleRocket9000 + - id: WeaponBFG9000 + - id: JawsOfLifeHarm9000 + - id: WeaponGrenadeFragLauncher9000 + - id: WeaponLightMachineGunL69000 + - type: Damageable + id: MechMauler + - type: IntrinsicRadioReceiver + - type: ActiveRadio + channels: + - Syndicate + - type: IntrinsicRadioTransmitter + channels: + - Syndicate + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechMaulerReal-name + description: ghost-role-information-MechMaulerReal-description + rules: ghost-role-information-MechMaulerReal-rules + +- type: body + id: MechaSilicon + name: "mecha" + root: hand 1 + slots: + hand 1: + part: LeftArmBorg + connections: + - hand 2 + hand 2: + part: LeftArmBorg + connections: + - hand 3 + hand 3: + part: LeftArmBorg + connections: + - hand 4 + hand 4: + part: RightArmBorg + connections: + - hand 5 + hand 5: + part: RightArmBorg + connections: + - hand 6 + hand 6: + part: RightArmBorg + connections: + - hand 7 + hand 7: + part: RightArmBorg + +- type: body + id: DurandSilicon + name: "mecha" + root: hand 1 + slots: + hand 1: + part: LeftArmBorg + connections: + - hand 2 + hand 2: + part: LeftArmBorg + connections: + - hand 3 + hand 3: + part: LeftArmBorg + connections: + - hand 4 + hand 4: + part: RightArmBorg + connections: + - hand 5 + hand 5: + part: RightArmBorg + connections: + - hand 6 + hand 6: + part: RightArmBorg + connections: + - hand 7 + hand 7: + part: RightArmBorg + +- type: entity + noSpawn: true + name: mauler + id: MechMauler + parent: PlayerSiliconBase + suffix: Mech + components: + - type: IntrinsicRadioReceiver + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.45 + density: 1000 + mask: + - MobMask + layer: + - MobLayer + - type: Physics + bodyType: Dynamic + - type: Body + prototype: Drone + - type: MeleeWeapon + hidden: true + attackRate: 0.75 + damage: + types: + Blunt: 25 #thwack + Structural: 20 + - type: TypingIndicator + proto: robot + - type: Actions + - type: MobMover + - type: InputMover + - type: UnpoweredFlashlight + toggleAction: + name: action-name-toggle-light + description: action-description-toggle-light + icon: { sprite: Objects/Tools/flashlight.rsi, state: flashlight } + iconOn: Objects/Tools/flashlight.rsi/flashlight-on.png + event: !type:ToggleActionEvent + - type: PointLight + color: red + enabled: false + radius: 8 + softness: 1 + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + - type: MovementIgnoreGravity + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - CannotSuicide + - type: Puller + needsHands: false + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: MovementSpeedModifier + baseWalkSpeed : 2 + baseSprintSpeed : 2 + - type: Repairable + fuelcost: 60 + doAfterDelay: 40 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 600: Dead + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: mauler + sprite: Objects/Specific/Mech/mecha.rsi + - type: Appearance + - type: CombatMode + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechMaulerDestroyed: + min: 1 + max: 1 + - type: Access + groups: + - AllAccess + - type: StaticPrice + price: 10000 + +- type: entity + id: MechMaulerDestroyed + parent: PlayerSiliconBase + name: Broken Syndicate AIM "Mauler" + description: It won't fire anymore, now it's a pile of metal and microchips. Use its remains as you see fit. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: mauler-broken + netsync: false + - type: Physics + bodyType: KinematicController + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.45 + density: 1000 + mask: + - MobMask + layer: + - MobLayer + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 2000: Dead + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 2000 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + SheetPlasteel1: + min: 5 + max: 20 + SheetSteel1: + min: 10 + max: 60 + - type: StaticPrice + price: 1000 +#---------------------------------------------------------------------------- + +- type: entity + name: APC "Marauder" + description: Armored Infantry Mech "Marauder." Utilized by NT forces in various combat spheres. + id: MechMarauder + parent: MechMauler + components: + - type: PointLight + color: cyan + - type: InnateTool + tools: + - id: WeaponAS2Ultra9000 + - id: WeaponShotgunEnforcer9000 + - id: JawsOfLifeHarm9000 + - id: WeaponXrayCannon9000 + - id: WeaponLauncherMultipleRocket9000 + - id: WeaponPulseRifle9000 + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: marauder + sprite: Objects/Specific/Mech/mecha.rsi + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechMarauder-name + description: ghost-role-information-MechMarauder-description + rules: ghost-role-information-MechMarauder-rules + - type: ActiveRadio + channels: + - CentCom + - type: IntrinsicRadioTransmitter + channels: + - CentCom + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 600 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechMarauderDestroyed: + min: 1 + max: 1 + +- type: entity + id: MechMarauderDestroyed + parent: MechMaulerDestroyed + name: Broken Armored Infantry Mech "Marauder" + description: It won't fire anymore, now it's just a pile of metal and circuits. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: marauder-broken + netsync: false + + + +#---------------------------------------------------------------------------- + + + +- type: entity + name: SABM "Gaigex" + description: Repainted by the Syndicate, the Armored Battle Mechanoid "Gaigex" is battered and heavily worn, yet still operational in its standard mode. Just like from the last corporate war. + id: MechDarkGygax + parent: MechMauler + components: + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechDarkGygax-name + description: ghost-role-information-MechDarkGygax-description + rules: ghost-role-information-MechDarkGygax-rules + - type: InnateTool + tools: + - id: WeaponLightMachineGunL69000 + - id: WeaponShotgunEnforcer9000 + - id: EnergySword + - id: JawsOfLifeHarm9000 + - id: WeaponLauncherMultipleRocket9000 + - id: WeaponLightMachineGunL69000 + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: darkgygax + sprite: Objects/Specific/Mech/mecha.rsi + - type: ActiveRadio + channels: + - Syndicate + - type: IntrinsicRadioTransmitter + channels: + - Syndicate + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechDarkGygaxDestroyed: + min: 1 + max: 1 + +- type: entity + id: MechDarkGygaxDestroyed + parent: MechMaulerDestroyed + name: Broken Syndicate Armored Battle Mechanoid "Gaigex" + description: It won't help anymore in the right moment, you can assemble a table from it, it will be grateful. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: darkgygax-broken + netsync: false + + + +#---------------------------------------------------------------------------- + +- type: entity + name: ACM «Seraphim» + description: Armored Command Mech "Seraphim." This is a special model used exclusively by high-ranking military personnel. + id: MechSeraph + parent: MechMauler + components: + - type: PointLight + color: cyan + - type: InnateTool + tools: + - id: WeaponPulseRifle9000 + - id: WeaponBFG9000 + - id: JawsOfLifeHarm9000 + - id: WeaponAS2Ultra9000 + - id: WeaponLauncherRocket9000 + - id: WeaponGrenadeFragLauncher9000 + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: seraph + sprite: Objects/Specific/Mech/mecha.rsi + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechSeraph-name + description: ghost-role-information-MechSeraph-description + rules: ghost-role-information-MechSeraph-rules + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 400: Dead + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechSeraphDestroyed: + min: 1 + max: 1 + +- type: entity + id: MechSeraphDestroyed + parent: MechMaulerDestroyed + name: Broken Armored Command Mech "Seraphim" + description: He orchestrated his final massacre, don't let him fall into the hands of the Syndicate! + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: seraph-broken + netsync: false + + + +#---------------------------------------------------------------------------- + +- type: entity + id: MechDurandDestroyed + parent: MechMaulerDestroyed + name: Broken PMV "Durand" Combat Mechanoid. + description: Unable to patrol anymore, but he will serve as a not-so-lively shield. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: durand-broken + netsync: false + +- type: entity + parent: BoxHandcuff + id: BoxHandcuffDurand + components: + - type: Item + size: 40 + - type: Storage + capacity: 60 + whitelist: + tags: + - Handcuffs + +- type: entity + name: PMV "Durand" + description: An outdated third-generation combat mechanoid, PMV "Durand," utilized by the United Earth Government. + id: MechDurand + parent: MechMauler + components: + - type: PointLight + color: green + - type: InnateTool + tools: + - id: WeaponFireExtinguisher9000 + - id: WeaponGrenadeLauncher9000 + - id: JawsOfLifeHarm9000 + - id: WeaponAS2Ultra9000 + - id: BoxHandcuff + - id: WeaponTaser9000 + - type: Body + prototype: DurandSilicon + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: durand + sprite: Objects/Specific/Mech/mecha.rsi + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechDurand-name + description: ghost-role-information-MechDurand-description + rules: ghost-role-information-MechDurand-rules + - type: ActiveRadio + channels: + - Common + - Security + - type: IntrinsicRadioTransmitter + channels: + - Common + - Security + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechDurandDestroyed: + min: 1 + max: 1 + +#---------------------------------------------------------------------------- + +- type: entity + id: MechGygaxDestroyed + parent: MechMaulerDestroyed + name: AISM Mech Pod "Gaigex". + description: He won't be of help in critical moments anymore; you can repurpose him into a table, and he'll be appreciative. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: gygax-broken + netsync: false + +- type: entity + name: БПМП «Гайгэкс» + description: Armored Infantry Support Mechanoid "Gaigex," one of the older models but well-established. Used by NanoTrasen as a secondary support mechanoid. + id: MechGygax + parent: MechMauler + components: + - type: PointLight + color: green + - type: InnateTool + tools: + - id: WeaponAS2Ultra9000 + - id: WeaponShotgunEnforcer9000 + - id: JawsOfLifeHarm9000 + - id: WeaponTaser9000 + - id: WeaponLauncherMultipleRocket9000 + - id: WeaponLaserCHPS9000 + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: gygax + sprite: Objects/Specific/Mech/mecha.rsi + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechGygax-name + description: ghost-role-information-MechGygax-description + rules: ghost-role-information-MechGygax-rules + - type: ActiveRadio + channels: + - CentCom + - type: IntrinsicRadioTransmitter + channels: + - CentCom + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechGygaxDestroyed: + min: 1 + max: 1 + +#---------------------------------------------------------------------------- + +- type: entity + name: SABMS "H.O.N.K." + description: Praise the greatness of the mighty Honkmother with this mech! HONK! + id: MechDarkHonker + parent: MechMauler + components: + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechDarkHonker-name + description: ghost-role-information-MechDarkHonker-description + rules: ghost-role-information-MechDarkHonker-rules + - type: InnateTool + tools: + - id: WeaponBikeHorn9000 + - id: WeaponLightMachineGunL69000 + - id: ToyHammer + - id: JawsOfLifeHarm9000 + - id: WeaponBananaPeelLauncher9000 + - id: WeaponBananaPeelMineLauncher9000 + - type: ActiveRadio + channels: + - Syndicate + - type: IntrinsicRadioTransmitter + channels: + - Syndicate + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: darkhonker + sprite: Objects/Specific/Mech/mecha.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechDarkHonkerDestroyed: + min: 1 + max: 1 + +- type: entity + id: MechDarkHonkerDestroyed + parent: MechMaulerDestroyed + name: Broken Syndicate Armored Battle Mechanoid "Honk". + description: Given your current state, you've reached a pun. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: darkhonker-broken + netsync: false + +#---------------------------------------------------------------------------- + +- type: entity + name: Odysseus + description: With this mechanoid, if you put in the effort, you can save countless lives. + id: MechOdysseus + parent: MechMauler + components: + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechOdysseus-name + description: ghost-role-information-MechOdysseus-description + rules: ghost-role-information-MechOdysseus-rules + - type: PointLight + color: cyan + - type: InnateTool + tools: + - id: HyposprayPromisliniy9000 + - id: JawsOfLifeHarm9000 + - id: HandheldCrewMonitor + - id: ClothingBackpackSatchelMedical + - id: HandheldHealthAnalyzer + - type: Strap + position: Stand + buckleOffset: "0,0.15" + - type: MovementSpeedModifier + baseWalkSpeed : 3 + baseSprintSpeed : 3 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.45 + density: 1000 + mask: + - MobMask + layer: + - MobLayer + - type: ActiveRadio + channels: + - Common + - Medical + - type: IntrinsicRadioTransmitter + channels: + - Common + - Medical + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: odysseus + sprite: Objects/Specific/Mech/mecha.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechOdysseusDestroyed: + min: 1 + max: 1 + +- type: entity + id: MechOdysseusDestroyed + parent: MechMaulerDestroyed + name: Broken Civilian Medical Mech "Odyssey". + description: already healed the last crew member, from now on, they are a beautiful decoration. + components: + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.45 + density: 500 + mask: + - MobMask + layer: + - MobLayer + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: odysseus-broken + netsync: false + +#---------------------------------------------------------------------------- + +- type: entity + name: ATME "Hauler". + description: Autonomous Traction Mechanized Unit "Hauler" + id: MechHauler + parent: MechMauler + components: + - type: Body + prototype: MechaSilicon + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechHauler-name + description: ghost-role-information-MechHauler-description + rules: ghost-role-information-MechHauler-rules + - type: PointLight + enabled: false + radius: 10 + energy: 2.5 + offset: "0, 0.2" + color: "#f08635" + mask: /Textures/Effects/LightMasks/cone.png + - type: InnateTool + tools: + - id: ClothingBackpackSatchelEngineering + - id: trayScanner + - id: JawsOfLifeHarm9000 + - id: Omnitool + - id: WelderExperimental + - id: HandheldStationMap + - type: ActiveRadio + channels: + - Common + - Engineering + - type: IntrinsicRadioTransmitter + channels: + - Common + - Engineering + - type: Sprite + drawdepth: Mobs + netsync: false + layers: + - state: hauler + sprite: Objects/Specific/Mech/mecha.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechHaulerDestroyed: + min: 1 + max: 1 + +- type: entity + id: MechHaulerDestroyed + parent: MechMaulerDestroyed + name: Broken ATME "Hauler" + description: He's worked too much. Finish the tasks for him, he's occupied with nothing now. + components: + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.45 + density: 500 + mask: + - MobMask + layer: + - MobLayer + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: hauler-broken + netsync: false + +#---------------------------------------------------------------------------- + +- type: entity + name: ATMU "Clark" + id: MechClarke + parent: MechMauler + description: Autonomous Traction Mechanized Unit "Clark". + components: + - type: GhostTakeoverAvailable + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-MechClarke-name + description: ghost-role-information-MechClarke-description + rules: ghost-role-information-MechClarke-rules + - type: Body + prototype: ClarkeSilicon + - type: InnateTool + tools: + - id: JawsOfLifeHarm9000 + - id: OreBag + - id: MechaDrill9000 + - id: MechaAnalyzer9000 + - type: ActiveRadio + channels: + - Common + - Supply + - type: IntrinsicRadioTransmitter + channels: + - Common + - Supply + - type: PointLight + color: yellow + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Effects/Vehicle/vehicleengineidle.ogg + params: + volume: 15 + maxdistance: 20 + - type: AmbientSound + volume: -15 + range: 5 + sound: + path: /Audio/Ambience/Objects/server_fans.ogg + - type: MovementSpeedModifier + baseWalkSpeed : 2 + baseSprintSpeed : 2 + - type: Sprite + layers: + - state: clarke + sprite: Objects/Specific/Mech/mecha.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MechClarkeDestroyed: + min: 1 + max: 1 +- type: body + id: ClarkeSilicon + name: "mecha" + root: hand 1 + slots: + hand 1: + part: LeftArmBorg + connections: + - hand 2 + hand 2: + part: LeftArmBorg + connections: + - hand 3 + hand 3: + part: LeftArmBorg + connections: + - hand 4 + hand 4: + part: RightArmBorg + connections: + - hand 5 + hand 5: + part: RightArmBorg + +- type: entity + id: MechClarkeDestroyed + parent: MechMaulerDestroyed + name: KSUG "Clark" + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha.rsi + state: clarke-broken + netsync: false diff --git a/Resources/Prototypes/Entities/Objects/Weapons/mech.yml b/Resources/Prototypes/Entities/Objects/Weapons/mech.yml new file mode 100644 index 00000000000000..e810c2cbfa8349 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/mech.yml @@ -0,0 +1,749 @@ +- type: entity + name: Heavy Pulse Carbine M-4 + parent: BaseItem + id: WeaponPulseRifle9000 + description: Mounted Pulse Weapon, operating on the same principle as the handheld Pulse Carbine. Extremely effective against everything. + components: + - type: Sprite + netsync: false + state: mecha_pulse + sprite: Objects/Specific/Mech/mecha_equipment.rsi + - type: Item + size: 80 + - type: AmmoCounter + - type: Gun + maxAngle: 60 + minAngle: 60 + fireRate: 3 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser3.ogg + - type: HitscanBatteryAmmoProvider + proto: Pulse + fireCost: 100 + - type: Battery + maxCharge: 40000 + startingCharge: 40000 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: false + - type: Appearance + - type: MechEquipment + - type: UIFragment + +- type: entity + name: SRM-8 Missile Launcher + parent: BaseWeaponLauncher + id: WeaponLauncherMultipleRocket9000 + description: Mounted Rocket Launcher. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_missilerack + - type: Item + size: 80 + - type: Gun + fireRate: 1 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + - type: AmmoCounter + - type: BallisticAmmoProvider + whitelist: + tags: + - CartridgeRocket + capacity: 10 + proto: CartridgeRocketSlow + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + - type: MagazineVisuals + magState: mag + steps: 1 + zeroVisible: true + - type: Appearance + - type: MechEquipment + - type: UIFragment + +- type: entity + name: SRM-6 Missile Launcher + parent: WeaponLauncherMultipleRocket9000 + id: WeaponLauncherRocket9000 + description: Mounted Rocket Launcher. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_missilerack_six + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + capacity: 20 + proto: CartridgeRocket + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: Mounted Disabler PBT "Enforcer" + parent: BaseItem + id: WeaponTaser9000 + description: Mounted non-lethal disabler, designed to incapacitate perpetrators. + components: + - type: Tag + tags: + - Taser + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_disabler + - type: Gun + maxAngle: 30 + minAngle: 30 + fireRate: 2 + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/taser2.ogg + selectedMode: FullAuto + availableModes: + - FullAuto + - type: ProjectileBatteryAmmoProvider + proto: BulletDisabler + fireCost: 100 + - type: Battery + maxCharge: 20000 + startingCharge: 20000 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Appearance + - type: AmmoCounter + - type: MechEquipment + - type: UIFragment + +- type: entity + name: LBX AC 10 "Salvo" + parent: BaseItem + id: WeaponShotgunEnforcer9000 + description: Mounted firearm that fires shotgun rounds. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_scatter + - type: BallisticAmmoProvider + autoCycle: true + whitelist: + tags: + - ShellShotgun + capacity: 50 + proto: ShellShotgun + soundInsert: + path: /Audio/Weapons/Guns/MagIn/shotgun_insert.ogg + - type: AmmoCounter + - type: Gun + fireRate: 1 + selectedMode: FullAuto + availableModes: + - FullAuto + - type: MechEquipment + - type: UIFragment + - type: ContainerContainer + containers: + ballistic-ammo: !type:Container + ents: [] + +- type: entity + name: Carbine FNX-99 "Aid" + id: WeaponLightMachineGunL69000 + parent: BaseItem + description: Mounted carbine with armor-piercing rounds. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_carbine + - type: Item + size: 80 + - type: Gun + angleIncrease: 4 + angleDecay: 16 + fireRate: 8 + maxAngle: 60 + minAngle: 60 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg + - type: ChamberMagazineAmmoProvider + - type: AmmoCounter + - type: MagazineVisuals + magState: mag + steps: 4 + zeroVisible: true + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazineLightRifleBox9000 + insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg + priority: 2 + whitelist: + tags: + - MagazineLightRifleBox + gun_chamber: + name: Chamber + startingItem: CartridgeLightRifle + priority: 1 + whitelist: + tags: + - CartridgeLightRifle + - type: Appearance + - type: MechEquipment + - type: UIFragment + - type: ContainerContainer + containers: + gun_magazine: !type:ContainerSlot + gun_chamber: !type:ContainerSlot + +- type: entity + name: Magazine for FNX-99 Carbine + parent: MagazineLightRifleBox + id: MagazineLightRifleBox9000 + components: + - type: BallisticAmmoProvider + capacity: 300 + +- type: entity + name: Tesla Cannon P-X + parent: BaseItem + id: WeaponBFG9000 + description: Weapon for combat mechanoids that fires energy spheres, based on the principle of an experimental Tesla engine + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_wholegen + - type: Item + size: 80 + - type: AmmoCounter + - type: Gun + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser_cannon2.ogg + fireRate: 1 + projectileSpeed: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + - type: BallisticAmmoProvider + proto: BFGBullet + capacity: 20 + - type: Appearance + - type: MechEquipment + - type: UIFragment + - type: ContainerContainer + containers: + ballistic-ammo: !type:Container + ents: [] + +- type: entity + name: Incinerator Cannon ZFI + parent: BaseItem + id: WeaponXrayCannon9000 + description: Weapon for combat mechanoids that fires high-temperature beams. + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_ion + - type: Item + size: 80 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Appearance + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser3.ogg + - type: AmmoCounter + - type: HitscanBatteryAmmoProvider + proto: XrayLaser + fireCost: 10 + - type: MechEquipment + - type: UIFragment + +- type: entity + name: Laser "Incinerator" CH-PS + parent: WeaponXrayCannon9000 + id: WeaponLaserCHPS9000 + description: Standard combat armament for mechanoids, a mounted combat laser. + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_laser + - type: Battery + maxCharge: 200000 + startingCharge: 200000 + - type: Gun + maxAngle: 30 + minAngle: 30 + fireRate: 4 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 1000 + +- type: entity + name: SGL-6 Flashbang Grenade Launcher + parent: WeaponLauncherMultipleRocket9000 + id: WeaponGrenadeLauncher9000 + description: Mounted launcher for flashbang grenades. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_grenadelnchr + - type: AmmoCounter + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + whitelist: + tags: + - Grenade + capacity: 20 + proto: GrenadeFlash + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: Mounted fire extinguisher. + parent: BaseItem + id: WeaponFireExtinguisher9000 + description: Mounted fire extinguisher effective in combating slimes. Emits fast, controlled streams of water. + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_exting + - type: Item + size: 80 + - type: SolutionContainerManager + solutions: + spray: + maxVol: 10000 + reagents: + - ReagentId: Water + Quantity: 10000 + - type: RefillableSolution + solution: spray + - type: DrainableSolution + solution: spray + - type: ItemCooldown + - type: Spray + spraySound: + path: /Audio/Effects/extinguish.ogg + sprayedPrototype: ExtinguisherSpray + sprayDistance: 50 + vaporAmount: 7 + vaporSpread: 90 + sprayVelocity: 2.0 + sprayTimeAlive: 9.75 + transferAmount: 20 + impulse: 100.0 + - type: FireExtinguisher + hasSafety: false + - type: Appearance + - type: MechEquipment + - type: UIFragment + +- type: entity + name: SGL-8 Fragmentation Grenade Launcher + parent: WeaponLauncherMultipleRocket9000 + id: WeaponGrenadeFragLauncher9000 + description: Mounted launcher for fragmentation grenades. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_grenadelnchr + - type: AmmoCounter + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + whitelist: + tags: + - Grenade + capacity: 10 + proto: GrenadeFrag + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: AC 2 "Ultra" + id: WeaponAS2Ultra9000 + parent: BaseItem + description: Mounted machine gun. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_uac2 + - type: Item + size: 80 + - type: Gun + angleIncrease: 4 + angleDecay: 16 + fireRate: 5 + maxAngle: 60 + minAngle: 60 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg + - type: ChamberMagazineAmmoProvider + - type: AmmoCounter + - type: MagazineVisuals + magState: mag + steps: 4 + zeroVisible: true + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazineLightRifleBox9000 + insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg + priority: 2 + whitelist: + tags: + - MagazineLightRifleBox + gun_chamber: + name: Chamber + startingItem: CartridgeLightRifle + priority: 1 + whitelist: + tags: + - CartridgeLightRifle + - type: Appearance + - type: MechEquipment + - type: UIFragment + - type: ContainerContainer + containers: + gun_magazine: !type:ContainerSlot + gun_chamber: !type:ContainerSlot + + +- type: entity + name: Magazine for AC 2 "Ultra". + parent: MagazineLightRifleBox + id: MagazineLightRifleBoxAS29000 + components: + - type: BallisticAmmoProvider + capacity: 500 + +- type: entity + name: Mouse Trap Mortar + parent: WeaponLauncherMultipleRocket9000 + id: WeaponMousetrapLauncher9000 + description: Mounted launcher for mouse traps. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_mousetrapmrtr + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + autoCycle: true + whitelist: + tags: + - Grenade + capacity: 100 + proto: Mousetrap + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: Banana Mortar + parent: WeaponLauncherMultipleRocket9000 + id: WeaponBananaPeelLauncher9000 + description: Mounted launcher for banana peels. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_bananamrtr + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + autoCycle: true + whitelist: + tags: + - Grenade + capacity: 100 + proto: TrashBananaPeelOneTime + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: Disposable Banana Peel + parent: TrashBananaPeel + id: TrashBananaPeelOneTime + components: + - type: DeleteOnTrigger + - type: TriggerOnSlip + +- type: entity + parent: BaseItem + id: WeaponBikeHorn9000 + name: HoNkBoOm 5000 + description: Incredibly loud noise emitter. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_honker + - type: ItemCooldown + - type: UseDelay + delay: 0.1 + - type: EmitSoundOnUse + sound: + collection: BikeHorn + params: + volume: 50 + maxdistance: 30 + variation: 0.125 + - type: EmitSoundOnTrigger + sound: + collection: BikeHorn + params: + volume: 50 + maxdistance: 30 + variation: 0.125 + - type: Tag + tags: + - BikeHorn + - type: MeleeWeapon + soundHit: + collection: BikeHorn + params: + volume: 50 + maxdistance: 30 + variation: 0.125 + damage: + types: + Blunt: 0 + - type: Item + size: 80 + - type: Appearance + - type: MechEquipment + - type: UIFragment + +- type: entity + name: Industrial Hypo-Spray + parent: BaseItem + description: Industrial sterile injector for rapid administration of medications to patients. + id: HyposprayPromisliniy9000 + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_taser + - type: SolutionContainerManager + solutions: + hypospray: + maxVol: 20 + - type: RefillableSolution + solution: hypospray + - type: ExaminableSolution + solution: hypospray + - type: Hypospray + - type: UseDelay + delay: 1.0 + +- type: entity + name: Hydraulic Claw + description: Provides the mech with the ability to open doors or hatches. + parent: BaseItem + id: JawsOfLife9000 + components: + - type: ItemCooldown + - type: Tag + tags: + - JawsOfLife + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_clamp + - type: Item + size: 80 + - type: TilePrying + - type: Tool + qualities: + - Prying + speed: 1.5 + useSound: /Audio/Items/jaws_pry.ogg + - type: ToolForcePowered + +- type: entity + parent: JawsOfLife9000 + id: JawsOfLifeHarm9000 + suffix: lethal + components: + - type: MeleeWeapon + damage: + types: + Blunt: 20 + +- type: entity + name: MineBanana Mortar + parent: WeaponLauncherMultipleRocket9000 + id: WeaponBananaPeelMineLauncher9000 + description: Mounted launcher for banana peel projectiles. + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_bananamrtr + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + autoCycle: true + whitelist: + tags: + - Grenade + capacity: 30 + proto: LandMineExplosiveBanana + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: Banana Peel Mine + parent: TrashBananaPeel + id: LandMineExplosiveBanana + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Hydroponics/banana.rsi + state: peel2 + - type: TriggerOnSlip + - type: ExplodeOnTrigger + - type: Explosive + explosionType: Default + maxIntensity: 3 + intensitySlope: 3 + totalIntensity: 30 + canCreateVacuum: false + - type: DeleteOnTrigger + - type: AnimationPlayer + +- type: entity + name: Drill + parent: BaseItem + id: MechaDrill9000 + description: Drill. Stronger, better, faster, more powerful. + components: + - type: Tag + tags: + - Pickaxe + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_drill + damage: + types: + Structural: 200 + sound: /Audio/Effects/saw.ogg + gatheringTime: 0.50 + MaxGatheringEntities: 2 + - type: ItemCooldown + - type: MeleeWeapon + damage: + types: + Structural: 50 + Piercing: 20 + Blunt: 10 + soundHit: + path: /Audio/Effects/saw.ogg + +- type: entity + name: Mining Scanner + parent: BaseItem + id: MechaAnalyzer9000 + description: Device that scans nearby rocks for the presence of valuable minerals. + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_analyzer + - type: RadarConsole + - type: ActivatableUI + key: enum.RadarConsoleUiKey.Key + - type: UserInterface + interfaces: + - key: enum.RadarConsoleUiKey.Key + type: RadarConsoleBoundUserInterface + +- type: entity + id: BFGBullet + name: Bullet BSG + noSpawn: true + parent: BaseBullet + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/magic.rsi + layers: + - state: bluespace + - type: Projectile + ignoreResistances: true + damage: + types: + Brute: 20 + Burn: 20 + Structural: 100 + - type: PointLight + enabled: true + color: "#0000FF" + radius: 5.0 + energy: 4.0