Better metalgen logging and some behavior fixes (#90546)

## About The Pull Request

Metalgen imprinting is now logged, foam and smoke have better logging
and so do plasma metalgenned things, metalgen no longer causes a ton of
runtimes on almost everything and foam and smoke no longer affect
abstract objects.
Also ***hopefully*** solves the issue with infinite hotspot loops, but I
don't think anyone knows what exactly occured there.

## Why It's Good For The Game

If servers explode, admins need to know who did it and coders need to
know how they did it.

## Changelog
🆑
fix: Metalgen foam/smoke no longer cause an absurd amount of runtimes
fix: Foam and smoke no longer affect abstract objects like landmarks
admin: Metalgen imprinting is now logged
admin: Improved logging for foam and smoke, and plasma metalgenned
objects
/🆑
This commit is contained in:
SmArtKar
2025-04-12 14:57:46 +01:00
committed by GitHub
parent 8cfd21022e
commit f00caffd90
6 changed files with 35 additions and 15 deletions
+6 -4
View File
@@ -313,8 +313,9 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag)
. = ..()
if(!(material_flags & MATERIAL_AFFECT_STATISTICS))
return
var/integrity_mod = GET_MATERIAL_MODIFIER(material.integrity_modifier, multiplier)
modify_max_integrity(ceil(max_integrity * integrity_mod))
if(uses_integrity)
var/integrity_mod = GET_MATERIAL_MODIFIER(material.integrity_modifier, multiplier)
modify_max_integrity(ceil(max_integrity * integrity_mod))
var/strength_mod = GET_MATERIAL_MODIFIER(material.strength_modifier, multiplier)
force *= strength_mod
throwforce *= strength_mod
@@ -326,8 +327,9 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag)
. = ..()
if(!(material_flags & MATERIAL_AFFECT_STATISTICS))
return
var/integrity_mod = GET_MATERIAL_MODIFIER(material.integrity_modifier, multiplier)
modify_max_integrity(floor(max_integrity / integrity_mod))
if(uses_integrity)
var/integrity_mod = GET_MATERIAL_MODIFIER(material.integrity_modifier, multiplier)
modify_max_integrity(floor(max_integrity / integrity_mod))
var/strength_mod = GET_MATERIAL_MODIFIER(material.strength_modifier, multiplier)
force /= strength_mod
throwforce /= strength_mod