mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 20:15:47 +01:00
Makes welding plasma bars/statues/floors use flooder component (#63154)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
can_be_unanchored = FALSE
|
||||
can_atmos_pass = ATMOS_PASS_DENSITY
|
||||
rad_insulation = RAD_MEDIUM_INSULATION
|
||||
material_flags = MATERIAL_EFFECTS
|
||||
var/mineral = /obj/item/stack/sheet/iron
|
||||
var/mineral_amount = 2
|
||||
var/walltype = /turf/closed/wall
|
||||
@@ -27,6 +28,9 @@
|
||||
|
||||
/obj/structure/falsewall/Initialize(mapload)
|
||||
. = ..()
|
||||
var/obj/item/stack/initialized_mineral = new mineral // Okay this kinda sucks.
|
||||
set_custom_materials(initialized_mineral.mats_per_unit, mineral_amount)
|
||||
qdel(initialized_mineral)
|
||||
air_update_turf(TRUE, TRUE)
|
||||
|
||||
/obj/structure/falsewall/attack_hand(mob/user, list/modifiers)
|
||||
@@ -247,31 +251,6 @@
|
||||
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
|
||||
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
|
||||
|
||||
/obj/structure/falsewall/plasma/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/atmos_sensitive, mapload)
|
||||
|
||||
/obj/structure/falsewall/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(W.get_temperature() > 300)
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Plasma falsewall ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]")
|
||||
log_game("Plasma falsewall ignited by [key_name(user)] in [AREACOORD(T)]")
|
||||
burnbabyburn()
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/falsewall/plasma/should_atmos_process(datum/gas_mixture/air, exposed_temperature)
|
||||
return exposed_temperature > 300
|
||||
|
||||
/obj/structure/falsewall/plasma/atmos_expose(datum/gas_mixture/air, exposed_temperature)
|
||||
burnbabyburn()
|
||||
|
||||
/obj/structure/falsewall/plasma/proc/burnbabyburn(user)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
|
||||
atmos_spawn_air("plasma=400;TEMP=1000")
|
||||
new /obj/structure/girder/displaced(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/falsewall/bananium
|
||||
name = "bananium wall"
|
||||
desc = "A wall with bananium plating. Honk!"
|
||||
|
||||
@@ -59,14 +59,14 @@
|
||||
if(istype(W, /obj/item/stack/rods))
|
||||
var/obj/item/stack/rods/S = W
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 2)
|
||||
if(S.get_amount() < 5)
|
||||
to_chat(user, span_warning("You need at least two rods to create a false wall!"))
|
||||
return
|
||||
to_chat(user, span_notice("You start building a reinforced false wall..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
if(S.get_amount() < 2)
|
||||
if(S.get_amount() < 5)
|
||||
return
|
||||
S.use(2)
|
||||
S.use(5)
|
||||
to_chat(user, span_notice("You create a false wall. Push on it to open or close the passage."))
|
||||
var/obj/structure/falsewall/iron/FW = new (loc)
|
||||
transfer_fingerprints_to(FW)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
anchored = TRUE
|
||||
opacity = TRUE
|
||||
layer = CLOSED_DOOR_LAYER
|
||||
material_flags = MATERIAL_EFFECTS
|
||||
|
||||
icon = 'icons/obj/doors/mineral_doors.dmi'
|
||||
icon_state = "metal"
|
||||
@@ -14,6 +15,8 @@
|
||||
armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 50, ACID = 50)
|
||||
can_atmos_pass = ATMOS_PASS_DENSITY
|
||||
rad_insulation = RAD_MEDIUM_INSULATION
|
||||
material_flags = MATERIAL_EFFECTS
|
||||
material_modifier = 0.25
|
||||
|
||||
var/door_opened = FALSE //if it's open or not.
|
||||
var/isSwitchingStates = FALSE //don't try to change stats if we're already opening
|
||||
@@ -23,10 +26,13 @@
|
||||
var/closeSound = 'sound/effects/stonedoor_openclose.ogg'
|
||||
|
||||
var/sheetType = /obj/item/stack/sheet/iron //what we're made of
|
||||
var/sheetAmount = 7 //how much we drop when deconstructed
|
||||
var/sheetAmount = 10 //how much it takes to construct us.
|
||||
|
||||
/obj/structure/mineral_door/Initialize(mapload)
|
||||
. = ..()
|
||||
var/obj/item/stack/initialized_mineral = new sheetType // Okay this kinda sucks.
|
||||
set_custom_materials(initialized_mineral.mats_per_unit, sheetAmount)
|
||||
qdel(initialized_mineral)
|
||||
air_update_turf(TRUE, TRUE)
|
||||
|
||||
/obj/structure/mineral_door/Destroy()
|
||||
@@ -205,6 +211,7 @@
|
||||
/obj/structure/mineral_door/iron
|
||||
name = "iron door"
|
||||
max_integrity = 300
|
||||
sheetAmount = 20
|
||||
|
||||
/obj/structure/mineral_door/silver
|
||||
name = "silver door"
|
||||
@@ -248,32 +255,6 @@
|
||||
icon_state = "plasma"
|
||||
sheetType = /obj/item/stack/sheet/mineral/plasma
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/atmos_sensitive, mapload)
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/welder_act(mob/living/user, obj/item/I)
|
||||
return
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(W.get_temperature())
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Plasma mineral door ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]")
|
||||
log_game("Plasma mineral door ignited by [key_name(user)] in [AREACOORD(T)]")
|
||||
TemperatureAct()
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/should_atmos_process(datum/gas_mixture/air, exposed_temperature)
|
||||
return exposed_temperature > 300
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/atmos_expose(datum/gas_mixture/air, exposed_temperature)
|
||||
TemperatureAct()
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/proc/TemperatureAct()
|
||||
atmos_spawn_air("plasma=500;TEMP=1000")
|
||||
deconstruct(FALSE)
|
||||
|
||||
/obj/structure/mineral_door/transparent/diamond
|
||||
name = "diamond door"
|
||||
icon_state = "diamond"
|
||||
|
||||
Reference in New Issue
Block a user