- type: entity
  id: CombatMech
  abstract: true
  categories: [ HideSpawnMenu ]
  components:
  - type: Mech
    equipmentWhitelist:
      tags:
      - CombatMech
      - PaddyMech
# 🌟Starlight-start🌟
  - type: Prying
    pryPowered: true
# 🌟Starlight-end🌟

- type: entity
  id: IndustrialMech
  abstract: true
  categories: [ HideSpawnMenu ]
  components:
  - type: Mech
    equipmentWhitelist:
      tags:
      - IndustrialMech

- type: entity
  id: SpecialMech
  abstract: true
  categories: [ HideSpawnMenu ]
  components:
  - type: Mech
    equipmentWhitelist:
      tags:
      - SpecialMech

- type: entity
  id: SmallMech
  abstract: true
  categories: [ HideSpawnMenu ]
  components:
  - type: Mech
    equipmentWhitelist:
      tags:
      - SmallMech

- type: entity
  id: NanotrasenMech
  abstract: true
  categories: [ HideSpawnMenu ]
  components:
  - type: Mech
    firstStart: true
    lowPowerSound:
      path: /Audio/Mecha/lowpowernano.ogg
    nominalSound:
      path: /Audio/Mecha/nominalnano.ogg

- type: entity
  id: SyndieMech
  abstract: true
  categories: [ HideSpawnMenu ]
  components:
  - type: Mech
    firstStart: true
    lowPowerSound:
      path: /Audio/Mecha/lowpowersyndi.ogg
    nominalSound:
      path: /Audio/Mecha/nominalsyndi.ogg
    nominalLongSound:
      path: /Audio/Mecha/longsyndiactivation.ogg
    criticalDamageSound:
      path: /Audio/Mecha/critdestrsyndi.ogg

- type: entity
  id: BaseMech
  save: false
  abstract: true
  components:
  - type: MobMover
  - type: Mech
# 🌟Starlight-start🌟
    batteryWhitelist: 
      tags:
      - MechReactor
# 🌟Starlight-end🌟
  - type: MechAir
  - type: DoAfter
  - type: Repairable
    fuelCost: 25
    doAfterDelay: 10
  - type: UserInterface
    interfaces:
      enum.MechUiKey.Key:
        type: MechBoundUserInterface
  - type: MeleeWeapon
    hidden: true
    attackRate: 0.75
    damage:
      types:
        Blunt: 25 #thwack
        Structural: 20
    soundHit:
      collection: MetalThud
  - type: Puller
    needsHands: false
  - type: InputMover
  - type: InteractionOutline
  - type: MovementSpeedModifier
    baseWalkSpeed: 1
    baseSprintSpeed: 2
  - type: Tag
    tags:
    - DoorBumpOpener
    - FootstepSound
  - type: Pullable
  - type: Physics
    bodyType: KinematicController
  - type: GravityAffected
  - type: Clickable
  - type: WiresPanel
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 1000
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Appearance
  - type: ContainerContainer
    containers:
      mech-pilot-slot: !type:ContainerSlot
      mech-equipment-container: !type:Container
      mech-battery-slot: !type:ContainerSlot
      mech-gas-tank-slot: !type:ContainerSlot
  - type: Damageable
    damageContainer: Inorganic
    damageModifierSet: LightArmor
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/mechmove03.ogg
  - type: GuideHelp
    guides:
    - Robotics
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 1000
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalBreak
      - !type:ChangeConstructionNodeBehavior
        node: start
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: PowerCellDraw
    enabled: false
    drawRate: 0.333333333 #Starlight, delay was 3 seconds per draw
  - type: ActiveInputMover
# 🌟Starlight-start🌟
  - type: Prying
    pryPowered: false
    force: false
    useSound: /Audio/Items/jaws_pry.ogg
# 🌟Starlight-end🌟

# Ripley MK-I
- type: entity
  id: MechRipley
  parent: [ BaseMech, IndustrialMech, BaseCargoContraband ]
  name: Ripley APLU
  description: Versatile and lightly armored, the Ripley is useful for almost any heavy work scenario. The "APLU" stands for Autonomous Power Loading Unit.
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/ripley.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    equipmentWhitelist:
      tags:
      - IndustrialMech
      - RipleyMKIIUpgradeKit
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.75
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 25 #Starlight - Ripley gets to punch, but is *not* safe
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 3.6
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 3
    energy: 5
    enabled: false
  - type: Construction
    graph: RipleyMKIIUpgrade
    node: start
    defaultTarget: ripleymkii

