mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
## About The Pull Request Thirty files changed, one's not really changed, one's actually just a copy of a change from a different pr, because for the sake of pipe cleaners I decided to change the base turf. Probably wasn't a good idea. This one contains the full set of `/turf/` `attackby()`s(besides those meant for attacks), converted all at once because the tree of turf subtypes looks a lot more like a spire than a bush. Changes beyond conversion: I added messaging for when you're crowbarring transit tube pods out of the tubes because I genuinely wasted half an hour trying to figure out what I'd done wrong in conversion because they don't look any different so I thought it wasn't working. If you're reinforcing plating and the plating is reinforced mid-reinforcement you will no longer waste your plasteel reinforcing the reinforced plating. ## Why It's Good For The Game what are we at, ~120? I was expecting this to be a lot more drawn out, but most of them are really small. I'm gonna have to do a final pass of calls to `attackby()` once the dust settles, but the end of non-attack `attackby()`s is just a week away.
99 lines
2.5 KiB
Plaintext
99 lines
2.5 KiB
Plaintext
/// Used as a parent type for types that want to allow construction, but do not want to be floors
|
|
/// I wish I could use components for turfs at scale
|
|
/// Please do not bloat this. Love you <3
|
|
/turf/open/misc
|
|
name = "coder/mapper fucked up"
|
|
desc = "report on GitHub please"
|
|
|
|
flags_1 = NO_SCREENTIPS_1 | CAN_BE_DIRTY_1
|
|
turf_flags = IS_SOLID | NO_RUST
|
|
|
|
footstep = FOOTSTEP_FLOOR
|
|
barefootstep = FOOTSTEP_HARD_BAREFOOT
|
|
clawfootstep = FOOTSTEP_HARD_CLAW
|
|
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
|
|
|
|
underfloor_accessibility = UNDERFLOOR_INTERACTABLE
|
|
smoothing_groups = SMOOTH_GROUP_TURF_OPEN
|
|
canSmoothWith = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR
|
|
|
|
thermal_conductivity = 0.02
|
|
heat_capacity = 20000
|
|
tiled_turf = TRUE
|
|
|
|
/turf/open/misc/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
|
|
. = ..()
|
|
if(ITEM_INTERACT_ANY_BLOCKER & .)
|
|
return .
|
|
|
|
if(istype(tool, /obj/item/stack/rods))
|
|
build_with_rods(tool, user)
|
|
return ITEM_INTERACT_SUCCESS
|
|
|
|
if(ismetaltile(tool))
|
|
build_with_floor_tiles(tool, user)
|
|
return ITEM_INTERACT_SUCCESS
|
|
|
|
/turf/open/misc/attack_paw(mob/user, list/modifiers)
|
|
return attack_hand(user, modifiers)
|
|
|
|
/turf/open/misc/ex_act(severity, target)
|
|
. = ..()
|
|
|
|
if(target == src)
|
|
ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
|
|
return TRUE
|
|
if(is_explosion_shielded(severity))
|
|
return FALSE
|
|
|
|
if(target)
|
|
severity = EXPLODE_LIGHT
|
|
|
|
switch(severity)
|
|
if(EXPLODE_DEVASTATE)
|
|
ScrapeAway(2, flags = CHANGETURF_INHERIT_AIR)
|
|
if(EXPLODE_HEAVY)
|
|
switch(rand(1, 3))
|
|
if(1 to 2)
|
|
ScrapeAway(2, flags = CHANGETURF_INHERIT_AIR)
|
|
if(3)
|
|
if(prob(80))
|
|
ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
|
|
else
|
|
break_tile()
|
|
hotspot_expose(1000,CELL_VOLUME)
|
|
if(EXPLODE_LIGHT)
|
|
if (prob(50))
|
|
break_tile()
|
|
hotspot_expose(1000,CELL_VOLUME)
|
|
|
|
return TRUE
|
|
|
|
/turf/open/misc/is_explosion_shielded(severity)
|
|
if(severity >= EXPLODE_DEVASTATE)
|
|
return FALSE
|
|
for(var/obj/blocker in src)
|
|
if(blocker.density)
|
|
return TRUE
|
|
return FALSE
|
|
|
|
/turf/open/misc/blob_act(obj/structure/blob/B)
|
|
return
|
|
|
|
/turf/open/misc/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
|
|
if(the_rcd.mode == RCD_TURF)
|
|
if(the_rcd.rcd_design_path != /turf/open/floor/plating/rcd)
|
|
return FALSE
|
|
|
|
return list("delay" = 0, "cost" = 3)
|
|
return FALSE
|
|
|
|
/turf/open/misc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data)
|
|
if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF)
|
|
if(rcd_data[RCD_DESIGN_PATH] != /turf/open/floor/plating/rcd)
|
|
return FALSE
|
|
|
|
place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR)
|
|
return TRUE
|
|
return FALSE
|