Revert "Adds area generators to build mode"

This commit is contained in:
tigercat2000
2015-05-23 07:39:14 -07:00
parent 073eaddfa9
commit 9173f1056a
5 changed files with 114 additions and 274 deletions

View File

@@ -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) /proc/togglebuildmode(mob/M as mob in player_list)
set name = "Toggle Build Mode" set name = "Toggle Build Mode"
set category = "Special Verbs" set category = "Special Verbs"
@@ -17,7 +10,6 @@
if(H.cl == M.client) if(H.cl == M.client)
del(H) del(H)
else else
message_admins("[key_name(usr)] has entered build mode.")
log_admin("[key_name(usr)] has entered build mode.") log_admin("[key_name(usr)] has entered build mode.")
M.client.buildmode = 1 M.client.buildmode = 1
M.client.show_popup_menus = 0 M.client.show_popup_menus = 0
@@ -42,7 +34,7 @@
M.client.screen += D M.client.screen += D
H.cl = M.client H.cl = M.client
/obj/effect/bmode //Cleaning up the tree a bit /obj/effect/bmode//Cleaning up the tree a bit
density = 1 density = 1
anchored = 1 anchored = 1
layer = 20 layer = 20
@@ -53,8 +45,7 @@
/obj/effect/bmode/builddir /obj/effect/bmode/builddir
icon_state = "build" icon_state = "build"
screen_loc = "NORTH,WEST" screen_loc = "NORTH,WEST"
Click()
/obj/effect/bmode/Click()
switch(dir) switch(dir)
if(NORTH) if(NORTH)
dir = EAST dir = EAST
@@ -72,10 +63,9 @@
icon = 'icons/misc/buildmode.dmi' icon = 'icons/misc/buildmode.dmi'
icon_state = "buildhelp" icon_state = "buildhelp"
screen_loc = "NORTH,WEST+1" screen_loc = "NORTH,WEST+1"
Click()
/obj/effect/bmode/buildhelp/Click()
switch(master.cl.buildmode) switch(master.cl.buildmode)
if(BASIC_BUILDMODE) if(1)
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
usr << "\blue Left Mouse Button = Construct / Upgrade" usr << "\blue Left Mouse Button = Construct / Upgrade"
usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade" usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
@@ -85,7 +75,7 @@
usr << "\blue Use the button in the upper left corner to" usr << "\blue Use the button in the upper left corner to"
usr << "\blue change the direction of built objects." usr << "\blue change the direction of built objects."
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
if(ADV_BUILDMODE) if(2)
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
usr << "\blue Right Mouse Button on buildmode button = Set object type" usr << "\blue Right Mouse Button on buildmode button = Set object type"
usr << "\blue Left Mouse Button on turf/obj = Place objects" usr << "\blue Left Mouse Button on turf/obj = Place objects"
@@ -94,29 +84,24 @@
usr << "\blue Use the button in the upper left corner to" usr << "\blue Use the button in the upper left corner to"
usr << "\blue change the direction of built objects." usr << "\blue change the direction of built objects."
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
if(VAR_BUILDMODE) if(3)
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value" 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 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 Right Mouse Button on turf/obj/mob = Reset var's value"
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
if(THROW_BUILDMODE) if(4)
usr << "\blue ***********************************************************" usr << "\blue ***********************************************************"
usr << "\blue Left Mouse Button on turf/obj/mob = Select" usr << "\blue Left Mouse Button on turf/obj/mob = Select"
usr << "\blue Right Mouse Button on turf/obj/mob = Throw" usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
usr << "\blue ***********************************************************" 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 return 1
/obj/effect/bmode/buildquit /obj/effect/bmode/buildquit
icon_state = "buildquit" icon_state = "buildquit"
screen_loc = "NORTH,WEST+3" screen_loc = "NORTH,WEST+3"
/obj/effect/bmode/buildquit/Click() Click()
togglebuildmode(master.cl.mob) togglebuildmode(master.cl.mob)
return 1 return 1
@@ -129,9 +114,6 @@
var/obj/effect/bmode/buildmode/buildmode = null var/obj/effect/bmode/buildmode/buildmode = null
var/obj/effect/bmode/buildquit/buildquit = null var/obj/effect/bmode/buildquit/buildquit = null
var/atom/movable/throw_atom = null var/atom/movable/throw_atom = null
var/turf/cornerA = null
var/turf/cornerB = null
var/generator_path = null
/obj/effect/bmode/buildmode /obj/effect/bmode/buildmode
icon_state = "buildmode1" icon_state = "buildmode1"
@@ -140,18 +122,29 @@
var/valueholder = "derp" var/valueholder = "derp"
var/objholder = /obj/structure/closet var/objholder = /obj/structure/closet
/obj/effect/bmode/buildmode/Click(location, control, params) Click(location, control, params)
var/list/pa = params2list(params) var/list/pa = params2list(params)
if(pa.Find("left")) if(pa.Find("left"))
master.cl.buildmode = (master.cl.buildmode % NUM_BUILDMODES) +1 switch(master.cl.buildmode)
src.icon_state = "buildmode[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")) else if(pa.Find("right"))
switch(master.cl.buildmode) switch(master.cl.buildmode)
if(BASIC_BUILDMODE) if(1)
return 1 return 1
if(ADV_BUILDMODE) if(2)
objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet")) objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet"))
if(!ispath(objholder)) if(!ispath(objholder))
objholder = /obj/structure/closet objholder = /obj/structure/closet
@@ -159,7 +152,7 @@
else else
if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0)) if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0))
objholder = /obj/structure/closet objholder = /obj/structure/closet
if(VAR_BUILDMODE) if(3)
var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine") 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") master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
@@ -178,11 +171,6 @@
master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world
if("turf-reference") if("turf-reference")
master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world 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
var/type = input(usr,"Select Generator Type","Type") in gen_paths
master.generator_path = type
return 1 return 1
@@ -195,37 +183,38 @@
if(!holder) return if(!holder) return
var/list/pa = params2list(params) var/list/pa = params2list(params)
if(istype(object,/obj/effect/bmode))
return
switch(buildmode) switch(buildmode)
if(BASIC_BUILDMODE) if(1)
if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") ) if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") )
var/turf/T = object
if(istype(object,/turf/space)) if(istype(object,/turf/space))
var/turf/T = object
T.ChangeTurf(/turf/simulated/floor) T.ChangeTurf(/turf/simulated/floor)
return
else if(istype(object,/turf/simulated/floor)) else if(istype(object,/turf/simulated/floor))
var/turf/T = object
T.ChangeTurf(/turf/simulated/wall) T.ChangeTurf(/turf/simulated/wall)
return
else if(istype(object,/turf/simulated/wall)) else if(istype(object,/turf/simulated/wall))
var/turf/T = object
T.ChangeTurf(/turf/simulated/wall/r_wall) 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")) 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)) if(istype(object,/turf/simulated/wall))
var/turf/T = object var/turf/T = object
T.ChangeTurf(/turf/simulated/floor) T.ChangeTurf(/turf/simulated/floor)
return
else if(istype(object,/turf/simulated/floor)) else if(istype(object,/turf/simulated/floor))
var/turf/T = object var/turf/T = object
T.ChangeTurf(/turf/space) T.ChangeTurf(/turf/space)
return
else if(istype(object,/turf/simulated/wall/r_wall)) else if(istype(object,/turf/simulated/wall/r_wall))
var/turf/T = object var/turf/T = object
T.ChangeTurf(/turf/simulated/wall) T.ChangeTurf(/turf/simulated/wall)
return
else if(istype(object,/obj)) else if(istype(object,/obj))
qdel(object) del(object)
return return
else if(istype(object,/turf) && pa.Find("alt") && pa.Find("left")) 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)) new/obj/machinery/door/airlock(get_turf(object))
else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left")) else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left"))
switch(holder.builddir.dir) switch(holder.builddir.dir)
@@ -243,74 +232,35 @@
WIN.dir = WEST WIN.dir = WEST
if(SOUTHWEST) if(SOUTHWEST)
new/obj/structure/window/full/reinforced(get_turf(object)) 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(2)
if(ADV_BUILDMODE)
if(pa.Find("left")) if(pa.Find("left"))
if(ispath(holder.buildmode.objholder,/turf)) if(ispath(holder.buildmode.objholder,/turf))
var/turf/T = get_turf(object) 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) T.ChangeTurf(holder.buildmode.objholder)
else else
var/obj/A = new holder.buildmode.objholder (get_turf(object)) var/obj/A = new holder.buildmode.objholder (get_turf(object))
A.dir = holder.builddir.dir 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")) else if(pa.Find("right"))
if(isobj(object)) if(isobj(object)) del(object)
log_admin("Build Mode: [key_name(usr)] deleted [object] at ([object.x],[object.y],[object.z])")
qdel(object)
if(VAR_BUILDMODE) if(3)
if(pa.Find("left")) //I cant believe this shit actually compiles. if(pa.Find("left")) //I cant believe this shit actually compiles.
if(object.vars.Find(holder.buildmode.varholder)) if(object.vars.Find(holder.buildmode.varholder))
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder
else else
usr << "<span class='warning'>[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'</span>" usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
if(pa.Find("right")) if(pa.Find("right"))
if(object.vars.Find(holder.buildmode.varholder)) if(object.vars.Find(holder.buildmode.varholder))
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") 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]) object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder])
else else
usr << "<span class='warning'>[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'</span>" usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"
if(THROW_BUILDMODE) if(4)
if(pa.Find("left")) if(pa.Find("left"))
if(isturf(object))
return
holder.throw_atom = object holder.throw_atom = object
if(pa.Find("right")) if(pa.Find("right"))
if(holder.throw_atom) if(holder.throw_atom)
holder.throw_atom.throw_at(object, 10, 1) 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 << "<span class='warning'>Select generator type first.</span>"
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 << "<span class='warning'>Select generator type first.</span>"
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

View File

@@ -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)

View File

@@ -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
*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1525,9 +1525,7 @@
#include "code\modules\procedural mapping\mapGeneratorModule.dm" #include "code\modules\procedural mapping\mapGeneratorModule.dm"
#include "code\modules\procedural mapping\mapGeneratorReadme.dm" #include "code\modules\procedural mapping\mapGeneratorReadme.dm"
#include "code\modules\procedural mapping\mapGeneratorModules\nature.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\nature.dm"
#include "code\modules\procedural mapping\mapGenerators\syndicate.dm"
#include "code\modules\projectiles\ammunition.dm" #include "code\modules\projectiles\ammunition.dm"
#include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\gun.dm"
#include "code\modules\projectiles\projectile.dm" #include "code\modules\projectiles\projectile.dm"