Fixes some atom health bugs (#22312)

## About PR
- Fixes #22260
- Fixes #22304
- Fixes #22234

Additionally changes some health values for:

- Canisters, `50` -> `100`. Takes 5 crowbar hits to break instead of 3,
these shouldn't break so easily
- Railings, `30` -> `75`. 3 crowbars instead of 1
- Reinforced girders, `600` -> `300`. Still takes a lot of crowbars
before breaking, barebone girders shouldn't compete reinforced walls
This commit is contained in:
Kano
2026-04-23 00:34:59 +00:00
committed by GitHub
parent 44bb1d5c82
commit 3d5f69f548
11 changed files with 120 additions and 169 deletions
+8 -18
View File
@@ -6,7 +6,12 @@
anchored = TRUE
density = FALSE
mouse_opacity = MOUSE_OPACITY_ICON
maxhealth = OBJECT_HEALTH_FRAGILE
should_use_health = TRUE
maxhealth = OBJECT_HEALTH_VERY_LOW
armor = list(
MELEE = ARMOR_MELEE_MINOR,
BULLET = ARMOR_BALLISTIC_MINOR
)
//similar to weeds, but only barfed out by nurses manually
/obj/effect/spider/ex_act(severity)
@@ -21,21 +26,6 @@
qdel(src)
return
/obj/effect/spider/attackby(obj/item/attacking_item, mob/user)
visible_message(SPAN_WARNING("\The [src] has been [LAZYPICK(attacking_item.attack_verb, "attacked")] with [attacking_item][(user ? " by [user]." : ".")]"))
var/damage = attacking_item.force / 4.0
if(attacking_item.tool_behaviour == TOOL_WELDER)
var/obj/item/weldingtool/WT = attacking_item
if(WT.use(0, user))
damage = 15
playsound(loc, 'sound/items/Welder.ogg', 100, 1)
return TRUE
else
user.do_attack_animation(src)
playsound(loc, attacking_item.hitsound, 50, 1, -1)
add_damage(damage)
/obj/effect/spider/bullet_act(obj/projectile/hitting_projectile, def_zone, piercing_hit)
. = ..()
if(. != BULLET_ACT_HIT)
@@ -258,13 +248,14 @@
die()
/obj/effect/spider/spiderling/attackby(obj/item/attacking_item, mob/user)
. = ..()
if(istype(attacking_item, /obj/item/newspaper))
var/obj/item/newspaper/N = attacking_item
if(N.rolled)
die()
return TRUE
. = ..()
/obj/effect/decal/cleanable/spiderling_remains
name = "greimorian larva remains"
desc = "Green squishy mess."
@@ -275,7 +266,6 @@
name = "cocoon"
desc = "Something wrapped in silky greimorian web"
icon_state = "cocoon1"
maxhealth = OBJECT_HEALTH_VERY_LOW
/obj/effect/spider/cocoon/Initialize()
. = ..()