mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 19:47:47 +01:00
Adds a new redgate map: The Casino Canal (#18587)
* starts da map * starting to shape up I think? * moar edits * we got lots more stuff now * we got dorms now :) * moar doarm and PRIVATE GAME ROOMS WOAG * adds chip machine * tidy dis up * oops * pretties up private game rooms a bit * ok now the chip dispenser works * Adds resleeving stuff * Adds pixel-displaced children of punlic paintings * mmmmmm maint stuff * adds VIP rooms and more maint stuff * that's a lotta shit made woooo * its almost... done... (the main building is anyway) * Let's get this bih to actually load * And let's get some proper areas separating indoor and outdoor * Makes casino hall turfs actually render as intended * WE HAVE AREAS NOW * don't need this big ol file any more * MOSTLY finishes the mai nbuilding * finally finishes the main building (for now) * does some exterior stuff but now it's crashing WHY * oops * adds subvariant of floodlight that starts turned on * adds areas for well, secret areas * TOO MUCH new shit * Does a silly thing to make properly underwater cave turfs * adds "open" underwater turfs that are functionally transparent divable turfs * more funny secrets * Makes open water turfs show a darker view underneath for visual clarity * okay I think it might be done now * makes indoor water effect look a bit nicer * I ALMOST FORGOT * engoodens code surrounding multiple auto-resleevers existing * FUCK * DOUBLE FUCK * Lets things with GLASSPASS move through TGMC widnows * actually it makes more sense for the TF gun to be here * Makes 🏴☠️ secret a bit nicer --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
@@ -240,3 +240,10 @@ var/static/list/fake_sunlight_zs = list()
|
||||
"color" = "#1c49ff"
|
||||
)
|
||||
)
|
||||
/obj/effect/fake_sun/underwater/lighter
|
||||
possible_light_setups = list(
|
||||
list(
|
||||
"brightness" = 1,
|
||||
"color" = "#4bd1f3"
|
||||
)
|
||||
)
|
||||
|
||||
@@ -68,19 +68,31 @@
|
||||
if(!isobserver(src)) //Make sure they're an observer!
|
||||
return
|
||||
|
||||
var/list/ar = list()
|
||||
for(var/obj/machinery/transhuman/autoresleever/A in world)
|
||||
// Set up an assorted list of auto-resleevers using their area name as the key, (as there should only ever be one per area)
|
||||
var/list/autoresleevers = list()
|
||||
for(var/obj/machinery/transhuman/autoresleever/A in GLOB.active_autoresleevers)
|
||||
if(A.spawntype)
|
||||
continue
|
||||
else
|
||||
ar |= A
|
||||
var/area/resleever_area = get_area(A)
|
||||
autoresleevers[resleever_area.name] = A
|
||||
|
||||
var/obj/machinery/transhuman/autoresleever/thisone = pick(ar)
|
||||
var/obj/machinery/transhuman/autoresleever/chosen_resleever = null
|
||||
if(length(autoresleevers) > 1)
|
||||
// Prompt user to choose which one they wanna go to
|
||||
var/choice = tgui_input_list(src, "There are multiple auto-resleevers available! Choose one.", "Choose Auto-Resleever", autoresleevers)
|
||||
if(!choice)
|
||||
// well okay then :L
|
||||
return
|
||||
chosen_resleever = autoresleevers[choice]
|
||||
else
|
||||
// If there's less than one, just choose whatever one is available (if any)
|
||||
chosen_resleever = autoresleevers[pick(autoresleevers)]
|
||||
|
||||
if(!thisone)
|
||||
if(!chosen_resleever)
|
||||
to_chat(src, span_warning("There appears to be no auto-resleevers available."))
|
||||
return
|
||||
var/L = get_turf(thisone)
|
||||
var/L = get_turf(chosen_resleever)
|
||||
if(!L)
|
||||
to_chat(src, span_warning("There appears to be something wrong with this auto-resleever, try again."))
|
||||
return
|
||||
|
||||
@@ -178,10 +178,9 @@
|
||||
ai_log("handle_wander_movement() : Entered.", AI_LOG_TRACE)
|
||||
if(isturf(holder.loc) && can_act())
|
||||
wander_delay--
|
||||
var/turf/simulated/floor/water/deep/ocean/diving/sink = holder.loc
|
||||
var/turf/simulated/floor/water/underwater/surface = holder.loc
|
||||
var/mob/living/simple_mob/H = holder
|
||||
if(istype(sink) && H.vore_fullness)
|
||||
if(isdiveablewater(holder.loc) && H.vore_fullness)
|
||||
holder.zMove(DOWN)
|
||||
wander_delay = base_wander_delay
|
||||
else if(istype(surface) && !H.vore_fullness)
|
||||
|
||||
@@ -54,8 +54,7 @@
|
||||
return 0
|
||||
|
||||
if(direction == DOWN)
|
||||
var/turf/simulated/floor/water/deep/ocean/diving/sink = start
|
||||
if(istype(sink) && !destination.density)
|
||||
if(isdiveablewater(start) && !destination.density)
|
||||
var/pull_up_time = max((3 SECONDS + (src.movement_delay() * 10) * swim_modifier), 1)
|
||||
to_chat(src, span_notice("You start diving underwater..."))
|
||||
src.audible_message(span_notice("[src] begins to dive under the water."), runemessage = "splish splosh")
|
||||
@@ -90,7 +89,7 @@
|
||||
to_chat(src, span_warning("You gave up on pulling yourself up."))
|
||||
return 0
|
||||
|
||||
else if(istype(destination, /turf/simulated/floor/water/deep/ocean/diving))
|
||||
else if(isdiveablewater(destination))
|
||||
var/pull_up_time = max((5 SECONDS + (src.movement_delay() * 10) * swim_modifier), 1)
|
||||
to_chat(src, span_notice("You start swimming upwards..."))
|
||||
src.audible_message(span_notice("[src] begins to swim towards the surface."), runemessage = "splish splosh")
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
GLOBAL_LIST_EMPTY(active_autoresleevers)
|
||||
|
||||
/obj/machinery/transhuman/autoresleever
|
||||
name = "automatic resleever"
|
||||
desc = "Uses advanced technology to detect when someone needs to be resleeved, and automatically prints and sleeves them into a new body. It even generates its own biomass!"
|
||||
@@ -13,6 +15,14 @@
|
||||
var/spawn_slots = -1 //How many people can be spawned from this? If -1 it's unlimited
|
||||
var/spawntype //The kind of mob that will be spawned, if set.
|
||||
|
||||
/obj/machinery/transhuman/autoresleever/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.active_autoresleevers += src
|
||||
|
||||
/obj/machinery/transhuman/autoresleever/Destroy()
|
||||
. = ..()
|
||||
GLOB.active_autoresleevers -= src
|
||||
|
||||
/obj/machinery/transhuman/autoresleever/update_icon()
|
||||
. = ..()
|
||||
if(stat & (BROKEN | MAINT | EMPED))
|
||||
|
||||
Reference in New Issue
Block a user