diff --git a/code/modules/admin/buildmode.dm b/code/modules/admin/buildmode.dm
index a5b6b930672..1c980e5272d 100644
--- a/code/modules/admin/buildmode.dm
+++ b/code/modules/admin/buildmode.dm
@@ -1,10 +1,3 @@
-#define BASIC_BUILDMODE 1
-#define ADV_BUILDMODE 2
-#define VAR_BUILDMODE 3
-#define THROW_BUILDMODE 4
-#define AREA_BUILDMODE 5
-#define NUM_BUILDMODES 5
-
/proc/togglebuildmode(mob/M as mob in player_list)
set name = "Toggle Build Mode"
set category = "Special Verbs"
@@ -17,7 +10,6 @@
if(H.cl == M.client)
del(H)
else
- message_admins("[key_name(usr)] has entered build mode.")
log_admin("[key_name(usr)] has entered build mode.")
M.client.buildmode = 1
M.client.show_popup_menus = 0
@@ -42,7 +34,7 @@
M.client.screen += D
H.cl = M.client
-/obj/effect/bmode //Cleaning up the tree a bit
+/obj/effect/bmode//Cleaning up the tree a bit
density = 1
anchored = 1
layer = 20
@@ -53,72 +45,65 @@
/obj/effect/bmode/builddir
icon_state = "build"
screen_loc = "NORTH,WEST"
-
-/obj/effect/bmode/Click()
- switch(dir)
- if(NORTH)
- dir = EAST
- if(EAST)
- dir = SOUTH
- if(SOUTH)
- dir = WEST
- if(WEST)
- dir = SOUTHWEST
- if(SOUTHWEST)
- dir = NORTH
- return 1
+ Click()
+ switch(dir)
+ if(NORTH)
+ dir = EAST
+ if(EAST)
+ dir = SOUTH
+ if(SOUTH)
+ dir = WEST
+ if(WEST)
+ dir = SOUTHWEST
+ if(SOUTHWEST)
+ dir = NORTH
+ return 1
/obj/effect/bmode/buildhelp
icon = 'icons/misc/buildmode.dmi'
icon_state = "buildhelp"
screen_loc = "NORTH,WEST+1"
-
-/obj/effect/bmode/buildhelp/Click()
- switch(master.cl.buildmode)
- if(BASIC_BUILDMODE)
- usr << "\blue ***********************************************************"
- usr << "\blue Left Mouse Button = Construct / Upgrade"
- usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
- usr << "\blue Left Mouse Button + ctrl = R-Window"
- usr << "\blue Left Mouse Button + alt = Airlock"
- usr << ""
- usr << "\blue Use the button in the upper left corner to"
- usr << "\blue change the direction of built objects."
- usr << "\blue ***********************************************************"
- if(ADV_BUILDMODE)
- usr << "\blue ***********************************************************"
- usr << "\blue Right Mouse Button on buildmode button = Set object type"
- usr << "\blue Left Mouse Button on turf/obj = Place objects"
- usr << "\blue Right Mouse Button = Delete objects"
- usr << ""
- usr << "\blue Use the button in the upper left corner to"
- usr << "\blue change the direction of built objects."
- usr << "\blue ***********************************************************"
- if(VAR_BUILDMODE)
- usr << "\blue ***********************************************************"
- usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value"
- usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value"
- usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value"
- usr << "\blue ***********************************************************"
- if(THROW_BUILDMODE)
- usr << "\blue ***********************************************************"
- usr << "\blue Left Mouse Button on turf/obj/mob = Select"
- usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
- usr << "\blue ***********************************************************"
- if(AREA_BUILDMODE)
- usr << "\blue ***********************************************************"
- usr << "\blue Left Mouse Button on turf/obj/mob = Select corner"
- usr << "\blue Right Mouse Button on buildmode button = Select generator"
- usr << "\blue ***********************************************************"
- return 1
+ Click()
+ switch(master.cl.buildmode)
+ if(1)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Left Mouse Button = Construct / Upgrade"
+ usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
+ usr << "\blue Left Mouse Button + ctrl = R-Window"
+ usr << "\blue Left Mouse Button + alt = Airlock"
+ usr << ""
+ usr << "\blue Use the button in the upper left corner to"
+ usr << "\blue change the direction of built objects."
+ usr << "\blue ***********************************************************"
+ if(2)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Right Mouse Button on buildmode button = Set object type"
+ usr << "\blue Left Mouse Button on turf/obj = Place objects"
+ usr << "\blue Right Mouse Button = Delete objects"
+ usr << ""
+ usr << "\blue Use the button in the upper left corner to"
+ usr << "\blue change the direction of built objects."
+ usr << "\blue ***********************************************************"
+ if(3)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value"
+ usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value"
+ usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value"
+ usr << "\blue ***********************************************************"
+ if(4)
+ usr << "\blue ***********************************************************"
+ usr << "\blue Left Mouse Button on turf/obj/mob = Select"
+ usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
+ usr << "\blue ***********************************************************"
+ return 1
/obj/effect/bmode/buildquit
icon_state = "buildquit"
screen_loc = "NORTH,WEST+3"
-/obj/effect/bmode/buildquit/Click()
- togglebuildmode(master.cl.mob)
- return 1
+ Click()
+ togglebuildmode(master.cl.mob)
+ return 1
/obj/effect/bmode/buildholder
density = 0
@@ -129,9 +114,6 @@
var/obj/effect/bmode/buildmode/buildmode = null
var/obj/effect/bmode/buildquit/buildquit = null
var/atom/movable/throw_atom = null
- var/turf/cornerA = null
- var/turf/cornerB = null
- var/generator_path = null
/obj/effect/bmode/buildmode
icon_state = "buildmode1"
@@ -140,50 +122,56 @@
var/valueholder = "derp"
var/objholder = /obj/structure/closet
-/obj/effect/bmode/buildmode/Click(location, control, params)
- var/list/pa = params2list(params)
+ Click(location, control, params)
+ var/list/pa = params2list(params)
- if(pa.Find("left"))
- master.cl.buildmode = (master.cl.buildmode % NUM_BUILDMODES) +1
- src.icon_state = "buildmode[master.cl.buildmode]"
+ if(pa.Find("left"))
+ switch(master.cl.buildmode)
+ if(1)
+ master.cl.buildmode = 2
+ src.icon_state = "buildmode2"
+ if(2)
+ master.cl.buildmode = 3
+ src.icon_state = "buildmode3"
+ if(3)
+ master.cl.buildmode = 4
+ src.icon_state = "buildmode4"
+ if(4)
+ master.cl.buildmode = 1
+ src.icon_state = "buildmode1"
- else if(pa.Find("right"))
- switch(master.cl.buildmode)
- if(BASIC_BUILDMODE)
- return 1
- if(ADV_BUILDMODE)
- objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet"))
- if(!ispath(objholder))
- objholder = /obj/structure/closet
- alert("That path is not allowed.")
- else
- if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0))
- objholder = /obj/structure/closet
- if(VAR_BUILDMODE)
- var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
-
- master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
- if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
+ else if(pa.Find("right"))
+ switch(master.cl.buildmode)
+ if(1)
return 1
- var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference")
- if(!thetype) return 1
- switch(thetype)
- if("text")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text
- if("number")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num
- if("mob-reference")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as mob in mob_list
- if("obj-reference")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world
- if("turf-reference")
- master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world
- if(AREA_BUILDMODE)
- var/list/gen_paths = typesof(/datum/mapGenerator) - /datum/mapGenerator
+ if(2)
+ objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet"))
+ if(!ispath(objholder))
+ objholder = /obj/structure/closet
+ alert("That path is not allowed.")
+ else
+ if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0))
+ objholder = /obj/structure/closet
+ if(3)
+ var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
- var/type = input(usr,"Select Generator Type","Type") in gen_paths
- master.generator_path = type
- return 1
+ master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
+ if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
+ return 1
+ var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference")
+ if(!thetype) return 1
+ switch(thetype)
+ if("text")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text
+ if("number")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num
+ if("mob-reference")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as mob in mob_list
+ if("obj-reference")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world
+ if("turf-reference")
+ master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world
+ return 1
/proc/build_click(var/mob/user, buildmode, params, var/obj/object)
@@ -195,37 +183,38 @@
if(!holder) return
var/list/pa = params2list(params)
- if(istype(object,/obj/effect/bmode))
- return
-
switch(buildmode)
- if(BASIC_BUILDMODE)
+ if(1)
if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") )
- var/turf/T = object
if(istype(object,/turf/space))
+ var/turf/T = object
T.ChangeTurf(/turf/simulated/floor)
+ return
else if(istype(object,/turf/simulated/floor))
+ var/turf/T = object
T.ChangeTurf(/turf/simulated/wall)
+ return
else if(istype(object,/turf/simulated/wall))
+ var/turf/T = object
T.ChangeTurf(/turf/simulated/wall/r_wall)
- log_admin("Build Mode: [key_name(usr)] built [T] at ([T.x],[T.y],[T.z])")
- return
+ return
else if(pa.Find("right"))
- log_admin("Build Mode: [key_name(usr)] deleted [object] at ([object.x],[object.y],[object.z])")
if(istype(object,/turf/simulated/wall))
var/turf/T = object
T.ChangeTurf(/turf/simulated/floor)
+ return
else if(istype(object,/turf/simulated/floor))
var/turf/T = object
T.ChangeTurf(/turf/space)
+ return
else if(istype(object,/turf/simulated/wall/r_wall))
var/turf/T = object
T.ChangeTurf(/turf/simulated/wall)
+ return
else if(istype(object,/obj))
- qdel(object)
- return
+ del(object)
+ return
else if(istype(object,/turf) && pa.Find("alt") && pa.Find("left"))
- log_admin("Build Mode: [key_name(usr)] built an airlock at ([object.x],[object.y],[object.z])")
new/obj/machinery/door/airlock(get_turf(object))
else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left"))
switch(holder.builddir.dir)
@@ -243,74 +232,35 @@
WIN.dir = WEST
if(SOUTHWEST)
new/obj/structure/window/full/reinforced(get_turf(object))
- log_admin("Build Mode: [key_name(usr)] built a window at ([object.x],[object.y],[object.z])")
- if(ADV_BUILDMODE)
+ if(2)
if(pa.Find("left"))
if(ispath(holder.buildmode.objholder,/turf))
var/turf/T = get_turf(object)
- log_admin("Build Mode: [key_name(usr)] modified [T] ([T.x],[T.y],[T.z]) to [holder.buildmode.objholder]")
T.ChangeTurf(holder.buildmode.objholder)
else
var/obj/A = new holder.buildmode.objholder (get_turf(object))
A.dir = holder.builddir.dir
- log_admin("Build Mode: [key_name(usr)] modified [A]'s ([A.x],[A.y],[A.z]) dir to [holder.builddir.dir]")
else if(pa.Find("right"))
- if(isobj(object))
- log_admin("Build Mode: [key_name(usr)] deleted [object] at ([object.x],[object.y],[object.z])")
- qdel(object)
+ if(isobj(object)) del(object)
- if(VAR_BUILDMODE)
+ if(3)
if(pa.Find("left")) //I cant believe this shit actually compiles.
if(object.vars.Find(holder.buildmode.varholder))
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder
else
- usr << "[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
+ usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
if(pa.Find("right"))
if(object.vars.Find(holder.buildmode.varholder))
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder])
else
- usr << "[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
+ usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
- if(THROW_BUILDMODE)
+ if(4)
if(pa.Find("left"))
- if(isturf(object))
- return
holder.throw_atom = object
if(pa.Find("right"))
if(holder.throw_atom)
holder.throw_atom.throw_at(object, 10, 1)
- log_admin("Build Mode: [key_name(usr)] threw [holder.throw_atom] at [object] ([object.x],[object.y],[object.z])")
- if(AREA_BUILDMODE)
- if(!holder.cornerA)
- holder.cornerA = get_turf(object)
- return
- if(holder.cornerA && !holder.cornerB)
- holder.cornerB = get_turf(object)
- if(pa.Find("left")) //rectangular
- if(holder.cornerA && holder.cornerB)
- if(!holder.generator_path)
- usr << "Select generator type first."
- var/datum/mapGenerator/G = new holder.generator_path
- G.defineRegion(holder.cornerA,holder.cornerB,1)
- G.generate()
- holder.cornerA = null
- holder.cornerB = null
- return
- /* Something wrong with this, will check later
- if(pa.Find("right")) // circular
- if(holder.cornerA && holder.cornerB)
- if(!holder.generator_path)
- usr << "Select generator type first."
- var/datum/mapGenerator/G = new holder.generator_path
- G.defineCircularRegion(holder.cornerA,holder.cornerB,1)
- G.generate()
- holder.cornerA = null
- holder.cornerB = null
- return
- */
- //Something wrong - Reset
- holder.cornerA = null
- holder.cornerB = null
\ No newline at end of file
diff --git a/code/modules/procedural mapping/mapGenerators/asteroid.dm b/code/modules/procedural mapping/mapGenerators/asteroid.dm
deleted file mode 100644
index a80bd791998..00000000000
--- a/code/modules/procedural mapping/mapGenerators/asteroid.dm
+++ /dev/null
@@ -1,64 +0,0 @@
-//Border walls
-/datum/mapGeneratorModule/border
- clusterCheckFlags = CLUSTER_CHECK_NONE
-
-/datum/mapGeneratorModule/border/generate()
- if(!mother)
- return
- var/list/map = mother.map
- for(var/turf/T in map)
- if(is_border(T))
- place(T)
-
-/datum/mapGeneratorModule/border/proc/is_border(var/turf/T)
- for(var/direction in list(SOUTH,EAST,WEST,NORTH))
- if (get_step(T,direction) in mother.map)
- continue
- return 1
- return 0
-
-//Asteroid turfs
-/datum/mapGeneratorModule/bottomLayer/asteroidTurfs
- spawnableTurfs = list(/turf/simulated/floor/plating/airless/asteroid = 100)
-
-/datum/mapGeneratorModule/bottomLayer/asteroidWalls
- spawnableTurfs = list(/turf/simulated/mineral = 100)
-
-//Border walls
-/datum/mapGeneratorModule/border/asteroidWalls
- spawnableAtoms = list()
- spawnableTurfs = list(/turf/simulated/mineral = 100)
-
-//Random walls
-/datum/mapGeneratorModule/splatterLayer/asteroidWalls
- clusterCheckFlags = CLUSTER_CHECK_NONE
- spawnableAtoms = list()
- spawnableTurfs = list(/turf/simulated/mineral = 30)
-
-//Monsters
-/datum/mapGeneratorModule/splatterLayer/asteroidMonsters
- spawnableTurfs = list()
- spawnableAtoms = list(/mob/living/simple_animal/hostile/asteroid/basilisk = 10, \
- /mob/living/simple_animal/hostile/asteroid/hivelord = 10, \
- /mob/living/simple_animal/hostile/asteroid/goliath = 10)
-
-
-// GENERATORS
-
-/datum/mapGenerator/asteroid/hollow
- modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidTurfs, \
- /datum/mapGeneratorModule/border/asteroidWalls)
-
-/datum/mapGenerator/asteroid/hollow/random
- modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidTurfs, \
- /datum/mapGeneratorModule/border/asteroidWalls, \
- /datum/mapGeneratorModule/splatterLayer/asteroidWalls)
-
-/datum/mapGenerator/asteroid/hollow/random/monsters
- modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidTurfs, \
- /datum/mapGeneratorModule/border/asteroidWalls, \
- /datum/mapGeneratorModule/splatterLayer/asteroidWalls, \
- /datum/mapGeneratorModule/splatterLayer/asteroidMonsters)
-
-/datum/mapGenerator/asteroid/filled
- modules = list(/datum/mapGeneratorModule/bottomLayer/asteroidWalls)
\ No newline at end of file
diff --git a/code/modules/procedural mapping/mapGenerators/syndicate.dm b/code/modules/procedural mapping/mapGenerators/syndicate.dm
deleted file mode 100644
index 2873ba0e1e6..00000000000
--- a/code/modules/procedural mapping/mapGenerators/syndicate.dm
+++ /dev/null
@@ -1,44 +0,0 @@
-// Modules
-
-/turf/simulated/shuttle/floor/syndicate //TODO: move to proper file/replace syndie shuttle turfs
- icon_state = "floor4"
-
-/datum/mapGeneratorModule/bottomLayer/syndieFloor
- spawnableTurfs = list(/turf/simulated/shuttle/floor/syndicate = 100)
-
-/datum/mapGeneratorModule/border/syndieWalls
- spawnableAtoms = list()
- spawnableTurfs = list(/turf/simulated/wall/r_wall = 100)
-
-
-/datum/mapGeneratorModule/bottomLayer/repressurize
- // Helper to repressurize the area in case it was run in space
- spawnableAtoms = list()
- spawnableTurfs = list()
-
-/datum/mapGeneratorModule/bottomLayer/repressurize/generate()
- if(!mother)
- return
- var/list/map = mother.map
- for(var/turf/simulated/T in map)
- air_master.remove_from_active(T)
- for(var/turf/simulated/T in map)
- if(T.air)
- T.air.oxygen = T.oxygen
- T.air.nitrogen = T.nitrogen
- T.air.carbon_dioxide = T.carbon_dioxide
- T.air.toxins = T.toxins
- T.air.temperature = T.temperature
- air_master.add_to_active(T)
-
-// Generators
-
-/datum/mapGenerator/syndicate/empty //walls and floor only
- modules = list(/datum/mapGeneratorModule/bottomLayer/syndieFloor, \
- /datum/mapGeneratorModule/border/syndieWalls,\
- /datum/mapGeneratorModule/bottomLayer/repressurize)
-
-/*
-/datum/mapGenerator/syndicate/syndiesonly //walls/floors + mobs
-/datum/mapGenerator/syndicate/full //doors + random equipment
-*/
\ No newline at end of file
diff --git a/icons/misc/buildmode.dmi b/icons/misc/buildmode.dmi
index 9c6eb1be59f..1b7635129d3 100644
Binary files a/icons/misc/buildmode.dmi and b/icons/misc/buildmode.dmi differ
diff --git a/paradise.dme b/paradise.dme
index 181d3b2ae6b..95230e48fcf 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1525,9 +1525,7 @@
#include "code\modules\procedural mapping\mapGeneratorModule.dm"
#include "code\modules\procedural mapping\mapGeneratorReadme.dm"
#include "code\modules\procedural mapping\mapGeneratorModules\nature.dm"
-#include "code\modules\procedural mapping\mapGenerators\asteroid.dm"
#include "code\modules\procedural mapping\mapGenerators\nature.dm"
-#include "code\modules\procedural mapping\mapGenerators\syndicate.dm"
#include "code\modules\projectiles\ammunition.dm"
#include "code\modules\projectiles\gun.dm"
#include "code\modules\projectiles\projectile.dm"