Hardbombs & Defusables (#15380)

Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Just-a-Unity-Dev <just-a-unity-dev@users.noreply.github.com>
Co-authored-by: LankLTE <twlowe06@gmail.com>
Co-authored-by: LankLTE <135308300+LankLTE@users.noreply.github.com>
This commit is contained in:
eclips_e
2023-09-12 09:42:38 +08:00
committed by GitHub
parent 75bf7bc6e8
commit 133ca98655
31 changed files with 1124 additions and 0 deletions

View File

@@ -0,0 +1,156 @@
- type: entity
abstract: true
parent: BaseStructure
id: BaseHardBomb
description: Just keep talking and nobody will explode.
name: hardbomb
components:
- type: Appearance
- type: WiresVisuals
- type: InteractionOutline
- type: UserInterface
interfaces:
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: Wires
LayoutId: Defusable
alwaysRandomize: true
- type: Defusable
- type: Explosive
explosionType: Default
totalIntensity: 20.0
intensitySlope: 5
maxIntensity: 4
- type: ExplodeOnTrigger
- type: OnUseTimerTrigger
delay: 90
delayOptions: [90, 120, 150, 180, 210, 240, 270, 300]
initialBeepDelay: 0
beepSound: /Audio/Machines/Nuke/general_beep.ogg
- type: Anchorable
delay: 5
- type: Physics
bodyType: Static
- type: Transform
noRot: true
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 190
mask:
- MachineMask
layer:
- MachineLayer
- type: WiresPanel
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:ExplodeBehavior
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
- type: GuideHelp
openOnActivation: true
guides:
- Defusal
- type: entity
parent: BaseHardBomb
id: TrainingBomb
name: training bomb
description: A bomb for dummies, manual not included.
components:
- type: Wires
LayoutId: TrainingDefusable
alwaysRandomize: true
- type: Sprite
sprite: Structures/Machines/bomb.rsi
layers:
- state: training-bomb
- state: training-bomb-active
visible: false
map: [ "primed" ]
- state: training-bomb-wires
visible: false
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
- type: GenericVisualizer
visuals:
enum.DefusableVisuals.Active:
primed:
True: { visible: true }
False: { visible: false }
enum.WiresVisualLayers.MaintenancePanel:
enum.WiresVisualLayers.MaintenancePanel:
True: { visible: true }
False: { visible: false }
- type: PointLight
color: "#0063C7"
radius: 1.1
softness: 1
- type: Explosive
explosionType: Default
totalIntensity: 5.0
intensitySlope: 5
maxIntensity: 4
- type: Defusable
disposable: false
- type: entity
parent: BaseHardBomb
id: SyndicateBomb
name: syndicate bomb
description: A bomb for Syndicate operatives and agents alike. The real deal, no more training, get to it!
components:
- type: Sprite
sprite: Structures/Machines/bomb.rsi
layers:
- state: syndicate-bomb
- state: syndicate-bomb-active
visible: false
map: [ "primed" ]
- state: syndicate-bomb-wires
visible: false
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
- type: GenericVisualizer
visuals:
enum.DefusableVisuals.Active:
primed:
True: { visible: true }
False: { visible: false }
enum.WiresVisualLayers.MaintenancePanel:
enum.WiresVisualLayers.MaintenancePanel:
True: { visible: true }
False: { visible: false }
- type: PointLight
color: "#C7001B"
radius: 1.1
softness: 1
- type: Explosive
explosionType: HardBomb
totalIntensity: 4000.0
intensitySlope: 3
maxIntensity: 400
- type: entity
parent: SyndicateBomb
id: DebugHardBomb
name: debug bomb
suffix: DEBUG
description: Holy shit this is gonna explode
components:
- type: Defusable
disposable: true
- type: OnUseTimerTrigger
delay: 10
delayOptions: [10, 20, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300]