- type: entity
  id: MechRipleyBattery
  parent: MechRipley
  suffix: Battery
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors

# Ripley MK-II
- type: entity
  id: MechRipley2
  parent: [ BaseMech, IndustrialMech, BaseCargoContraband ]
  name: Ripley APLU MK-II
  description: The "MK-II" has a pressurized cabin for space operations, and stronger clamps are able to force doors open, but the added weight has slowed it down. # 🌟Starlight-Change
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/ripleymkii.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    equipmentWhitelist:
      tags:
      - IndustrialMech
      - PaddyUpgradeKit
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
  #Starlight Start
        Blunt: 25 #brought in line with Ripley
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #All mechs walk at the same speed
    baseSprintSpeed: 3.0 #Mk II is still slower, but not unusably slow
  #Starlight End
  - type: Damageable
    damageModifierSet: MediumArmorNT
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 3
    energy: 5
    enabled: false
  - type: Construction
    graph: PaddyUpgrade
    node: start
    defaultTarget: paddy
# 🌟Starlight-start🌟
  - type: Prying
    pryPowered: true
# 🌟Starlight-end🌟

- type: entity
  id: MechRipley2Battery
  parent: MechRipley2
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

# Paddy
- type: entity
  id: MechPaddy
  parent: [ BaseMech, CombatMech, IndustrialMech, BaseSecurityContraband ]
  name: Paddy
  description: Autonomous Power Loader Unit Subtype Paddy. A Modified MK-II Ripley design intended for light security use.
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/paddy.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
    - state: base-sirens
      map: [ "enum.MechVisualLayers.Siren" ]
      shader: unshaded
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    equipmentWhitelist:
      tags:
      - PaddyMech
      - IndustrialMech
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxEquipmentAmount: 4 # 🌟Starlight-Change
    pilotWhitelist:
      components:
        - HumanoidAppearance
    siren: true
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    bluntStaminaDamageFactor: 1.5 # 🌟Starlight-Change
    damage:
      types:
        Blunt: 30 #Decent for a loader, but without the high structural damage of a combat mech. # 
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 4
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 5
    energy: 5
    enabled: false

- type: entity
  id: MechPaddyBattery
  parent: MechPaddy
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

- type: entity
  id: MechPaddyFilled
  parent: MechPaddyBattery
  suffix: Battery, Air, Filled
  components:
  - type: Mech
    startingEquipment:
      - WeaponMechCombatDisabler
      - WeaponMechCombatFlashbangLauncher
#      - MechEquipmentSecGrabber

# Clarke
- type: entity
  id: MechClarke
  parent: [ BaseMech, IndustrialMech, BaseCargoContraband ]
  name: Clarke
  description: A fast-moving mech for space travel. It has built-in trusts.
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/clarke.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 26
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 4.5
  - type: MechThrusters
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 7
    energy: 6
    enabled: false

- type: entity
  id: MechClarkeBattery
  parent: MechClarke
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

# H.O.N.K.
- type: entity
  parent: [ BaseMech, SpecialMech, BaseCivilianContraband ]
  id: MechHonker
  name: H.O.N.K.
  description: "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!"
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/honker.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepClown
      params:
        variation: 0.17
  - type: Mech
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true # Space Honks is real.
    pilotWhitelist:
      components:
      - HumanoidAppearance

- type: entity
  parent: MechHonker
  id: MechHonkerBattery
  suffix: Battery
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors

- type: entity
  parent: MechHonkerBattery
  id: MechHonkerFilled
  suffix: Battery, Filled
  components:
  - type: Mech
    startingEquipment:
      - WeaponMechSpecialBananaMortar
      - WeaponMechSpecialMousetrapMortar
      - MechEquipmentHorn

