mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Scopes NODECONSTRUCT_1 from flags_1 to obj_flags (#80104)
This flag only worked on the `/obj/structure` and `/obj/machinery` level, so let's rescope it from `flags_1` and put it where it belongs - `obj_flags`. Bitflag operators should be scoped to their subtype specific bitfield, not really useful to have this take up a spot on the `/atom` level if absolutely nothing other than `/obj`s use it.
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
icon_state = "gelmound"
|
||||
|
||||
/obj/structure/alien/gelpod/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/effect/mob_spawn/corpse/human/damaged(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
@@ -447,7 +447,7 @@
|
||||
|
||||
/obj/structure/alien/egg/atom_break(damage_flag)
|
||||
. = ..()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(status != BURST)
|
||||
Burst(kill=TRUE)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
smoothing_groups = SMOOTH_GROUP_ALIEN_NEST
|
||||
canSmoothWith = SMOOTH_GROUP_ALIEN_NEST
|
||||
build_stack_type = null
|
||||
flags_1 = NODECONSTRUCT_1
|
||||
obj_flags = NO_DECONSTRUCTION
|
||||
elevation = 0
|
||||
var/static/mutable_appearance/nest_overlay = mutable_appearance('icons/mob/nonhuman-player/alien.dmi', "nestoverlay", LYING_MOB_LAYER)
|
||||
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
|
||||
/obj/structure/bed/examine(mob/user)
|
||||
. = ..()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
. += span_notice("It's held together by a couple of <b>bolts</b>.")
|
||||
|
||||
/obj/structure/bed/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
|
||||
if(held_item)
|
||||
if(held_item.tool_behaviour != TOOL_WRENCH || flags_1 & NODECONSTRUCT_1)
|
||||
if(held_item.tool_behaviour != TOOL_WRENCH || obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
|
||||
context[SCREENTIP_CONTEXT_RMB] = "Dismantle"
|
||||
@@ -50,7 +50,7 @@
|
||||
return CONTEXTUAL_SCREENTIP_SET
|
||||
|
||||
/obj/structure/bed/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(build_stack_type)
|
||||
new build_stack_type(loc, build_stack_amount)
|
||||
..()
|
||||
@@ -59,7 +59,7 @@
|
||||
return attack_hand(user, modifiers)
|
||||
|
||||
/obj/structure/bed/wrench_act_secondary(mob/living/user, obj/item/weapon)
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return TRUE
|
||||
|
||||
..()
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
/obj/structure/chair/deconstruct(disassembled)
|
||||
// If we have materials, and don't have the NOCONSTRUCT flag
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(buildstacktype)
|
||||
new buildstacktype(loc,buildstackamount)
|
||||
else
|
||||
@@ -56,7 +56,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/chair/attackby(obj/item/W, mob/user, params)
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return . = ..()
|
||||
if(istype(W, /obj/item/assembly/shock_kit) && !HAS_TRAIT(src, TRAIT_ELECTRIFIED_BUCKLE))
|
||||
electrify_self(W, user)
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
|
||||
/obj/structure/chair/wrench_act_secondary(mob/living/user, obj/item/weapon)
|
||||
if(flags_1&NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return TRUE
|
||||
..()
|
||||
weapon.play_tool_sound(src)
|
||||
@@ -277,7 +277,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool, 0)
|
||||
/obj/structure/chair/MouseDrop(over_object, src_location, over_location)
|
||||
. = ..()
|
||||
if(over_object == usr && Adjacent(usr))
|
||||
if(!item_chair || has_buckled_mobs() || src.flags_1 & NODECONSTRUCT_1)
|
||||
if(!item_chair || has_buckled_mobs() || src.obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
if(!usr.can_perform_action(src, NEED_DEXTERITY|NEED_HANDS))
|
||||
return
|
||||
@@ -490,7 +490,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0)
|
||||
icon_state = null
|
||||
buildstacktype = null
|
||||
item_chair = null
|
||||
flags_1 = NODECONSTRUCT_1
|
||||
obj_flags = NO_DECONSTRUCTION
|
||||
alpha = 0
|
||||
|
||||
/obj/structure/chair/mime/post_buckle_mob(mob/living/M)
|
||||
|
||||
@@ -647,7 +647,7 @@ LINEN BINS
|
||||
..()
|
||||
|
||||
/obj/structure/bedsheetbin/screwdriver_act(mob/living/user, obj/item/tool)
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return FALSE
|
||||
if(amount)
|
||||
to_chat(user, span_warning("The [src] must be empty first!"))
|
||||
|
||||
@@ -536,7 +536,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets)
|
||||
return open(user)
|
||||
|
||||
/obj/structure/closet/deconstruct(disassembled = TRUE)
|
||||
if (!(flags_1 & NODECONSTRUCT_1))
|
||||
if (!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(ispath(material_drop) && material_drop_amount)
|
||||
new material_drop(loc, material_drop_amount)
|
||||
if (secure)
|
||||
@@ -553,7 +553,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets)
|
||||
|
||||
/obj/structure/closet/atom_break(damage_flag)
|
||||
. = ..()
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
if(!broken && !(obj_flags & NO_DECONSTRUCTION))
|
||||
bust_open()
|
||||
|
||||
/obj/structure/closet/CheckParts(list/parts_list)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
return FALSE
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/deconstruct(disassembled)
|
||||
if (!(flags_1 & NODECONSTRUCT_1))
|
||||
if (!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/assembly/igniter/condenser(drop_location())
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
/obj/structure/destructible/deconstruct(disassembled = TRUE)
|
||||
if(!disassembled)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(islist(debris))
|
||||
for(var/I in debris)
|
||||
for(var/i in 1 to debris[I])
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
|
||||
|
||||
/obj/structure/displaycase/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
dump()
|
||||
if(!disassembled)
|
||||
new /obj/item/shard(drop_location())
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
/obj/structure/displaycase/atom_break(damage_flag)
|
||||
. = ..()
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
if(!broken && !(obj_flags & NO_DECONSTRUCTION))
|
||||
set_density(FALSE)
|
||||
broken = TRUE
|
||||
new /obj/item/shard(drop_location())
|
||||
@@ -673,7 +673,7 @@
|
||||
|
||||
/obj/structure/displaycase/forsale/atom_break(damage_flag)
|
||||
. = ..()
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
if(!broken && !(obj_flags & NO_DECONSTRUCTION))
|
||||
broken = TRUE
|
||||
playsound(src, SFX_SHATTER, 70, TRUE)
|
||||
update_appearance()
|
||||
|
||||
@@ -363,7 +363,7 @@
|
||||
qdel(source)
|
||||
|
||||
/obj/structure/door_assembly/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
var/turf/T = get_turf(src)
|
||||
if(!disassembled)
|
||||
material_amt = rand(2,4)
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
base_name = "large public airlock"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_material/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/material in custom_materials)
|
||||
var/datum/material/material_datum = material
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/dresser/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29)
|
||||
|
||||
/obj/structure/extinguisher_cabinet/atom_break(damage_flag)
|
||||
. = ..()
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
if(!broken && !(obj_flags & NO_DECONSTRUCTION))
|
||||
broken = 1
|
||||
opened = 1
|
||||
if(stored_extinguisher)
|
||||
@@ -169,7 +169,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29)
|
||||
|
||||
|
||||
/obj/structure/extinguisher_cabinet/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(disassembled)
|
||||
new /obj/item/wallframe/extinguisher_cabinet(loc)
|
||||
else
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
deconstruct(disassembled)
|
||||
|
||||
/obj/structure/falsewall/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(disassembled)
|
||||
new girder_type(loc)
|
||||
if(mineral_amount)
|
||||
@@ -388,7 +388,7 @@
|
||||
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
|
||||
|
||||
/obj/structure/falsewall/material/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(disassembled)
|
||||
new girder_type(loc)
|
||||
for(var/material in custom_materials)
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
can_atmos_pass = ATMOS_PASS_NO
|
||||
|
||||
/obj/structure/fans/deconstruct()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(buildstacktype)
|
||||
new buildstacktype(loc,buildstackamount)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/fans/wrench_act(mob/living/user, obj/item/I)
|
||||
..()
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return TRUE
|
||||
|
||||
user.visible_message(span_warning("[user] disassembles [src]."),
|
||||
|
||||
@@ -108,7 +108,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32)
|
||||
|
||||
/obj/structure/fireaxecabinet/atom_break(damage_flag)
|
||||
. = ..()
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
if(!broken && !(obj_flags & NO_DECONSTRUCTION))
|
||||
update_appearance()
|
||||
broken = TRUE
|
||||
playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE)
|
||||
@@ -116,7 +116,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32)
|
||||
new /obj/item/shard(loc)
|
||||
|
||||
/obj/structure/fireaxecabinet/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(held_item && loc)
|
||||
held_item.forceMove(loc)
|
||||
new /obj/item/wallframe/fireaxecabinet(loc)
|
||||
@@ -231,7 +231,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/empty, 32)
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/mechremoval, 32)
|
||||
|
||||
/obj/structure/fireaxecabinet/mechremoval/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(held_item && loc)
|
||||
held_item.forceMove(loc)
|
||||
new /obj/item/wallframe/fireaxecabinet/mechremoval(loc)
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
transform = M.Turn(-previous_rotation)
|
||||
|
||||
/obj/structure/flora/deconstruct()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(harvested)
|
||||
return ..()
|
||||
|
||||
@@ -446,7 +446,7 @@
|
||||
name = "xmas tree"
|
||||
desc = "A wondrous decorated Christmas tree."
|
||||
icon_state = "pine_c"
|
||||
flags_1 = NODECONSTRUCT_1 //protected by the christmas spirit
|
||||
obj_flags = NO_DECONSTRUCTION //protected by the christmas spirit
|
||||
|
||||
/obj/structure/flora/tree/pine/xmas/presents
|
||||
icon_state = "pinepresents"
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
return FALSE
|
||||
|
||||
/obj/structure/girder/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
var/remains = pick(/obj/item/stack/rods, /obj/item/stack/sheet/iron)
|
||||
new remains(loc)
|
||||
qdel(src)
|
||||
@@ -463,7 +463,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/girder/cult/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/stack/sheet/runed_metal(drop_location(), 1)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
/obj/structure/grille/examine(mob/user)
|
||||
. = ..()
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
|
||||
if(anchored)
|
||||
@@ -200,7 +200,7 @@
|
||||
add_fingerprint(user)
|
||||
if(shock(user, 100))
|
||||
return
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return FALSE
|
||||
tool.play_tool_sound(src, 100)
|
||||
deconstruct()
|
||||
@@ -212,7 +212,7 @@
|
||||
add_fingerprint(user)
|
||||
if(shock(user, 90))
|
||||
return FALSE
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return FALSE
|
||||
if(!tool.use_tool(src, user, 0, volume=100))
|
||||
return FALSE
|
||||
@@ -299,7 +299,7 @@
|
||||
/obj/structure/grille/deconstruct(disassembled = TRUE)
|
||||
if(!loc) //if already qdel'd somehow, we do nothing
|
||||
return
|
||||
if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
var/obj/R = new rods_type(drop_location(), rods_amount)
|
||||
transfer_fingerprints_to(R)
|
||||
qdel(src)
|
||||
@@ -307,7 +307,7 @@
|
||||
|
||||
/obj/structure/grille/atom_break()
|
||||
. = ..()
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
if(!broken && !(obj_flags & NO_DECONSTRUCTION))
|
||||
icon_state = "brokengrille"
|
||||
set_density(FALSE)
|
||||
atom_integrity = 20
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
return T.attackby(C, user) //hand this off to the turf instead (for building plating, catwalks, etc)
|
||||
|
||||
/obj/structure/lattice/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new build_material(get_turf(src), number_of_mats)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -305,7 +305,7 @@ at the cost of risking a vicious bite.**/
|
||||
return TRUE
|
||||
|
||||
/obj/structure/steam_vent/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/stack/sheet/iron(loc, 1)
|
||||
new /obj/item/stock_parts/water_recycler(loc, 1)
|
||||
qdel(src)
|
||||
|
||||
@@ -261,7 +261,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28)
|
||||
|
||||
/obj/structure/mirror/atom_break(damage_flag, mapload)
|
||||
. = ..()
|
||||
if(broken || (flags_1 & NODECONSTRUCT_1))
|
||||
if(broken || (obj_flags & NO_DECONSTRUCTION))
|
||||
return
|
||||
icon_state = "mirror_broke"
|
||||
if(!mapload)
|
||||
@@ -271,7 +271,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28)
|
||||
broken = TRUE
|
||||
|
||||
/obj/structure/mirror/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(!disassembled)
|
||||
new /obj/item/shard(loc)
|
||||
else
|
||||
|
||||
@@ -106,7 +106,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/structure/bodycontainer/deconstruct(disassembled = TRUE)
|
||||
if (!(flags_1 & NODECONSTRUCT_1))
|
||||
if (!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/stack/sheet/iron(loc, 5)
|
||||
toggle_organ_decay(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -111,7 +111,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32)
|
||||
update_appearance(UPDATE_ICON)
|
||||
|
||||
/obj/structure/noticeboard/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(!disassembled)
|
||||
new /obj/item/stack/sheet/mineral/wood(loc)
|
||||
else
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
|
||||
/obj/structure/plasticflaps/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/stack/sheet/plastic/five(loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
return TRUE
|
||||
|
||||
/obj/structure/railing/deconstruct(disassembled)
|
||||
if((flags_1 & NODECONSTRUCT_1))
|
||||
if((obj_flags & NO_DECONSTRUCTION))
|
||||
return ..()
|
||||
var/rods_to_make = istype(src,/obj/structure/railing/corner) ? 1 : 2
|
||||
var/obj/rod = new item_deconstruct(drop_location(), rods_to_make)
|
||||
@@ -110,7 +110,7 @@
|
||||
///Implements behaviour that makes it possible to unanchor the railing.
|
||||
/obj/structure/railing/wrench_act(mob/living/user, obj/item/I)
|
||||
. = ..()
|
||||
if(flags_1&NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
to_chat(user, span_notice("You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor..."))
|
||||
if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
|
||||
|
||||
@@ -184,7 +184,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
|
||||
|
||||
/obj/machinery/shower/wrench_act(mob/living/user, obj/item/I)
|
||||
. = ..()
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
|
||||
I.play_tool_sound(src)
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
context[SCREENTIP_CONTEXT_RMB] = "Deal card faceup"
|
||||
. = CONTEXTUAL_SCREENTIP_SET
|
||||
|
||||
if(!(flags_1 & NODECONSTRUCT_1) && deconstruction_ready)
|
||||
if(!(obj_flags & NO_DECONSTRUCTION) && deconstruction_ready)
|
||||
if(held_item.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
context[SCREENTIP_CONTEXT_RMB] = "Disassemble"
|
||||
. = CONTEXTUAL_SCREENTIP_SET
|
||||
@@ -207,7 +207,7 @@
|
||||
pushed_mob.add_mood_event("table", /datum/mood_event/table_limbsmash, banged_limb)
|
||||
|
||||
/obj/structure/table/screwdriver_act_secondary(mob/living/user, obj/item/tool)
|
||||
if(flags_1 & NODECONSTRUCT_1 || !deconstruction_ready)
|
||||
if(obj_flags & NO_DECONSTRUCTION || !deconstruction_ready)
|
||||
return FALSE
|
||||
to_chat(user, span_notice("You start disassembling [src]..."))
|
||||
if(tool.use_tool(src, user, 2 SECONDS, volume=50))
|
||||
@@ -215,7 +215,7 @@
|
||||
return TOOL_ACT_TOOLTYPE_SUCCESS
|
||||
|
||||
/obj/structure/table/wrench_act_secondary(mob/living/user, obj/item/tool)
|
||||
if(flags_1 & NODECONSTRUCT_1 || !deconstruction_ready)
|
||||
if(obj_flags & NO_DECONSTRUCTION || !deconstruction_ready)
|
||||
return FALSE
|
||||
to_chat(user, span_notice("You start deconstructing [src]..."))
|
||||
if(tool.use_tool(src, user, 4 SECONDS, volume=50))
|
||||
@@ -298,7 +298,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/table/deconstruct(disassembled = TRUE, wrench_disassembly = 0)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
var/turf/T = get_turf(src)
|
||||
if(buildstack)
|
||||
new buildstack(T, buildstackamount)
|
||||
@@ -437,7 +437,7 @@
|
||||
|
||||
/obj/structure/table/glass/proc/on_entered(datum/source, atom/movable/AM)
|
||||
SIGNAL_HANDLER
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
if(!isliving(AM))
|
||||
return
|
||||
@@ -470,7 +470,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/table/glass/deconstruct(disassembled = TRUE, wrench_disassembly = 0)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
if(disassembled)
|
||||
..()
|
||||
return
|
||||
@@ -847,7 +847,7 @@
|
||||
|
||||
/obj/structure/rack/attackby(obj/item/W, mob/living/user, params)
|
||||
var/list/modifiers = params2list(params)
|
||||
if (W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1) && LAZYACCESS(modifiers, RIGHT_CLICK))
|
||||
if (W.tool_behaviour == TOOL_WRENCH && !(obj_flags & NO_DECONSTRUCTION) && LAZYACCESS(modifiers, RIGHT_CLICK))
|
||||
W.play_tool_sound(src)
|
||||
deconstruct(TRUE)
|
||||
return
|
||||
@@ -885,7 +885,7 @@
|
||||
*/
|
||||
|
||||
/obj/structure/rack/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
set_density(FALSE)
|
||||
var/obj/item/rack_parts/newparts = new(loc)
|
||||
transfer_fingerprints_to(newparts)
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
|
||||
/obj/structure/tank_dispenser/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
for(var/X in src)
|
||||
var/obj/item/I = X
|
||||
I.forceMove(loc)
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/transit_tube_pod/deconstruct(disassembled = TRUE, mob/user)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
var/atom/location = get_turf(src)
|
||||
if(user)
|
||||
location = user.loc
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/toilet/deconstruct()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
for(var/obj/toilet_item in contents)
|
||||
toilet_item.forceMove(drop_location())
|
||||
if(buildstacktype)
|
||||
@@ -105,7 +105,7 @@
|
||||
cistern = !cistern
|
||||
update_appearance()
|
||||
return COMPONENT_CANCEL_ATTACK_CHAIN
|
||||
else if(I.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1))
|
||||
else if(I.tool_behaviour == TOOL_WRENCH && !(obj_flags & NO_DECONSTRUCTION))
|
||||
I.play_tool_sound(src)
|
||||
deconstruct()
|
||||
return TRUE
|
||||
@@ -228,7 +228,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/urinal/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
new /obj/item/wallframe/urinal(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -419,7 +419,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14))
|
||||
playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE)
|
||||
return
|
||||
|
||||
if(O.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1))
|
||||
if(O.tool_behaviour == TOOL_WRENCH && !(obj_flags & NO_DECONSTRUCTION))
|
||||
O.play_tool_sound(src)
|
||||
deconstruct()
|
||||
return
|
||||
@@ -496,7 +496,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14))
|
||||
return ..()
|
||||
|
||||
/obj/structure/sink/deconstruct()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
drop_materials()
|
||||
if(has_water_reclaimer)
|
||||
new /obj/item/stock_parts/water_recycler(drop_location())
|
||||
@@ -572,7 +572,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16))
|
||||
return TRUE
|
||||
|
||||
/obj/structure/sinkframe/deconstruct()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
drop_materials()
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
/obj/structure/window/examine(mob/user)
|
||||
. = ..()
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
|
||||
switch(state)
|
||||
@@ -210,7 +210,7 @@
|
||||
return TOOL_ACT_TOOLTYPE_SUCCESS
|
||||
|
||||
/obj/structure/window/screwdriver_act(mob/living/user, obj/item/tool)
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
|
||||
switch(state)
|
||||
@@ -240,7 +240,7 @@
|
||||
/obj/structure/window/wrench_act(mob/living/user, obj/item/tool)
|
||||
if(anchored)
|
||||
return FALSE
|
||||
if((flags_1 & NODECONSTRUCT_1) || (reinf && state >= RWINDOW_FRAME_BOLTED))
|
||||
if((obj_flags & NO_DECONSTRUCTION) || (reinf && state >= RWINDOW_FRAME_BOLTED))
|
||||
return FALSE
|
||||
|
||||
to_chat(user, span_notice("You begin to disassemble [src]..."))
|
||||
@@ -255,7 +255,7 @@
|
||||
return TOOL_ACT_TOOLTYPE_SUCCESS
|
||||
|
||||
/obj/structure/window/crowbar_act(mob/living/user, obj/item/tool)
|
||||
if(!anchored || (flags_1 & NODECONSTRUCT_1))
|
||||
if(!anchored || (obj_flags & NO_DECONSTRUCTION))
|
||||
return FALSE
|
||||
|
||||
switch(state)
|
||||
@@ -335,7 +335,7 @@
|
||||
return
|
||||
if(!disassembled)
|
||||
playsound(src, break_sound, 70, TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(obj_flags & NO_DECONSTRUCTION))
|
||||
for(var/obj/item/shard/debris in spawn_debris(drop_location()))
|
||||
transfer_fingerprints_to(debris) // transfer fingerprints to shards only
|
||||
qdel(src)
|
||||
@@ -480,7 +480,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0)
|
||||
return FALSE
|
||||
|
||||
/obj/structure/window/reinforced/attackby_secondary(obj/item/tool, mob/user, params)
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return ..()
|
||||
|
||||
switch(state)
|
||||
@@ -546,7 +546,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0)
|
||||
/obj/structure/window/reinforced/crowbar_act(mob/living/user, obj/item/tool)
|
||||
if(!anchored)
|
||||
return FALSE
|
||||
if((flags_1 & NODECONSTRUCT_1) || (state != WINDOW_OUT_OF_FRAME))
|
||||
if((obj_flags & NO_DECONSTRUCTION) || (state != WINDOW_OUT_OF_FRAME))
|
||||
return FALSE
|
||||
to_chat(user, span_notice("You begin to lever the window back into the frame..."))
|
||||
if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
|
||||
@@ -561,7 +561,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0)
|
||||
|
||||
/obj/structure/window/reinforced/examine(mob/user)
|
||||
. = ..()
|
||||
if(flags_1 & NODECONSTRUCT_1)
|
||||
if(obj_flags & NO_DECONSTRUCTION)
|
||||
return
|
||||
switch(state)
|
||||
if(RWINDOW_SECURE)
|
||||
@@ -803,7 +803,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw
|
||||
|
||||
/obj/structure/window/reinforced/shuttle/indestructible
|
||||
name = "hardened shuttle window"
|
||||
flags_1 = PREVENT_CLICK_UNDER_1 | NODECONSTRUCT_1
|
||||
obj_flags = NO_DECONSTRUCTION
|
||||
flags_1 = PREVENT_CLICK_UNDER_1
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
|
||||
/obj/structure/window/reinforced/shuttle/indestructible/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
|
||||
|
||||
Reference in New Issue
Block a user