Atom-level integrity + wall destruction rework (#21336)

Moves integrity to the atom level (ported from tgstation/tgstation#61183), and allows turfs to be destroyed in the same way objects can.

Many things which destroy walls have been reworked to use the integrity system instead, and walls can now be destroyed through conventional means like hitting them with something strong. They can also be repaired with welding tools while not on harm intent. Reinforced walls are still very strong and require powerful tools or weapons to damage. Also changes some demolition modifiers slightly to fit the new system: emitters have 2.4x, overcharged emitters have 4x, and pulse rifles have 6x.

Standard wall - 300 integrity, 20 damage deflection, 60 melee/bullet/laser armor

Reinforced wall - 400 integrity, 75 damage deflection, 80 melee/bullet armor, 60 laser armor
This commit is contained in:
SapphicOverload
2024-03-03 23:56:46 -05:00
committed by GitHub
parent fbdac169e2
commit 4b42b21acb
194 changed files with 758 additions and 816 deletions

View File

@@ -60,8 +60,8 @@ GLOBAL_LIST_EMPTY(NTPDAMessages)
if(source)
explosion(source, -1, 0, 3, 4)
if(!QDELETED(source) && source.obj_integrity > source.integrity_failure) // Ensure the screen breaks
source.take_damage(source.obj_integrity - source.integrity_failure, BRUTE, "", TRUE, null, 100) // 100 armor pen
if(!QDELETED(source) && source.get_integrity() > source.integrity_failure) // Ensure the screen breaks
source.take_damage(source.get_integrity() - source.integrity_failure, BRUTE, "", TRUE, null, 100) // 100 armor pen
else
throw EXCEPTION("No computer or hard drive to detonate!")