mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-13 10:22:01 +01:00
Merge branch 'VOREStation:master' into circuit-update
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
/obj/effect/wire_deleter
|
||||
name = "wire deleter"
|
||||
icon = 'icons/mob/screen1.dmi'
|
||||
icon_state = "x2"
|
||||
anchored = TRUE
|
||||
unacidable = TRUE
|
||||
simulated = FALSE
|
||||
invisibility = 100
|
||||
|
||||
/obj/effect/wire_deleter/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
for(var/c in loc.contents)
|
||||
if(istype(c, /obj/structure/cable))
|
||||
if(prob(33))
|
||||
qdel(c)
|
||||
qdel(src)
|
||||
@@ -233,7 +233,8 @@
|
||||
prob(4);/obj/item/weapon/storage/pill_bottle/happy,
|
||||
prob(4);/obj/item/weapon/storage/pill_bottle/zoom,
|
||||
prob(4);/obj/item/seeds/ambrosiavulgarisseed,
|
||||
prob(4);/obj/item/weapon/gun/energy/sizegun/old,
|
||||
prob(4);/obj/item/weapon/gun/energy/sizegun,
|
||||
prob(4);/obj/item/device/slow_sizegun,
|
||||
prob(3);/obj/item/weapon/material/butterfly,
|
||||
prob(3);/obj/item/weapon/material/butterfly/switchblade,
|
||||
prob(3);/obj/item/clothing/gloves/knuckledusters,
|
||||
|
||||
@@ -108,7 +108,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers)
|
||||
var/list/box_segments = list()
|
||||
if(user.client)
|
||||
box_segments = draw_box(target, scan_range, user.client)
|
||||
color_box(box_segments, "#00FF00", scan_delay)
|
||||
color_box(box_segments, "#00FFFF", scan_delay)
|
||||
|
||||
playsound(src, 'sound/machines/beep.ogg', 50)
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
var/list/products = list() //Anything in this list will be listed for sale
|
||||
var/list/prices = list() //Enter a type path with an associated number, and if the trader tries to sell something of that type, it will expect the number as the cost for that product
|
||||
var/list/multiple = list() //Enter a type path with an associated number, and the trader will have however many of that type to sell as the number you entered
|
||||
var/trading = FALSE //'Busy' - Only one person can trade at a time.
|
||||
var/trading = FALSE //'Busy' - Only one person can trade at a time.
|
||||
var/welcome_msg = "This machine accepts" //The first part of the welcome message
|
||||
var/welcome_accepts_name = "curious coins" //The name of the kind of thing the trader expects, automatically set except on "item" mode, where if you enter a value it will not change it.
|
||||
var/welcome_msg_finish = ". Would you like to browse the wares?" //The final part of the welcome message.
|
||||
@@ -324,7 +324,8 @@
|
||||
/obj/item/capture_crystal/random = 50,
|
||||
/obj/item/device/perfect_tele = 10,
|
||||
/obj/item/device/chameleon = 25,
|
||||
/obj/item/weapon/gun/energy/sizegun/old = 25,
|
||||
/obj/item/weapon/gun/energy/sizegun = 25,
|
||||
/obj/item/device/slow_sizegun = 25,
|
||||
/obj/item/weapon/implant/sizecontrol = 25,
|
||||
/obj/item/clothing/under/hyperfiber/bluespace = 25,
|
||||
/obj/item/device/nif/authentic = 1,
|
||||
@@ -349,7 +350,8 @@
|
||||
/obj/item/capture_crystal/random = 15,
|
||||
/obj/item/device/perfect_tele = 20,
|
||||
/obj/item/device/chameleon = 20,
|
||||
/obj/item/weapon/gun/energy/sizegun/old = 10,
|
||||
/obj/item/weapon/gun/energy/sizegun = 10,
|
||||
/obj/item/device/slow_sizegun = 10,
|
||||
/obj/item/weapon/implant/sizecontrol = 10,
|
||||
/obj/item/clothing/under/hyperfiber/bluespace = 10,
|
||||
/obj/item/device/nif/authentic = 100,
|
||||
@@ -372,7 +374,8 @@
|
||||
multiple = list(
|
||||
/obj/item/capture_crystal/basic = 10,
|
||||
/obj/item/capture_crystal/random = 2,
|
||||
/obj/item/weapon/gun/energy/sizegun/old = 2,
|
||||
/obj/item/weapon/gun/energy/sizegun = 2,
|
||||
/obj/item/device/slow_sizegun = 2,
|
||||
/obj/item/weapon/implant/sizecontrol = 2,
|
||||
/obj/item/clothing/under/hyperfiber/bluespace = 2,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore = 10
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
// this is a playing card deck based off of the Austrian/Hungarian national card game, Schnapsen
|
||||
//TODO: Sprite up Double German/William Tell card icons. Sending this in as is as I suck at spriting and want to play schnapsen
|
||||
//TODO: Implement functionality for "sub-decks": Create a over-schnapsen deck with nines, eights and sevens.
|
||||
//TODO:Let players choose 2,3,4 player mode to get decks of ace/ten/jack/queen/king + seven for 3 player, nine+eight for 4 player modes.
|
||||
//TODO: Implement functionality for "sub-decks": Create a over-schnapsen deck with nines, eights and sevens.
|
||||
//TODO:Let players choose 2,3,4 player mode to get decks of ace/ten/jack/queen/king + seven for 3 player, nine+eight for 4 player modes.
|
||||
//values: ace = 11, ten = 10, unter = 2, ober = 3, king = 4
|
||||
|
||||
/obj/item/weapon/deck/schnapsen
|
||||
name = "deck of schnapsen cards"
|
||||
desc = "An ancient trick-taking card game from a bygone-Earth country. For 2 players!"
|
||||
icon_state = "deck"
|
||||
|
||||
|
||||
/obj/item/weapon/deck/schnapsen/New()
|
||||
..()
|
||||
//Stealing french card icons.
|
||||
var/datum/playingcard/P
|
||||
var/colour
|
||||
for(var/suit in list("spades","clubs","diamonds","hearts"))
|
||||
if(suit == "spades" || suit == "clubs")
|
||||
colour = "black_"
|
||||
else
|
||||
colour = "red_"
|
||||
for(var/number in list("ace","ten","jack","queen","king")) //Schnapsen has knight worth 2 pts, queen 3 pts, king 4. Ace 11, ten 10
|
||||
for(var/suit in list("acorns","leaves","bells","hearts"))
|
||||
switch(suit)
|
||||
if("acorns") colour = "acorn_"
|
||||
if("leaves") colour = "leaf_"
|
||||
if("bells") colour = "bell_"
|
||||
if("hearts") colour = "red_"
|
||||
for(var/number in list("ace","ten","unter","ober","king"))
|
||||
P = new()
|
||||
P.name = "[number] of [suit]"
|
||||
if(number == "ten")
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
// ====
|
||||
/datum/medical_effect/itch
|
||||
name = "Itch"
|
||||
triggers = list("space_drugs" = 10)
|
||||
triggers = list("bliss" = 10)
|
||||
cures = list("inaprovaline")
|
||||
cure_message = "The itching stops..."
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
/mob/living/simple_mob/vore/hostile/morph/will_show_tooltip()
|
||||
return (!morphed)
|
||||
|
||||
/mob/living/simple_mob/vore/hostile/morph/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE)
|
||||
/mob/living/simple_mob/vore/hostile/morph/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE, var/aura_animation = TRUE)
|
||||
if(morphed && !ismob(form))
|
||||
return
|
||||
return ..()
|
||||
|
||||
@@ -108,6 +108,12 @@
|
||||
incompatible_with = list(NIF_MATERIAL,NIF_THERMALS,NIF_NIGHTVIS)
|
||||
vision_exclusive = TRUE
|
||||
|
||||
/datum/nifsoft/mesons/life()
|
||||
if((. = ..()))
|
||||
var/mob/living/carbon/human/H = nif.human
|
||||
if(H.client)
|
||||
H.client.screen |= global_hud.meson
|
||||
|
||||
/datum/nifsoft/material
|
||||
name = "Material Scanner"
|
||||
desc = "Similar to the worn Optical Material Scanner Goggles, these allow you to see objects through walls."
|
||||
@@ -122,6 +128,12 @@
|
||||
incompatible_with = list(NIF_MESONS,NIF_THERMALS,NIF_NIGHTVIS)
|
||||
vision_exclusive = TRUE
|
||||
|
||||
/datum/nifsoft/material/life()
|
||||
if((. = ..()))
|
||||
var/mob/living/carbon/human/H = nif.human
|
||||
if(H.client)
|
||||
H.client.screen |= global_hud.material
|
||||
|
||||
/datum/nifsoft/thermals
|
||||
name = "Thermal Scanner"
|
||||
desc = "Similar to the worn Thermal Goggles, these allow you to see heat-emitting creatures through walls."
|
||||
@@ -137,6 +149,12 @@
|
||||
incompatible_with = list(NIF_MESONS,NIF_MATERIAL,NIF_NIGHTVIS)
|
||||
vision_exclusive = TRUE
|
||||
|
||||
/datum/nifsoft/thermals/life()
|
||||
if((. = ..()))
|
||||
var/mob/living/carbon/human/H = nif.human
|
||||
if(H.client)
|
||||
H.client.screen |= global_hud.thermal
|
||||
|
||||
/datum/nifsoft/nightvis
|
||||
name = "Low-Light Amp"
|
||||
desc = "Similar to the worn Night Vision Goggles, these allow you to see in complete darkness."
|
||||
@@ -150,3 +168,9 @@
|
||||
darkness_view = 7
|
||||
incompatible_with = list(NIF_MESONS,NIF_MATERIAL,NIF_THERMALS)
|
||||
vision_exclusive = TRUE
|
||||
|
||||
/datum/nifsoft/nightvis/life()
|
||||
if((. = ..()))
|
||||
var/mob/living/carbon/human/H = nif.human
|
||||
if(H.client)
|
||||
H.client.screen |= global_hud.nvg
|
||||
|
||||
@@ -537,6 +537,7 @@ VIRGO3C_TURF_CREATE(/turf/simulated/floor/outdoors/sidewalk)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/outdoors/sidewalk/side)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/outdoors/sidewalk/slab)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/water)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/water/deep)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/tiled)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/reinforced)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/glass/reinforced)
|
||||
@@ -545,6 +546,10 @@ VIRGO3C_TURF_CREATE(/turf/simulated/mineral)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/wood)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/wood/sif)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/beach/sand)
|
||||
VIRGO3C_TURF_CREATE(/turf/simulated/floor/tiled/asteroid_steel/outdoors)
|
||||
|
||||
|
||||
|
||||
/turf/simulated/open/virgo3c
|
||||
VIRGO3C_SET_ATMOS
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
if(lockable)
|
||||
locked = !locked
|
||||
to_chat(user, "<span class='warning'>You [locked ? "enable" : "disable"] the safety lock on \the [src]!</span>")
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/gun/energy/locked/special_check(mob/user)
|
||||
if(locked)
|
||||
|
||||
@@ -147,13 +147,6 @@
|
||||
inhibitors = list("fluorine" = 0.01)
|
||||
result_amount = 1
|
||||
|
||||
/decl/chemical_reaction/instant/nutridax
|
||||
name = "Nutridax"
|
||||
id = "nutridax"
|
||||
result = "nutridax"
|
||||
required_reagents = list("oxygen" = 1, "lipozine" = 1, "carbon" = 1)
|
||||
result_amount = 3
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
/// Vore Drugs
|
||||
|
||||
|
||||
@@ -370,7 +370,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/drugs/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("space_drugs", 5)
|
||||
reagents.add_reagent("bliss", 5)
|
||||
reagents.add_reagent("mindbreaker", 5)
|
||||
reagents.add_reagent("cryptobiolin", 5)
|
||||
//mode = SYRINGE_INJECT //VOREStation Edit - Starts capped
|
||||
|
||||
@@ -92,40 +92,3 @@
|
||||
/datum/reagent/sleevingcure/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.remove_a_modifier_of_type(/datum/modifier/resleeving_sickness)
|
||||
M.remove_a_modifier_of_type(/datum/modifier/faux_resleeving_sickness)
|
||||
|
||||
/datum/reagent/nutridax
|
||||
name = "Nutridax"
|
||||
id = "nutridax"
|
||||
description = "A dieting aid that targets free-floating proteins and sugars."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = SOLID
|
||||
color = "#605048"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
|
||||
/datum/reagent/nutridax/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
M.dizziness = 0
|
||||
M.drowsyness = 0
|
||||
M.eye_blurry = 0
|
||||
M.SetConfused(0)
|
||||
if(M.ingested)
|
||||
for(var/datum/reagent/R in M.ingested.reagent_list)
|
||||
if(istype(R, /datum/reagent/nutriment))
|
||||
R.remove_self(removed * 30)
|
||||
if(istype(R, /datum/reagent/drink))
|
||||
R.remove_self(removed * 30)
|
||||
|
||||
/datum/reagent/nutridax/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
M.dizziness = 0
|
||||
M.drowsyness = 0
|
||||
M.eye_blurry = 0
|
||||
M.SetConfused(0)
|
||||
if(M.bloodstr)
|
||||
for(var/datum/reagent/R in M.bloodstr.reagent_list)
|
||||
if(istype(R, /datum/reagent/nutriment))
|
||||
R.remove_self(removed * 20)
|
||||
if(istype(R, /datum/reagent/drink))
|
||||
R.remove_self(removed * 30)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||
materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000)
|
||||
build_path = /obj/item/clothing/under/hyperfiber/bluespace
|
||||
sort_string = "TAVAA"
|
||||
sort_string = "TAVAB"
|
||||
|
||||
/datum/design/item/general/sizegun
|
||||
name = "Size gun"
|
||||
@@ -22,6 +22,14 @@
|
||||
build_path = /obj/item/weapon/gun/energy/sizegun
|
||||
sort_string = "TAVBA"
|
||||
|
||||
/datum/design/item/general/sizegun_gradual
|
||||
name = "Gradual size gun"
|
||||
id = "gradsizegun"
|
||||
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||
materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000)
|
||||
build_path = /obj/item/device/slow_sizegun
|
||||
sort_string = "TAVBB"
|
||||
|
||||
/datum/design/item/general/bodysnatcher
|
||||
name = "Body Snatcher"
|
||||
id = "bodysnatcher"
|
||||
@@ -51,7 +59,7 @@
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1)
|
||||
materials = list(MAT_STEEL = 1000,MAT_GLASS = 500)
|
||||
build_path = /obj/item/weapon/mining_scanner/advanced
|
||||
sort_string = "FBAAB"
|
||||
sort_string = "FBAAB"
|
||||
|
||||
/datum/design/item/general/walkpod
|
||||
name = "PodZu Music Player"
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
*/
|
||||
|
||||
|
||||
/mob/living/proc/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE)
|
||||
/mob/living/proc/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE, var/aura_animation = TRUE)
|
||||
if(!uncapped)
|
||||
new_size = clamp(new_size, RESIZE_MINIMUM, RESIZE_MAXIMUM)
|
||||
var/datum/component/resize_guard/guard = GetComponent(/datum/component/resize_guard)
|
||||
@@ -99,17 +99,18 @@
|
||||
resize.Translate(0, (vis_height/2) * (new_size - 1)) //Move the player up in the tile so their feet align with the bottom
|
||||
animate(src, transform = resize, time = duration) //Animate the player resizing
|
||||
|
||||
var/aura_grow_to = change > 0 ? 2 : 0.5
|
||||
var/aura_anim_duration = 5
|
||||
var/aura_offset = change > 0 ? 0 : 10
|
||||
var/aura_color = size_multiplier > new_size ? "#FF2222" : "#2222FF"
|
||||
var/aura_loops = round((duration)/aura_anim_duration)
|
||||
if(aura_animation)
|
||||
var/aura_grow_to = change > 0 ? 2 : 0.5
|
||||
var/aura_anim_duration = 5
|
||||
var/aura_offset = change > 0 ? 0 : 10
|
||||
var/aura_color = size_multiplier > new_size ? "#FF2222" : "#2222FF"
|
||||
var/aura_loops = round((duration)/aura_anim_duration)
|
||||
|
||||
animate_aura(src, color = aura_color, offset = aura_offset, anim_duration = aura_anim_duration, loops = aura_loops, grow_to = aura_grow_to)
|
||||
animate_aura(src, color = aura_color, offset = aura_offset, anim_duration = aura_anim_duration, loops = aura_loops, grow_to = aura_grow_to)
|
||||
else
|
||||
update_transform() //Lame way
|
||||
|
||||
/mob/living/carbon/human/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE)
|
||||
/mob/living/carbon/human/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE, var/aura_animation = TRUE)
|
||||
if(!resizable && !ignore_prefs)
|
||||
return 1
|
||||
if(species)
|
||||
@@ -123,7 +124,7 @@
|
||||
apply_hud(index, HI)
|
||||
|
||||
// Optimize mannequins - never a point to animating or doing HUDs on these.
|
||||
/mob/living/carbon/human/dummy/mannequin/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE)
|
||||
/mob/living/carbon/human/dummy/mannequin/resize(var/new_size, var/animate = TRUE, var/uncapped = FALSE, var/ignore_prefs = FALSE, var/aura_animation = TRUE)
|
||||
size_multiplier = new_size
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
#define SIZE_SHRINK 0
|
||||
#define SIZE_GROW 1
|
||||
|
||||
/obj/item/device/slow_sizegun
|
||||
name = "gradual size gun"
|
||||
desc = "A highly advanced ray gun, designed for progressive and gradual changing of size."
|
||||
icon = 'icons/obj/gun_vr.dmi'
|
||||
icon_state = "sizegun-old-0"
|
||||
var/base_icon_state = "sizegun-old"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
origin_tech = list(TECH_BLUESPACE = 4)
|
||||
force = 0
|
||||
slot_flags = SLOT_BELT
|
||||
var/beam_range = 4 // How many tiles away it can scan. Changing this also changes the box size.
|
||||
var/busy = FALSE // Set to true when scanning, to stop multiple scans.
|
||||
var/sizeshift_mode = SIZE_SHRINK
|
||||
var/dorm_size = TRUE
|
||||
var/size_increment = 0.01
|
||||
var/current_target
|
||||
|
||||
/obj/item/device/slow_sizegun/update_icon()
|
||||
icon_state = "[base_icon_state]-[sizeshift_mode]"
|
||||
|
||||
if(busy)
|
||||
icon_state = "[icon_state]-active"
|
||||
|
||||
/obj/item/device/slow_sizegun/proc/should_stop(var/mob/living/target, var/mob/living/user, var/active_hand)
|
||||
if(!target || !user || !active_hand || !istype(target) || !istype(user) || !busy)
|
||||
return TRUE
|
||||
|
||||
if(user.get_active_hand() != active_hand)
|
||||
return TRUE
|
||||
|
||||
if(user.incapacitated(INCAPACITATION_DEFAULT))
|
||||
return TRUE
|
||||
|
||||
if(get_dist(user, target) > beam_range)
|
||||
return TRUE
|
||||
|
||||
var/unresizable = FALSE
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(istype(H.gloves, /obj/item/clothing/gloves/bluespace))
|
||||
unresizable = TRUE
|
||||
return
|
||||
|
||||
if(!(target.resizable))
|
||||
unresizable = TRUE
|
||||
|
||||
if(unresizable)
|
||||
return TRUE
|
||||
|
||||
if(!(target.has_large_resize_bounds()) && (target.get_effective_size() >= RESIZE_MAXIMUM) && sizeshift_mode == SIZE_GROW)
|
||||
return TRUE
|
||||
|
||||
if(target.get_effective_size() >= RESIZE_MAXIMUM_DORMS && sizeshift_mode == SIZE_GROW)
|
||||
return TRUE
|
||||
|
||||
if(!(target.has_large_resize_bounds()) && (target.get_effective_size() <= RESIZE_MINIMUM) && sizeshift_mode == SIZE_SHRINK)
|
||||
return TRUE
|
||||
|
||||
if(target.get_effective_size() <= RESIZE_MINIMUM_DORMS && sizeshift_mode == SIZE_SHRINK)
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/slow_sizegun/afterattack(atom/target, mob/user, proximity_flag)
|
||||
// Things that invalidate the scan immediately.
|
||||
if(isturf(target))
|
||||
for(var/atom/A as anything in target) // If we can't scan the turf, see if we can scan anything on it, to help with aiming.
|
||||
if(isliving(A))
|
||||
target = A
|
||||
break
|
||||
|
||||
if(busy && !(target == current_target))
|
||||
to_chat(user, span("warning", "\The [src] is already targeting something."))
|
||||
return
|
||||
|
||||
if(!isliving(target))
|
||||
to_chat(user, span("warning", "\the [target] is not a valid target."))
|
||||
return
|
||||
|
||||
var/mob/living/L = target
|
||||
|
||||
if(get_dist(target, user) > beam_range)
|
||||
to_chat(user, span("warning", "You are too far away from \the [target] to affect it. Get closer."))
|
||||
return
|
||||
|
||||
if(target == current_target && busy)
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
var/unresizable = FALSE
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(istype(H.gloves, /obj/item/clothing/gloves/bluespace))
|
||||
unresizable = TRUE
|
||||
return
|
||||
|
||||
if(!(L.resizable))
|
||||
unresizable = TRUE
|
||||
|
||||
if(unresizable)
|
||||
to_chat(user, span("warning", "\the [target] is immune to resizing."))
|
||||
|
||||
// Start the effects
|
||||
current_target = target
|
||||
busy = TRUE
|
||||
update_icon()
|
||||
var/datum/beam/scan_beam = user.Beam(target, icon = 'icons/effects/beam_vr.dmi', icon_state = "zappy1", time = 6000)
|
||||
var/filter = filter(type = "outline", size = 1, color = "#00FF00")
|
||||
target.filters += filter
|
||||
var/list/box_segments = list()
|
||||
if(user.client)
|
||||
box_segments = draw_box(target, beam_range, user.client)
|
||||
color_box(box_segments, "#00FF00", 5)
|
||||
|
||||
playsound(src, 'sound/weapons/wave.ogg', 50)
|
||||
|
||||
var/active_hand = user.get_active_hand()
|
||||
|
||||
while(!should_stop(target, user, active_hand))
|
||||
stoplag(3)
|
||||
|
||||
if(sizeshift_mode == SIZE_SHRINK)
|
||||
L.resize((L.get_effective_size() - size_increment), uncapped = L.has_large_resize_bounds(), aura_animation = FALSE)
|
||||
else if(sizeshift_mode == SIZE_GROW)
|
||||
L.resize((L.get_effective_size() + size_increment), uncapped = L.has_large_resize_bounds(), aura_animation = FALSE)
|
||||
|
||||
busy = FALSE
|
||||
current_target = null
|
||||
|
||||
// Now clean up the effects.
|
||||
update_icon()
|
||||
QDEL_NULL(scan_beam)
|
||||
if(target)
|
||||
target.filters -= filter
|
||||
if(user.client) // If for some reason they logged out mid-scan the box will be gone anyways.
|
||||
delete_box(box_segments, user.client)
|
||||
|
||||
/obj/item/device/slow_sizegun/attack_self(mob/living/user)
|
||||
if(busy)
|
||||
busy = !busy
|
||||
else
|
||||
sizeshift_mode = !sizeshift_mode
|
||||
update_icon()
|
||||
to_chat(user, span("notice", "\The [src] will now [sizeshift_mode ? "grow" : "shrink"] its targets."))
|
||||
|
||||
|
||||
#undef SIZE_SHRINK
|
||||
#undef SIZE_GROW
|
||||
|
||||
|
||||
#define ICON_SIZE 32
|
||||
|
||||
// Draws a box showing the limits of movement while scanning something.
|
||||
// Only the client supplied will see the box.
|
||||
/obj/item/device/slow_sizegun/proc/draw_box(atom/A, box_size, client/C)
|
||||
. = list()
|
||||
// Things moved with pixel_[x|y] will move the box, so this is to correct that.
|
||||
var/pixel_x_correction = -A.pixel_x
|
||||
var/pixel_y_correction = -A.pixel_y
|
||||
|
||||
// First, place the bottom-left corner.
|
||||
. += draw_line(A, SOUTHWEST, (-box_size * ICON_SIZE) + pixel_x_correction, (-box_size * ICON_SIZE) + pixel_y_correction, C)
|
||||
|
||||
// Make a line on the bottom, going right.
|
||||
for(var/i = 1 to (box_size * 2) - 1)
|
||||
var/x_displacement = (-box_size * ICON_SIZE) + (ICON_SIZE * i) + pixel_x_correction
|
||||
var/y_displacement = (-box_size * ICON_SIZE) + pixel_y_correction
|
||||
. += draw_line(A, SOUTH, x_displacement, y_displacement, C)
|
||||
|
||||
// Bottom-right corner.
|
||||
. += draw_line(A, SOUTHEAST, (box_size * ICON_SIZE) + pixel_x_correction, (-box_size * ICON_SIZE) + pixel_y_correction, C)
|
||||
|
||||
// Second line, for the right side going up.
|
||||
for(var/i = 1 to (box_size * 2) - 1)
|
||||
var/x_displacement = (box_size * ICON_SIZE) + pixel_x_correction
|
||||
var/y_displacement = (-box_size * ICON_SIZE) + (ICON_SIZE * i) + pixel_y_correction
|
||||
. += draw_line(A, EAST, x_displacement, y_displacement, C)
|
||||
|
||||
// Top-right corner.
|
||||
. += draw_line(A, NORTHEAST, (box_size * ICON_SIZE) + pixel_x_correction, (box_size * ICON_SIZE) + pixel_y_correction, C)
|
||||
|
||||
// Third line, for the top, going right.
|
||||
for(var/i = 1 to (box_size * 2) - 1)
|
||||
var/x_displacement = (-box_size * ICON_SIZE) + (ICON_SIZE * i) + pixel_x_correction
|
||||
var/y_displacement = (box_size * ICON_SIZE) + pixel_y_correction
|
||||
. += draw_line(A, NORTH, x_displacement, y_displacement, C)
|
||||
|
||||
// Top-left corner.
|
||||
. += draw_line(A, NORTHWEST, (-box_size * ICON_SIZE) + pixel_x_correction, (box_size * ICON_SIZE) + pixel_y_correction, C)
|
||||
|
||||
// Fourth and last line, for the left side going up.
|
||||
for(var/i = 1 to (box_size * 2) - 1)
|
||||
var/x_displacement = (-box_size * ICON_SIZE) + pixel_x_correction
|
||||
var/y_displacement = (-box_size * ICON_SIZE) + (ICON_SIZE * i) + pixel_y_correction
|
||||
. += draw_line(A, WEST, x_displacement, y_displacement, C)
|
||||
|
||||
#undef ICON_SIZE
|
||||
|
||||
// Draws an individual segment of the box.
|
||||
/obj/item/device/slow_sizegun/proc/draw_line(atom/A, line_dir, line_pixel_x, line_pixel_y, client/C)
|
||||
var/image/line = image(icon = 'icons/effects/effects.dmi', loc = A, icon_state = "stripes", dir = line_dir)
|
||||
line.pixel_x = line_pixel_x
|
||||
line.pixel_y = line_pixel_y
|
||||
line.plane = PLANE_FULLSCREEN // It's technically a HUD element but it doesn't need to show above item slots.
|
||||
line.appearance_flags = RESET_TRANSFORM|RESET_COLOR|RESET_ALPHA|NO_CLIENT_COLOR|TILE_BOUND
|
||||
line.alpha = 125
|
||||
C.images += line
|
||||
return line
|
||||
|
||||
// Removes the box that was generated before from the client.
|
||||
/obj/item/device/slow_sizegun/proc/delete_box(list/box_segments, client/C)
|
||||
for(var/i in box_segments)
|
||||
C.images -= i
|
||||
qdel(i)
|
||||
|
||||
/obj/item/device/slow_sizegun/proc/color_box(list/box_segments, new_color, new_time)
|
||||
for(var/i in box_segments)
|
||||
animate(i, color = new_color, time = new_time)
|
||||
@@ -73,11 +73,6 @@
|
||||
. = ..()
|
||||
. += "<span class='info'>It is currently set at [size_set_to*100]%</span>"
|
||||
|
||||
/obj/item/weapon/gun/energy/sizegun/old
|
||||
desc = "A highly advanced ray gun with a knob on the side to adjust the size you desire. This one seems to be an older model, but still functional. Warning: Do not insert into mouth."
|
||||
icon_state = "sizegun-old"
|
||||
item_state = "sizegun-old"
|
||||
|
||||
/obj/item/weapon/gun/energy/sizegun/admin
|
||||
name = "modified size gun"
|
||||
desc = "An older model sizegun, modified to be without limits on minimum/maximum size, and have an unlimited charge. Time to show 'em that size does matter."
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 401 B |
Binary file not shown.
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 58 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 4.0 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,68 @@
|
||||
/obj/effect/map_effect/portal/master/side_a/gb_wilds/north
|
||||
name = "to_north_wilds"
|
||||
portal_id = "north_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_b/gb_wilds/north
|
||||
name = "from_north_wilds"
|
||||
portal_id = "north_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_a/gb_wilds/south
|
||||
name = "to_south_wilds"
|
||||
portal_id = "south_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_b/gb_wilds/south
|
||||
name = "from_south_wilds"
|
||||
portal_id = "south_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_a/gb_wilds/east
|
||||
name = "to_east_wilds"
|
||||
portal_id = "east_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_b/gb_wilds/east
|
||||
name = "from_east_wilds"
|
||||
portal_id = "east_wilds_transition"
|
||||
/obj/effect/map_effect/portal/master/side_a/gb_wilds/west
|
||||
name = "to_west_wilds"
|
||||
portal_id = "west_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_b/gb_wilds/west
|
||||
name = "from_west_wilds"
|
||||
portal_id = "west_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_a/gb_wilds/north_south
|
||||
name = "to_south_wilds"
|
||||
portal_id = "north_south_wilds_transition"
|
||||
/obj/effect/map_effect/portal/master/side_b/gb_wilds/north_south
|
||||
name = "to_north_wilds"
|
||||
portal_id = "north_south_wilds_transition"
|
||||
|
||||
/obj/effect/map_effect/portal/master/side_a/gb_wilds/east_west
|
||||
name = "to_west_wilds"
|
||||
portal_id = "east_west_wilds_transition"
|
||||
/obj/effect/map_effect/portal/master/side_b/gb_wilds/east_west
|
||||
name = "to_east_wilds"
|
||||
portal_id = "east_west_wilds_transition"
|
||||
|
||||
/area/groundbase/wilderness
|
||||
name = "wilderness"
|
||||
icon_state = "greblacir"
|
||||
/area/groundbase/wilderness/north
|
||||
/area/groundbase/wilderness/north/unexplored
|
||||
icon_state = "orablacir"
|
||||
/area/groundbase/wilderness/north/cave
|
||||
icon_state = "yelblacir"
|
||||
/area/groundbase/wilderness/south
|
||||
/area/groundbase/wilderness/south/unexplored
|
||||
icon_state = "orablacir"
|
||||
/area/groundbase/wilderness/south/cave
|
||||
icon_state = "yelblacir"
|
||||
/area/groundbase/wilderness/east
|
||||
/area/groundbase/wilderness/east/unexplored
|
||||
icon_state = "orablacir"
|
||||
/area/groundbase/wilderness/east/cave
|
||||
icon_state = "yelblacir"
|
||||
/area/groundbase/wilderness/west
|
||||
/area/groundbase/wilderness/west/unexplored
|
||||
icon_state = "orablacir"
|
||||
/area/groundbase/wilderness/west/cave
|
||||
icon_state = "yelblacir"
|
||||
+748
-597
File diff suppressed because it is too large
Load Diff
+26
-23
@@ -8937,6 +8937,9 @@
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/groundbase/science/hall)
|
||||
"AD" = (
|
||||
/turf/simulated/mineral/cave/virgo3c,
|
||||
/area/groundbase/level2/westspur)
|
||||
"AF" = (
|
||||
/turf/simulated/floor/tiled/freezer/cold,
|
||||
/area/groundbase/civilian/kitchen/freezer)
|
||||
@@ -17996,6 +17999,9 @@ xE
|
||||
xE
|
||||
xE
|
||||
xE
|
||||
xE
|
||||
xE
|
||||
xE
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
@@ -18017,17 +18023,14 @@ eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
Zx
|
||||
Zx
|
||||
Zx
|
||||
@@ -18138,6 +18141,8 @@ xE
|
||||
xE
|
||||
bY
|
||||
bY
|
||||
xE
|
||||
xE
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
@@ -18161,14 +18166,12 @@ eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
jG
|
||||
jG
|
||||
Zx
|
||||
@@ -18307,10 +18310,10 @@ eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
eN
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
AD
|
||||
jG
|
||||
jG
|
||||
Zx
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "..\offmap_vr\common_offmaps.dm"
|
||||
#include "..\tether\tether_jobs.dm"
|
||||
#include "groundbase_poi_stuff.dm"
|
||||
#include "gb-wilds.dm"
|
||||
|
||||
#if !AWAY_MISSION_TEST //Don't include these for just testing away missions
|
||||
#include "gb-z1.dmm"
|
||||
|
||||
@@ -130,6 +130,38 @@
|
||||
name = "Science Break Room"
|
||||
lightswitch = 1
|
||||
|
||||
/area/groundbase/science/outpost
|
||||
name = "Science Outpost"
|
||||
lightswitch = 1
|
||||
/area/groundbase/science/outpost/substation
|
||||
name = "Science Outpost Substation"
|
||||
/area/groundbase/science/outpost/atmos
|
||||
name = "Science Outpost Atmospherics"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/anomaly_lab
|
||||
name = "Science Outpost Anomaly Lab"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/anomaly_storage
|
||||
name = "Science Outpost Anomaly Storage"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/anomaly_testing
|
||||
name = "Science Outpost Anomaly Testing"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/toxins_lab
|
||||
name = "Science Outpost Toxins Lab"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/toxins_storage
|
||||
name = "Science Outpost Toxins Storage"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/toxing_gasworks
|
||||
name = "Science Outpost Toxins Gasworks"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/toxins_mixing
|
||||
name = "Science Outpost Toxins Mixing"
|
||||
lightswitch = 0
|
||||
/area/groundbase/science/outpost/toxins_hallway
|
||||
name = "Science Outpost Toxins Hallway"
|
||||
|
||||
/area/groundbase/command
|
||||
name = "Command"
|
||||
holomap_color = HOLOMAP_AREACOLOR_COMMAND
|
||||
@@ -288,6 +320,13 @@
|
||||
/area/groundbase/engineering/atmos/monitoring
|
||||
name = "Atmospherics Monitoring"
|
||||
lightswitch = 1
|
||||
/area/groundbase/engineering/solarshed
|
||||
name = "Solar Shed"
|
||||
lightswitch = 1
|
||||
/area/groundbase/engineering/solarfield
|
||||
name = "Solar Field"
|
||||
lightswitch = 1
|
||||
sound_env = SOUND_ENVIRONMENT_MOUNTAINS
|
||||
|
||||
/area/groundbase/cargo
|
||||
name = "Cargo"
|
||||
|
||||
@@ -2,18 +2,22 @@
|
||||
#define Z_LEVEL_GB_BOTTOM 1
|
||||
#define Z_LEVEL_GB_MIDDLE 2
|
||||
#define Z_LEVEL_GB_TOP 3
|
||||
#define Z_LEVEL_CENTCOM 4
|
||||
#define Z_LEVEL_MISC 5
|
||||
#define Z_LEVEL_MINING 6
|
||||
#define Z_LEVEL_BEACH 7
|
||||
#define Z_LEVEL_BEACH_CAVE 8
|
||||
#define Z_LEVEL_AEROSTAT 9
|
||||
#define Z_LEVEL_AEROSTAT_SURFACE 10
|
||||
#define Z_LEVEL_DEBRISFIELD 11
|
||||
#define Z_LEVEL_FUELDEPOT 12
|
||||
#define Z_LEVEL_OFFMAP1 13
|
||||
#define Z_LEVEL_GATEWAY 14
|
||||
#define Z_LEVEL_OM_ADVENTURE 15
|
||||
#define Z_LEVEL_GB_WILD_N 4
|
||||
#define Z_LEVEL_GB_WILD_S 5
|
||||
#define Z_LEVEL_GB_WILD_E 6
|
||||
#define Z_LEVEL_GB_WILD_W 7
|
||||
#define Z_LEVEL_CENTCOM 8
|
||||
#define Z_LEVEL_MISC 9
|
||||
#define Z_LEVEL_MINING 10
|
||||
#define Z_LEVEL_BEACH 11
|
||||
#define Z_LEVEL_BEACH_CAVE 12
|
||||
#define Z_LEVEL_AEROSTAT 13
|
||||
#define Z_LEVEL_AEROSTAT_SURFACE 14
|
||||
#define Z_LEVEL_DEBRISFIELD 15
|
||||
#define Z_LEVEL_FUELDEPOT 16
|
||||
#define Z_LEVEL_OFFMAP1 17
|
||||
#define Z_LEVEL_GATEWAY 18
|
||||
#define Z_LEVEL_OM_ADVENTURE 19
|
||||
|
||||
//Camera networks
|
||||
#define NETWORK_HALLS "Halls"
|
||||
@@ -161,7 +165,21 @@
|
||||
/area/groundbase/poi/outdoor/cabin4,
|
||||
/area/groundbase/poi/outdoor/cabin5,
|
||||
/area/groundbase/unexplored/outdoors,
|
||||
/area/groundbase/unexplored/rock
|
||||
/area/groundbase/unexplored/rock,
|
||||
/area/groundbase/engineering/solarshed,
|
||||
/area/groundbase/engineering/solarfield,
|
||||
/area/groundbase/wilderness/north,
|
||||
/area/groundbase/wilderness/north/unexplored,
|
||||
/area/groundbase/wilderness/north/cave,
|
||||
/area/groundbase/wilderness/south,
|
||||
/area/groundbase/wilderness/south/unexplored,
|
||||
/area/groundbase/wilderness/south/cave,
|
||||
/area/groundbase/wilderness/east,
|
||||
/area/groundbase/wilderness/east/unexplored,
|
||||
/area/groundbase/wilderness/east/cave,
|
||||
/area/groundbase/wilderness/west,
|
||||
/area/groundbase/wilderness/west/unexplored,
|
||||
/area/groundbase/wilderness/west/cave
|
||||
)
|
||||
|
||||
unit_test_exempt_from_atmos = list()
|
||||
@@ -193,6 +211,23 @@
|
||||
list("Grass Cave")
|
||||
)
|
||||
|
||||
lateload_gb_north = list(
|
||||
list("Northern Wilds 1"),
|
||||
list("Northern Wilds 2")
|
||||
)
|
||||
lateload_gb_south = list(
|
||||
list("Southern Wilds 1"),
|
||||
list("Southern Wilds 2")
|
||||
)
|
||||
lateload_gb_east = list(
|
||||
list("Eastern Wilds 1"),
|
||||
list("Eastern Wilds 2")
|
||||
)
|
||||
lateload_gb_west = list(
|
||||
list("Western Wilds 1"),
|
||||
list("Western Wilds 2")
|
||||
)
|
||||
|
||||
ai_shell_restricted = TRUE
|
||||
ai_shell_allowed_levels = list(
|
||||
Z_LEVEL_GB_BOTTOM,
|
||||
@@ -229,7 +264,11 @@
|
||||
expected_z_levels = list(
|
||||
Z_LEVEL_GB_BOTTOM,
|
||||
Z_LEVEL_GB_MIDDLE,
|
||||
Z_LEVEL_GB_TOP
|
||||
Z_LEVEL_GB_TOP,
|
||||
Z_LEVEL_GB_WILD_N,
|
||||
Z_LEVEL_GB_WILD_S,
|
||||
Z_LEVEL_GB_WILD_E,
|
||||
Z_LEVEL_GB_WILD_W
|
||||
)
|
||||
/datum/planet/virgo3b
|
||||
expected_z_levels = list(
|
||||
@@ -264,7 +303,7 @@
|
||||
initial_generic_waypoints = list()
|
||||
initial_restricted_waypoints = list()
|
||||
|
||||
extra_z_levels = list(Z_LEVEL_MINING)
|
||||
extra_z_levels = list()
|
||||
|
||||
/obj/effect/overmap/visitable/sector/virgo3c
|
||||
name = "Virgo 3C"
|
||||
@@ -287,8 +326,13 @@
|
||||
initial_generic_waypoints = list("groundbase", "gb_excursion_pad")
|
||||
initial_restricted_waypoints = list()
|
||||
|
||||
extra_z_levels = list()
|
||||
|
||||
extra_z_levels = list(
|
||||
Z_LEVEL_MINING,
|
||||
Z_LEVEL_GB_WILD_N,
|
||||
Z_LEVEL_GB_WILD_S,
|
||||
Z_LEVEL_GB_WILD_E,
|
||||
Z_LEVEL_GB_WILD_W
|
||||
)
|
||||
|
||||
// For making the 6-in-1 holomap, we calculate some offsets
|
||||
#define SHIP_MAP_SIZE 140 // Width and height of compiled in tether z levels.
|
||||
@@ -393,3 +437,108 @@
|
||||
desc = "The Virgo 2 Aerostat away mission."
|
||||
mappath = 'maps/expedition_vr/aerostat/aerostat.dmm'
|
||||
associated_map_datum = /datum/map_z_level/common_lateload/away_aerostat
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/map_template/gb_lateload/wilds
|
||||
name = "GB Wilderness Submap"
|
||||
desc = "Please do not use this."
|
||||
mappath = null
|
||||
associated_map_datum = null
|
||||
|
||||
/datum/map_z_level/gb_lateload/gb_north_wilds
|
||||
name = "GB North Wilderness"
|
||||
z = Z_LEVEL_GB_WILD_N
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT|MAP_LEVEL_CONSOLES
|
||||
|
||||
/datum/map_z_level/gb_lateload/gb_south_wilds
|
||||
name = "GB South Wilderness"
|
||||
z = Z_LEVEL_GB_WILD_S
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT|MAP_LEVEL_CONSOLES
|
||||
|
||||
/datum/map_z_level/gb_lateload/gb_east_wilds
|
||||
name = "GB East Wilderness"
|
||||
z = Z_LEVEL_GB_WILD_E
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT|MAP_LEVEL_CONSOLES
|
||||
|
||||
/datum/map_z_level/gb_lateload/gb_west_wilds
|
||||
name = "GB West Wilderness"
|
||||
z = Z_LEVEL_GB_WILD_W
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT|MAP_LEVEL_CONSOLES
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/north/on_map_loaded(z)
|
||||
. = ..()
|
||||
new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, Z_LEVEL_GB_WILD_N, world.maxx, world.maxy)
|
||||
new /datum/random_map/noise/ore/mining(null, 1, 1, Z_LEVEL_GB_WILD_N, 64, 64)
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/south/on_map_loaded(z)
|
||||
. = ..()
|
||||
new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, Z_LEVEL_GB_WILD_S, world.maxx, world.maxy)
|
||||
new /datum/random_map/noise/ore/mining(null, 1, 1, Z_LEVEL_GB_WILD_N, 64, 64)
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/east/on_map_loaded(z)
|
||||
. = ..()
|
||||
new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, Z_LEVEL_GB_WILD_E, world.maxx, world.maxy)
|
||||
new /datum/random_map/noise/ore/mining(null, 1, 1, Z_LEVEL_GB_WILD_N, 64, 64)
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/west/on_map_loaded(z)
|
||||
. = ..()
|
||||
new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, Z_LEVEL_GB_WILD_W, world.maxx, world.maxy)
|
||||
new /datum/random_map/noise/ore/mining(null, 1, 1, Z_LEVEL_GB_WILD_N, 64, 64)
|
||||
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/north/type1
|
||||
name = "Northern Wilds 1"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/northwilds/northwilds1.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_north_wilds
|
||||
/datum/map_template/gb_lateload/wilds/north/type2
|
||||
name = "Northern Wilds 2"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/northwilds/northwilds2.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_north_wilds
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/south/type1
|
||||
name = "Southern Wilds 1"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/southwilds/southwilds1.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_south_wilds
|
||||
/datum/map_template/gb_lateload/wilds/south/type2
|
||||
name = "Southern Wilds 2"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/southwilds/southwilds2.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_south_wilds
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/east/type1
|
||||
name = "Eastern Wilds 1"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/eastwilds/eastwilds1.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_east_wilds
|
||||
/datum/map_template/gb_lateload/wilds/east/type2
|
||||
name = "Eastern Wilds 2"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/eastwilds/eastwilds2.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_east_wilds
|
||||
|
||||
/datum/map_template/gb_lateload/wilds/west/type1
|
||||
name = "Western Wilds 1"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/westwilds/westwilds1.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_west_wilds
|
||||
/datum/map_template/gb_lateload/wilds/west/type2
|
||||
name = "Western Wilds 2"
|
||||
desc = "Wilderness"
|
||||
mappath = 'maps/groundbase/westwilds/westwilds2.dmm'
|
||||
associated_map_datum = /datum/map_z_level/gb_lateload/gb_west_wilds
|
||||
|
||||
/*
|
||||
/datum/map_template/gb_lateload/wilds/north1/on_map_loaded(z)
|
||||
. = ..()
|
||||
seed_submaps(list(z), 60, /area/om_adventure/grasscave/unexplored, /datum/map_template/om_adventure/outdoor)
|
||||
seed_submaps(list(z), 60, /area/om_adventure/grasscave/rocks, /datum/map_template/om_adventure/cave)
|
||||
new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, z, world.maxx - 4, world.maxy - 4)
|
||||
new /datum/random_map/noise/ore/grasscave(null, 1, 1, z, 64, 64)
|
||||
*/
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+134
-103
@@ -92,7 +92,7 @@
|
||||
/turf/simulated/floor/carpet,
|
||||
/area/talon_v2/crew_quarters/pilot_room)
|
||||
"am" = (
|
||||
/obj/machinery/computer/ship/navigation{
|
||||
/obj/item/modular_computer/console/preset/talon{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/techfloor,
|
||||
@@ -193,6 +193,22 @@
|
||||
/obj/item/device/paicard,
|
||||
/turf/simulated/floor/tiled/techfloor,
|
||||
/area/talon_v2/workroom)
|
||||
"aw" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/clothing/gloves/sterile/nitrile,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/suit/surgicalapron,
|
||||
/obj/structure/table/standard,
|
||||
/obj/structure/table/standard,
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
dir = 1;
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"ax" = (
|
||||
/obj/machinery/camera/network/talon{
|
||||
dir = 1
|
||||
@@ -802,9 +818,9 @@
|
||||
/turf/simulated/floor/reinforced,
|
||||
/area/talon_v2/ofd_ops)
|
||||
"bX" = (
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/table/standard,
|
||||
/obj/machinery/chemical_dispenser/full,
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"bY" = (
|
||||
@@ -1348,6 +1364,12 @@
|
||||
/obj/effect/shuttle_landmark/premade/talon_v2_near_fore_port,
|
||||
/turf/space,
|
||||
/area/space)
|
||||
"dS" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"dT" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
@@ -4037,15 +4059,11 @@
|
||||
/turf/simulated/floor/carpet,
|
||||
/area/talon_v2/crew_quarters/sec_room)
|
||||
"mE" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"mG" = (
|
||||
@@ -5314,6 +5332,11 @@
|
||||
/obj/machinery/camera/network/talon{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light_switch{
|
||||
dir = 1;
|
||||
pixel_x = 8;
|
||||
pixel_y = -26
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"qI" = (
|
||||
@@ -5539,6 +5562,7 @@
|
||||
"rG" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/machinery/reagentgrinder,
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"rI" = (
|
||||
@@ -7460,7 +7484,14 @@
|
||||
/turf/simulated/floor/tiled/techmaint,
|
||||
/area/talon_v2/secure_storage)
|
||||
"xQ" = (
|
||||
/obj/machinery/suit_cycler/vintage/tmedic,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/closet/walllocker_double/medical/east,
|
||||
/obj/random/medical,
|
||||
/obj/random/medical,
|
||||
/obj/random/medical,
|
||||
/obj/random/medical,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"xR" = (
|
||||
@@ -7516,12 +7547,12 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/talon_v2/engineering/atmospherics)
|
||||
"yd" = (
|
||||
/obj/machinery/light_switch{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/item/device/mass_spectrometer/adv,
|
||||
/obj/structure/table/standard,
|
||||
/obj/machinery/alarm/talon{
|
||||
dir = 4;
|
||||
pixel_x = -22
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"yh" = (
|
||||
@@ -7539,10 +7570,11 @@
|
||||
/turf/simulated/floor/wood,
|
||||
/area/talon_v2/crew_quarters/cap_room)
|
||||
"yj" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/machinery/chemical_dispenser/full,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
@@ -7669,14 +7701,9 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/talon_v2/bridge)
|
||||
"yx" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 5
|
||||
},
|
||||
/obj/random/medical,
|
||||
/obj/random/medical,
|
||||
/obj/random/medical,
|
||||
/obj/random/medical,
|
||||
/obj/structure/closet/walllocker_double/medical/west,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"yz" = (
|
||||
@@ -7696,7 +7723,9 @@
|
||||
/turf/simulated/floor/tiled/techmaint,
|
||||
/area/talon_v2/maintenance/wing_starboard)
|
||||
"yD" = (
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 9
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"yF" = (
|
||||
@@ -7935,21 +7964,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/talon_v2/brig)
|
||||
"zw" = (
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Medical Storage";
|
||||
req_one_access = list(301)
|
||||
},
|
||||
/obj/machinery/door/firedoor/glass/talon,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
/obj/machinery/sleep_console{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
@@ -8092,15 +8107,11 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/talon_v2/bridge)
|
||||
"zZ" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/clothing/gloves/sterile/nitrile,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/suit/surgicalapron,
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on{
|
||||
dir = 8
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/sign/warning/nosmoking_1{
|
||||
pixel_x = 26
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 9
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
@@ -8117,9 +8128,11 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/talon_v2/engineering/port_store)
|
||||
"Ag" = (
|
||||
/obj/machinery/alarm/talon{
|
||||
dir = 4;
|
||||
pixel_x = -22
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
@@ -8577,15 +8590,25 @@
|
||||
/area/talon_v2/medical)
|
||||
"BU" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/storage/firstaid/adv{
|
||||
pixel_x = 2;
|
||||
pixel_y = 5
|
||||
/obj/item/weapon/storage/firstaid/surgery,
|
||||
/obj/item/stack/nanopaste{
|
||||
pixel_x = -7;
|
||||
pixel_y = -4
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on{
|
||||
dir = 1
|
||||
/obj/item/stack/nanopaste{
|
||||
pixel_x = 9;
|
||||
pixel_y = -4
|
||||
},
|
||||
/obj/item/device/robotanalyzer{
|
||||
pixel_y = -8
|
||||
},
|
||||
/obj/machinery/light,
|
||||
/obj/machinery/button/holosign{
|
||||
id = "tal_surg";
|
||||
name = "surgery sign switch";
|
||||
pixel_x = -10;
|
||||
pixel_y = -22
|
||||
},
|
||||
/obj/structure/closet/walllocker_double/medical/south,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"BV" = (
|
||||
@@ -8601,22 +8624,15 @@
|
||||
/area/shuttle/talonpod)
|
||||
"BX" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/weapon/storage/firstaid/surgery,
|
||||
/obj/item/stack/nanopaste{
|
||||
pixel_x = -7;
|
||||
pixel_y = -4
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/storage/firstaid/adv{
|
||||
pixel_x = 2;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/stack/nanopaste{
|
||||
pixel_x = 9;
|
||||
pixel_y = -4
|
||||
},
|
||||
/obj/item/device/robotanalyzer{
|
||||
pixel_y = -8
|
||||
},
|
||||
/obj/machinery/alarm/talon{
|
||||
dir = 8;
|
||||
pixel_x = 22
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/closet/walllocker_double/medical/south,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"BY" = (
|
||||
@@ -9978,13 +9994,9 @@
|
||||
/turf/simulated/floor/tiled/techfloor,
|
||||
/area/talon_v2/central_hallway/fore)
|
||||
"Gx" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
dir = 8;
|
||||
pixel_x = 30
|
||||
},
|
||||
/obj/structure/closet/walllocker_double/medical/east,
|
||||
/obj/item/bodybag/cryobag,
|
||||
/obj/item/bodybag/cryobag,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"Gy" = (
|
||||
@@ -11340,6 +11352,9 @@
|
||||
/area/talon_v2/central_hallway/port)
|
||||
"Kp" = (
|
||||
/obj/machinery/chem_master,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
"Ks" = (
|
||||
@@ -12277,11 +12292,8 @@
|
||||
/turf/simulated/floor/reinforced/airless,
|
||||
/area/space)
|
||||
"Na" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 10
|
||||
dir = 6
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
@@ -14988,6 +15000,28 @@
|
||||
/obj/structure/handrail,
|
||||
/turf/simulated/floor/reinforced/airless,
|
||||
/area/talon_v2/maintenance/aft_starboard)
|
||||
"VA" = (
|
||||
/obj/structure/cable/green{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/holosign/surgery{
|
||||
id = "tal_surg";
|
||||
pixel_x = 8;
|
||||
pixel_y = 22
|
||||
},
|
||||
/turf/simulated/floor/tiled/techmaint,
|
||||
/area/talon_v2/central_hallway/star)
|
||||
"VD" = (
|
||||
/obj/structure/cable/green{
|
||||
d1 = 1;
|
||||
@@ -15316,11 +15350,8 @@
|
||||
/turf/simulated/floor/wood,
|
||||
/area/talon_v2/crew_quarters/eng_room)
|
||||
"WB" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 9
|
||||
/obj/machinery/sleeper{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/talon_v2/medical)
|
||||
@@ -28025,12 +28056,12 @@ Sk
|
||||
MG
|
||||
RQ
|
||||
rG
|
||||
Fn
|
||||
yx
|
||||
NZ
|
||||
Na
|
||||
BU
|
||||
RQ
|
||||
tX
|
||||
VA
|
||||
lv
|
||||
fW
|
||||
PK
|
||||
@@ -28168,7 +28199,7 @@ uk
|
||||
RQ
|
||||
Kp
|
||||
yj
|
||||
NZ
|
||||
Ag
|
||||
zZ
|
||||
BX
|
||||
RQ
|
||||
@@ -28308,11 +28339,11 @@ Sk
|
||||
rQ
|
||||
JI
|
||||
RQ
|
||||
RQ
|
||||
RQ
|
||||
bX
|
||||
yD
|
||||
zw
|
||||
RQ
|
||||
RQ
|
||||
dS
|
||||
aw
|
||||
RQ
|
||||
tX
|
||||
Lo
|
||||
@@ -28451,9 +28482,9 @@ Sk
|
||||
uv
|
||||
RQ
|
||||
Wj
|
||||
yx
|
||||
NZ
|
||||
Ag
|
||||
Fn
|
||||
WB
|
||||
Fn
|
||||
Cq
|
||||
RQ
|
||||
HG
|
||||
@@ -28593,9 +28624,9 @@ Sk
|
||||
Wu
|
||||
RQ
|
||||
HX
|
||||
yD
|
||||
WB
|
||||
bX
|
||||
Fn
|
||||
Fn
|
||||
Fn
|
||||
Cy
|
||||
RQ
|
||||
Ly
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
/datum/map
|
||||
var/list/lateload_gb_north = list()
|
||||
var/list/lateload_gb_south = list()
|
||||
var/list/lateload_gb_east = list()
|
||||
var/list/lateload_gb_west = list()
|
||||
|
||||
/datum/controller/subsystem/mapping/loadLateMaps()
|
||||
if(using_map.name == "RascalsPass")
|
||||
var/list/gbn_load = using_map.lateload_gb_north
|
||||
var/list/gbs_load = using_map.lateload_gb_south
|
||||
var/list/gbe_load = using_map.lateload_gb_east
|
||||
var/list/gbw_load = using_map.lateload_gb_west
|
||||
|
||||
|
||||
if(LAZYLEN(gbn_load)) //Just copied from gateway picking, this is so we can have a kind of OM map version of the same concept.
|
||||
var/picklist = pick(gbn_load)
|
||||
if(!picklist) //No lateload maps at all
|
||||
return
|
||||
|
||||
if(!islist(picklist)) //So you can have a 'chain' of z-levels that make up one away mission
|
||||
error("Randompick Z level [picklist] is not a list! Must be in a list!")
|
||||
return
|
||||
|
||||
for(var/map in picklist)
|
||||
if(islist(map))
|
||||
// TRIPLE NEST. In this situation we pick one at random from the choices in the list.
|
||||
//This allows a sort of a1,a2,a3,b1,b2,b3,c1,c2,c3 setup where it picks one 'a', one 'b', one 'c'
|
||||
map = pick(map)
|
||||
var/datum/map_template/MT = map_templates[map]
|
||||
if(!istype(MT))
|
||||
error("Randompick Z level \"[map]\" is not a valid map!")
|
||||
else
|
||||
MT.load_new_z(centered = FALSE)
|
||||
if(LAZYLEN(gbs_load)) //Just copied from gateway picking, this is so we can have a kind of OM map version of the same concept.
|
||||
var/picklist = pick(gbs_load)
|
||||
|
||||
if(!picklist) //No lateload maps at all
|
||||
return
|
||||
|
||||
if(!islist(picklist)) //So you can have a 'chain' of z-levels that make up one away mission
|
||||
error("Randompick Z level [picklist] is not a list! Must be in a list!")
|
||||
return
|
||||
|
||||
for(var/map in picklist)
|
||||
if(islist(map))
|
||||
// TRIPLE NEST. In this situation we pick one at random from the choices in the list.
|
||||
//This allows a sort of a1,a2,a3,b1,b2,b3,c1,c2,c3 setup where it picks one 'a', one 'b', one 'c'
|
||||
map = pick(map)
|
||||
var/datum/map_template/MT = map_templates[map]
|
||||
if(!istype(MT))
|
||||
error("Randompick Z level \"[map]\" is not a valid map!")
|
||||
else
|
||||
MT.load_new_z(centered = FALSE)
|
||||
|
||||
if(LAZYLEN(gbe_load)) //Just copied from gateway picking, this is so we can have a kind of OM map version of the same concept.
|
||||
var/picklist = pick(gbe_load)
|
||||
|
||||
if(!picklist) //No lateload maps at all
|
||||
return
|
||||
|
||||
if(!islist(picklist)) //So you can have a 'chain' of z-levels that make up one away mission
|
||||
error("Randompick Z level [picklist] is not a list! Must be in a list!")
|
||||
return
|
||||
|
||||
for(var/map in picklist)
|
||||
if(islist(map))
|
||||
// TRIPLE NEST. In this situation we pick one at random from the choices in the list.
|
||||
//This allows a sort of a1,a2,a3,b1,b2,b3,c1,c2,c3 setup where it picks one 'a', one 'b', one 'c'
|
||||
map = pick(map)
|
||||
var/datum/map_template/MT = map_templates[map]
|
||||
if(!istype(MT))
|
||||
error("Randompick Z level \"[map]\" is not a valid map!")
|
||||
else
|
||||
MT.load_new_z(centered = FALSE)
|
||||
|
||||
if(LAZYLEN(gbw_load)) //Just copied from gateway picking, this is so we can have a kind of OM map version of the same concept.
|
||||
var/picklist = pick(gbw_load)
|
||||
|
||||
if(!picklist) //No lateload maps at all
|
||||
return
|
||||
|
||||
if(!islist(picklist)) //So you can have a 'chain' of z-levels that make up one away mission
|
||||
error("Randompick Z level [picklist] is not a list! Must be in a list!")
|
||||
return
|
||||
|
||||
for(var/map in picklist)
|
||||
if(islist(map))
|
||||
// TRIPLE NEST. In this situation we pick one at random from the choices in the list.
|
||||
//This allows a sort of a1,a2,a3,b1,b2,b3,c1,c2,c3 setup where it picks one 'a', one 'b', one 'c'
|
||||
map = pick(map)
|
||||
var/datum/map_template/MT = map_templates[map]
|
||||
if(!istype(MT))
|
||||
error("Randompick Z level \"[map]\" is not a valid map!")
|
||||
else
|
||||
MT.load_new_z(centered = FALSE)
|
||||
. = ..()
|
||||
@@ -1103,6 +1103,7 @@
|
||||
#include "code\game\objects\effects\spiders.dm"
|
||||
#include "code\game\objects\effects\spiders_vr.dm"
|
||||
#include "code\game\objects\effects\step_triggers.dm"
|
||||
#include "code\game\objects\effects\wire_deleter.dm"
|
||||
#include "code\game\objects\effects\zone_divider.dm"
|
||||
#include "code\game\objects\effects\alien\aliens.dm"
|
||||
#include "code\game\objects\effects\chem\chemsmoke.dm"
|
||||
@@ -3988,6 +3989,7 @@
|
||||
#include "code\modules\vore\resizing\grav_pull_vr.dm"
|
||||
#include "code\modules\vore\resizing\holder_micro_vr.dm"
|
||||
#include "code\modules\vore\resizing\resize_vr.dm"
|
||||
#include "code\modules\vore\resizing\sizegun_slow_vr.dm"
|
||||
#include "code\modules\vore\resizing\sizegun_vr.dm"
|
||||
#include "code\modules\vore\smoleworld\smoleworld_vr.dm"
|
||||
#include "code\modules\vore\weight\fitness_machines_vr.dm"
|
||||
@@ -4131,4 +4133,5 @@
|
||||
#include "maps\submaps\surface_submaps\wilderness\wilderness.dm"
|
||||
#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
|
||||
#include "maps\~map_system\maps.dm"
|
||||
#include "maps\~map_system\maps_vr.dm"
|
||||
// END_INCLUDE
|
||||
|
||||
Reference in New Issue
Block a user