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:
vincentiusvin
2021-12-09 07:14:28 +07:00
committed by GitHub
parent 87264ec63a
commit 3bb8424d78
13 changed files with 93 additions and 236 deletions
+4 -25
View File
@@ -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!"
+3 -3
View File
@@ -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)
+8 -27
View File
@@ -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"