# HAMTR
- type: entity
  parent: [ BaseMech, SmallMech ]
  id: MechHamtr
  name: HAMTR
  description: "An experimental mech which uses a brain–computer interface to connect directly to a hamsters brain."
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/hamtr.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    maxEquipmentAmount: 2
    airtight: true
    pilotWhitelist:
      tags:
      - Hamster
  - type: MeleeWeapon
    hidden: true
    attackRate: 0.8
    damage:
      types:
        Blunt: 10 #thwack
        Structural: 2
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 3.7

- type: entity
  parent: MechHamtr
  id: MechHamtrBattery
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

# Vim!!!!!!!

- type: entity
  parent: BaseMech
  id: MechVim
  name: Vim
  description: A miniature exosuit from Nanotrasen, developed to let the irreplaceable station pets live a little longer.
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/vim.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.15
        density: 80
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/mechmove03.ogg
      params:
        volume: -10
  - type: Mech
    baseState: base
    openState: base-open
    brokenState: base-broken
    maxEquipmentAmount: 0
    # keep mouse safe
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    pilotWhitelist:
      tags:
      - VimPilot
  - type: MeleeWeapon
    hidden: true
    attackRate: 0.8
    damage:
      types:
        Blunt: 10 #thwack
        Structural: 2
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 3.6
  - type: Access
    tags:
    - Maintenance
  # TOOD: buzz / chime actions
  # TODO: builtin flashlight

- type: entity
  parent: MechVim
  id: MechVimBattery
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

# Combat-Station Mechs

# Gygax
- type: entity
  id: MechGygax
  parent: [ BaseMech, CombatMech, BaseSecurityContraband ]
  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:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/gygax.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxIntegrity: 325
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 30 #THWACK
        Structural: 180
  - type: MovementSpeedModifier
# 🌟Starlight-start🌟
    baseWalkSpeed: 2 #All mechs walk at the same speed
    baseSprintSpeed: 4.0
# 🌟Starlight-end🌟
  - type: Damageable
    damageModifierSet: GygaxArmor
  - type: MechThrusters
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 6
    energy: 5
    enabled: false

- type: entity
  id: MechGygaxBattery
  parent: MechGygax
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

# Durand
- type: entity
  id: MechDurand
  parent: [ BaseMech, CombatMech, BaseSecurityContraband ]
  name: Durand
  description: A slow but beefy combat exosuit that is extra scary in confined spaces due to its punches. Xenos hate it!
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/Mechs/Basic/durand.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: base
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: base
    openState: base-open
    brokenState: base-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxIntegrity: 465
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 40
        Structural: 220
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 2.8 #Starlight - No longer unusably slow
  - type: Damageable
    damageModifierSet: DurandArmor
  - type: MechThrusters
  - type: Repairable
    fuelCost: 30
    doAfterDelay: 15
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 7
    energy: 5
    enabled: false

- type: entity
  id: MechDurandBattery
  parent: MechDurand
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHigh #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

# Nanotrasen Combat Mechs

# Marauder
- type: entity
  id: MechMarauder
  parent: [ BaseMech, CombatMech, BaseCentcommContraband, NanotrasenMech ]
  name: Marauder
  description: Looks like we're all saved. # ERT mech
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/mecha.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: marauder
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: marauder
    openState: marauder-open
    brokenState: marauder-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxIntegrity: 575
    maxEquipmentAmount: 4
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 40
        Structural: 200
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 2.2 #Starlight - No longer unusably slow
  - type: Damageable
    damageModifierSet: HeavyArmorNT
  - type: MechThrusters
  - type: Repairable
    fuelCost: 30
    doAfterDelay: 15

- type: entity
  id: MechMarauderBattery
  parent: MechMarauder
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorHyper #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

- type: entity
  id: MechMarauderFilled
  parent: MechMarauderBattery
  suffix: Battery, Filled
  components:
  - type: Mech
    startingEquipment:
      - WeaponMechChainSword
      - WeaponMechCombatPulseRifle
      - WeaponMechCombatUltraRifle
      - WeaponMechCombatMissileRack8

