diff --git a/code/__defines/turfs.dm b/code/__defines/turfs.dm index 6a4602ab254..dd736514f3a 100644 --- a/code/__defines/turfs.dm +++ b/code/__defines/turfs.dm @@ -2,12 +2,13 @@ #define TURF_REMOVE_SCREWDRIVER 2 #define TURF_REMOVE_SHOVEL 4 #define TURF_REMOVE_WRENCH 8 -#define TURF_CAN_BREAK 16 -#define TURF_CAN_BURN 32 -#define TURF_HAS_EDGES 64 -#define TURF_HAS_CORNERS 128 -#define TURF_IS_FRAGILE 256 -#define TURF_ACID_IMMUNE 512 +#define TURF_REMOVE_WELDER 16 +#define TURF_CAN_BREAK 32 +#define TURF_CAN_BURN 64 +#define TURF_HAS_EDGES 128 +#define TURF_HAS_CORNERS 256 +#define TURF_IS_FRAGILE 512 +#define TURF_ACID_IMMUNE 1024 // Roof related flags #define ROOF_FORCE_SPAWN 1 diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm index 06dbf76ab58..9db17f7131f 100644 --- a/code/game/turfs/flooring/flooring.dm +++ b/code/game/turfs/flooring/flooring.dm @@ -270,7 +270,7 @@ desc = "A mass of small intertwined aliens forming a floor... Creepy." icon = 'icons/turf/floors.dmi' icon_base = "diona" - flags = TURF_ACID_IMMUNE | TURF_REMOVE_SHOVEL + flags = TURF_ACID_IMMUNE | TURF_REMOVE_SHOVEL | TURF_REMOVE_WELDER footstep_sound = /decl/sound_category/grass_footstep //material turfs diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 6a17b187e4f..ab9f7e63b4d 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -17,6 +17,25 @@ heat_capacity = 10000 var/lava = 0 +/turf/simulated/floor/examine(mob/user, distance, infix, suffix) + . = ..() + if(flooring) + var/list/can_remove_with = list() + if(flooring.flags & TURF_REMOVE_CROWBAR) + can_remove_with += "crowbars" + if(flooring.flags & TURF_IS_FRAGILE) + can_remove_with += SPAN_WARNING("crowbars") + if(flooring.flags & TURF_REMOVE_SCREWDRIVER) + can_remove_with += "screwdrivers" + if(flooring.flags & TURF_REMOVE_SHOVEL) + can_remove_with += "shovels" + if(flooring.flags & TURF_REMOVE_WRENCH) + can_remove_with += "wrenches" + if(flooring.flags & TURF_REMOVE_WELDER) + can_remove_with += "welding tools" + if(length(can_remove_with)) + to_chat(user, SPAN_NOTICE("\The [src] can be removed with: [english_list(can_remove_with)].")) + /turf/simulated/floor/is_plating() return !flooring diff --git a/code/game/turfs/simulated/floor_attackby.dm b/code/game/turfs/simulated/floor_attackby.dm index fa1c3a3c84c..2e1c20d2345 100644 --- a/code/game/turfs/simulated/floor_attackby.dm +++ b/code/game/turfs/simulated/floor_attackby.dm @@ -35,6 +35,16 @@ make_plating(1) playsound(src, 'sound/items/Deconstruct.ogg', 80, 1) return + else if(C.iswelder() && (flooring.flags & TURF_REMOVE_WELDER)) + var/obj/item/weldingtool/WT = C + if(!WT.isOn()) + to_chat(user, SPAN_WARNING("\The [WT] isn't turned on.")) + return + if(WT.remove_fuel(0, user)) + to_chat(user, SPAN_NOTICE("You use \the [WT] to remove \the [src].")) + make_plating(1) + playsound(src, C.usesound, 80, 1) + return else if(C.iscoil()) to_chat(user, "You must remove the [flooring.descriptor] first.") return diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 4b2336f2ce4..4e7d38f5195 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -5,4 +5,5 @@ name = "biomass flooring" icon_state = "diona" footstep_sound = /decl/sound_category/grass_footstep - initial_flooring = /decl/flooring/diona \ No newline at end of file + initial_flooring = /decl/flooring/diona + flags = TURF_REMOVE_SHOVEL|TURF_REMOVE_WELDER \ No newline at end of file diff --git a/html/changelogs/geeves-diona_flooring.yml b/html/changelogs/geeves-diona_flooring.yml new file mode 100644 index 00000000000..579ab49b114 --- /dev/null +++ b/html/changelogs/geeves-diona_flooring.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added examine text to floors that allows you to see what you can deconstruct them with." + - tweak: "Diona floors can now be removed with shovels and welding tools." \ No newline at end of file