Blocking and Shields (#8584)

* Blocking

* Fixes Bodytype bug

* Blocking Damage Modifier

* Storing bodytype

* Consolidates Stop Blocking code

* Consolidates more methods

* Some cleanup, hitbox fix

* Shield Textures

* Passive blocking modifier check

* Localization, popups, and more cleanup

* Small cleanup

* Relay event

* Fixes a shutdown bug, adds specific containers and sets

* Popups and sounds

* Fixes typo

* Removes whitespace, adds comment

* Some requested changes

* Remove Shared

* Audio fix

* More changes

* More requested changes

* Properly remove on shutdown

* Adds riot shields to seclathes

* SecTech Riot shield

* Constant variable

* Relay transfer to user blocking system

* More destruction behavior

* Adds a shape field

* Riot shield cleanup

* More requested changes.

* Prevents blocking attempt where a user cannot be anchored

* Listen for anchor change

* Unused using cleanup

* More shields.

* Buckler

* Construction

* Linter fix
This commit is contained in:
keronshb
2022-07-04 02:31:12 -04:00
committed by GitHub
parent 22d228fd11
commit d65601f024
53 changed files with 981 additions and 1 deletions

View File

@@ -15,3 +15,12 @@
- Heat
- Shock
- Structural # this probably should be in separate container
- type: damageContainer
id: Shield
supportedGroups:
- Brute
supportedTypes:
- Heat

View File

@@ -151,3 +151,138 @@
Bloodloss: 0.0 # no double dipping
Cellular: 0.0
# Represents what a riot shield should block passively
# Each shield will probably have their own passive and active modifier sets
# Honestly it should not be too high
- type: damageModifierSet
id: PassiveRiotShieldBlock
coefficients:
Blunt: 0.9
Slash: 0.9
Piercing: 0.9
Heat: 0.9
# Represents what a riot shield should block while active
# Should be a higher reduction because you're anchored
- type: damageModifierSet
id: ActiveRiotShieldBlock
coefficients:
Blunt: 0.8
Slash: 0.8
Piercing: 0.8
Heat: 0.8
flatReductions:
Blunt: 1
Slash: 1
Piercing: 1
Heat: 1
- type: damageModifierSet
id: PassiveRiotLaserShieldBlock
coefficients:
Heat: 0.8
- type: damageModifierSet
id: ActiveRiotLaserShieldBlock
coefficients:
Heat: 0.7
flatReductions:
Heat: 2
- type: damageModifierSet
id: PassiveRiotBulletShieldBlock
coefficients:
Blunt: 0.8
Piercing: 0.8
- type: damageModifierSet
id: ActiveRiotBulletShieldBlock
coefficients:
Blunt: 0.7
Piercing: 0.7
flatReductions:
Blunt: 1.5
Piercing: 1.5
#It's made from wood, so it should probably take more heat/laser damage
- type: damageModifierSet
id: PassiveBucklerBlock
coefficients:
Blunt: 0.95
Slash: 0.95
Piercing: 0.95
Heat: 2
- type: damageModifierSet
id: ActiveBucklerBlock
coefficients:
Blunt: 0.85
Slash: 0.85
Piercing: 0.85
Heat: 2
flatReductions:
Blunt: 1
Slash: 1
Piercing: 1
#It's a really crummy shield
- type: damageModifierSet
id: PassiveMakeshiftBlock
coefficients:
Blunt: 0.95
Slash: 0.95
Piercing: 0.95
Heat: 0.9
- type: damageModifierSet
id: ActiveMakeshiftBlock
coefficients:
Blunt: 0.85
Slash: 0.85
Piercing: 0.85
Heat: 0.8
flatReductions:
Blunt: 0.5
Slash: 0.5
Piercing: 0.5
Heat: 1
#Clockwork generally takes more laser/heat damage
- type: damageModifierSet
id: PassiveClockworkShieldBlock
coefficients:
Blunt: 0.8
Slash: 0.8
Piercing: 0.8
Heat: 1.5
- type: damageModifierSet
id: ActiveClockworkShieldBlock
coefficients:
Blunt: 0.7
Slash: 0.7
Piercing: 0.7
Heat: 1.5
flatReductions:
Blunt: 1
Slash: 1
Piercing: 1
#Mirror shield should reflect heat/laser eventually, but be relatively weak to everything else.
- type: damageModifierSet
id: PassiveMirrorShieldBlock
coefficients:
Blunt: 1.2
Slash: 1.2
Piercing: 1.2
Heat: .7
- type: damageModifierSet
id: ActiveMirrorShieldBlock
coefficients:
Blunt: 1.2
Slash: 1.2
Piercing: 1.2
Heat: .6
flatReductions:
Heat: 1