diff --git a/Resources/Prototypes/_NF/Entities/Structures/Shuttles/thrusters.yml b/Resources/Prototypes/_NF/Entities/Structures/Shuttles/thrusters.yml index 0acdafc01a3..eaeb9dfd9a2 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Shuttles/thrusters.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Shuttles/thrusters.yml @@ -1,35 +1,22 @@ - type: entity - id: BaseThrusterSecurity - parent: BaseStructureDynamic - abstract: true + id: ThrusterSecurity + parent: Thruster + suffix: Security components: - - type: AmbientSound - enabled: false - range: 4 - volume: -4 - sound: - path: /Audio/Effects/shuttle_thruster.ogg - - type: Transform - anchored: true - - type: Physics - bodyType: Static - - type: Rotatable - rotateWhileAnchored: true - - type: Thruster - damage: - types: - Heat: 40 - thrusterIgnoreEmp: true - - type: InteractionOutline - - type: Sprite - - type: Appearance - - type: ThrusterVisuals - - type: ApcPowerReceiver - powerLoad: 1500 - - type: ExtensionCableReceiver - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic + - type: Sprite + sprite: _NF/Structures/Shuttles/thrustersecurity.rsi + layers: + - state: base + map: ["enum.ThrusterVisualLayers.Base"] + - state: thrust + map: ["enum.ThrusterVisualLayers.ThrustOn"] + shader: unshaded + visible: false + - state: thrust_burn_unshaded + map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] + shader: unshaded + visible: false + offset: 0, 1 - type: Destructible thresholds: - trigger: @@ -38,32 +25,12 @@ behaviors: - !type:DoActsBehavior acts: ["Destruction"] - - type: StaticPrice - price: 300 - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.45,-0.45,0.45,0.45" - density: 60 - mask: - - MachineMask - layer: - - MidImpassable - - LowImpassable - - BulletImpassable - placement: - mode: SnapgridCenter - type: entity - id: ThrusterSecurity - name: security thruster - parent: [ BaseThrusterSecurity, ConstructibleMachine ] + id: ThrusterSecurityUnanchored + parent: ThrusterUnanchored + suffix: Unanchored, Security components: - - type: Thruster - - type: Machine - board: ThrusterMachineCircuitboard - type: Sprite sprite: _NF/Structures/Shuttles/thrustersecurity.rsi layers: @@ -78,20 +45,60 @@ shader: unshaded visible: false offset: 0, 1 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 600 # Considering we need a lot of thrusters didn't want to make an individual one too tanky + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] - type: entity id: DebugThrusterSecurity - name: security thruster - parent: BaseThrusterSecurity - suffix: DEBUG + parent: DebugThruster + name: thruster + suffix: DEBUG, Security + components: + - type: Sprite + sprite: _NF/Structures/Shuttles/thrustersecurity.rsi + layers: + - state: base + map: ["enum.ThrusterVisualLayers.Base"] + - state: thrust + map: ["enum.ThrusterVisualLayers.ThrustOn"] + shader: unshaded + visible: false + - state: thrust_burn_unshaded + map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] + shader: unshaded + visible: false + offset: 0, 1 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 600 # Considering we need a lot of thrusters didn't want to make an individual one too tanky + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + +- type: entity + id: SmallThruster + parent: Thruster + suffix: Small components: - type: Thruster - requireSpace: false + baseThrust: 33 + thrust: 33 + damage: + types: + Heat: 40 - type: ApcPowerReceiver - needsPower: false - powerLoad: 0 + powerLoad: 500 - type: Sprite - sprite: _NF/Structures/Shuttles/thrustersecurity.rsi + scale: 0.8, 0.8 + sprite: Structures/Shuttles/thruster.rsi layers: - state: base map: ["enum.ThrusterVisualLayers.Base"] @@ -104,20 +111,15 @@ shader: unshaded visible: false offset: 0, 1 + - type: StaticPrice + price: 100 - type: entity id: GyroscopeSecurity - name: security gyroscope - parent: [ BaseThrusterSecurity, ConstructibleMachine ] + parent: Gyroscope + suffix: Security components: - - type: Thruster - thrusterType: Angular - requireSpace: false - baseThrust: 2000 - thrust: 2000 - machinePartThrust: Manipulator - type: Sprite - # Listen I'm not the biggest fan of the sprite but it was the most appropriate thing I could find. sprite: _NF/Structures/Shuttles/gyroscope.rsi snapCardinals: true layers: @@ -134,37 +136,61 @@ map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] shader: unshaded visible: false - - type: PointLight - radius: 1.3 - energy: 0.8 - enabled: false - mask: /Textures/Effects/LightMasks/cone.png - autoRot: true - offset: "0, 0.1" # shine from the top, not bottom of the computer - color: "#4246b3" - - type: Machine - board: GyroscopeMachineCircuitboard - - type: UpgradePowerDraw - powerDrawMultiplier: 0.75 - scaling: Exponential - - type: StaticPrice - price: 2000 + +- type: entity + id: GyroscopeSecurityUnanchored + parent: GyroscopeUnanchored + components: + - type: Sprite + sprite: _NF/Structures/Shuttles/gyroscope.rsi + snapCardinals: true + layers: + - state: base + map: ["enum.ThrusterVisualLayers.Base"] + - state: thrust + map: ["enum.ThrusterVisualLayers.ThrustOn"] + shader: unshaded + visible: false + - state: thrust_burn_unshaded + map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] + shader: unshaded + visible: false - type: entity id: DebugGyroscopeSecurity - name: security gyroscope - parent: BaseThrusterSecurity - suffix: DEBUG + parent: DebugGyroscope + name: gyroscope + suffix: DEBUG, Security + components: + - type: Sprite + sprite: _NF/Structures/Shuttles/gyroscope.rsi + snapCardinals: true + layers: + - state: base + map: ["enum.ThrusterVisualLayers.Base"] + - state: thrust + map: ["enum.ThrusterVisualLayers.ThrustOn"] + shader: unshaded + visible: false + - state: thrust_burn_unshaded + map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] + shader: unshaded + visible: false + +- type: entity + id: SmallGyroscopeSecurity + parent: GyroscopeSecurity + suffix: Security, Small components: - type: Thruster thrusterType: Angular requireSpace: false - baseThrust: 100 - thrust: 100 + baseThrust: 250 + thrust: 250 - type: ApcPowerReceiver - needsPower: false - powerLoad: 0 + powerLoad: 200 - type: Sprite + scale: 0.8, 0.8 sprite: _NF/Structures/Shuttles/gyroscope.rsi snapCardinals: true layers: @@ -180,19 +206,20 @@ visible: false - type: entity - id: SmallGyroscopeSecurity - name: security gyroscope - parent: BaseThrusterSecurity - suffix: small + id: SmallGyroscope + parent: Gyroscope + suffix: Small components: - type: Thruster thrusterType: Angular requireSpace: false baseThrust: 250 thrust: 250 + - type: ApcPowerReceiver + powerLoad: 200 - type: Sprite scale: 0.8, 0.8 - sprite: _NF/Structures/Shuttles/gyroscope.rsi + sprite: Structures/Shuttles/gyroscope.rsi snapCardinals: true layers: - state: base @@ -205,3 +232,5 @@ map: ["enum.ThrusterVisualLayers.ThrustingUnshaded"] shader: unshaded visible: false + - type: StaticPrice + price: 250