From 7811507f1aa9ef9b287c47c220f795dd91d1ca71 Mon Sep 17 00:00:00 2001 From: JamieH Date: Fri, 27 Oct 2017 10:51:18 +0100 Subject: [PATCH] Add a safety check to buildmode, also fix a bug with corner selection (#32009) * Update buildmode.dm * Add files via upload * Update buildmode.dm * Update buildmode.dm --- code/modules/admin/verbs/buildmode.dm | 35 ++++++++++++++++++++------ icons/turf/overlays.dmi | Bin 5978 -> 6131 bytes 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/code/modules/admin/verbs/buildmode.dm b/code/modules/admin/verbs/buildmode.dm index 2a95fd7803..7789fe4a47 100644 --- a/code/modules/admin/verbs/buildmode.dm +++ b/code/modules/admin/verbs/buildmode.dm @@ -82,6 +82,7 @@ var/valueholder = "derp" var/objholder = /obj/structure/closet var/atom/movable/stored = null + var/list/preview = list() /datum/buildmode/New(client/c) create_buttons() @@ -94,6 +95,8 @@ holder.screen -= buttons holder.click_intercept = null holder.show_popup_menus = 1 + usr.client.images -= preview + preview.Cut() qdel(src) return @@ -150,6 +153,7 @@ if(AREA_BUILDMODE) dat += "***********************************************************" dat += "Left Mouse Button on turf/obj/mob = Select corner" + dat += "Right Mouse Button on turf/obj/mob = Reset corner selection" dat += "Right Mouse Button on buildmode button = Select generator" dat += "***********************************************************" if(COPY_BUILDMODE) @@ -338,13 +342,20 @@ throw_atom.throw_at(object, 10, 1,user) log_admin("Build Mode: [key_name(user)] threw [throw_atom] at [object] ([object.x],[object.y],[object.z])") if(AREA_BUILDMODE) - if(!cornerA) - cornerA = get_turf(object) - return - if(cornerA && !cornerB) - cornerB = get_turf(object) - if(left_click) //rectangular + if(!cornerA) + cornerA = get_turf(object) + preview += image('icons/turf/overlays.dmi',cornerA,"greenOverlay") + usr.client.images -= preview + usr.client.images += preview + return + if(cornerA && !cornerB) + cornerB = get_turf(object) + preview += image('icons/turf/overlays.dmi',cornerB,"blueOverlay") + usr.client.images -= preview + usr.client.images += preview + to_chat(user, "Region selected, if you're happy with your selection left click again, otherwise right click.") + return if(cornerA && cornerB) if(!generator_path) to_chat(user, "Select generator type first.") @@ -354,10 +365,18 @@ if(GLOB.reloading_map) to_chat(user, "You are already reloading an area! Please wait for it to fully finish loading before trying to load another!") return - G.defineRegion(cornerA,cornerB,1) - G.generate() + G.defineRegion(cornerA, cornerB, 1) + for(var/t in G.map) + preview += image('icons/turf/overlays.dmi', t ,"redOverlay") + usr.client.images -= preview + usr.client.images += preview + var/confirm = alert("Are you sure you want run the map generator?", "Run generator", "Yes", "No") + if(confirm == "Yes") + G.generate() cornerA = null cornerB = null + usr.client.images -= preview + preview.Cut() return //Something wrong - Reset cornerA = null diff --git a/icons/turf/overlays.dmi b/icons/turf/overlays.dmi index 34819bdca92e3a73ec0acbf07181e50c3a29b910..c1867fb12f0e51342290655213d81eb5635f6b4a 100644 GIT binary patch literal 6131 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

JzcWP^!)P6FTVvywYRqqmP(~3 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