diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index b24814f8f6b..90cd37935b5 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -5,6 +5,7 @@ Slash: 0.5 Piercing: 0.7 Shock: 1.2 + Structural: 1.0 flatReductions: Blunt: 5 Heat: 5 @@ -69,6 +70,7 @@ Blunt: 2 Piercing: 0.2 Shock: 0.6 + Structural: 2 flatReductions: Piercing: 10 @@ -81,6 +83,7 @@ Piercing: 0.7 Shock: 2 Heat: 3 + Structural: 1 # Like metallic, but without flat reduction so it can be damaged with fists. - type: damageModifierSet @@ -90,6 +93,7 @@ Slash: 0.5 Piercing: 0.7 Shock: 1.2 + Structural: 1 # Like metallic but very strong to resist most all basic tools and weapons. - type: damageModifierSet @@ -99,6 +103,7 @@ Slash: 0.5 Piercing: 0.7 Shock: 1.2 + Structural: 1 flatReductions: Blunt: 10 Slash: 10 @@ -113,6 +118,7 @@ Piercing: 2.0 Heat: 0.5 Shock: 0 + Structural: 1 flatReductions: Blunt: 5 @@ -124,6 +130,7 @@ Piercing: 1.0 Heat: 0.8 Shock: 0 #glass is an insulator! + Structural: 1 flatReductions: Slash: 5 Piercing: 5 @@ -153,6 +160,7 @@ Slash: 2.0 Piercing: 1.0 Heat: 2.0 + Structural: 1 flatReductions: Blunt: 5 diff --git a/Resources/Prototypes/Entities/Debugging/debug_sweps.yml b/Resources/Prototypes/Entities/Debugging/debug_sweps.yml index 4418e521b90..c682ec32a26 100644 --- a/Resources/Prototypes/Entities/Debugging/debug_sweps.yml +++ b/Resources/Prototypes/Entities/Debugging/debug_sweps.yml @@ -128,4 +128,30 @@ - type: MeleeWeapon damage: types: - Blunt: 200 \ No newline at end of file + Blunt: 200 + +- type: entity + name: Structura stick 200dmg + parent: MeleeDebugGib + id: StructuralDebug200 + components: + - type: Tag + tags: + - Debug + - type: MeleeWeapon + damage: + types: + Structural: 200 + +- type: entity + name: Structura stick 2000dmg + parent: MeleeDebugGib + id: StructuralDebug2000 + components: + - type: Tag + tags: + - Debug + - type: MeleeWeapon + damage: + types: + Structural: 2000 diff --git a/Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml b/Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml index 213ad47d88f..e24c7a03d6c 100644 --- a/Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml +++ b/Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml @@ -35,7 +35,7 @@ - type: Anchorable - type: Pullable - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_assembly.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_assembly.yml index 283c9f22ae5..a899e0cadd0 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_assembly.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_assembly.yml @@ -28,7 +28,7 @@ anchored: true noRot: true - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: RCDDeconstructable cost: 6 @@ -46,4 +46,4 @@ graph: Airlock node: assembly placement: - mode: SnapgridCenter \ No newline at end of file + mode: SnapgridCenter diff --git a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml index 9d193eebe28..431a349116b 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml @@ -18,7 +18,7 @@ - type: InteractionOutline - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: StrongMetallic + damageModifierSet: Metallic - type: RCDDeconstructable cost: 4 delay: 6 diff --git a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/frame.yml b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/frame.yml index 3f4306e4aa1..1d5253b4c00 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/frame.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/frame.yml @@ -23,12 +23,12 @@ node: frame1 - type: InteractionOutline - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: RCDDeconstructable cost: 4 delay: 6 - fx: EffectRCDDeconstruct6 + fx: EffectRCDDeconstruct6 - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml index 2b8a3d889d6..e65d7e30f2f 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml @@ -6,7 +6,7 @@ abstract: true components: - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: PlaceableSurface - type: Fixtures diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml index 2a546bc5cf2..c2a6f5b0e10 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml @@ -22,7 +22,7 @@ layer: - TableLayer - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: IconSmooth key: state @@ -79,7 +79,7 @@ layer: - TableLayer - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Wood - type: IconSmooth key: state @@ -122,7 +122,7 @@ sprite: Structures/Furniture/Tables/frame.rsi state: full - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: IconSmooth key: state @@ -166,7 +166,7 @@ - type: Icon sprite: Structures/Furniture/Tables/generic.rsi - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -414,7 +414,7 @@ - type: Icon sprite: Structures/Furniture/Tables/brass.rsi - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -782,7 +782,7 @@ sprite: Structures/Furniture/Tables/counterwood.rsi state: full - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Wood - type: Destructible thresholds: @@ -825,7 +825,7 @@ sprite: Structures/Furniture/Tables/countermetal.rsi state: full - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml index 499726d9248..fba3420d77e 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/frame.yml @@ -25,7 +25,7 @@ - type: Sprite drawdepth: Objects - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Electronic - type: Destructible thresholds: @@ -109,8 +109,8 @@ volume: -6 - !type:SpawnEntitiesBehavior spawn: - SheetSteel1: - min: 1 - max: 1 + ScrapCircuit1: + min: 4 + max: 6 - !type:DoActsBehavior acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Entities/Structures/Machines/base_structuremachines.yml b/Resources/Prototypes/Entities/Structures/Machines/base_structuremachines.yml index 747dfbca74a..43ab9d326c6 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/base_structuremachines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/base_structuremachines.yml @@ -22,7 +22,7 @@ layer: - MachineLayer - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: diff --git a/Resources/Prototypes/Entities/Structures/Machines/frame.yml b/Resources/Prototypes/Entities/Structures/Machines/frame.yml index 3b3f0402aa2..b3bdd2b5463 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/frame.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/frame.yml @@ -37,7 +37,7 @@ machine_board: !type:Container machine_parts: !type:Container - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -92,7 +92,7 @@ - machine_board - machine_parts - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -141,7 +141,7 @@ graph: Machine node: destroyedMachineFrame - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -151,9 +151,9 @@ behaviors: - !type:SpawnEntitiesBehavior spawn: - SheetSteel1: - min: 1 - max: 3 + ScrapCircuit1: + min: 4 + max: 6 - !type:DoActsBehavior acts: ["Destruction"] - type: Sprite diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/ame.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/ame.yml index d5ceaf4d49c..d612a709498 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/ame.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/ame.yml @@ -35,7 +35,7 @@ layer: - WallLayer - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -45,9 +45,9 @@ behaviors: - !type:SpawnEntitiesBehavior spawn: - SheetSteel1: - min: 1 - max: 1 + ScrapCircuit1: + min: 10 + max: 20 - !type:DoActsBehavior acts: ["Destruction"] - type: Transform @@ -162,7 +162,7 @@ layer: - WallLayer - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -172,9 +172,9 @@ behaviors: - !type:SpawnEntitiesBehavior spawn: - SheetSteel1: - min: 1 - max: 2 + ScrapPlasma1: + min: 4 + max: 6 - !type:DoActsBehavior acts: ["Destruction"] - type: Transform diff --git a/Resources/Prototypes/Entities/Structures/Power/smes.yml b/Resources/Prototypes/Entities/Structures/Power/smes.yml index 635d13fb010..c91d759d55a 100644 --- a/Resources/Prototypes/Entities/Structures/Power/smes.yml +++ b/Resources/Prototypes/Entities/Structures/Power/smes.yml @@ -94,7 +94,7 @@ highVoltageNode: input mediumVoltageNode: output - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: StrongMetallic - type: BatterySensor - type: DeviceNetwork diff --git a/Resources/Prototypes/Entities/Structures/Power/substation.yml b/Resources/Prototypes/Entities/Structures/Power/substation.yml index 7f813658d30..05369285c09 100644 --- a/Resources/Prototypes/Entities/Structures/Power/substation.yml +++ b/Resources/Prototypes/Entities/Structures/Power/substation.yml @@ -57,7 +57,7 @@ supplyRampTolerance: 5000 supplyRampRate: 1000 - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: StrongMetallic - type: PacifismDangerousAttack - type: Destructible diff --git a/Resources/Prototypes/Entities/Structures/Shuttles/thrusters.yml b/Resources/Prototypes/Entities/Structures/Shuttles/thrusters.yml index b28ae3275d2..4329ba5ddb6 100644 --- a/Resources/Prototypes/Entities/Structures/Shuttles/thrusters.yml +++ b/Resources/Prototypes/Entities/Structures/Shuttles/thrusters.yml @@ -201,7 +201,7 @@ powerDrawMultiplier: 0.75 scaling: Exponential - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Electronic - type: StaticPrice price: 2000 diff --git a/Resources/Prototypes/_Crescent/DogtagStore/catalog_SAW.yml b/Resources/Prototypes/_Crescent/DogtagStore/catalog_SAW.yml index f22b0174630..a6e19ec5680 100644 --- a/Resources/Prototypes/_Crescent/DogtagStore/catalog_SAW.yml +++ b/Resources/Prototypes/_Crescent/DogtagStore/catalog_SAW.yml @@ -71,9 +71,20 @@ categories: - StoreCategorySAWGuns +- type: listing + id: StoreListing350cc + name: 350cc 'Breaker' Burst Laser + description: An optimized high energy weapon designed to destroy hull for medium ballistic hardpoints. + icon: { sprite: _Crescent/Objects/Turrets/Laser/absolution.rsi, state: absolution} + productEntity: BaseWeaponTurretBreakerFlatpack + cost: + ScrapSAW: 45 + categories: + - StoreCategorySAWGuns + - type: listing id: StoreListing90mmcannon - name: 90mm 'Resolute' tri-barreled repeater cannon flatpack (DO NOT WORK, SORRY) + name: 90mm 'Resolute' tri-barreled repeater cannon flatpack description: A large machine gun for large hardpoints. icon: { sprite: _Crescent/Objects/Turrets/Projectile/repeater.rsi, state: repeater } productEntity: WeaponTurretLargeMachinegunFlatpack diff --git a/Resources/Prototypes/_Crescent/Entities/Objects/Devices/flatpack.yml b/Resources/Prototypes/_Crescent/Entities/Objects/Devices/flatpack.yml index 4c6461a7ea0..c201542856f 100644 --- a/Resources/Prototypes/_Crescent/Entities/Objects/Devices/flatpack.yml +++ b/Resources/Prototypes/_Crescent/Entities/Objects/Devices/flatpack.yml @@ -1278,6 +1278,20 @@ - type: StaticPrice price: 1000 +- type: entity + parent: BaseFlatpack + id: BaseWeaponTurretBreakerFlatpack + name: 350cc 'Breaker' Burst Laser Flatpack. + description: Parts used to build a 350cc 'Breaker' hardlight cannon. Activate with a multitool to deploy. + components: + - type: Flatpack + entity: WeaponTurretBreakersaw + - type: Sprite + layers: + - state: ame-part + - type: StaticPrice + price: 1000 + - type: entity parent: BaseFlatpack id: BaseWeaponTurretDamnationFlatpack diff --git a/Resources/Prototypes/_Crescent/Entities/Structures/Machines/Computers/consoles.yml b/Resources/Prototypes/_Crescent/Entities/Structures/Machines/Computers/consoles.yml index c7de04fe14a..0fb78e01f11 100644 --- a/Resources/Prototypes/_Crescent/Entities/Structures/Machines/Computers/consoles.yml +++ b/Resources/Prototypes/_Crescent/Entities/Structures/Machines/Computers/consoles.yml @@ -55,7 +55,7 @@ - type: Computer board: C_ShuttleConsoleCircuitboard - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Electronic - type: Destructible thresholds: @@ -88,7 +88,7 @@ sprite: Structures/Machines/computers.rsi state: generic_keys - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Electronic - type: Destructible thresholds: diff --git a/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/projectiles.yml b/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/projectiles.yml index eeec2be306d..8975e4e1801 100644 --- a/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/projectiles.yml +++ b/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/projectiles.yml @@ -152,6 +152,33 @@ layers: - state: laser +- type: entity + id: BulletBreaker + name: focused hardlight bolt + parent: BaseBulletTrigger + categories: [ HideSpawnMenu ] + components: + - type: ProjectilePhasePrevent + - type: ShipWeaponProjectile + - type: Projectile + ignoreWeaponGrid: true + damage: + types: + Structural: 500 + - type: ProjectileIFF + visualType: Circle + color: Red + - type: PointLight + radius: 3.5 + color: blue + energy: 0.5 + - type: TimedDespawn + lifetime: 4 #800m + - type: Sprite + sprite: _Crescent/Objects/Turrets/Ammunition/Projectiles/lasers.rsi + layers: + - state: laser + - type: entity id: BulletDamnation name: heavy hardlight bolt diff --git a/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/turrets.yml b/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/turrets.yml index 176cb62d19f..966cdd5fd38 100644 --- a/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/turrets.yml +++ b/Resources/Prototypes/_Crescent/Entities/Turrets/Laser/turrets.yml @@ -372,6 +372,67 @@ class: Energy size: Medium +- type: entity + parent: BaseTurretShipgun + id: WeaponTurretBreakersaw + suffix: Medium Laser + name: 350cc 'Breaker' Burst Laser + description: A modified medium high energy weapon designed to destroy halls for salvaging. + components: + - type: Sprite + sprite: _Crescent/Objects/Turrets/Laser/absolution.rsi + drawdepth: Mobs + layers: + - state: absolution + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1800 + # TODO: Construction graph + behaviors: + - !type:ChangeConstructionNodeBehavior + node: machineFrame + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + - type: ContainerContainer + containers: + ballistic-ammo: !type:Container + ents: [] + - type: Gun + fireOnDropChance: 0 + projectileSpeed: 20 + burstFireRate: 20 #6.67 effective RPS + burstCooldown: 1 + shotsPerBurst: 20 + selectedMode: Burst + availableModes: + - Burst + angleDecay: 0 + minAngle: 0.1 + maxAngle: 0.25 + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lasergatling.ogg + params: + variation: 0.12 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.125 + rechargeSound: + path: /Audio/Weapons/Guns/Bolt/lmg_bolt_closed.ogg + params: + pitch: 1.5 + variation: 0.08 + - type: BasicEntityAmmoProvider + proto: BulletBreaker + capacity: 120 + count: 120 + - type: ApcPowerReceiver + powerLoad: 4000 + - type: HardpointAnchorableOnly + class: Energy + size: Medium + - type: entity parent: BaseTurretShipgun id: WeaponTurretAbsolutionNavy diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_tabletop.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_tabletop.yml index 4e76c2b9ec5..5f65a39d90b 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_tabletop.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/Computers/frame_tabletop.yml @@ -39,7 +39,7 @@ sprite: Structures/Machines/computers.rsi state: generic_keys - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Electronic - type: Destructible thresholds: @@ -49,12 +49,9 @@ behaviors: - !type:SpawnEntitiesBehavior spawn: - ScrapPlasma: - min: 1 - max: 1 - SteelScrap1: - min: 1 - max: 1 + ScrapCircuit1: + min: 4 + max: 6 - !type:PlaySoundBehavior sound: collection: GlassBreak