ECS damageable (#4529)

* ECS and damage Data

* Comments and newlines

* Added Comments

* Make TryChangeDamageEvent immutable

* Remove SetAllDamage event

Use public SetAllDamage function instead

* Undo destructible mistakes

That was some shit code.

* Rename DamageData to DamageSpecifier

And misc small edits

misc

* Cache trigger prototypes.

* Renaming destructible classes & functions

* Revert "Cache trigger prototypes."

This reverts commit 86bae15ba6616884dba75f552dfdfbe2d1fb6586.

* Replace prototypes with prototype IDs.

* Split damage.yml into individual files

* move get/handle component state to system

* Update HealthChange doc

* Make godmode call Dirty() on damageable component

* Add Initialize() to fix damage test

* Make non-static

* uncache resistance set prototype and trim DamageableComponentState

* Remove unnecessary Dirty() calls during initialization

* RemoveTryChangeDamageEvent

* revert Dirty()

* Fix MobState relying on DamageableComponent.Dirty()

* Fix DisposalUnit Tests.

These were previously failing, but because the async was not await-ed, this never raised the exception.

After I fixed MobState component, this exception stopped happening and instead the assertions started being tested & failing

* Disposal test 2: electric boogaloo

* Fix typos/mistakes

also add comments and fix spacing.

* Use Uids instead of IEntity

* fix merge

* Comments, a merge issue, and making some damage ignore resistances

* Extend DamageSpecifier and use it for DamageableComponent

* fix master merge

* Fix Disposal unit test. Again.

Snapgrids were removed in master

* Execute Exectute
This commit is contained in:
Leon Friedrich
2021-09-15 03:07:37 +10:00
committed by GitHub
parent 22cc42ff50
commit df584ad446
212 changed files with 2876 additions and 3441 deletions

View File

@@ -103,6 +103,8 @@
behaviors:
- !type:LungBehavior {}
# TODO DAMAGE UNITS. Some of these damage effects were scaled up to integers.
# Scale back down when damage units are in.
- type: entity
id: OrganHumanHeart
parent: BaseHumanOrgan
@@ -124,36 +126,40 @@
Arithrazine:
effects:
- !type:HealthChange
damageGroup: Toxin
healthChange: -1
- !type:HealthChange
damageGroup: Brute
healthChange: 0.5
damage:
groups:
Toxin: -2 # -1 Multiplying by 2. pls give damage units
Brute: 1 # 0.5
Bicaridine:
effects:
- !type:HealthChange
damageGroup: Brute
healthChange: -2
damage:
groups:
Brute: -2
Dermaline:
effects:
- !type:HealthChange
damageGroup: Burn
healthChange: -3
damage:
groups:
Burn: -3
Dexalin:
effects:
- !type:HealthChange
damageGroup: Airloss
healthChange: -1
damage:
types:
Asphyxiation: -1
DexalinPlus:
effects:
- !type:HealthChange
damageGroup: Airloss
healthChange: -3
damage:
types:
Asphyxiation: -3
Dylovene:
effects:
- !type:HealthChange
damageGroup: Toxin
healthChange: -1
damage:
types:
Poison: -1
Ephedrine:
effects:
- !type:MovespeedModifier
@@ -162,45 +168,45 @@
HeartbreakerToxin:
effects:
- !type:HealthChange
damageGroup: Airloss
healthChange: 4
damage:
types:
Asphyxiation: 4
Kelotane:
effects:
- !type:HealthChange
damageGroup: Burn
healthChange: -1
- !type:HealthChange
damage:
groups:
Burn: -1
Lexorin:
effects:
- !type:HealthChange
damageGroup: Airloss
healthChange: 7
damage:
groups:
Airloss: 7
Meth:
effects:
- !type:HealthChange
healthChange: 2.5
damageGroup: Toxin
- !type:MovespeedModifier
walkSpeedModifier: 1.3
sprintSpeedModifier: 1.3
- !type:HealthChange
damage:
types:
Poison: 3 # 2.5
- !type:MovespeedModifier
walkSpeedModifier: 1.3
sprintSpeedModifier: 1.3
Omnizine:
effects:
- !type:HealthChange
healthChange: -2
damageGroup: Burn
- !type:HealthChange
healthChange: -2
damageGroup: Toxin
- !type:HealthChange
healthChange: -2
damageGroup: Airloss
- !type:HealthChange
healthChange: -2
damageGroup: Brute
damage:
groups:
Burn: -3 # -2. w/o damage units did not divide into 3 types
Toxin: -2
Airloss: -2
Brute: -3 # -2. w/o damage units did not divide into 3 types
Synaptizine:
effects:
- !type:HealthChange
damageGroup: Toxin
healthChange: 0.5
- !type:HealthChange
damage:
types:
Poison: 1 # 0.5 pls damage units
- type: entity
id: OrganHumanStomach
@@ -261,8 +267,9 @@
effects:
- !type:SatiateThirst
- !type:HealthChange
damageGroup: Toxin
healthChange: 1
damage:
types:
Poison: 1
JuiceWatermelon:
effects:
- !type:SatiateThirst
@@ -306,8 +313,9 @@
- !type:SatiateThirst
hydrationFactor: 2
- !type:HealthChange
damageGroup: Toxin
healthChange: 1
damage:
types:
Poison: 1
- type: entity
id: OrganHumanLiver

View File

@@ -5,6 +5,9 @@
parent: BaseItem
name: "human body part"
abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: entity
id: TorsoHuman
@@ -29,10 +32,6 @@
- OrganHumanLiver
- OrganHumanKidneys
- type: BiologicalSurgeryData
- type: Damageable
# TODO BODY DettachableDamageableComponent?
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 100
# deadThreshold: 150
@@ -57,9 +56,6 @@
- OrganHumanBrain
- OrganHumanEyes
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 50
# deadThreshold: 120
- type: Input
@@ -85,9 +81,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
@@ -111,9 +104,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
@@ -137,9 +127,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
@@ -162,9 +149,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
@@ -187,9 +171,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
@@ -215,9 +196,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
@@ -243,9 +221,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
@@ -267,8 +242,5 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60

View File

@@ -4,6 +4,9 @@
parent: BaseItem
name: "slime body part"
abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: entity
id: TorsoSlime
@@ -28,10 +31,6 @@
- OrganHumanLiver
- OrganHumanKidneys
- type: BiologicalSurgeryData
- type: Damageable
# TODO BODY DettachableDamageableComponent?
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 100
# deadThreshold: 150
@@ -56,9 +55,6 @@
- OrganHumanBrain
- OrganHumanEyes
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 50
# deadThreshold: 120
- type: Input
@@ -84,9 +80,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
@@ -110,9 +103,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
@@ -136,9 +126,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
@@ -161,9 +148,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
@@ -186,11 +170,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
speed: 2.6
- type: Extension
@@ -214,9 +193,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
@@ -242,9 +218,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
@@ -266,8 +239,5 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60

View File

@@ -5,7 +5,10 @@
parent: BaseItem
name: "vox body part"
abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: entity
id: TorsoVox
name: "vox torso"
@@ -29,10 +32,7 @@
- OrganHumanLiver
- OrganHumanKidneys
- type: BiologicalSurgeryData
- type: Damageable
# TODO BODY DettachableDamageableComponent?
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 100
# deadThreshold: 150
@@ -57,9 +57,6 @@
- OrganHumanBrain
- OrganHumanEyes
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 50
# deadThreshold: 120
- type: Input
@@ -85,9 +82,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
@@ -111,9 +105,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 40
# deadThreshold: 80
- type: Extension
@@ -137,9 +128,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
@@ -162,9 +150,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
- type: Grasp
@@ -187,9 +172,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
@@ -215,9 +197,6 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 45
# deadThreshold: 90
- type: Leg
@@ -243,9 +222,6 @@
compatibility: Biological
symmetry: Left
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60
@@ -267,8 +243,5 @@
compatibility: Biological
symmetry: Right
- type: BiologicalSurgeryData
- type: Damageable
damageContainer: biologicalDamageContainer
resistances: defaultResistances
# criticalThreshold: 30
# deadThreshold: 60

View File

@@ -0,0 +1,16 @@
- type: damageContainer
id: Biological
supportedGroups:
- Brute
- Burn
- Toxin
- Airloss
- Genetic
- type: damageContainer
id: Inorganic
supportedGroups:
- Brute
supportedTypes:
- Heat
- Shock

View File

@@ -1,97 +0,0 @@
# Silver: Todo break out into damage_type,damage_class, damage_container yml files when we support loading prototypes by priority.
- type: damageType
id: Blunt
- type: damageType
id: Slash
- type: damageType
id: Piercing
- type: damageType
id: Heat
- type: damageType
id: Shock
- type: damageType
id: Cold
# Poison damage. Generally caused by various reagents being metabolised.
- type: damageType
id: Poison
- type: damageType
id: Radiation
# Damage due to being unable to breathe.
# Represents not enough oxygen (or equivalent) getting to the blood.
# Usually healed automatically if entity can breathe
- type: damageType
id: Asphyxiation
# Damage representing not having enough blood.
# Represents there not enough blood to supply oxygen (or equivalent).
- type: damageType
id: Bloodloss
- type: damageType
id: Cellular
- type: damageGroup
id: Brute
damageTypes:
- Blunt
- Slash
- Piercing
- type: damageGroup
id: Burn
damageTypes:
- Heat
- Shock
- Cold
# Airloss (sometimes called oxyloss)
# Caused by asphyxiation or bloodloss.
# Note that most medicine and damaging effects should probably modify either asphyxiation or
# bloodloss, not this whole group, unless you have a wonder drug that affects both.
- type: damageGroup
id: Airloss
damageTypes:
- Asphyxiation
- Bloodloss
# As with airloss, most medicine and damage effects should probably modify either poison or radiation.
# Though there are probably some radioactive poisons.
- type: damageGroup
id: Toxin
damageTypes:
- Poison
- Radiation
- type: damageGroup
id: Genetic
damageTypes:
- Cellular
- type: damageContainer
id: allDamageContainer
supportAll: true
- type: damageContainer
id: biologicalDamageContainer
supportedGroups:
- Brute
- Burn
- Toxin
- Airloss
- Genetic
- type: damageContainer
id: metallicDamageContainer
supportedGroups:
- Brute
- Burn

View File

@@ -0,0 +1,36 @@
- type: damageGroup
id: Brute
damageTypes:
- Blunt
- Slash
- Piercing
- type: damageGroup
id: Burn
damageTypes:
- Heat
- Shock
- Cold
# Airloss (sometimes called oxyloss)
# Caused by asphyxiation or bloodloss.
# Note that most medicine and damaging effects should probably modify either asphyxiation or
# bloodloss, not this whole group, unless you have a wonder drug that affects both.
- type: damageGroup
id: Airloss
damageTypes:
- Asphyxiation
- Bloodloss
# As with airloss, most medicine and damage effects should probably modify either poison or radiation.
# Though there are probably some radioactive poisons.
- type: damageGroup
id: Toxin
damageTypes:
- Poison
- Radiation
- type: damageGroup
id: Genetic
damageTypes:
- Cellular

View File

@@ -1,134 +1,30 @@
- type: resistanceSet
id: defaultResistances
coefficients:
Blunt: 1.0
Slash: 1.0
Piercing: 1.0
Heat: 1.0
Shock: 1.0
Cold: 1.0
Poison: 1.0
Radiation: 1.0
Asphyxiation: 1.0
Bloodloss: 1.0
Cellular: 1.0
flatReductions:
Blunt: 0
Slash: 0
Piercing: 0
Heat: 0
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
- type: resistanceSet
id: dionaResistances
coefficients:
Blunt: 0.5
Slash: 1.2
Piercing: 0.7
Heat: 1.8
Shock: 0.5
Cold: 1.5
Poison: 0.8
Radiation: 0
Asphyxiation: 1.0
Bloodloss: 1.0
Cellular: 1.0
flatReductions:
Blunt: 0
Slash: 0
Piercing: 0
Heat: 0
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
- type: resistanceSet
id: metallicResistances
id: Metallic
coefficients:
Blunt: 0.7
Slash: 0.5
Piercing: 0.7
Heat: 1.0
Shock: 1.2
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
flatReductions:
Blunt: 5
Slash: 0
Piercing: 0
Heat: 0
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
- type: resistanceSet
id: inflatableResistances
id: Inflatable
coefficients:
Blunt: 0.5
Slash: 1.0
Piercing: 2.0
Heat: 0.5
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
flatReductions:
Blunt: 5
Slash: 0
Piercing: 0
Heat: 0
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
- type: resistanceSet
id: glassResistances
id: Glass
coefficients:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 0
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
flatReductions:
Blunt: 5
Slash: 0
Piercing: 0
Heat: 0
Shock: 0
Cold: 0
Poison: 0
Radiation: 0
Asphyxiation: 0
Bloodloss: 0
Cellular: 0
Blunt: 5

View File

@@ -0,0 +1,38 @@
- type: damageType
id: Blunt
- type: damageType
id: Slash
- type: damageType
id: Piercing
- type: damageType
id: Heat
- type: damageType
id: Shock
- type: damageType
id: Cold
# Poison damage. Generally caused by various reagents being metabolised.
- type: damageType
id: Poison
- type: damageType
id: Radiation
# Damage due to being unable to breathe.
# Represents not enough oxygen (or equivalent) getting to the blood.
# Usually healed automatically if entity can breathe
- type: damageType
id: Asphyxiation
# Damage representing not having enough blood.
# Represents there not enough blood to supply oxygen (or equivalent).
- type: damageType
id: Bloodloss
- type: damageType
id: Cellular

View File

@@ -20,7 +20,9 @@
- type: Clothing
sprite: Clothing/Eyes/Glasses/gar.rsi
- type: MeleeWeapon
damage: 10
damage:
types:
Blunt: 10
- type: entity
parent: ClothingEyesBase
@@ -36,7 +38,9 @@
HeldPrefix: alt
ClothingPrefix: alt
- type: MeleeWeapon
damage: 10
damage:
types:
Blunt: 10
- type: entity
parent: ClothingEyesBase
@@ -51,7 +55,9 @@
sprite: Clothing/Eyes/Glasses/gar.rsi
ClothingPrefix: super
- type: MeleeWeapon
damage: 10
damage:
types:
Blunt: 10
- type: entity
parent: ClothingEyesBase

View File

@@ -51,8 +51,9 @@
tags:
- Debug
- type: Projectile
damages:
Blunt: 20000
damage:
types:
Blunt: 20000
- type: entity
id: CartridgeDebug
@@ -80,7 +81,9 @@
sprite: Objects/Weapons/Melee/debug.rsi
state: icon
- type: MeleeWeapon
damage: 20000
damage:
types:
Blunt: 20000
- type: Item
size: 1
sprite: Objects/Weapons/Melee/debug.rsi
@@ -95,7 +98,9 @@
tags:
- Debug
- type: MeleeWeapon
damage: 100
damage:
types:
Blunt: 100
- type: entity
name: bang stick 200dmg
@@ -106,4 +111,6 @@
tags:
- Debug
- type: MeleeWeapon
damage: 200
damage:
types:
Blunt: 200

View File

@@ -17,7 +17,9 @@
Slots:
- Belt
- type: MeleeWeapon
damage: 10
damage:
types:
Slash: 10
- type: TilePrying
- type: Tool
qualities:

View File

@@ -125,7 +125,8 @@
anchored: true
- type: Airtight
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -43,4 +43,6 @@
range: 1.5
arcwidth: 0
arc: fist
damage: 90
damage:
types:
Blunt: 90

View File

@@ -22,7 +22,13 @@
- Clothing
- Idle
- type: Hunger
damage:
types:
Blunt: 2
- type: Thirst
damage:
types:
Blunt: 2
- type: Input
context: "human"
- type: AiFactionTag
@@ -33,7 +39,13 @@
baseSprintSpeed : 4
- type: MovedByPressure
- type: Barotrauma
damage:
types:
Blunt: 1 #per second, scales with pressure and other constants.
- type: DamageOnHighSpeedImpact
damage:
types:
Blunt: 5
soundHit:
path: /Audio/Effects/hit_kick.ogg
- type: Sprite
@@ -58,17 +70,26 @@
- type: Bloodstream
max_volume: 100
- type: Damageable
damageContainer: biologicalDamageContainer
damageContainer: Biological
- type: AtmosExposed
- type: Flammable
fireSpread: true
canResistFire: true
damage:
types:
Heat : 1
- type: Temperature
heatDamageThreshold: 360
coldDamageThreshold: 260
currentTemperature: 310.15
specificHeat: 42
tempDamageCoefficient: 0.1
coldDamage:
types:
Cold : 1 #per second, scales with temperature & other constants
heatDamage:
types:
Heat : 1 #per second, scales with temperature & other constants
- type: Respirator
metabolismHeat: 5000
radiatedHeat: 400
@@ -82,6 +103,12 @@
producesGases:
Oxygen: 0.00045572916
CarbonDioxide: 0.00015190972
damage:
types:
Asphyxiation: 1
damageRecovery:
types:
Asphyxiation: -1
- type: MobState
thresholds:
0: !type:NormalMobState {}
@@ -96,7 +123,9 @@
range: 1.5
arcwidth: 0
arc: bite
damage: 5
damage:
groups:
Brute: 5
- type: Appearance
visuals:
- type: BuckleVisualizer

View File

@@ -39,11 +39,19 @@
150: !type:CriticalMobState {}
200: !type:DeadMobState {}
- type: Respirator
damage:
types:
Asphyxiation: 1
damageRecovery:
types:
Asphyxiation: -1
- type: UnarmedCombat
range: 1.5
arcwidth: 0
arc: claw
damage: 10
damage:
groups:
Brute: 10
- type: Appearance
visuals:
- type: DamageStateVisualizer

View File

@@ -34,12 +34,23 @@
- type: MovementSpeedModifier
- type: MovedByPressure
- type: Barotrauma
damageType: Blunt
damage:
types:
Blunt: 1 #per second, scales with pressure and other constants.
- type: DamageOnHighSpeedImpact
soundHit:
damage:
types:
Blunt: 5
soundHit:
path: /Audio/Effects/hit_kick.ogg
- type: Hunger
damage:
types:
Blunt: 2
- type: Thirst
damage:
types:
Blunt: 2
# Organs
- type: SolutionContainerManager
solutions:
@@ -162,20 +173,27 @@
- type: Flammable
fireSpread: true
canResistFire: true
damage:
types:
Heat : 1 #per second, scales with number of fire 'stacks'
- type: Temperature
heatDamageType: Heat
heatDamageThreshold: 360
coldDamageType: Cold
coldDamageThreshold: 260
currentTemperature: 310.15
specificHeat: 42
tempDamageCoefficient: 0.1
coldDamage:
types:
Cold : 1 #per second, scales with temperature & other constants
heatDamage:
types:
Heat : 1 #per second, scales with temperature & other constants
- type: HumanoidAppearance
- type: Body
template: HumanoidTemplate
preset: HumanPreset
- type: Damageable
damageContainer: biologicalDamageContainer
damageContainer: Biological
- type: Respirator
metabolismHeat: 5000
radiatedHeat: 400
@@ -189,6 +207,12 @@
producesGases:
Oxygen: 0.00045572916
CarbonDioxide: 0.00015190972
damage:
types:
Asphyxiation: 1
damageRecovery:
types:
Asphyxiation: -1
- type: Internals
- type: MobState
thresholds:
@@ -226,6 +250,9 @@
range: 0.8
arcwidth: 30
arc: fist
damage:
types:
Blunt: 5
- type: Pullable
- type: DoAfter
- type: CreamPied
@@ -355,7 +382,7 @@
template: HumanoidTemplate
preset: HumanPreset
- type: Damageable
damageContainer: biologicalDamageContainer
damageContainer: Biological
- type: MobState
thresholds:
0: !type:NormalMobState {}

View File

@@ -90,6 +90,12 @@
producesGases:
Nitrogen: 0.00045572916
CarbonDioxide: 0.00015190972
damage:
types:
Asphyxiation: 1
damageRecovery:
types:
Asphyxiation: -1
# - type: Appearance
# visuals:
# - type: RotationVisualizer

View File

@@ -15,11 +15,16 @@
state: bowl
netsync: false
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
amount: 5
damage:
types:
Blunt: 5
- type: Spillable
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -95,9 +95,7 @@
- box12
# Someday...
# - type: DamageOnLand
# amount: 5
# - type: DamageOtherOnHit
# amount: 5
# - type: Damageable
# - type: Destructible
# thresholds:

View File

@@ -17,10 +17,15 @@
state: plate
netsync: false
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
amount: 5
damage:
types:
Blunt: 5
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -19,10 +19,15 @@
HeldPrefix: packet
color: gray
- type: DamageOnLand
amount: 3
damage:
types:
Blunt: 3
- type: DamageOtherOnHit
amount: 3
damage:
types:
Blunt: 3
- type: Damageable
damageContainer: Inorganic
- type: entity
abstract: true

View File

@@ -25,10 +25,21 @@
- ReagentId: Egg
Quantity: 5
- type: DamageOnLand
amount: 1
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
amount: 1
damage:
types:
Blunt: 1
#Dignity: 25
- type: DamageOnHighSpeedImpact
minimumSpeed: 0.1
damage:
types:
Blunt: 1
- type: Damageable
damageContainer: Biological
- type: Destructible
thresholds:
- trigger:

View File

@@ -53,10 +53,15 @@
- ReagentId: Flour
Quantity: 50
- type: DamageOnLand
amount: 1
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
amount: 1
damage:
types:
Blunt: 1
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
@@ -90,10 +95,15 @@
- ReagentId: Flour
Quantity: 20
- type: DamageOnLand
amount: 1
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
amount: 1
damage:
types:
Blunt: 1
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -77,6 +77,9 @@
sprite: Objects/Specific/Hydroponics/towercap.rsi
- type: SolutionContainerManager
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: Produce
seed: towercap
- type: Log
@@ -253,10 +256,21 @@
- ReagentId: JuiceTomato
Quantity: 10
- type: DamageOnLand
amount: 1
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
amount: 1
damage:
types:
Blunt: 1
#Dignity: 25
- type: Damageable
damageContainer: Biological
- type: DamageOnHighSpeedImpact
minimumSpeed: 0.1
damage:
types:
Blunt: 1
- type: Destructible
thresholds:
- trigger:

View File

@@ -16,11 +16,16 @@
sprite: Objects/Consumable/Food/bowl.rsi
netsync: false
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
amount: 5
damage:
types:
Blunt: 5
- type: Spillable
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -29,6 +29,8 @@
- type: Drink
isOpen: true
- type: Damageable
damageContainer: Inorganic
resistanceSet: Glass
- type: Destructible
thresholds:
- trigger:
@@ -47,9 +49,13 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
amount: 5
damage:
types:
Blunt: 5
# Transformable container - normal glass
- type: entity

View File

@@ -19,11 +19,16 @@
- type: Sprite
state: icon
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
amount: 10
damage:
types:
Blunt: 10
- type: Spillable
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -565,6 +565,9 @@
range: 2.0
arcwidth: 0
arc: spear
damage:
types:
Blunt: 1
- type: Item
size: 24
sprite: Objects/Fun/toys.rsi

View File

@@ -14,12 +14,15 @@
- shard3
- type: ItemCooldown
- type: MeleeWeapon
damageType: Slash
damage:
types:
Slash: 5
- type: Item
sprite: Objects/Materials/Shards/shard.rsi
- type: DamageOtherOnHit
amount: 5
damageType: Slash
damage:
types:
Slash: 5
- type: entity
parent: ShardBase
@@ -50,7 +53,9 @@
- SheetGlass1
- SheetSteel1
- type: DamageOtherOnHit
amount: 10
damage:
types:
Slash: 10
- type: entity
parent: ShardBase
@@ -67,4 +72,6 @@
- SheetGlass1
- SheetPlasma1
- type: DamageOtherOnHit
amount: 15
damage:
types:
Slash: 15

View File

@@ -38,8 +38,9 @@
impulse: 50.0
- type: FireExtinguisher
- type: MeleeWeapon
damage: 10
damageType: Blunt
damage:
types:
Blunt: 10
hitSound:
path: /Audio/Weapons/smash.ogg
- type: Appearance

View File

@@ -107,7 +107,8 @@
energy: 5
- type: Anchorable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -139,7 +140,8 @@
state: floodlight_broken
- type: Anchorable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -21,7 +21,8 @@
- VaultImpassable
- SmallImpassable
- type: Damageable
resistances: inflatableResistances
damageContainer: Inorganic
resistanceSet: Inflatable
- type: Destructible
thresholds:
- trigger:

View File

@@ -9,7 +9,9 @@
- type: Item
sprite: Objects/Tiles/tile.rsi
- type: DamageOtherOnHit
amount: 10
damage:
types:
Blunt: 10
- type: Stack
count: 1

View File

@@ -6,10 +6,15 @@
components:
- type: LightBulb
- type: Damageable
damageContainer: Inorganic
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
amount: 5
damage:
types:
Blunt: 5
- type: Destructible
thresholds:
- trigger:

View File

@@ -13,6 +13,9 @@
state: icon
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Slash: 10
- type: Item
sprite: Objects/Tools/Hydroponics/hoe.rsi
@@ -30,6 +33,9 @@
state: icon
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Slash: 7
- type: Item
sprite: Objects/Tools/Hydroponics/clippers.rsi
@@ -47,6 +53,9 @@
state: icon
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Slash: 10
- type: Clothing
sprite: Objects/Tools/Hydroponics/scythe.rsi
size: 20
@@ -68,6 +77,10 @@
state: icon
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Slash: 10
Piercing: 5
- type: Item
sprite: Objects/Tools/Hydroponics/hatchet.rsi
@@ -86,5 +99,9 @@
state: icon
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
Piercing: 5 # I guess you can stab it into them?
- type: Item
sprite: Objects/Tools/Hydroponics/spade.rsi

View File

@@ -14,8 +14,9 @@
sprite: Objects/Specific/Medical/medical.rsi
HeldPrefix: ointment
- type: Healing
heal:
Heat: 10
damage:
groups:
Burn: -10 # 5 for each type in the group
- type: Stack
stackType: Ointment
max: 5
@@ -33,8 +34,9 @@
- type: Sprite
state: brutepack
- type: Healing
heal:
Blunt: 10
damage:
groups:
Brute: -15 # 5 for each type in the group
- type: Stack
stackType: Brutepack
@@ -50,7 +52,9 @@
- type: Sprite
state: gauze
- type: Healing
heal:
Blunt: 10
damage:
types:
Slash: -5
Piercing: -5
- type: Stack
stackType: Gauze

View File

@@ -49,6 +49,9 @@
sprite: Objects/Specific/Medical/Surgery/drill.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Piercing: 10
hitSound:
path: /Audio/Items/drill_hit.ogg
@@ -73,9 +76,11 @@
sprite: Objects/Specific/Medical/Surgery/scalpel.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Slash: 12
hitSound:
path: /Audio/Weapons/bladeslice.ogg
damage: 12
- type: entity
name: shiv
@@ -214,9 +219,11 @@
- type: Item
HeldPrefix: improv
- type: MeleeWeapon
damage:
groups:
Brute: 10
hitSound:
path: /Audio/Weapons/bladeslice.ogg
damage: 10
- type: entity
name: circular saw
@@ -233,9 +240,11 @@
- type: Item
HeldPrefix: electric
- type: MeleeWeapon
damage:
groups:
Brute: 15
hitSound:
path: /Audio/Items/drill_hit.ogg
damage: 15
- type: entity
name: advanced circular saw
@@ -252,6 +261,8 @@
- type: Item
HeldPrefix: advanced
- type: MeleeWeapon
damage:
groups:
Brute: 20
hitSound:
path: /Audio/Items/drill_hit.ogg
damage: 20

View File

@@ -29,7 +29,8 @@
lockOnClick: true # toggle lock just by clicking on barrier
- type: DeployableBarrier
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -44,6 +44,8 @@
maxFillLevels: 6
fillBaseName: beaker
- type: Damageable
damageContainer: Inorganic
resistanceSet: Glass
- type: Destructible
thresholds:
- trigger:
@@ -62,9 +64,18 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
amount: 5
damage:
types:
Blunt: 10 # glass resistance set reduces damage. Need to land twice (w/o hitting wall)
- type: DamageOtherOnHit
amount: 5
damage:
types:
Blunt: 5
- type: DamageOnHighSpeedImpact
minimumSpeed: 2
damage:
types:
Blunt: 5
- type: entity
name: large beaker

View File

@@ -12,6 +12,9 @@
state: haycutters
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: Tool
qualities:
- Cutting
@@ -34,6 +37,9 @@
sprite: Objects/Tools/Cowtools/moodriver.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Piercing: 10
- type: Tool
qualities:
- Screwing
@@ -53,6 +59,9 @@
sprite: Objects/Tools/Cowtools/wronch.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: Tool
qualities:
- Anchoring
@@ -73,6 +82,9 @@
sprite: Objects/Tools/Cowtools/cowbar.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: Tool
qualities:
- Prying
@@ -116,6 +128,9 @@
HeldPrefix: off
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: ItemStatus
- type: SolutionContainerManager
solutions:

View File

@@ -12,7 +12,9 @@
size: 9999
- type: ItemCooldown
- type: MeleeWeapon
damage: 10
damage:
types:
Blunt: 10
hitSound:
path: "/Audio/Weapons/smash.ogg"
@@ -76,7 +78,9 @@
- type: Item
sprite: Objects/Tools/Toolboxes/toolbox_syn.rsi
- type: MeleeWeapon
damage: 15
damage:
types:
Blunt: 15
- type: entity
name: golden toolbox

View File

@@ -18,6 +18,9 @@
- state: cutters-cutty-thingy
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: Tool
qualities:
- Cutting
@@ -57,6 +60,9 @@
sprite: Objects/Tools/screwdriver.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Piercing: 10
- type: Tool
qualities:
- Screwing
@@ -92,7 +98,9 @@
sprite: Objects/Tools/wrench.rsi
- type: ItemCooldown
- type: MeleeWeapon
damage: 7
damage:
types:
Blunt: 10
- type: Tool
qualities:
- Anchoring
@@ -119,7 +127,9 @@
size: 10
- type: ItemCooldown
- type: MeleeWeapon
damage: 7
damage:
types:
Blunt: 10
- type: Tool
qualities:
- Prying
@@ -251,5 +261,8 @@
state: icon
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: Item
sprite: Objects/Tools/shovel.rsi

View File

@@ -20,6 +20,9 @@
HeldPrefix: off
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Blunt: 10
- type: ItemStatus
- type: RefillableSolution
solution: welder

View File

@@ -5,5 +5,6 @@
name: bullet (.60 anti-material)
components:
- type: Projectile
damages:
Piercing: 70
damage:
types:
Piercing: 70

View File

@@ -5,8 +5,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 27
damage:
types:
Piercing: 27
- type: entity
id: BulletClRifleFlash
@@ -15,8 +16,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 27
damage:
types:
Piercing: 27
- type: entity
id: BulletClRifleHV
@@ -25,8 +27,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 32
damage:
types:
Piercing: 32
- type: entity
id: BulletClRiflePractice
@@ -35,8 +38,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 2
damage:
types:
Blunt: 2
- type: entity
id: BulletClRifleRubber
@@ -45,5 +49,6 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 3
damage:
types:
Blunt: 3

View File

@@ -5,8 +5,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 28
damage:
types:
Piercing: 28
- type: entity
id: BulletLRifleFlash
@@ -15,8 +16,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 28
damage:
types:
Piercing: 28
- type: entity
id: BulletLRifleHV
@@ -25,8 +27,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 30
damage:
types:
Piercing: 30
- type: entity
id: BulletLRiflePractice
@@ -35,8 +38,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 2
damage:
types:
Blunt: 2
- type: entity
id: BulletLRifleRubber
@@ -45,5 +49,6 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 3
damage:
types:
Blunt: 3

View File

@@ -5,8 +5,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 32
damage:
types:
Piercing: 32
- type: entity
id: BulletMagnumFlash
@@ -15,8 +16,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 32
damage:
types:
Piercing: 32
- type: entity
id: BulletMagnumHV
@@ -25,8 +27,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 35
damage:
types:
Piercing: 35
- type: entity
id: BulletMagnumPractice
@@ -35,8 +38,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 1
damage:
types:
Blunt: 1
- type: entity
id: BulletMagnumRubber
@@ -45,5 +49,6 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 3
damage:
types:
Blunt: 3

View File

@@ -5,8 +5,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 24
damage:
types:
Piercing: 24
- type: entity
id: BulletPistolFlash
@@ -15,8 +16,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 24
damage:
types:
Piercing: 24
- type: entity
id: BulletPistolHV
@@ -25,8 +27,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 28
damage:
types:
Piercing: 28
- type: entity
id: BulletPistolPractice
@@ -35,8 +38,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 2
damage:
types:
Blunt: 2
- type: entity
id: BulletPistolRubber
@@ -45,5 +49,6 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 3
damage:
types:
Blunt: 3

View File

@@ -8,8 +8,9 @@
sprite: Objects/Weapons/Guns/Projectiles/slug.rsi
state: base
- type: Projectile
damages:
Piercing: 13
damage:
types:
Piercing: 13
- type: entity
id: PelletShotgunBeanbag
@@ -21,8 +22,9 @@
sprite: Objects/Weapons/Guns/Projectiles/buckshot.rsi
state: base
- type: Projectile
damages:
Blunt: 10
damage:
types:
Blunt: 10
- type: StunOnCollide
- type: entity
@@ -35,8 +37,9 @@
sprite: Objects/Weapons/Guns/Projectiles/buckshot.rsi
state: base
- type: Projectile
damages:
Piercing: 13
damage:
types:
Piercing: 13
- type: entity
id: PelletShotgunFlash
@@ -48,8 +51,9 @@
sprite: Objects/Weapons/Guns/Projectiles/buckshot.rsi
state: base
- type: Projectile
damages:
Blunt: 13
damage:
types:
Blunt: 13
- type: entity
id: PelletShotgunIncendiary
@@ -61,8 +65,9 @@
sprite: Objects/Weapons/Guns/Projectiles/buckshot.rsi
state: base
- type: Projectile
damages:
Blunt: 13
damage:
types:
Blunt: 13
- type: entity
id: PelletShotgunPractice
@@ -74,8 +79,9 @@
sprite: Objects/Weapons/Guns/Projectiles/buckshot.rsi
state: base
- type: Projectile
damages:
Blunt: 1
damage:
types:
Blunt: 1
- type: entity
id: PelletShotgunTranquilizer
@@ -87,8 +93,9 @@
sprite: Objects/Weapons/Guns/Projectiles/buckshot.rsi
state: base
- type: Projectile
damages:
Blunt: 1
damage:
types:
Blunt: 1
- type: SolutionContainerManager
solutions:
ammo:

View File

@@ -5,8 +5,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 25
damage:
types:
Piercing: 25
- type: entity
id: BulletSRifleFlash
@@ -15,8 +16,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 25
damage:
types:
Piercing: 25
- type: entity
id: BulletSRifleHV
@@ -25,8 +27,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 30
damage:
types:
Piercing: 30
- type: entity
id: BulletSRiflePractice
@@ -35,8 +38,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 2
damage:
types:
Blunt: 2
- type: entity
id: BulletSRifleRubber
@@ -45,5 +49,6 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 3
damage:
types:
Blunt: 3

View File

@@ -5,8 +5,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 1
damage:
types:
Blunt: 1
soundHit:
path: /Audio/Weapons/Guns/Hits/bullet_hit.ogg
@@ -25,5 +26,6 @@
sprite: Objects/Fun/toys.rsi
state: foamdart
- type: Projectile
damages:
Blunt: 1
damage:
types:
Blunt: 1

View File

@@ -24,6 +24,7 @@
flashRange: 7
- type: ExplodeOnTrigger
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
@@ -64,6 +65,7 @@
path: "/Audio/Effects/flash_bang.ogg"
- type: DeleteOnTrigger
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
@@ -100,6 +102,7 @@
flashRange: 10
- type: ExplodeOnTrigger
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
@@ -135,6 +138,7 @@
flashRange: 50
- type: ExplodeOnTrigger
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -4,11 +4,12 @@
abstract: true
components:
- type: Hitscan
damage:
types:
Heat: 10
spriteName: Objects/Weapons/Guns/Projectiles/laser.png
muzzleFlash: Objects/Weapons/Guns/Projectiles/laser_muzzle.png
impactFlash: Objects/Weapons/Guns/Projectiles/laser_impact.png
damageType: Heat
damage: 10
- type: entity
name: red heavy laser
@@ -19,8 +20,9 @@
spriteName: Objects/Weapons/Guns/Projectiles/heavy_laser.png
muzzleFlash: Objects/Weapons/Guns/Projectiles/heavy_laser_muzzle.png
impactFlash: Objects/Weapons/Guns/Projectiles/heavy_laser_impact.png
damageType: Heat
damage: 30
damage:
types:
Heat: 30
- type: entity
name: x-ray laser
@@ -31,5 +33,6 @@
spriteName: Objects/Weapons/Guns/Projectiles/xray.png
muzzleFlash: Objects/Weapons/Guns/Projectiles/xray_muzzle.png
impactFlash: Objects/Weapons/Guns/Projectiles/xray_impact.png
damageType: Heat
damage: 60
damage:
types:
Heat: 60

View File

@@ -25,10 +25,11 @@
linearDamping: 0
angularDamping: 0
- type: Projectile
damage:
types:
Piercing: 20
soundHit:
path: /Audio/Weapons/Guns/Hits/bullet_hit.ogg
damages:
Piercing: 20
- type: entity
id: BulletBaseFlash
@@ -37,10 +38,11 @@
abstract: true
components:
- type: Projectile
damage:
types:
Piercing: 10
soundHit:
path: /Audio/Weapons/Guns/Hits/snap.ogg
damages:
Piercing: 10
- type: FlashOnTrigger
range: 1
- type: SoundOnTrigger
@@ -56,8 +58,9 @@
abstract: true
components:
- type: Projectile
damages:
Piercing: 12
damage:
types:
Piercing: 12
- type: entity
id: BulletBasePractice
@@ -66,8 +69,9 @@
abstract: true
components:
- type: Projectile
damages:
Blunt: 2
damage:
types:
Blunt: 2
- type: entity
id: BulletBaseRubber
@@ -76,10 +80,11 @@
abstract: true
components:
- type: Projectile
damage:
types:
Blunt: 3
soundHit:
path: /Audio/Weapons/Guns/Hits/snap.ogg
damages:
Blunt: 3
- type: StunOnCollide
stunAmount: 2
knockdownAmount: 2
@@ -113,10 +118,11 @@
ammoVelocity: 20
caliber: Energy
- type: Projectile
damage:
types:
Heat: 5
soundHit:
path: "/Audio/Weapons/Guns/Hits/taser_hit.ogg"
damages:
Heat: 5
- type: StunOnCollide
stunAmount: 5
knockdownAmount: 5
@@ -143,10 +149,11 @@
mask:
- Opaque
- type: Projectile
damage:
types:
Heat: 20
soundHit:
path: /Audio/Weapons/Guns/Hits/bullet_hit.ogg
damages:
Heat: 20
- type: Tag
tags:
- EmitterBolt
@@ -167,6 +174,9 @@
- type: TriggerOnCollide
- type: Projectile
deleteOnCollide: false
damage:
types:
Blunt: 1
- type: Explosive
devastationRange: 1
heavyImpactRange: 2
@@ -189,6 +199,9 @@
state: grenade
- type: Projectile
deleteOnCollide: false
damage:
types:
Blunt: 1
soundHit:
path: /Audio/Effects/gen_hit.ogg
- type: StunOnCollide
@@ -210,6 +223,9 @@
- type: TriggerOnCollide
- type: Projectile
deleteOnCollide: false
damage:
types:
Blunt: 1
- type: Explosive
devastationRange: 1
heavyImpactRange: 2
@@ -228,6 +244,9 @@
state: grenade
- type: Projectile
deleteOnCollide: false
damage:
types:
Blunt: 1
soundHit:
path: /Audio/Effects/flash_bang.ogg
- type: FlashOnTrigger
@@ -254,6 +273,9 @@
- type: TriggerOnCollide
- type: Projectile
deleteOnCollide: false
damage:
types:
Blunt: 1
- type: Explosive
devastationRange: 0
heavyImpactRange: 1
@@ -272,10 +294,11 @@
state: foamdart
- type: Projectile
deleteOnCollide: true
damage:
types:
Blunt: 2
soundHit:
path: /Audio/Weapons/Guns/Hits/snap.ogg
damages:
Blunt: 2
- type: entity
id: BulletCap
@@ -289,8 +312,9 @@
state: capbullet
- type: Projectile
deleteOnCollide: true
damages:
Piercing: 0
damage:
types:
Piercing: 0
- type: entity
id: BulletCreampie
@@ -301,6 +325,9 @@
components:
- type: Projectile
deleteOnCollide: false # CreamPie component handles this.
damage:
types:
Blunt: 1
- type: CreamPie
- type: ThrownItem
- type: Sprite

View File

@@ -8,7 +8,9 @@
sprite: Objects/Weapons/Melee/baseball_bat.rsi
state: icon
- type: MeleeWeapon
damage: 15
damage:
types:
Blunt: 15
- type: Clothing
size: 15
sprite: Objects/Weapons/Melee/baseball_bat.rsi

View File

@@ -11,7 +11,9 @@
sprite: Objects/Weapons/Melee/fireaxe.rsi
state: icon
- type: MeleeWeapon
damage: 25
damage:
groups:
Brute: 25
- type: Clothing
size: 20
sprite: Objects/Weapons/Melee/fireaxe.rsi

View File

@@ -8,7 +8,9 @@
sprite: Objects/Weapons/Melee/gohei.rsi
state: gohei
- type: MeleeWeapon
damage: 3 ##You'd be better off punching people
damage:
types:
Blunt: 3 #You'd be better off punching people
- type: Item
size: 12
sprite: Objects/Weapons/Melee/gohei.rsi

View File

@@ -11,9 +11,11 @@
- Knife
- type: ItemCooldown
- type: MeleeWeapon
damage:
types:
Slash: 12
hitSound:
path: /Audio/Weapons/bladeslice.ogg
damage: 12
- type: Sprite
netsync: false
- type: Item
@@ -51,7 +53,9 @@
size: 4
state: butch
- type: MeleeWeapon
damage: 15
damage:
types:
Slash: 15
- type: Item
size: 10
sprite: Objects/Weapons/Melee/cleaver.rsi
@@ -72,7 +76,9 @@
size: 2
state: icon
- type: MeleeWeapon
damage: 15
damage:
types:
Slash: 15
- type: Item
size: 10
sprite: Objects/Weapons/Melee/combat_knife.rsi

View File

@@ -7,12 +7,13 @@
- type: Sprite
sprite: Objects/Weapons/Melee/pickaxe.rsi
state: pickaxe
- type: Pickaxe
- type: ItemCooldown
- type: MeleeWeapon
damage: 25
damage:
types:
Piercing: 15
Blunt: 5
- type: Item
size: 24
sprite: Objects/Weapons/Melee/pickaxe.rsi

View File

@@ -11,12 +11,16 @@
sprite: Objects/Weapons/Melee/spear.rsi
state: spear
- type: MeleeWeapon
damage: 10
damage:
types:
Piercing: 10
range: 1.5
arcwidth: 0
arc: spear
- type: DamageOtherOnHit
amount: 15
damage:
types:
Piercing: 15
- type: Clothing
size: 24
sprite: Objects/Weapons/Melee/spear.rsi

View File

@@ -8,7 +8,9 @@
sprite: Objects/Weapons/Melee/captain_sabre.rsi
state: icon
- type: MeleeWeapon
damage: 15
damage:
types:
Slash: 26 #cmon, it has to be at least BETTER than the rest.
- type: Item
size: 15
sprite: Objects/Weapons/Melee/captain_sabre.rsi
@@ -29,7 +31,9 @@
sprite: Objects/Weapons/Melee/katana.rsi
state: icon
- type: MeleeWeapon
damage: 25
damage:
types:
Slash: 25
- type: Item
size: 15
sprite: Objects/Weapons/Melee/katana.rsi
@@ -47,7 +51,9 @@
sprite: Objects/Weapons/Melee/machete.rsi
state: icon
- type: MeleeWeapon
damage: 20
damage:
types:
Slash: 20
- type: Item
size: 15
sprite: Objects/Weapons/Melee/machete.rsi
@@ -62,7 +68,9 @@
sprite: Objects/Weapons/Melee/claymore.rsi
state: icon
- type: MeleeWeapon
damage: 25
damage:
types:
Slash: 25
- type: Clothing
size: 20
sprite: Objects/Weapons/Melee/claymore.rsi

View File

@@ -9,7 +9,9 @@
state: stunbaton_off
- type: Stunbaton
- type: MeleeWeapon
damage: 10
damage:
types:
Blunt: 10
range: 1.5
arcwidth: 60
arc: default
@@ -36,7 +38,9 @@
state: flash
- type: Flash
- type: MeleeWeapon
damage: 0
damage:
types:
Blunt: 0 # why is this classed as a melee weapon? Is it needed for some interaction?
range: 1
arcWidth: 10
arc: default

View File

@@ -9,6 +9,9 @@
- type: InteractionOutline
- type: MovedByPressure
- type: DamageOnHighSpeedImpact
damage:
types:
Blunt: 5
soundHit:
path: /Audio/Effects/hit_kick.ogg
- type: CollisionWake

View File

@@ -29,7 +29,8 @@
- type: Anchorable
- type: Pullable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -71,6 +71,9 @@
components:
- type: Door
occludes: false
crushDamage:
types:
Blunt: 15
- type: Occluder
enabled: false
- type: Sprite

View File

@@ -26,7 +26,8 @@
- type: Transform
anchored: true
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -38,6 +38,9 @@
- SmallImpassable
- type: Door
board: DoorElectronics
crushDamage:
types:
Blunt: 15
openSound:
path: /Audio/Machines/airlock_open.ogg
closeSound:
@@ -61,7 +64,8 @@
fixVacuum: true
- type: Occluder
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -6,6 +6,9 @@
components:
- type: Door
bumpOpen: false
crushDamage:
types:
Blunt: 15
openSound:
path: /Audio/Machines/airlock_ext_open.ogg
closeSound:

View File

@@ -6,7 +6,8 @@
components:
- type: InteractionOutline
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -54,6 +55,9 @@
startOpen: true
bumpOpen: false
inhibitCrush: false
crushDamage:
types:
Blunt: 15
openSound:
path: /Audio/Machines/airlock_open.ogg
closeSound:
@@ -89,6 +93,9 @@
- type: Door
occludes: false
inhibitCrush: false
crushDamage:
types:
Blunt: 15
- type: Occluder
enabled: false
- type: Sprite
@@ -102,6 +109,9 @@
- type: Door
occludes: false
inhibitCrush: false
crushDamage:
types:
Blunt: 15
- type: Sprite
sprite: Structures/Doors/edge_door_hazard.rsi
- type: Airtight

View File

@@ -12,7 +12,8 @@
node: frame1
- type: InteractionOutline
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -24,7 +24,8 @@
- type: Pullable
- type: Rotatable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -38,7 +38,8 @@
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: ApcPowerReceiver
- type: Damageable
resistances: glassResistances
damageContainer: Inorganic
resistanceSet: Glass
- type: Destructible
thresholds:
- trigger:
@@ -60,6 +61,9 @@
openPanelVisible: true
- type: Door
weldable: false
crushDamage:
types:
Blunt: 10
openSound:
path: /Audio/Machines/windoor_open.ogg
closeSound:

View File

@@ -6,7 +6,8 @@
abstract: true
components:
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: PlaceableSurface
- type: Sprite
netsync: false

View File

@@ -9,7 +9,8 @@
- type: Icon
sprite: Structures/Furniture/Tables/frame.rsi
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -41,7 +42,8 @@
- type: Icon
sprite: Structures/Furniture/Tables/generic.rsi
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -24,7 +24,8 @@
position: Down
rotation: -90
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -19,7 +19,7 @@
- book-4
- book-5
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -19,6 +19,7 @@
layer:
- Passable
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -12,7 +12,8 @@
- type: Sprite
sprite: Structures/Furniture/instruments.rsi
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -25,6 +25,7 @@
secretPartName: the plant
- type: Pullable
- type: Damageable
damageContainer: Inorganic # The pot. Not the plant. Or is it plastic?
- type: Destructible
thresholds:
- trigger:

View File

@@ -24,7 +24,8 @@
position: Stand
- type: Pullable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -28,7 +28,8 @@
sprite: Structures/Machines/parts.rsi
state: 0
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -18,7 +18,8 @@
mask:
- MobMask
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -32,6 +32,8 @@
- Opaque
- MobImpassable
- type: Damageable
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -81,6 +83,7 @@
- Opaque
- MobImpassable
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:

View File

@@ -31,7 +31,8 @@
graph: machine
node: missingWires
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -78,7 +79,8 @@
graph: machine
node: machineFrame
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -12,6 +12,8 @@
- type: Transform
anchored: true
- type: Damageable
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -12,6 +12,8 @@
- type: Transform
anchored: true
- type: Damageable
damageContainer: Inorganic
resistanceSet: Metallic
- type: Anchorable
- type: Rotatable
- type: Pullable

View File

@@ -16,7 +16,8 @@
anchored: true
- type: Anchorable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -13,8 +13,9 @@
deleteOnCollide: false
soundHit:
path: /Audio/Weapons/Guns/Hits/bullet_hit.ogg
damages:
Radiation: 10
damage:
types:
Radiation: 10
- type: Physics
fixtures:
- shape:

View File

@@ -45,7 +45,8 @@
!type:CableDeviceNode
nodeGroupID: MVPower
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -25,7 +25,8 @@
- MobImpassable
- SmallImpassable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -110,7 +111,8 @@
- VaultImpassable
- SmallImpassable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -39,7 +39,8 @@
- type: Transform
anchored: true
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -79,7 +80,8 @@
- type: Transform
anchored: true
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:
@@ -124,7 +126,8 @@
- type: Transform
anchored: true
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -21,7 +21,8 @@
- type: Transform
anchored: true
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -19,7 +19,8 @@
netsync: false
drawdepth: BelowFloor
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -38,7 +38,8 @@
- type: PowerConsumer
drawRate: 50
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -42,7 +42,8 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Physics
bodyType: Dynamic
fixtures:
@@ -362,7 +363,8 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: InteractionOutline
- type: Sprite
sprite: Structures/Storage/canister.rsi

View File

@@ -16,6 +16,9 @@
map: ["enum.StorageVisualLayers.Welded"]
- type: MovedByPressure
- type: DamageOnHighSpeedImpact
damage:
types:
Blunt: 5
soundHit:
path: /Audio/Effects/bang.ogg
- type: InteractionOutline
@@ -37,7 +40,8 @@
- type: PlaceableSurface
placeCentered: true
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -35,7 +35,8 @@
CanWeldShut: true
- type: PlaceableSurface
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -530,7 +530,8 @@
state_open: livestockcrate_open
state_closed: livestockcrate_door
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

View File

@@ -24,7 +24,8 @@
- VaultImpassable
- SmallImpassable
- type: Damageable
resistances: metallicResistances
damageContainer: Inorganic
resistanceSet: Metallic
- type: Destructible
thresholds:
- trigger:

Some files were not shown because too many files have changed in this diff Show More