diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml index eeae49d8718..ab8e7ec28fa 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml @@ -185,7 +185,7 @@ - type: ContainerFill containers: mech-battery-slot: - - PowerCellHigh + - PowerCellMicroreactor - type: entity parent: [ BaseMech, SpecialMech ] # Goobstation diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 4c9a5397608..8ad55c74716 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -798,7 +798,7 @@ - ModsuitShell - ModsuitPlatingExternal - PowerCageHigh # Goobstation - Powercell to exosuit fab - - ReverseMMI # IPCMMI + - ReverseMMI # - type: EmagLatheRecipes emagDynamicRecipes: - WeaponMechCombatImmolationGun diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Electronics/mech.yml b/Resources/Prototypes/_Encore/Entities/Objects/Electronics/mech.yml new file mode 100644 index 00000000000..db20ba4d375 --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Electronics/mech.yml @@ -0,0 +1,105 @@ +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# Broadsword + +- type: entity + id: BroadswordCentralElectronics + parent: BaseElectronics + name: broadsword central control module + description: The electrical control center for the durand mech. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mainboard + - type: Tag + tags: + - BroadswordCentralControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: BroadswordPeripheralsElectronics + parent: BaseElectronics + name: broadsword peripherals control module + description: The electrical peripherals control for the broadsword mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: id_mod + - type: Tag + tags: + - BroadswordPeripheralsControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: BroadswordTargetingElectronics + parent: BaseElectronics + name: broadsword weapon control and targeting module + description: The electrical targeting control for the broadsword mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mcontroller + - type: Tag + tags: + - BroadswordTargetingControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: FlailCentralElectronics + parent: BaseElectronics + name: flail central control module + description: The electrical control center for the durand mech. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mainboard + - type: Tag + tags: + - FlailCentralControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: FlailPeripheralsElectronics + parent: BaseElectronics + name: flail peripherals control module + description: The electrical peripherals control for the flail mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: id_mod + - type: Tag + tags: + - FlailPeripheralsControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: FlailTargetingElectronics + parent: BaseElectronics + name: flail weapon control and targeting module + description: The electrical targeting control for the flail mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mcontroller + - type: Tag + tags: + - FlailTargetingControlModule + - type: GuideHelp + guides: + - Robotics diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/Weapons/Gun/combat.yml b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/Weapons/Gun/combat.yml new file mode 100644 index 00000000000..66b23528c4d --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/Weapons/Gun/combat.yml @@ -0,0 +1,341 @@ +# SPDX-FileCopyrightText: 2025 ScyronX +# SPDX-FileCopyrightText: 2025 starch +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +#Light Weapons +- type: entity + id: LightMechaAutocannon + name: LAC-29 + description: The everyman's mecha rifle. Chambered in 20mm, with balanced stats to tackle both Armored Frames and do light damage against ships. Fits on Light Hardpoints. + suffix: Mech Weapon, Gun, Combat, Rifle + parent: [ BaseMechWeaponRange, LightMechMountEquipment ] + components: + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: assaultrifle64x32 + - type: Gun + projectileSpeed: 110 + fireRate: 5 + minAngle: 0 + maxAngle: 20 + angleIncrease: 4 + angleDecay: 20 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/_Mono/Weapons/Guns/Gunshots/slammer.ogg + - type: Battery + maxCharge: 180 + - type: ProjectileBatteryAmmoProvider + proto: Bullet20mm_ACPFMJ_Mech + fireCost: 60 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: LightMechaSMG + name: RAC-3 + description: An uncommon choice of weaponry, it consists of a 6 barrelled gatling gun, chambered in .45 ACP. Overwhelms mecha with sheer firerate. Good for CQC. Fits on Light Hardpoints. + suffix: Mech Weapon, Gun, Combat, SMG + parent: [ BaseMechWeaponRange, LightMechMountEquipment ] + components: + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: smg64x32 + - type: Gun + projectileSpeed: 70 + fireRate: 14 + minAngle: 0 + maxAngle: 20 + angleIncrease: 2 + angleDecay: 20 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/minigun.ogg + - type: Battery + maxCharge: 100 + - type: ProjectileBatteryAmmoProvider + proto: Bullet45_ACPFMJ_Mech + fireCost: 20 + + - type: Appearance + - type: AmmoCounter + + +- type: entity + id: LightMechaShotgun + name: SH-35 + description: A large mech-grade shotgun chambered in 0.5 gauge shells, perfect for CQC combat, the firerate leaves much to be desired however. Fits on Light Hardpoints. + suffix: Mech Weapon, Gun, Combat, Shotgun + parent: [ BaseMechWeaponRange, LightMechMountEquipment ] + components: + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: shotgun64x32 + - type: Gun + projectileSpeed: 70 + fireRate: 3 + minAngle: 0 + maxAngle: 30 + angleIncrease: 10 + angleDecay: 5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + - type: Battery + maxCharge: 100 + - type: ProjectileBatteryAmmoProvider + proto: MechPelletShotgunSpread + fireCost: 100 + - type: Appearance + - type: AmmoCounter + +#Medium Weapons +- type: entity + id: MediumMechDMR + name: DMR-49 + description: A heavy duty autocannon chambered in 57mm. General purpose Medium Hardpoint gun. + suffix: Mech Weapon, Gun, Combat, Cannon + parent: [ BaseMechWeaponRange, MediumMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: sniper64x32 + - type: Gun + projectileSpeed: 160 + fireRate: 2 + minAngle: 0 + maxAngle: 10 + angleIncrease: 2 + angleDecay: 10 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/_Mono/Weapons/Guns/Gunshots/uaf_57mm.ogg + - type: Battery + maxCharge: 200 + - type: ProjectileBatteryAmmoProvider + proto: ShipDravonProjectile + fireCost: 200 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: MediumMechCoilgun + name: CL-03 + description: A light coilgun chambered in 3cm sabots. Inflicts minor damage, however spreads the dreaded EMP effect across an area. Needs a Medium Hardpoint. + suffix: Mech Weapon, Gun, Combat, Cannon + parent: [ BaseMechWeaponRange, MediumMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: laserrifle64x32 + - type: Gun + projectileSpeed: 150 + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/ship_perforator.ogg + - type: Battery + maxCharge: 400 + - type: ProjectileBatteryAmmoProvider + proto: MechCoilgunSabot + fireCost: 400 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: MediumMechTOW + name: ASM-55 TOW + description: Repurposed anti-tank missile. Wire guided computer is exchanged for a much more sophisticated targetting system, but the mobility leaves much to be desired. Fits in Medium Hardpoints. + suffix: Mech Weapon, Gun, Combat, Cannon + parent: [ BaseMechWeaponRange, MediumMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: tow64x32 + - type: Gun + projectileSpeed: 50 + fireRate: 1.25 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + - type: Battery + maxCharge: 500 + - type: ProjectileBatteryAmmoProvider + proto: ShipMissileASM302 + fireCost: 500 + - type: Appearance + - type: AmmoCounter + +#Heavy Weapons +- type: entity + id: HeavyMechRPG + name: R3 "Bazooka" Missile System + description: Ground based cruise missile launcher repurposed for mech usage. Guidance systems are all but removed to reduce the size, making the munitions into a glorified rocket. Mounts on Heavy Hardpoints. + suffix: Mech Weapon, Gun, Combat, Missile + parent: [ BaseMechWeaponRange, HeavyMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: rpg64x32 + - type: Gun + fireRate: 0.25 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + - type: Battery + maxCharge: 1000 + - type: ProjectileBatteryAmmoProvider + proto: 280mmRocket + fireCost: 500 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: HeavyMechCannon + name: 120mm "Metronome" + description: A burst fire 120mm cannon, relatively inaccurate, but much longer ranged than the "Bazooka". Mounts on Heavy Hardpoints. + suffix: Mech Weapon, Gun, Combat, Cannon + parent: [ BaseMechWeaponRange, HeavyMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: heavycannon64x32 + - type: Gun + projectileSpeed: 175 + fireRate: 3 + burstFireRate: 3 + shotsPerBurst: 3 + burstCooldown: 5 + minAngle: 0 + maxAngle: 15 + angleIncrease: 10 + angleDecay: 20 + selectedMode: Burst + availableModes: + - Burst + soundGunshot: + path: /Audio/_Mono/Weapons/Guns/Gunshots/120mm_mortar.ogg + - type: Battery + maxCharge: 300 + - type: ProjectileBatteryAmmoProvider + proto: 120mmBulletHE + fireCost: 100 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: HeavyMechProjector + name: RAVAGER-type Plasma Cannon + description: Based on the MARAUDER, the Ravager sacrifices range for rate of fire. Extremely inaccurate, and subpar lensing causes the projectiles to dissipate only a few seconds away. Devastating up close. Fits on Large Hardpoints. + suffix: Mech Weapon, Gun, Combat, EnergyCannon + parent: [ BaseMechWeaponRange, HeavyMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: _Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi + state: flamer64x32 + - type: Gun + projectileSpeed: 80 # marauder is slow dingus... not inaccurate + minAngle: 0 + maxAngle: 30 + fireRate: 3 + angleIncrease: 3 + angleDecay: 15 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser_cannon2.ogg + - type: Battery + maxCharge: 300 + - type: ProjectileBatteryAmmoProvider + proto: MechPlasmaProjectile + fireCost: 50 + - type: Appearance + - type: AmmoCounter + +#Misc Weapons +- type: entity + id: EWACMechaJammer + name: E-58 "Blanket" + description: An extremely specialized jamming tool, fires a volley of flares with extremely large jamming signals to screen an advance. Fits on EWAR Hardpoints. + suffix: Mech Weapon, Gun, Combat, EWAR + parent: [ BaseMechWeaponRange, EWARMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + - type: Gun + projectileSpeed: 20 + fireRate: 0.1 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + - type: Battery + maxCharge: 500 + - type: ProjectileBatteryAmmoProvider + proto: BlanketFlare + fireCost: 500 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: EWACMechaFlares + name: E-58 "Spark" + description: A cheaper alternative to the Blanket, this emitter launches a volley of 5 flares to confuse enemy gunners. Fits on EWAR Hardpoints. + suffix: Mech Weapon, Gun, Combat, EWAR + parent: [ BaseMechWeaponRange, EWARMechMountEquipment ] + components: + - type: MechEquipment + preventFireOnGrid: true + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + - type: Gun + projectileSpeed: 20 + fireRate: 20 + shotsPerBurst: 6 + burstCooldown: 15 + selectedMode: Burst + availableModes: + - Burst + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + - type: Battery + maxCharge: 100 + - type: ProjectileBatteryAmmoProvider + proto: SparkFlare + fireCost: 10 + - type: Appearance + - type: AmmoCounter diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/Weapons/IFF_Packs/IFF.yml b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/Weapons/IFF_Packs/IFF.yml new file mode 100644 index 00000000000..09ef69d2a40 --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/Weapons/IFF_Packs/IFF.yml @@ -0,0 +1,135 @@ +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +- type: entity + id: IFFMechaBlueSquare + name: Blue IFF Mech Strobe SQUARE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaBlueCircle + name: Blue IFF Mech Strobe CIRCLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaBlueTriangle + name: Blue IFF Mech Strobe TRIANGLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaRedSquare + name: Red IFF Mech Strobe SQUARE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaRedCircle + name: Red IFF Mech Strobe CIRCLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaRedTriangle + name: Red IFF Mech Strobe TRIANGLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaYellowSquare + name: Yellow IFF Mech Strobe SQUARE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaYellowCircle + name: Yellow IFF Mech Strobe CIRCLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaYellowTriangle + name: Yellow IFF Mech Strobe TRIANGLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaGreenSquare + name: Green IFF Mech Strobe SQUARE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaGreenCircle + name: Green IFF Mech Strobe CIRCLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla + +- type: entity + id: IFFMechaGreenTriangle + name: Green IFF Mech Strobe TRIANGLE + description: A cheap strobe attached to mechs to give off a certain radar signature. Makes jamming useless. + suffix: Mech Weapon, IFF + parent: [ SpecialMechEquipment, IFFMechMountEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: tesla diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mech_construction.yml b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mech_construction.yml new file mode 100644 index 00000000000..435081c9709 --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mech_construction.yml @@ -0,0 +1,556 @@ +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +#S2 Mechs +- type: entity + id: BaseBroadswordPart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi + +- type: entity + id: BaseBroadswordPartItem + parent: BaseBroadswordPart + abstract: true + components: + - type: Item + size: Ginormous + +- type: entity + parent: BaseBroadswordPart + id: BroadswordHarness + name: broadsword harness + description: The core of the AF-28 "Broadsword". + components: + - type: Appearance + - type: ItemMapper + mapLayers: + broadsword_head+o: + whitelist: + tags: + - BroadswordHead + broadsword_r_arm+o: + whitelist: + tags: + - BroadswordLArm + broadsword_l_arm+o: + whitelist: + tags: + - BroadswordRArm + broadsword_l_leg+o: + whitelist: + tags: + - BroadswordLLeg + broadsword_r_leg+o: + whitelist: + tags: + - BroadswordRLeg + sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: BroadswordChassis + requiredParts: + BroadswordHead: false + BroadswordLArm: false + BroadswordRArm: false + BroadswordLLeg: false + BroadswordRLeg: false + - type: Sprite + state: broadsword_harness+o + noRot: true + +- type: entity + parent: BaseBroadswordPartItem + id: BroadswordHead + name: broadsword head + description: The head of the broadsword. It belongs on the chassis of the mech. + components: + - type: Sprite + state: broadsword_head + - type: Tag + tags: + - BroadswordHead + +- type: entity + parent: BaseBroadswordPartItem + id: BroadswordRArm + name: broadsword right arm + description: The right arm of the broadsword. It belongs on the chassis of the mech. + components: + - type: Sprite + state: broadsword_l_arm + - type: Tag + tags: + - BroadswordRArm + +- type: entity + parent: BaseBroadswordPartItem + id: BroadswordLArm + name: broadsword left arm + description: The left arm of the Clarke. It belongs on the chassis of the mech. + components: + - type: Sprite + state: broadsword_r_arm + - type: Tag + tags: + - BroadswordLArm + +- type: entity + parent: BaseBroadswordPartItem + id: BroadswordLLeg + name: broadsword left leg + description: The left leg of a broadsword. It belongs on the chassis of the mech. + components: + - type: Sprite + state: broadsword_l_leg + - type: Tag + tags: + - BroadswordLLeg + +- type: entity + parent: BaseBroadswordPartItem + id: BroadswordRLeg + name: broadsword right leg + description: The right leg of a broadsword. It belongs on the chassis of the mech. + components: + - type: Sprite + state: broadsword_r_leg + - type: Tag + tags: + - BroadswordRLeg + +- type: entity + id: BroadswordChassis + parent: BaseBroadswordPart + name: broadsword chassis + description: An in-progress construction of the broadsword mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: broadsword + - type: Sprite + noRot: true + state: broadsword0 + - type: Construction + graph: Broadsword + node: start + defaultTarget: broadsword + +- type: entity + parent: BaseBroadswordPart + id: HalberdHarness + name: halberd harness + description: The core of the AF-28-M "Halberd". + components: + - type: Appearance + - type: ItemMapper + mapLayers: + broadsword_head+o: + whitelist: + tags: + - BroadswordHead + broadsword_r_arm+o: + whitelist: + tags: + - BroadswordLArm + broadsword_l_arm+o: + whitelist: + tags: + - BroadswordRArm + broadsword_l_leg+o: + whitelist: + tags: + - BroadswordLLeg + broadsword_r_leg+o: + whitelist: + tags: + - BroadswordRLeg + sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: HalberdChassis + requiredParts: + BroadswordHead: false + BroadswordLArm: false + BroadswordRArm: false + BroadswordLLeg: false + BroadswordRLeg: false + - type: Sprite + state: broadsword_harness+o + noRot: true + +- type: entity + id: HalberdChassis + parent: BaseBroadswordPart + name: halberd chassis + description: An in-progress construction of the halberd mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: broadsword + - type: Sprite + noRot: true + state: broadsword0 + - type: Construction + graph: Halberd + node: start + defaultTarget: halberd + + +- type: entity + parent: BaseBroadswordPart + id: SabreHarness + name: sabre harness + description: The core of the AF-28-G "Sabre". + components: + - type: Appearance + - type: ItemMapper + mapLayers: + broadsword_head+o: + whitelist: + tags: + - BroadswordHead + broadsword_r_arm+o: + whitelist: + tags: + - BroadswordLArm + broadsword_l_arm+o: + whitelist: + tags: + - BroadswordRArm + broadsword_l_leg+o: + whitelist: + tags: + - BroadswordLLeg + broadsword_r_leg+o: + whitelist: + tags: + - BroadswordRLeg + sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: SabreChassis + requiredParts: + BroadswordHead: false + BroadswordLArm: false + BroadswordRArm: false + BroadswordLLeg: false + BroadswordRLeg: false + - type: Sprite + state: broadsword_harness+o + noRot: true + +- type: entity + id: SabreChassis + parent: BaseBroadswordPart + name: sabre chassis + description: An in-progress construction of the sabre mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: broadsword + - type: Sprite + noRot: true + state: broadsword0 + - type: Construction + graph: Sabre + node: start + defaultTarget: sabre + +#S4 Mechs +- type: entity + id: BaseFlailPart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi + +- type: entity + id: BaseFlailPartItem + parent: BaseFlailPart + abstract: true + components: + - type: Item + size: Ginormous + + +- type: entity + parent: BaseFlailPart + id: FlailHarness + name: flail harness + description: The core of the ASF-59 "Flail". + components: + - type: Appearance + - type: ItemMapper + mapLayers: + flail_head+o: + whitelist: + tags: + - FlailHead + flail_r_arm+o: + whitelist: + tags: + - FlailLArm + flail_l_arm+o: + whitelist: + tags: + - FlailRArm + flail_l_leg+o: + whitelist: + tags: + - FlailLLeg + flail_r_leg+o: + whitelist: + tags: + - FlailRLeg + sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: FlailChassis + requiredParts: + FlailHead: false + FlailLArm: false + FlailRArm: false + FlailLLeg: false + FlailRLeg: false + - type: Sprite + state: flail_harness+o + noRot: true + +- type: entity + parent: BaseFlailPartItem + id: FlailHead + name: flail head + description: The head of the flail. It belongs on the chassis of the mech. + components: + - type: Sprite + state: flail_head + - type: Tag + tags: + - FlailHead + +- type: entity + parent: BaseFlailPartItem + id: FlailRArm + name: flail right arm + description: The right arm of the flail. It belongs on the chassis of the mech. + components: + - type: Sprite + state: flail_l_arm + - type: Tag + tags: + - FlailRArm + +- type: entity + parent: BaseFlailPartItem + id: FlailLArm + name: flail left arm + description: The left arm of the flail. It belongs on the chassis of the mech. + components: + - type: Sprite + state: flail_r_arm + - type: Tag + tags: + - FlailLArm + +- type: entity + parent: BaseFlailPartItem + id: FlailLLeg + name: flail left leg + description: The left leg of a flail. It belongs on the chassis of the mech. + components: + - type: Sprite + state: flail_l_leg + - type: Tag + tags: + - FlailLLeg + +- type: entity + parent: BaseFlailPartItem + id: FlailRLeg + name: flail right leg + description: The right leg of a flail. It belongs on the chassis of the mech. + components: + - type: Sprite + state: flail_r_leg + - type: Tag + tags: + - FlailRLeg + +- type: entity + parent: BaseFlailPart + id: SpyglassHarness + name: spyglass harness + description: The core of the ASF-59-E "Spyglass". + components: + - type: Appearance + - type: ItemMapper + mapLayers: + flail_head+o: + whitelist: + tags: + - FlailHead + flail_r_arm+o: + whitelist: + tags: + - FlailLArm + flail_l_arm+o: + whitelist: + tags: + - FlailRArm + flail_l_leg+o: + whitelist: + tags: + - FlailLLeg + flail_r_leg+o: + whitelist: + tags: + - FlailRLeg + sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: SpyglassChassis + requiredParts: + FlailHead: false + FlailLArm: false + FlailRArm: false + FlailLLeg: false + FlailRLeg: false + - type: Sprite + state: flail_harness+o + noRot: true + +- type: entity + parent: BaseFlailPart + id: MaceHarness + name: mace harness + description: The core of the ASF-59-B "Mace". + components: + - type: Appearance + - type: ItemMapper + mapLayers: + flail_head+o: + whitelist: + tags: + - FlailHead + flail_r_arm+o: + whitelist: + tags: + - FlailLArm + flail_l_arm+o: + whitelist: + tags: + - FlailRArm + flail_l_leg+o: + whitelist: + tags: + - FlailLLeg + flail_r_leg+o: + whitelist: + tags: + - FlailRLeg + sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: MaceChassis + requiredParts: + FlailHead: false + FlailLArm: false + FlailRArm: false + FlailLLeg: false + FlailRLeg: false + - type: Sprite + state: flail_harness+o + noRot: true + + + + +- type: entity + id: FlailChassis + parent: BaseFlailPart + name: flail chassis + description: An in-progress construction of the flail mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: flail + - type: Sprite + noRot: true + state: flail0 + - type: Construction + graph: Flail + node: start + defaultTarget: flail + +- type: entity + id: SpyglassChassis + parent: BaseFlailPart + name: spyglass chassis + description: An in-progress construction of the spyglass mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: flail + - type: Sprite + noRot: true + state: flail0 + - type: Construction + graph: Spyglass + node: start + defaultTarget: spyglass + +- type: entity + id: MaceChassis + parent: BaseFlailPart + name: mace chassis + description: An in-progress construction of the mace mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: flail + - type: Sprite + noRot: true + state: flail0 + - type: Construction + graph: Mace + node: start + defaultTarget: mace diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mecha_equipment.yml b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mecha_equipment.yml new file mode 100644 index 00000000000..791fc942874 --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mecha_equipment.yml @@ -0,0 +1,61 @@ +# SPDX-FileCopyrightText: 2025 Ark +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# MONOLITH MECHA EQUIPMENT +- type: entity + id: LightMechMountEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - LightMechMount + - type: StaticPrice + price: 500 + +- type: entity + id: MediumMechMountEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - MediumMechMount + - type: StaticPrice + price: 500 + +- type: entity + id: HeavyMechMountEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - HeavyMechMount + - type: StaticPrice + price: 500 + + +- type: entity + id: EWARMechMountEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - EWARMechMount + - type: StaticPrice + price: 500 + +- type: entity + id: IFFMechMountEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - IFFMechMount + - type: StaticPrice + price: 500 diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mechs.yml b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mechs.yml new file mode 100644 index 00000000000..86a88e8a29f --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Mechs/mechs.yml @@ -0,0 +1,732 @@ +# SPDX-FileCopyrightText: 2025 Avalon +# SPDX-FileCopyrightText: 2025 Ilya246 +# SPDX-FileCopyrightText: 2025 Redrover1760 +# SPDX-FileCopyrightText: 2025 ScyronX +# SPDX-FileCopyrightText: 2025 starch +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# MONOLITH MECH HARDPOINTS +- type: entity + id: LightMechMount + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - LightMechMount + - IFFMechMount + +- type: entity + id: MediumMechMount + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - MediumMechMount + - IFFMechMount + +- type: entity + id: LightMultiroleMount + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - MediumMechMount + - LightMechMount + - IFFMechMount + +- type: entity + id: HeavyMechMount + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - HeavyMechMount + - IFFMechMount + +- type: entity + id: EWARMechMount + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - EWARMechMount + - LightMechMount + - IFFMechMount + + +# S2 Mechas +- type: entity + id: AFInterceptor + parent: [ BaseMech, LightMechMount, BaseRestrictedContraband ] + name: AF-28 "Broadsword" + description: A Curasuan "bully" Armored Frame, originally made for infantry support and later repurposed for police usage. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 0.9 + density: 300 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Mono/Objects/Specific/Mech/mechaS2.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: broadsword + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: broadsword + openState: broadsword-open + brokenState: broadsword-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 3 + airtight: true + maxIntegrity: 2400 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 55 + Structural: 550 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 4800 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 40 + doAfterDelay: 30 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Broadsword + +- type: entity + id: AFInterceptorBattery + parent: AFInterceptor + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellMicroreactor + +- type: entity + id: AFInterceptorM + parent: [ BaseMech, LightMultiroleMount, BaseRestrictedContraband ] + name: AF-28-M "Halberd" + description: A modification of the Broadsword, the Halberd sacrifices armor and speed for heavier weapon mounts. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 0.9 + density: 300 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Mono/Objects/Specific/Mech/mechaS2.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: broadsword + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: broadsword + openState: broadsword-open + brokenState: broadsword-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 3 + airtight: true + maxIntegrity: 1800 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 55 + Structural: 150 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3600 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 0.8 + baseSprintSpeed: 1.1 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 40 + doAfterDelay: 30 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Halberd + - MilitaryMechBounty + +- type: entity + id: AFInterceptorG + parent: [ BaseMech, LightMultiroleMount, BaseRestrictedContraband ] + name: AF-28-G "Sabre" + description: A modification of the Broadsword, the Sabre sacrifices it's jetpack and spaceproof shielding to function on planets. Has two hardpoints, which can carry Light or Medium hardpoints. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 0.9 + density: 300 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Mono/Objects/Specific/Mech/mechaS2.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: broadsword + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: broadsword + openState: broadsword-open + brokenState: broadsword-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 3 + airtight: false + maxIntegrity: 1000 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 55 + Structural: 150 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 2000 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + # Terrible radar, mostly good for navigating planets + - type: RadarConsole + maxRange: 56 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 40 + doAfterDelay: 30 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Sabre + - MilitaryMechBounty + +#4x4 mechas +- type: entity + id: AFFlail + parent: [ BaseMech, HeavyMechMount, BaseRestrictedContraband ] + name: ASF-59 "Flail" + description: An aged, mass-produced and ubiquitous light Armored Frame. Designed for light duties, as far as a forty-ton war machine goes. It has relatively powerful thrusters able to keep it afloat in gravity or space. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 1.1 + density: 600 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Mono/Objects/Specific/Mech/mechaS4.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: flail + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: flail + openState: flail-open + brokenState: flail-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 3 + airtight: true + maxIntegrity: 4000 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 80 + Structural: 550 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 8000 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2 + baseWeightlessModifier: 3 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 60 + doAfterDelay: 40 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Flail + - MilitaryMechBounty + +- type: entity + id: AFFlailBattery + parent: AFFlail + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellMicroreactor + +- type: entity + id: AFFlailE + parent: [ BaseMech, EWARMechMount, BaseRestrictedContraband ] + name: ASF-59-E "Spyglass" + description: An extremely specialized mech based off the Flail Chassis. Uses sophisticated radar systems to provide command and control capabilities, in addition to employing advanced EWAR weaponry. It has very powerful thrusters able to keep it afloat in gravity or space. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 1.1 + density: 600 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Mono/Objects/Specific/Mech/mechaS4.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: flail + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: flail + openState: flail-open + brokenState: flail-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 3 + airtight: true + maxIntegrity: 1850 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 50 + Structural: 550 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 4500 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 768 #It's a radar/EWAC platform. + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2.5 + baseWeightlessModifier: 6 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 60 + doAfterDelay: 40 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Spyglass + - MilitaryMechBounty + +- type: entity + id: AFFlailEBattery + parent: AFFlailE + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellMicroreactor + +- type: entity + id: AFMace + parent: [ BaseMech, HeavyMechMount, BaseRestrictedContraband ] + name: ASF-59-B "Mace" + description: A haphazard refit, sacrificing most plating for costs and flexibility. Due to the power constraints, it can only equip a single weapon, limiting versatility. Fits Heavy Mounts. It lacks any thrusters to maintain flight. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 1.1 + density: 600 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Mono/Objects/Specific/Mech/mechaS4.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: flail + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: flail + openState: flail-open + brokenState: flail-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 2 + airtight: true + maxIntegrity: 2300 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 80 + Structural: 550 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 4000 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 60 + doAfterDelay: 40 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Mace + - MilitaryMechBounty + +- type: entity + id: AFMaceBattery + parent: AFMace + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellMicroreactor + +- type: entity + id: AFStarlight + parent: [ BaseMech, HeavyMechMount, BaseRestrictedContraband ] + name: ASF-7-A "Starlight" + description: A sleek and mean Armored Frame built for agility and turning its pilots into jelly. Has overpowered thrusters and underwhelming armor for its size. Fits Heavy Mounts. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 1.1 + density: 600 + restitution: 0.0 + mask: + - MobMask + layer: + - LargeMobLayer + - MachineLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Encore/Objects/Specific/Mech/starlight.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: starlight + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: starlight + openState: starlight-open + brokenState: starlight-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 2 + airtight: true + maxIntegrity: 3500 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 80 + Structural: 550 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 4000 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 60 + doAfterDelay: 40 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Starlight + - MilitaryMechBounty + +- type: entity + id: AFStarlightBattery + parent: AFStarlight + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellMicroreactor diff --git a/Resources/Prototypes/_Encore/Entities/Objects/Specific/Vehicles/armored.yml b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Vehicles/armored.yml new file mode 100644 index 00000000000..78ebee10a2c --- /dev/null +++ b/Resources/Prototypes/_Encore/Entities/Objects/Specific/Vehicles/armored.yml @@ -0,0 +1,225 @@ +- type: entity + id: IFVStriker + parent: [ BaseMech, HeavyMechMount, BaseRestrictedContraband ] + name: Striker + description: A mid-range armored vehicle designed for work where its contents need to be mostly intact. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 1.2 + density: 600 + restitution: 0.0 + mask: + - LargeMobMask + layer: + - WallLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Encore/Objects/Specific/Vehicle/striker.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: striker + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Effects/Vehicle/vehicleengineidle.ogg + - type: Mech + baseState: striker + openState: striker-open + brokenState: striker-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 2 + airtight: true + maxIntegrity: 2300 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3500 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 2 + baseSprintSpeed: 4 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 60 + doAfterDelay: 40 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Striker + - MilitaryMechBounty + +- type: entity + id: IFVStrikerBattery + parent: IFVStriker + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +- type: entity + id: IFVStrikerFederation + parent: IFVStriker + description: A mid-range armored vehicle designed for work where its contents need to be mostly intact. This one has the markings of a Federation military vehicle. + suffix: (Federation) + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: federationstriker + - map: [ "enum.PaperLabelVisuals.Layer" ] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Effects/Vehicle/vehicleengineidle.ogg + - type: Mech + baseState: federationstriker + openState: federationstriker-open + brokenState: federationstriker-broken + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +- type: entity + id: BTHopper + parent: [ BaseMech, HeavyMechMount, BaseRestrictedContraband ] + name: Hopper + description: A nimble and modern multi-legged armored fighting vehicle. + components: + - type: Fixtures + fixtures: # Custom hitbox + fix1: + shape: + !type:PhysShapeCircle + radius: 1.2 + density: 600 + restitution: 0.0 + mask: + - LargeMobMask + layer: + - WallLayer + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: _Encore/Objects/Specific/Vehicle/hopper.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: hopper + - map: ["enum.PaperLabelVisuals.Layer"] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Effects/Vehicle/vehicleengineidle.ogg + - type: Mech + baseState: hopper + openState: hopper-open + brokenState: hopper-broken + mechToPilotDamageMultiplier: 0 + maxEquipmentAmount: 2 + airtight: true + maxIntegrity: 2300 + pilotWhitelist: + components: + - HumanoidAppearance + - BorgChassis + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 3500 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: start + - !type:DoActsBehavior + acts: ["Destruction"] + - type: RadarConsole + maxRange: 256 + followEntity: true + - type: Appearance + - type: GenericVisualizer + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 3 + baseSprintSpeed: 4.5 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: Repairable + fuelCost: 60 + doAfterDelay: 40 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Hopper + - MilitaryMechBounty + +- type: entity + id: BTHopperBattery + parent: BTHopper + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +- type: entity + id: BTHopperFederation + parent: BTHopper + description: A nimble and modern multi-legged armored fighting vehicle. This one has the markings of a Federation military vehicle. + suffix: (Federation) + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: federationhopper + - map: [ "enum.PaperLabelVisuals.Layer" ] + sprite: Structures/Storage/Crates/labels.rsi + state: paper + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Effects/Vehicle/vehicleengineidle.ogg + - type: Mech + baseState: hopper + openState: hopper-open + brokenState: hopper-broken + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHyper diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml index 9e1882f7cfe..ec21c0cba34 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Ark +# SPDX-FileCopyrightText: 2025 core-mene +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity id: WeaponMechCombatPulseRifle name: eZ-14 mk2 Heavy pulse rifle @@ -180,7 +185,7 @@ soundGunshot: path: /Audio/Weapons/Guns/Gunshots/shotgun.ogg - type: ProjectileBatteryAmmoProvider - proto: ShellShotgun + proto: ShellShotgun12_gaugeBuckshot fireCost: 99 - type: Appearance - type: AmmoCounter @@ -203,7 +208,7 @@ soundGunshot: path: /Audio/Weapons/Guns/Gunshots/shotgun.ogg - type: ProjectileBatteryAmmoProvider - proto: ShellShotgunIncendiary + proto: ShellShotgun12_gaugeIncendiary fireCost: 99 - type: Appearance - type: AmmoCounter @@ -226,7 +231,7 @@ soundGunshot: path: /Audio/Weapons/Guns/Gunshots/shotgun.ogg - type: ProjectileBatteryAmmoProvider - proto: CartridgeLightRifle + proto: Cartridge762x39mmFMJ fireCost: 15 - type: Appearance - type: AmmoCounter @@ -272,7 +277,7 @@ soundGunshot: path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg - type: ProjectileBatteryAmmoProvider - proto: GrenadeBlast + proto: 40mmGrenadeThermobaric fireCost: 100 - type: Appearance - type: AmmoCounter @@ -297,7 +302,7 @@ soundEmpty: path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg - type: ProjectileBatteryAmmoProvider - proto: GrenadeFlash + proto: 40mmGrenadeFlash fireCost: 30 - type: Appearance - type: AmmoCounter diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml index c98fdc92e32..25516be2768 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Ark +# SPDX-FileCopyrightText: 2025 core-mene +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity id: WeaponMechDebugBallistic parent: [ BaseMechWeaponRange, DebugMechEquipment ] # Debug equipment does have all whitelist tags. @@ -26,7 +31,7 @@ path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg - type: AmmoCounter - type: ProjectileBatteryAmmoProvider - proto: CartridgeLightRifle + proto: Cartridge762x39mmFMJ fireCost: 9 - type: MagazineVisuals magState: mag diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml index 85a5aeea01c..95a662ac7f9 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml @@ -13,8 +13,8 @@ wideAnimationRotation: -90 soundHit: path: "/Audio/Weapons/chainsaw.ogg" - attackRate: 0.3 + attackRate: 3.5 damage: types: - Structural: 35 + Structural: 52.5 # 35->52.5 - Mono Piercing: 15 diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml index cf1adcb9785..00a98d0df85 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml @@ -12,18 +12,18 @@ - Pickaxe - IndustrialMech - type: MeleeWeapon - canWideSwing: true + canWideSwing: false autoAttack: true angle: 0 wideAnimationRotation: -90 soundHit: path: "/Audio/Items/drill_hit.ogg" - attackRate: 0.25 # Should be better then a normal drill not worse + attackRate: 3.5 damage: groups: - Brute: 12 # Giant fucking mech drill + Brute: 9 types: - Structural: 50 # Giant fucking mech drill + Structural: 60 # ~10 seconds for solid wall / ~21 secods for reinforced wall - 40->60 - Mono - type: entity id: WeaponMechMeleeDrillDiamond @@ -39,15 +39,15 @@ - Pickaxe - IndustrialMech - type: MeleeWeapon - canWideSwing: true + canWideSwing: false autoAttack: true angle: 0 wideAnimationRotation: -90 soundHit: path: "/Audio/Items/drill_hit.ogg" - attackRate: 0.25 # Should be better then a normal drill not worse + attackRate: 4 damage: groups: - Brute: 24 + Brute: 18 types: - Structural: 100 # Giant fucking mech drill + Structural: 90 # ~3 seconds for solid wall / 9 seconds for reinforced wall - 60->90 - Mono diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml index fb4c6b5deda..23776a76135 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml @@ -1,3 +1,11 @@ +# SPDX-FileCopyrightText: 2025 Ark +# SPDX-FileCopyrightText: 2025 Avalon +# SPDX-FileCopyrightText: 2025 Ilya246 +# SPDX-FileCopyrightText: 2025 Redrover1760 +# SPDX-FileCopyrightText: 2025 starch +# +# SPDX-License-Identifier: AGPL-3.0-or-later + - type: entity id: CombatMech abstract: true @@ -41,7 +49,7 @@ # Ripley MK-II - type: entity id: MechRipley2 - parent: [ BaseMech, IndustrialMech ] + parent: [ BaseMech, IndustrialMech, BaseCargoContraband ] name: Ripley APLU MK-II description: The "MK-II" has a pressurized cabin for space operations, but the added weight has slowed it down. components: @@ -67,6 +75,7 @@ pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -85,7 +94,8 @@ - DoorBumpOpener - FootstepSound - RipleyMkII - + - CivilianMechBounty # Mono + - type: entity id: MechRipley2Battery parent: MechRipley2 @@ -99,7 +109,7 @@ # Clarke - type: entity id: MechClarke - parent: [ BaseMech, IndustrialMech ] + parent: [ BaseMech, IndustrialMech, BaseCargoContraband ] name: Clarke description: A fast-moving mech for space travel. It has built-in trusts. components: @@ -120,11 +130,12 @@ baseState: clarke openState: clarke-open brokenState: clarke-broken - mechToPilotDamageMultiplier: 0.5 + mechToPilotDamageMultiplier: 0.25 # Mono airtight: true pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -134,6 +145,7 @@ - type: MovementSpeedModifier baseWalkSpeed: 2.5 baseSprintSpeed: 4.5 + baseWeightlessModifier: 5 # Mono - type: CanMoveInAir - type: MovementAlwaysTouching - type: StaticPrice @@ -170,7 +182,7 @@ # Gygax - type: entity id: MechGygax - parent: [ BaseMech, CombatMech ] + parent: [ BaseMech, CombatMech, BaseRestrictedContraband ] name: Gygax description: While lightly armored, the Gygax has incredible mobility thanks to its ability that lets it smash through walls at high speeds. components: @@ -191,11 +203,13 @@ baseState: gygax openState: gygax-open brokenState: gygax-broken - mechToPilotDamageMultiplier: 0.3 + mechToPilotDamageMultiplier: 0.1 # Mono + maxIntegrity: 550 # Mono airtight: true pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -204,10 +218,11 @@ Blunt: 25 Structural: 180 - type: CanMoveInAir - - type: MovementAlwaysTouching - - type: MovementSpeedModifier - baseWalkSpeed: 2 - baseSprintSpeed: 2.6 + - type: MovementAlwaysTouching + - type: MovementSpeedModifier # Mono + baseWalkSpeed: 3 + baseSprintSpeed: 4.5 + baseWeightlessModifier: 5 - type: StaticPrice price: 3000 - type: Tag @@ -229,7 +244,7 @@ # Durand - type: entity id: MechDurand - parent: [ BaseMech, CombatMech ] + parent: [ BaseMech, CombatMech, BaseRestrictedContraband ] name: Durand description: A slow but beefy combat exosuit that is extra scary in confined spaces due to its punches. Xenos hate it! components: @@ -252,10 +267,11 @@ brokenState: durand-broken mechToPilotDamageMultiplier: 0.25 airtight: true - maxIntegrity: 400 + maxIntegrity: 800 pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -266,6 +282,7 @@ - type: MovementSpeedModifier baseWalkSpeed: 1.5 baseSprintSpeed: 2 + baseWeightlessModifier: 3 # Mono - type: Damageable damageModifierSet: MediumArmorNT - type: CanMoveInAir @@ -296,7 +313,7 @@ # Marauder - type: entity id: MechMarauder - parent: [ BaseMech, CombatMech ] + parent: [ BaseMech, CombatMech, BaseCentcommContraband ] name: Marauder description: Looks like we're all saved. # ERT mech components: @@ -319,11 +336,12 @@ brokenState: marauder-broken mechToPilotDamageMultiplier: 0.1 airtight: true - maxIntegrity: 500 + maxIntegrity: 1000 maxEquipmentAmount: 4 pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -334,6 +352,7 @@ - type: MovementSpeedModifier baseWalkSpeed: 1 baseSprintSpeed: 1.5 + baseWeightlessModifier: 3 # Mono - type: Damageable damageModifierSet: HeavyArmorNT - type: CanMoveInAir @@ -343,6 +362,10 @@ doAfterDelay: 15 - type: StaticPrice price: 15000 # Some respect if you steal one of these. + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound - type: entity id: MechMarauderBattery @@ -369,7 +392,7 @@ # Seraph - type: entity id: MechSeraph - parent: [ BaseMech, CombatMech ] + parent: [ BaseMech, CombatMech, BaseCentcommContraband ] name: Seraph description: That's the last thing you'll see. # Death Squad mech components: @@ -392,11 +415,12 @@ brokenState: seraph-broken mechToPilotDamageMultiplier: 0.05 airtight: true - maxIntegrity: 550 + maxIntegrity: 1100 maxEquipmentAmount: 5 pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -407,6 +431,7 @@ - type: MovementSpeedModifier baseWalkSpeed: 2.2 baseSprintSpeed: 3.7 + baseWeightlessModifier: 3 # Mono - type: Damageable damageModifierSet: HeavyArmorNT - type: CanMoveInAir @@ -416,6 +441,10 @@ doAfterDelay: 20 - type: StaticPrice price: 30000 # My respects if you manage to steal one of these. + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound - type: entity id: MechSeraphBattery @@ -445,7 +474,7 @@ # Dark Gygax - type: entity id: MechGygaxSyndie - parent: [ BaseMech, CombatMech ] + parent: [ BaseMech, CombatMech, BaseSyndicateContraband ] name: Dark Gygax description: A modified Gygax used for nefarious purposes. On the back of the armor plate there is an inscription "Cybersun Inc." components: @@ -468,11 +497,12 @@ brokenState: darkgygax-broken mechToPilotDamageMultiplier: 0.15 airtight: true - maxIntegrity: 300 + maxIntegrity: 750 maxEquipmentAmount: 4 pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -481,8 +511,9 @@ Blunt: 30 Structural: 200 - type: MovementSpeedModifier - baseWalkSpeed: 2.2 - baseSprintSpeed: 3.7 + baseWalkSpeed: 3.5 # Mono + baseSprintSpeed: 5.5 # Mono + baseWeightlessModifier: 7 # Mono - type: Damageable damageModifierSet: MediumArmorSyndi - type: CanMoveInAir @@ -492,6 +523,10 @@ doAfterDelay: 20 - type: StaticPrice price: 15000 # Some respect if you steal one of these. + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound - type: entity id: MechGygaxSyndieBattery @@ -518,7 +553,7 @@ # Mauler - type: entity id: MechMaulerSyndie - parent: [ BaseMech, CombatMech ] + parent: [ BaseMech, CombatMech, BaseSyndicateContraband ] name: Mauler description: A modified Marauder used by the Syndicate that's not as maneuverable as the Dark Gygax, but it makes up for that in armor and sheer firepower. On the back of the armor plate there is an inscription "Cybersun Inc." components: @@ -546,6 +581,7 @@ pilotWhitelist: components: - HumanoidAppearance + - BorgChassis # Goobstation - Let borgs pilot mechs - type: MeleeWeapon hidden: true attackRate: 1 @@ -565,6 +601,10 @@ doAfterDelay: 25 - type: StaticPrice price: 30000 # Some respect if you steal one of these. + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound - type: entity id: MechMaulerSyndieBattery diff --git a/Resources/Prototypes/_Mono/Recipes/Lathes/mech_boards.yml b/Resources/Prototypes/_Mono/Recipes/Lathes/mech_boards.yml new file mode 100644 index 00000000000..a9fea487b5a --- /dev/null +++ b/Resources/Prototypes/_Mono/Recipes/Lathes/mech_boards.yml @@ -0,0 +1,47 @@ +# SPDX-FileCopyrightText: 2025 starch +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: BroadswordCentralElectronics + categories: + - S2Mechs + result: BroadswordCentralElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: BroadswordPeripheralsElectronics + categories: + - S2Mechs + result: BroadswordPeripheralsElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: BroadswordTargetingElectronics + categories: + - S2Mechs + result: BroadswordTargetingElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: FlailCentralElectronics + categories: + - S4Mechs + result: FlailCentralElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: FlailPeripheralsElectronics + categories: + - S4Mechs + result: FlailPeripheralsElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: FlailTargetingElectronics + categories: + - S4Mechs + result: FlailTargetingElectronics + diff --git a/Resources/Prototypes/_Mono/Recipes/Lathes/mech_parts.yml b/Resources/Prototypes/_Mono/Recipes/Lathes/mech_parts.yml new file mode 100644 index 00000000000..05e2a60947f --- /dev/null +++ b/Resources/Prototypes/_Mono/Recipes/Lathes/mech_parts.yml @@ -0,0 +1,205 @@ +# SPDX-FileCopyrightText: 2025 starch +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# S2 Mechs +- type: latheRecipe + id: BroadswordHarness + result: BroadswordHarness + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 7000 + Glass: 3000 + Plasteel: 3000 + Plastic: 2000 + +- type: latheRecipe + id: BroadswordHead + result: BroadswordHead + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 2500 + Glass: 600 + Uranium: 100 + Plasteel: 500 + Plastic: 300 + +- type: latheRecipe + id: BroadswordLArm + result: BroadswordLArm + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 2000 + Plasteel: 700 + Plastic: 300 + +- type: latheRecipe + id: BroadswordLLeg + result: BroadswordLLeg + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 2000 + Plasteel: 700 + Plastic: 300 + +- type: latheRecipe + id: BroadswordRLeg + result: BroadswordRLeg + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 2200 + Plasteel: 700 + Plastic: 300 + +- type: latheRecipe + id: BroadswordRArm + result: BroadswordRArm + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 2200 + Plasteel: 700 + Plastic: 300 + +- type: latheRecipe + id: HalberdHarness + result: HalberdHarness + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 7000 + Glass: 3000 + Plasteel: 3000 + Plastic: 2000 + +- type: latheRecipe + id: SabreHarness + result: SabreHarness + categories: + - S2Mechs + completetime: 25 + materials: + Steel: 7000 + Glass: 3000 + Plasteel: 3000 + Plastic: 2000 + +#S4 Mechs +- type: latheRecipe + id: FlailHarness + result: FlailHarness + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 12000 + Glass: 3000 + Plasteel: 3000 + Plastic: 3000 + +- type: latheRecipe + id: FlailHead + result: FlailHead + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 5500 + Glass: 250 + Diamond: 200 + Plasteel: 800 + Plastic: 1000 + +- type: latheRecipe + id: FlailLArm + result: FlailLArm + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 4000 + Plasteel: 1000 + Plastic: 1500 + +- type: latheRecipe + id: FlailLLeg + result: FlailLLeg + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 2500 + Plasteel: 1000 + Plastic: 1500 + +- type: latheRecipe + id: FlailRLeg + result: FlailRLeg + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 2500 + Plasteel: 1000 + Plastic: 1500 + +- type: latheRecipe + id: FlailRArm + result: FlailRArm + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 4000 + Plasteel: 1000 + Plastic: 1500 + +- type: latheRecipe + id: SpyglassHarness + result: SpyglassHarness + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 12000 + Glass: 3000 + Plasteel: 3000 + Plastic: 3000 + Diamond: 100 + +- type: latheRecipe + id: MaceHarness + result: MaceHarness + categories: + - S4Mechs + completetime: 40 + materials: + Steel: 12000 + Glass: 3000 + Plasteel: 1500 + Plastic: 3000 + +- type: latheRecipe + id: PowerCageMech + result: PowerCageMech + categories: + - MonoMechGear + completetime: 25 + materials: + Steel: 600 + Glass: 800 + Plastic: 400 + Gold: 100 diff --git a/Resources/Prototypes/_Mono/Recipes/Lathes/mech_weapons.yml b/Resources/Prototypes/_Mono/Recipes/Lathes/mech_weapons.yml new file mode 100644 index 00000000000..95a5b8a62df --- /dev/null +++ b/Resources/Prototypes/_Mono/Recipes/Lathes/mech_weapons.yml @@ -0,0 +1,187 @@ +# SPDX-FileCopyrightText: 2025 starch +# SPDX-FileCopyrightText: 2025 wewman222 +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +#Light Weapons + +- type: latheRecipe + abstract: true + id: BaseMechLightWeapon + categories: + - MonoMechGear + - MonoMechLightWeapons + completetime: 15 + materials: + Steel: 1200 + Plastic: 200 + Plasteel: 500 + Glass: 100 + +- type: latheRecipe + parent: BaseMechLightWeapon + id: LightMechaAutocannon + result: LightMechaAutocannon + +- type: latheRecipe + parent: BaseMechLightWeapon + id: LightMechaSMG + result: LightMechaSMG + +- type: latheRecipe + parent: BaseMechLightWeapon + id: LightMechaShotgun + result: LightMechaShotgun + +#Medium Weapons + +- type: latheRecipe + abstract: true + id: BaseMechMediumWeapon + categories: + - MonoMechGear + - MonoMechMediumWeapons + completetime: 17.5 + materials: + Steel: 1500 + Plastic: 600 + Plasteel: 750 + Glass: 150 + +- type: latheRecipe + parent: BaseMechMediumWeapon + id: MediumMechDMR + result: MediumMechDMR + +- type: latheRecipe + parent: BaseMechMediumWeapon + id: MediumMechCoilgun + result: MediumMechCoilgun + +- type: latheRecipe + parent: BaseMechMediumWeapon + id: MediumMechTOW + result: MediumMechTOW + +#Heavy Weapons + +- type: latheRecipe + abstract: true + id: BaseMechHeavyWeapon + categories: + - MonoMechGear + - MonoMechHeavyWeapons + completetime: 17.5 + materials: + Steel: 3500 + Plastic: 800 + Plasteel: 1000 + Glass: 350 + +- type: latheRecipe + parent: BaseMechHeavyWeapon + id: HeavyMechRPG + result: HeavyMechRPG + +- type: latheRecipe + parent: BaseMechHeavyWeapon + id: HeavyMechCannon + result: HeavyMechCannon + +- type: latheRecipe + parent: BaseMechHeavyWeapon + id: HeavyMechProjector + result: HeavyMechProjector + +- type: latheRecipe + parent: BaseMechHeavyWeapon + id: EWACMechaFlares + result: EWACMechaFlares + materials: + Steel: 3000 + Plastic: 600 + Gold: 200 + Silver: 1500 + +- type: latheRecipe + parent: BaseMechHeavyWeapon + id: EWACMechaJammer + result: EWACMechaJammer + materials: + Steel: 3000 + Plastic: 800 + Gold: 2000 + Silver: 1500 + +# Equipment + +- type: latheRecipe + abstract: true + id: BaseMechIFF + categories: + - MonoMechGear + completetime: 5 + materials: + Steel: 400 + Plastic: 50 + Glass: 50 + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaBlueSquare + result: IFFMechaBlueSquare + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaBlueCircle + result: IFFMechaBlueCircle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaBlueTriangle + result: IFFMechaBlueTriangle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaRedSquare + result: IFFMechaRedSquare + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaRedCircle + result: IFFMechaRedCircle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaRedTriangle + result: IFFMechaRedTriangle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaYellowSquare + result: IFFMechaYellowSquare + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaYellowCircle + result: IFFMechaYellowCircle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaYellowTriangle + result: IFFMechaYellowTriangle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaGreenSquare + result: IFFMechaGreenSquare + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaGreenCircle + result: IFFMechaGreenCircle + +- type: latheRecipe + parent: BaseMechIFF + id: IFFMechaGreenTriangle + result: IFFMechaGreenTriangle diff --git a/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/meta.json b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/meta.json new file mode 100644 index 00000000000..dac4b164f91 --- /dev/null +++ b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/meta.json @@ -0,0 +1,21 @@ +{ + "copyright" : "kyres1 (Github)", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 128, + "y": 128 + }, + "states": [ + { + "name": "starlight", + "directions": 4 + }, + { + "name": "starlight-open" + }, + { + "name": "starlight-broken" + } + ] +} diff --git a/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight-broken.png b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight-broken.png new file mode 100644 index 00000000000..e265a719295 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight-broken.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight-open.png b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight-open.png new file mode 100644 index 00000000000..3a249b62323 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight-open.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight.png b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight.png new file mode 100644 index 00000000000..0fcc499222c Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Mech/starlight.rsi/starlight.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper-broken.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper-broken.png new file mode 100644 index 00000000000..caebaea245b Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper-broken.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper-open.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper-open.png new file mode 100644 index 00000000000..ca1459fcbe7 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper-open.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper.png new file mode 100644 index 00000000000..31683387b2a Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/federationhopper.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper-broken.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper-broken.png new file mode 100644 index 00000000000..fb3421dff62 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper-broken.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper-open.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper-open.png new file mode 100644 index 00000000000..6d6559168d0 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper-open.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper.png new file mode 100644 index 00000000000..3be6583fa7e Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/hopper.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/meta.json b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/meta.json new file mode 100644 index 00000000000..00630979956 --- /dev/null +++ b/Resources/Textures/_Encore/Objects/Specific/Vehicle/hopper.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "copyright" : "kyres1 (Github)", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 128, + "y": 128 + }, + "states": [ + { + "name": "hopper", + "directions": 4 + }, + { + "name": "hopper-open", + "directions": 4 + }, + { + "name": "hopper-broken", + "directions": 4 + }, + { + "name": "federationhopper", + "directions": 4 + }, + { + "name": "federationhopper-open", + "directions": 4 + }, + { + "name": "federationhopper-broken", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker-broken.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker-broken.png new file mode 100644 index 00000000000..71d5956fd34 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker-broken.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker-open.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker-open.png new file mode 100644 index 00000000000..b8b4c3ab8bf Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker-open.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker.png new file mode 100644 index 00000000000..e5870b32ded Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/federationstriker.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/meta.json b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/meta.json new file mode 100644 index 00000000000..cf835697c83 --- /dev/null +++ b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "copyright" : "kyres1 (Github)", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 128, + "y": 128 + }, + "states": [ + { + "name": "striker", + "directions": 4 + }, + { + "name": "striker-open", + "directions": 4 + }, + { + "name": "striker-broken", + "directions": 4 + }, + { + "name": "federationstriker", + "directions": 4 + }, + { + "name": "federationstriker-open", + "directions": 4 + }, + { + "name": "federationstriker-broken", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker-broken.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker-broken.png new file mode 100644 index 00000000000..6ede2ba68be Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker-broken.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker-open.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker-open.png new file mode 100644 index 00000000000..9ce65eee2ad Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker-open.png differ diff --git a/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker.png b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker.png new file mode 100644 index 00000000000..05530ef0bd2 Binary files /dev/null and b/Resources/Textures/_Encore/Objects/Specific/Vehicle/striker.rsi/striker.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword0.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword0.png new file mode 100644 index 00000000000..9d2beac1162 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword0.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword1.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword1.png new file mode 100644 index 00000000000..9d2beac1162 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword1.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword10.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword10.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword10.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword11.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword11.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword11.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword12.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword12.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword12.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword13.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword13.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword13.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword14.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword14.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword14.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword15.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword15.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword15.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword16.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword16.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword16.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword17.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword17.png new file mode 100644 index 00000000000..fa4438ecaa1 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword17.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword2.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword2.png new file mode 100644 index 00000000000..9d2beac1162 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword2.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword3.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword3.png new file mode 100644 index 00000000000..9d2beac1162 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword3.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword4.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword4.png new file mode 100644 index 00000000000..9d2beac1162 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword4.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword5.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword5.png new file mode 100644 index 00000000000..5bd87ff7455 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword5.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword6.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword6.png new file mode 100644 index 00000000000..72da6d0ebf9 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword6.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword7.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword7.png new file mode 100644 index 00000000000..72da6d0ebf9 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword7.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword8.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword8.png new file mode 100644 index 00000000000..72da6d0ebf9 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword8.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword9.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword9.png new file mode 100644 index 00000000000..72da6d0ebf9 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword9.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_chassis.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_chassis.png new file mode 100644 index 00000000000..9d2beac1162 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_chassis.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_harness+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_harness+o.png new file mode 100644 index 00000000000..9ca943e55a5 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_harness+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_harness.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_harness.png new file mode 100644 index 00000000000..9ca943e55a5 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_harness.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_head+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_head+o.png new file mode 100644 index 00000000000..978d3d3dc4f Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_head+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_head.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_head.png new file mode 100644 index 00000000000..a201b48fcb4 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_head.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_arm+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_arm+o.png new file mode 100644 index 00000000000..6e579605cc2 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_arm+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_arm.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_arm.png new file mode 100644 index 00000000000..540bb261d6f Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_arm.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_leg+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_leg+o.png new file mode 100644 index 00000000000..b5936b61ed2 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_leg+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_leg.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_leg.png new file mode 100644 index 00000000000..f5468a9080c Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_l_leg.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_arm+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_arm+o.png new file mode 100644 index 00000000000..468fb81b153 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_arm+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_arm.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_arm.png new file mode 100644 index 00000000000..921fec88919 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_arm.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_leg+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_leg+o.png new file mode 100644 index 00000000000..1dea49f246c Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_leg+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_leg.png b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_leg.png new file mode 100644 index 00000000000..90cd8f79ee9 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/broadsword_r_leg.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/meta.json b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/meta.json new file mode 100644 index 00000000000..c2965dee707 --- /dev/null +++ b/Resources/Textures/_Mono/Objects/Specific/Mech/broadsword_construction.rsi/meta.json @@ -0,0 +1,104 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at https://github.com/tgstation/tgstation/commit/91af16bcbfd2dd363a89d846ae2acd6d655083c2", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "broadsword_chassis" + }, + { + "name": "broadsword_harness" + }, + { + "name": "broadsword_harness+o" + }, + { + "name": "broadsword_head" + }, + { + "name": "broadsword_head+o" + }, + { + "name": "broadsword_r_arm" + }, + { + "name": "broadsword_r_arm+o" + }, + { + "name": "broadsword_l_arm" + }, + { + "name": "broadsword_l_arm+o" + }, + { + "name": "broadsword_r_leg" + }, + { + "name": "broadsword_r_leg+o" + }, + { + "name": "broadsword_l_leg" + }, + { + "name": "broadsword_l_leg+o" + }, + { + "name": "broadsword0" + }, + { + "name": "broadsword1" + }, + { + "name": "broadsword2" + }, + { + "name": "broadsword3" + }, + { + "name": "broadsword4" + }, + { + "name": "broadsword5" + }, + { + "name": "broadsword6" + }, + { + "name": "broadsword7" + }, + { + "name": "broadsword8" + }, + { + "name": "broadsword9" + }, + { + "name": "broadsword10" + }, + { + "name": "broadsword11" + }, + { + "name": "broadsword12" + }, + { + "name": "broadsword13" + }, + { + "name": "broadsword14" + }, + { + "name": "broadsword15" + }, + { + "name": "broadsword16" + }, + { + "name": "broadsword17" + } + ] + } diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail0.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail0.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail0.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail1.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail1.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail1.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail10.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail10.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail10.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail11.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail11.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail11.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail12.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail12.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail12.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail13.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail13.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail13.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail14.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail14.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail14.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail15.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail15.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail15.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail16.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail16.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail16.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail17.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail17.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail17.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail2.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail2.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail2.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail3.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail3.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail3.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail4.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail4.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail4.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail5.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail5.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail5.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail6.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail6.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail6.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail7.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail7.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail7.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail8.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail8.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail8.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail9.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail9.png new file mode 100644 index 00000000000..421cb768387 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail9.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_chassis.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_chassis.png new file mode 100644 index 00000000000..e37d978d69a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_chassis.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_harness+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_harness+o.png new file mode 100644 index 00000000000..15e0baf0dba Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_harness+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_harness.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_harness.png new file mode 100644 index 00000000000..13792fbcfc5 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_harness.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_head+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_head+o.png new file mode 100644 index 00000000000..19c59e01f55 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_head+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_head.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_head.png new file mode 100644 index 00000000000..38b0e383ec5 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_head.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_arm+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_arm+o.png new file mode 100644 index 00000000000..20df7327966 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_arm+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_arm.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_arm.png new file mode 100644 index 00000000000..76694180994 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_arm.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_leg+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_leg+o.png new file mode 100644 index 00000000000..a3b899327b7 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_leg+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_leg.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_leg.png new file mode 100644 index 00000000000..0ce910b7413 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_l_leg.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_arm+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_arm+o.png new file mode 100644 index 00000000000..54a8235d8cf Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_arm+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_arm.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_arm.png new file mode 100644 index 00000000000..f788777bc31 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_arm.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_leg+o.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_leg+o.png new file mode 100644 index 00000000000..cb367735c09 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_leg+o.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_leg.png b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_leg.png new file mode 100644 index 00000000000..e3335b92cf9 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/flail_r_leg.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/meta.json b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/meta.json new file mode 100644 index 00000000000..e8efa881f11 --- /dev/null +++ b/Resources/Textures/_Mono/Objects/Specific/Mech/flail_construction.rsi/meta.json @@ -0,0 +1,104 @@ +{ + "copyright" : "", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 128, + "y": 128 + }, + "states": [ + { + "name": "flail_chassis" + }, + { + "name": "flail_harness" + }, + { + "name": "flail_harness+o" + }, + { + "name": "flail_head" + }, + { + "name": "flail_head+o" + }, + { + "name": "flail_r_arm" + }, + { + "name": "flail_r_arm+o" + }, + { + "name": "flail_l_arm" + }, + { + "name": "flail_l_arm+o" + }, + { + "name": "flail_r_leg" + }, + { + "name": "flail_r_leg+o" + }, + { + "name": "flail_l_leg" + }, + { + "name": "flail_l_leg+o" + }, + { + "name": "flail0" + }, + { + "name": "flail1" + }, + { + "name": "flail2" + }, + { + "name": "flail3" + }, + { + "name": "flail4" + }, + { + "name": "flail5" + }, + { + "name": "flail6" + }, + { + "name": "flail7" + }, + { + "name": "flail8" + }, + { + "name": "flail9" + }, + { + "name": "flail10" + }, + { + "name": "flail11" + }, + { + "name": "flail12" + }, + { + "name": "flail13" + }, + { + "name": "flail14" + }, + { + "name": "flail15" + }, + { + "name": "flail16" + }, + { + "name": "flail17" + } + ] + } diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword-broken.png b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword-broken.png new file mode 100644 index 00000000000..b81100419dc Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword-broken.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword-open.png b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword-open.png new file mode 100644 index 00000000000..a334233ee1b Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword-open.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword.png b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword.png new file mode 100644 index 00000000000..de9e4f6102d Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/broadsword.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/meta.json b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/meta.json new file mode 100644 index 00000000000..8b769733de0 --- /dev/null +++ b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS2.rsi/meta.json @@ -0,0 +1,21 @@ +{ + "copyright" : "", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "broadsword", + "directions": 4 + }, + { + "name": "broadsword-open" + }, + { + "name": "broadsword-broken" + } + ] +} diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail-broken.png b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail-broken.png new file mode 100644 index 00000000000..89368e31fd4 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail-broken.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail-open.png b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail-open.png new file mode 100644 index 00000000000..4c9ee937699 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail-open.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail.png b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail.png new file mode 100644 index 00000000000..e0baa5c6378 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/flail.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/meta.json b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/meta.json new file mode 100644 index 00000000000..bc3100e0fe6 --- /dev/null +++ b/Resources/Textures/_Mono/Objects/Specific/Mech/mechaS4.rsi/meta.json @@ -0,0 +1,21 @@ +{ + "copyright" : "", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 128, + "y": 128 + }, + "states": [ + { + "name": "flail", + "directions": 4 + }, + { + "name": "flail-open" + }, + { + "name": "flail-broken" + } + ] +} diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/assaultrifle64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/assaultrifle64x32.png new file mode 100644 index 00000000000..bf52e265111 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/assaultrifle64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/flamer64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/flamer64x32.png new file mode 100644 index 00000000000..f339deb3f09 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/flamer64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/heavycannon64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/heavycannon64x32.png new file mode 100644 index 00000000000..0b246e192c4 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/heavycannon64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/laserrifle64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/laserrifle64x32.png new file mode 100644 index 00000000000..a1fd04e534d Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/laserrifle64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/meta.json b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/meta.json new file mode 100644 index 00000000000..c9cc126dcd3 --- /dev/null +++ b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/TerraGov-Marine-Corps at https://github.com/tgstation/TerraGov-Marine-Corps/blob/master/icons/mecha/mecha_equipment_64x32.dmi", + "size": { + "x": 64, + "y": 32 + }, + "states": [ + { + "name": "assaultrifle64x32" + }, + { + "name": "heavycannon64x32" + }, + { + "name": "laserrifle64x32" + }, + { + "name": "rpg64x32" + }, + { + "name": "shotgun64x32" + }, + { + "name": "smg64x32" + }, + { + "name": "sniper64x32" + }, + { + "name": "tow64x32" + }, + { + "name": "flamer64x32" + } + ] +} diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/rpg64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/rpg64x32.png new file mode 100644 index 00000000000..898d71cc63c Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/rpg64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/shotgun64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/shotgun64x32.png new file mode 100644 index 00000000000..2f2218d6a63 Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/shotgun64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/smg64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/smg64x32.png new file mode 100644 index 00000000000..7632384756a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/smg64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/sniper64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/sniper64x32.png new file mode 100644 index 00000000000..ed69d2e8ddd Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/sniper64x32.png differ diff --git a/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/tow64x32.png b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/tow64x32.png new file mode 100644 index 00000000000..1635ac4028a Binary files /dev/null and b/Resources/Textures/_Mono/Objects/Specific/Mech/tgmc_mecha_weapons.rsi/tow64x32.png differ