# Seraph
- type: entity
  id: MechSeraph
  parent: [ BaseMech, CombatMech, BaseCentcommContraband, NanotrasenMech ]
  name: Seraph
  description: That's the last thing you'll see. # Death Squad mech
  components:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/mecha.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: seraph
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: seraph
    openState: seraph-open
    brokenState: seraph-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxIntegrity: 700
    maxEquipmentAmount: 5
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 60
        Structural: 400
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 3.7
  - type: Damageable
    damageModifierSet: HeavyArmorNT
  - type: MechThrusters
  - type: Repairable
    fuelCost: 30
    doAfterDelay: 20

- type: entity
  id: MechSeraphBattery
  parent: MechSeraph
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorAntique #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

- type: entity
  id: MechSeraphFilled
  parent: MechSeraphBattery
  suffix: Battery, Filled
  components:
  - type: Mech
    startingEquipment:
      - WeaponMechChainSword
      - WeaponMechCombatPulseRifle
      - WeaponMechCombatShotgun
      - WeaponMechCombatMissileRack6
      - WeaponMechCombatUltraRifle

# Syndicate Combat Mech

# Dark Gygax
- type: entity
  id: MechGygaxSyndie
  parent: [ BaseMech, CombatMech, BaseSyndicateContraband, SyndieMech ]
  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:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/mecha.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: darkgygax
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: darkgygax
    openState: darkgygax-open
    brokenState: darkgygax-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxIntegrity: 375
    maxEquipmentAmount: 4
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 30
        Structural: 200
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 4.5 # 🌟Starlight-Change - Faster than regular Gygax
  - type: Damageable
    damageModifierSet: MediumArmorSyndi
  - type: MechThrusters
  - type: Repairable
    fuelCost: 40
    doAfterDelay: 20
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 7
    energy: 6
    enabled: false

- type: entity
  id: MechGygaxSyndieBattery
  parent: MechGygaxSyndie
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorMicro #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

- type: entity
  id: MechGygaxSyndieFilled
  parent: MechGygaxSyndieBattery
  suffix: Battery, Filled
  components:
  - type: Mech
    startingEquipment:
      - WeaponMechChainSword
      - WeaponMechCombatShotgun
      - WeaponMechCombatMissileRack8
      - WeaponMechCombatTeslaCannon

# Mauler
- type: entity
  id: MechMaulerSyndie
  parent: [ BaseMech, CombatMech, BaseSyndicateContraband, SyndieMech ]
  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:
  - type: Sprite
    drawdepth: Mobs
    noRot: true
    sprite: Objects/Specific/Mech/mecha.rsi
    layers:
    - map: [ "enum.MechVisualLayers.Base" ]
      state: mauler
  - type: FootstepModifier
    footstepSoundCollection:
      path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
  - type: Mech
    baseState: mauler
    openState: mauler-open
    brokenState: mauler-broken
    mechToPilotDamageMultiplier: 0.0 #Starlight - Mechs are safe
    airtight: true
    maxIntegrity: 550
    maxEquipmentAmount: 5
    pilotWhitelist:
      components:
        - HumanoidAppearance
  - type: MeleeWeapon
    hidden: true
    attackRate: 1
    damage:
      types:
        Blunt: 50
        Structural: 400
  - type: MovementSpeedModifier
    baseWalkSpeed: 2 #Starlight - All mechs walk at the same speed
    baseSprintSpeed: 2.2 #Starlight - No longer unusably slow
  - type: Damageable
    damageModifierSet: MaulerArmor
  - type: MechThrusters
  - type: Repairable
    fuelCost: 50
    doAfterDelay: 25
  - type: PointLight
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    radius: 6
    energy: 5
    color: "#ff0000"
    enabled: false

- type: entity
  id: MechMaulerSyndieBattery
  parent: MechMaulerSyndie
  suffix: Battery, Air
  components:
  - type: ContainerFill
    containers:
      mech-battery-slot:
      - MechReactorMicro #Starlight - MechReactors
      mech-gas-tank-slot:
      - MechAirTankFilled

- type: entity
  id: MechMaulerSyndieFilled
  parent: MechMaulerSyndieBattery
  suffix: Battery, Filled
  components:
  - type: Mech
    startingEquipment:
      - WeaponMechChainSword
      - WeaponMechCombatUltraRifle
      - WeaponMechCombatShotgun
      - WeaponMechCombatMissileRack6
      - WeaponMechCombatTeslaCannon
