Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 11/26/2017_ufo_poi
# Conflicts resolved: # maps/submaps/cave_submaps/cave_areas.dm
@@ -87,3 +87,18 @@
|
|||||||
l_hand = /obj/item/weapon/storage/bible
|
l_hand = /obj/item/weapon/storage/bible
|
||||||
id_type = /obj/item/weapon/card/id/civilian/chaplain
|
id_type = /obj/item/weapon/card/id/civilian/chaplain
|
||||||
pda_type = /obj/item/device/pda/chaplain
|
pda_type = /obj/item/device/pda/chaplain
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/explorer
|
||||||
|
name = OUTFIT_JOB_NAME("Explorer")
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/winter/explorer
|
||||||
|
uniform = /obj/item/clothing/under/explorer
|
||||||
|
mask = /obj/item/clothing/mask/gas/explorer
|
||||||
|
suit = /obj/item/clothing/suit/storage/hooded/explorer
|
||||||
|
gloves = /obj/item/clothing/gloves/black
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian
|
||||||
|
pda_slot = slot_belt
|
||||||
|
pda_type = /obj/item/device/pda/cargo // Brown looks more rugged
|
||||||
|
r_pocket = /obj/item/device/gps/explorer
|
||||||
|
id_pda_assignment = "Explorer"
|
||||||
|
|||||||
205
code/game/objects/items/devices/gps.dm
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
var/list/GPS_list = list()
|
||||||
|
|
||||||
|
/obj/item/device/gps
|
||||||
|
name = "global positioning system"
|
||||||
|
desc = "Triangulates the approximate co-ordinates using a nearby satellite network. Alt+click to toggle power."
|
||||||
|
icon = 'icons/obj/gps.dmi'
|
||||||
|
icon_state = "gps-c"
|
||||||
|
w_class = ITEMSIZE_TINY
|
||||||
|
slot_flags = SLOT_BELT
|
||||||
|
origin_tech = list(TECH_MATERIALS = 2, TECH_BLUESPACE = 2, TECH_MAGNETS = 1)
|
||||||
|
matter = list(DEFAULT_WALL_MATERIAL = 500)
|
||||||
|
var/gps_tag = "COM0"
|
||||||
|
var/emped = FALSE
|
||||||
|
var/tracking = FALSE // Will not show other signals or emit its own signal if false.
|
||||||
|
var/long_range = FALSE // If true, can see farther, depending on get_map_levels().
|
||||||
|
var/local_mode = FALSE // If true, only GPS signals of the same Z level are shown.
|
||||||
|
var/hide_signal = FALSE // If true, signal is not visible to other GPS devices.
|
||||||
|
var/can_hide_signal = FALSE // If it can toggle the above var.
|
||||||
|
|
||||||
|
/obj/item/device/gps/initialize()
|
||||||
|
GPS_list += src
|
||||||
|
name = "global positioning system ([gps_tag])"
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
/obj/item/device/gps/Destroy()
|
||||||
|
GPS_list -= src
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/device/gps/AltClick(mob/user)
|
||||||
|
toggletracking(user)
|
||||||
|
|
||||||
|
/obj/item/device/gps/proc/toggletracking(mob/living/user)
|
||||||
|
if(!istype(user))
|
||||||
|
return
|
||||||
|
if(emped)
|
||||||
|
to_chat(user, "It's busted!")
|
||||||
|
return
|
||||||
|
if(tracking)
|
||||||
|
to_chat(user, "[src] is no longer tracking, or visible to other GPS devices.")
|
||||||
|
tracking = FALSE
|
||||||
|
update_icon()
|
||||||
|
else
|
||||||
|
to_chat(user, "[src] is now tracking, and visible to other GPS devices.")
|
||||||
|
tracking = TRUE
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
/obj/item/device/gps/emp_act(severity)
|
||||||
|
if(emped) // Without a fancy callback system, this will have to do.
|
||||||
|
return
|
||||||
|
var/severity_modifier = severity ? severity : 4 // In case emp_act gets called without any arguments.
|
||||||
|
var/duration = 5 MINUTES / severity_modifier
|
||||||
|
emped = TRUE
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
spawn(duration)
|
||||||
|
emped = FALSE
|
||||||
|
update_icon()
|
||||||
|
visible_message("\The [src] appears to be functional again.")
|
||||||
|
|
||||||
|
/obj/item/device/gps/update_icon()
|
||||||
|
overlays.Cut()
|
||||||
|
if(emped)
|
||||||
|
overlays += image(icon, src, "emp")
|
||||||
|
else if(tracking)
|
||||||
|
overlays += image(icon, src, "working")
|
||||||
|
|
||||||
|
/obj/item/device/gps/attack_self(mob/user)
|
||||||
|
display(user)
|
||||||
|
|
||||||
|
/obj/item/device/gps/proc/display(mob/user)
|
||||||
|
if(!tracking)
|
||||||
|
to_chat(user, "The device is off. Alt-click it to turn it on.")
|
||||||
|
return
|
||||||
|
if(emped)
|
||||||
|
to_chat(user, "It's busted!")
|
||||||
|
return
|
||||||
|
|
||||||
|
var/list/dat = list()
|
||||||
|
|
||||||
|
var/turf/curr = get_turf(src)
|
||||||
|
var/area/my_area = get_area(src)
|
||||||
|
dat += "Current location: [my_area.name] <b>([curr.x], [curr.y], [curr.z])</b>"
|
||||||
|
dat += "[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'. <a href='?src=\ref[src];tag=1'>\[Change Tag\]</a> \
|
||||||
|
<a href='?src=\ref[src];range=1'>\[Toggle Scan Range\]</a> \
|
||||||
|
[can_hide_signal ? "<a href='?src=\ref[src];hide=1'>\[Toggle Signal Visibility\]</a>":""]"
|
||||||
|
|
||||||
|
var/list/signals = list()
|
||||||
|
|
||||||
|
for(var/gps in GPS_list)
|
||||||
|
var/obj/item/device/gps/G = gps
|
||||||
|
if(G.emped || !G.tracking || G.hide_signal || G == src) // Their GPS isn't on or functional.
|
||||||
|
continue
|
||||||
|
var/turf/T = get_turf(G)
|
||||||
|
var/z_level_detection = using_map.get_map_levels(curr.z, long_range)
|
||||||
|
|
||||||
|
if(local_mode && T.z != curr.z) // Only care about the current z-level.
|
||||||
|
continue
|
||||||
|
else if(!(T.z in z_level_detection)) // Too far away.
|
||||||
|
continue
|
||||||
|
|
||||||
|
var/area/their_area = get_area(G)
|
||||||
|
var/area_name = their_area.name
|
||||||
|
var/coord = "[T.x], [T.y], [T.z]"
|
||||||
|
var/degrees = round(Get_Angle(curr, T))
|
||||||
|
var/direction = uppertext(dir2text(get_dir(curr, T)))
|
||||||
|
var/distance = get_dist(curr, T)
|
||||||
|
var/local = curr.z == T.z ? TRUE : FALSE
|
||||||
|
if(!direction)
|
||||||
|
direction = "CENTER"
|
||||||
|
degrees = "N/A"
|
||||||
|
|
||||||
|
signals += " [G.gps_tag]: [area_name] ([coord]) [local ? "Dist: [distance]m Dir: [degrees]<5D> ([direction])":""]"
|
||||||
|
|
||||||
|
if(signals.len)
|
||||||
|
dat += "Detected signals;"
|
||||||
|
for(var/line in signals)
|
||||||
|
dat += line
|
||||||
|
else
|
||||||
|
dat += "No other signals detected."
|
||||||
|
|
||||||
|
var/result = dat.Join("<br>")
|
||||||
|
to_chat(user, result)
|
||||||
|
|
||||||
|
/obj/item/device/gps/Topic(var/href, var/list/href_list)
|
||||||
|
if(..())
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if(href_list["tag"])
|
||||||
|
var/a = input("Please enter desired tag.", name, gps_tag) as text
|
||||||
|
a = uppertext(copytext(sanitize(a), 1, 11))
|
||||||
|
if(in_range(src, usr))
|
||||||
|
gps_tag = a
|
||||||
|
name = "global positioning system ([gps_tag])"
|
||||||
|
to_chat(usr, "You set your GPS's tag to '[gps_tag]'.")
|
||||||
|
|
||||||
|
if(href_list["range"])
|
||||||
|
local_mode = !local_mode
|
||||||
|
to_chat(usr, "You set the signal receiver to [local_mode ? "'NARROW'" : "'BROAD'"].")
|
||||||
|
|
||||||
|
if(href_list["hide"])
|
||||||
|
if(!can_hide_signal)
|
||||||
|
return
|
||||||
|
hide_signal = !hide_signal
|
||||||
|
to_chat(usr, "You set the device to [hide_signal ? "not " : ""]broadcast a signal while scanning for other signals.")
|
||||||
|
|
||||||
|
/obj/item/device/gps/on // Defaults to off to avoid polluting the signal list with a bunch of GPSes without owners. If you need to spawn active ones, use these.
|
||||||
|
tracking = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/science
|
||||||
|
icon_state = "gps-s"
|
||||||
|
gps_tag = "SCI0"
|
||||||
|
|
||||||
|
/obj/item/device/gps/science/on
|
||||||
|
tracking = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/engineering
|
||||||
|
icon_state = "gps-e"
|
||||||
|
gps_tag = "ENG0"
|
||||||
|
|
||||||
|
/obj/item/device/gps/engineering/on
|
||||||
|
tracking = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/mining
|
||||||
|
icon_state = "gps-m"
|
||||||
|
gps_tag = "MINE0"
|
||||||
|
desc = "A positioning system helpful for rescuing trapped or injured miners, keeping one on you at all times while mining might just save your life. Alt+click to toggle power."
|
||||||
|
|
||||||
|
/obj/item/device/gps/mining/on
|
||||||
|
tracking = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/explorer
|
||||||
|
icon_state = "gps-ex"
|
||||||
|
gps_tag = "EX0"
|
||||||
|
desc = "A positioning system helpful for rescuing trapped or injured explorers, keeping one on you at all times while exploring might just save your life. Alt+click to toggle power."
|
||||||
|
|
||||||
|
/obj/item/device/gps/explorer/on
|
||||||
|
tracking = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/syndie
|
||||||
|
icon_state = "gps-syndie"
|
||||||
|
gps_tag = "NULL"
|
||||||
|
desc = "A positioning system that has extended range and can detect other GPS device signals without revealing its own. How that works is best left a mystery. Alt+click to toggle power."
|
||||||
|
origin_tech = list(TECH_MATERIALS = 2, TECH_BLUESPACE = 3, TECH_MAGNETS = 2, TECH_ILLEGAL = 2)
|
||||||
|
long_range = TRUE
|
||||||
|
hide_signal = TRUE
|
||||||
|
can_hide_signal = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/robot
|
||||||
|
icon_state = "gps-b"
|
||||||
|
gps_tag = "SYNTH0"
|
||||||
|
desc = "A synthetic internal positioning system. Used as a recovery beacon for damaged synthetic assets, or a collaboration tool for mining or exploration teams. \
|
||||||
|
Alt+click to toggle power."
|
||||||
|
tracking = TRUE // On by default.
|
||||||
|
|
||||||
|
/obj/item/device/gps/internal // Base type for immobile/internal GPS units.
|
||||||
|
icon_state = null
|
||||||
|
gps_tag = "Eerie Signal"
|
||||||
|
desc = "Report to a coder immediately."
|
||||||
|
invisibility = INVISIBILITY_MAXIMUM
|
||||||
|
tracking = TRUE // Meant to point to a location, so it needs to be on.
|
||||||
|
anchored = TRUE
|
||||||
|
|
||||||
|
/obj/item/device/gps/internal/base
|
||||||
|
gps_tag = "NT_BASE"
|
||||||
|
desc = "A homing signal from NanoTrasen's outpost."
|
||||||
@@ -92,3 +92,11 @@
|
|||||||
desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products."
|
desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products."
|
||||||
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
|
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
|
||||||
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||||
|
|
||||||
|
/obj/item/weapon/material/hatchet/tacknife/survival
|
||||||
|
name = "survival knife"
|
||||||
|
desc = "A hunting grade survival knife."
|
||||||
|
icon = 'icons/obj/kitchen.dmi'
|
||||||
|
icon_state = "survivalknife"
|
||||||
|
item_state = "knife"
|
||||||
|
applies_material_colour = FALSE
|
||||||
|
|||||||
@@ -67,6 +67,15 @@
|
|||||||
icon_state = "swat"
|
icon_state = "swat"
|
||||||
siemens_coefficient = 0.7
|
siemens_coefficient = 0.7
|
||||||
|
|
||||||
|
/obj/item/clothing/mask/gas/explorer
|
||||||
|
name = "explorer gas mask"
|
||||||
|
desc = "A military-grade gas mask that can be connected to an air supply."
|
||||||
|
icon_state = "explorer"
|
||||||
|
item_state_slots = list(slot_r_hand_str = "gas", slot_l_hand_str = "gas")
|
||||||
|
armor = list(melee = 10, bullet = 5, laser = 5,energy = 5, bomb = 0, bio = 50, rad = 0)
|
||||||
|
body_parts_covered = HEAD|FACE|EYES
|
||||||
|
siemens_coefficient = 0.9
|
||||||
|
|
||||||
/obj/item/clothing/mask/gas/clown_hat
|
/obj/item/clothing/mask/gas/clown_hat
|
||||||
name = "clown wig and mask"
|
name = "clown wig and mask"
|
||||||
desc = "A true prankster's facial attire. A clown is incomplete without their wig and mask."
|
desc = "A true prankster's facial attire. A clown is incomplete without their wig and mask."
|
||||||
|
|||||||
@@ -96,6 +96,12 @@
|
|||||||
desc = "A pair of winter boots. These ones are lined with brown fur, and their trim is ambrosia green"
|
desc = "A pair of winter boots. These ones are lined with brown fur, and their trim is ambrosia green"
|
||||||
icon_state = "winterboots_hydro"
|
icon_state = "winterboots_hydro"
|
||||||
|
|
||||||
|
/obj/item/clothing/shoes/boots/winter/explorer
|
||||||
|
name = "explorer winter boots"
|
||||||
|
desc = "Steel-toed winter boots for mining or exploration in hazardous environments. Very good at keeping toes warm and uncrushed."
|
||||||
|
icon_state = "explorer"
|
||||||
|
armor = list(melee = 30, bullet = 10, laser = 10, energy = 15, bomb = 20, bio = 0, rad = 0)
|
||||||
|
|
||||||
/obj/item/clothing/shoes/boots/tactical
|
/obj/item/clothing/shoes/boots/tactical
|
||||||
name = "tactical boots"
|
name = "tactical boots"
|
||||||
desc = "Tan boots with extra padding and armor."
|
desc = "Tan boots with extra padding and armor."
|
||||||
|
|||||||
@@ -770,6 +770,42 @@ obj/item/clothing/suit/storage/toggle/peacoat
|
|||||||
name = "mining winter hood"
|
name = "mining winter hood"
|
||||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/hooded/explorer
|
||||||
|
name = "explorer suit"
|
||||||
|
desc = "An armoured suit for exploring harsh environments."
|
||||||
|
icon_state = "explorer"
|
||||||
|
item_state = "explorer"
|
||||||
|
flags = THICKMATERIAL
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||||
|
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||||
|
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||||
|
hooded = TRUE
|
||||||
|
hoodtype = /obj/item/clothing/head/explorer
|
||||||
|
siemens_coefficient = 0.9
|
||||||
|
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50) // Inferior to sec vests in bullet/laser but better for environmental protection.
|
||||||
|
allowed = list(
|
||||||
|
/obj/item/device/flashlight,
|
||||||
|
/obj/item/weapon/gun,
|
||||||
|
/obj/item/ammo_magazine,
|
||||||
|
/obj/item/weapon/melee,
|
||||||
|
/obj/item/weapon/material/knife,
|
||||||
|
/obj/item/weapon/tank,
|
||||||
|
/obj/item/device/radio,
|
||||||
|
/obj/item/weapon/pickaxe
|
||||||
|
)
|
||||||
|
|
||||||
|
/obj/item/clothing/head/explorer
|
||||||
|
name = "explorer hood"
|
||||||
|
desc = "An armoured hood for exploring harsh environments."
|
||||||
|
icon_state = "explorer"
|
||||||
|
body_parts_covered = HEAD
|
||||||
|
cold_protection = HEAD
|
||||||
|
flags = THICKMATERIAL
|
||||||
|
flags_inv = HIDEEARS | BLOCKHAIR
|
||||||
|
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||||
|
siemens_coefficient = 0.9
|
||||||
|
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50)
|
||||||
|
|
||||||
/obj/item/clothing/suit/varsity
|
/obj/item/clothing/suit/varsity
|
||||||
name = "black varsity jacket"
|
name = "black varsity jacket"
|
||||||
desc = "A favorite of jocks everywhere from Sol to Nyx."
|
desc = "A favorite of jocks everywhere from Sol to Nyx."
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
/obj/item/clothing/suit/storage/hooded/proc/RemoveHood()
|
/obj/item/clothing/suit/storage/hooded/proc/RemoveHood()
|
||||||
icon_state = "[initial(icon_state)]"
|
icon_state = "[initial(icon_state)]"
|
||||||
suittoggled = 0
|
suittoggled = 0
|
||||||
|
hood.canremove = TRUE // This shouldn't matter anyways but just incase.
|
||||||
if(ishuman(hood.loc))
|
if(ishuman(hood.loc))
|
||||||
var/mob/living/carbon/H = hood.loc
|
var/mob/living/carbon/H = hood.loc
|
||||||
H.unEquip(hood, 1)
|
H.unEquip(hood, 1)
|
||||||
@@ -53,6 +54,7 @@
|
|||||||
else
|
else
|
||||||
H.equip_to_slot_if_possible(hood,slot_head,0,0,1)
|
H.equip_to_slot_if_possible(hood,slot_head,0,0,1)
|
||||||
suittoggled = 1
|
suittoggled = 1
|
||||||
|
hood.canremove = FALSE
|
||||||
icon_state = "[initial(icon_state)]_t"
|
icon_state = "[initial(icon_state)]_t"
|
||||||
H.update_inv_wear_suit()
|
H.update_inv_wear_suit()
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -812,3 +812,8 @@
|
|||||||
desc = "A fluffy robe to keep you from showing off to the world."
|
desc = "A fluffy robe to keep you from showing off to the world."
|
||||||
icon_state = "bathrobe"
|
icon_state = "bathrobe"
|
||||||
worn_state = "bathrobe"
|
worn_state = "bathrobe"
|
||||||
|
|
||||||
|
/obj/item/clothing/under/explorer
|
||||||
|
desc = "A green uniform for operating in hazardous environments."
|
||||||
|
name = "explorer's jumpsuit"
|
||||||
|
icon_state = "explorer"
|
||||||
@@ -197,3 +197,30 @@ var/list/wrapped_species_by_ref = list()
|
|||||||
E.sync_colour_to_human(src)
|
E.sync_colour_to_human(src)
|
||||||
|
|
||||||
regenerate_icons()
|
regenerate_icons()
|
||||||
|
|
||||||
|
/mob/living/carbon/human/proc/shapeshifter_select_hair_colors()
|
||||||
|
|
||||||
|
set name = "Select Hair Colors"
|
||||||
|
set category = "Abilities"
|
||||||
|
|
||||||
|
if(stat || world.time < last_special)
|
||||||
|
return
|
||||||
|
|
||||||
|
last_special = world.time + 50
|
||||||
|
|
||||||
|
var/new_hair = input("Please select a new hair color.", "Hair Colour") as color
|
||||||
|
if(!new_hair)
|
||||||
|
return
|
||||||
|
shapeshifter_set_hair_color(new_hair)
|
||||||
|
var/new_fhair = input("Please select a new facial hair color.", "Facial Hair Color") as color
|
||||||
|
if(!new_fhair)
|
||||||
|
return
|
||||||
|
shapeshifter_set_facial_color(new_fhair)
|
||||||
|
|
||||||
|
/mob/living/carbon/human/proc/shapeshifter_set_hair_color(var/new_hair)
|
||||||
|
|
||||||
|
change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8)))
|
||||||
|
|
||||||
|
/mob/living/carbon/human/proc/shapeshifter_set_facial_color(var/new_fhair)
|
||||||
|
|
||||||
|
change_facial_hair_color(hex2num(copytext(new_fhair, 2, 4)), hex2num(copytext(new_fhair, 4, 6)), hex2num(copytext(new_fhair, 6, 8)))
|
||||||
@@ -81,12 +81,12 @@ var/datum/species/shapeshifter/promethean/prometheans
|
|||||||
/mob/living/carbon/human/proc/shapeshifter_select_shape,
|
/mob/living/carbon/human/proc/shapeshifter_select_shape,
|
||||||
/mob/living/carbon/human/proc/shapeshifter_select_colour,
|
/mob/living/carbon/human/proc/shapeshifter_select_colour,
|
||||||
/mob/living/carbon/human/proc/shapeshifter_select_hair,
|
/mob/living/carbon/human/proc/shapeshifter_select_hair,
|
||||||
|
/mob/living/carbon/human/proc/shapeshifter_select_hair_colors,
|
||||||
/mob/living/carbon/human/proc/shapeshifter_select_gender,
|
/mob/living/carbon/human/proc/shapeshifter_select_gender,
|
||||||
/mob/living/carbon/human/proc/regenerate
|
/mob/living/carbon/human/proc/regenerate
|
||||||
)
|
)
|
||||||
|
|
||||||
valid_transform_species = list("Human", "Vatborn", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey")
|
valid_transform_species = list("Human", "Vatborn", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey")
|
||||||
monochromatic = 1
|
|
||||||
|
|
||||||
var/heal_rate = 0.5 // Temp. Regen per tick.
|
var/heal_rate = 0.5 // Temp. Regen per tick.
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
iterations = 5
|
iterations = 5
|
||||||
descriptor = "moon caves"
|
descriptor = "moon caves"
|
||||||
var/list/ore_turfs = list()
|
var/list/ore_turfs = list()
|
||||||
|
var/make_cracked_turfs = TRUE
|
||||||
|
|
||||||
|
/datum/random_map/automata/cave_system/no_cracks
|
||||||
|
make_cracked_turfs = FALSE
|
||||||
|
|
||||||
/datum/random_map/automata/cave_system/get_appropriate_path(var/value)
|
/datum/random_map/automata/cave_system/get_appropriate_path(var/value)
|
||||||
return
|
return
|
||||||
@@ -47,7 +51,7 @@
|
|||||||
if(map[current_cell] == FLOOR_CHAR)
|
if(map[current_cell] == FLOOR_CHAR)
|
||||||
if(prob(90))
|
if(prob(90))
|
||||||
T.make_floor()
|
T.make_floor()
|
||||||
else
|
else if(make_cracked_turfs)
|
||||||
T.ChangeTurf(/turf/space/cracked_asteroid)
|
T.ChangeTurf(/turf/space/cracked_asteroid)
|
||||||
else
|
else
|
||||||
T.make_wall()
|
T.make_wall()
|
||||||
|
|||||||
@@ -54,62 +54,72 @@
|
|||||||
if(!..(user, 2))
|
if(!..(user, 2))
|
||||||
return
|
return
|
||||||
if(reagents && reagents.reagent_list.len)
|
if(reagents && reagents.reagent_list.len)
|
||||||
user << "<span class='notice'>It contains [reagents.total_volume] units of liquid.</span>"
|
to_chat(user, "<span class='notice'>It contains [reagents.total_volume] units of liquid.</span>")
|
||||||
else
|
else
|
||||||
user << "<span class='notice'>It is empty.</span>"
|
to_chat(user, "<span class='notice'>It is empty.</span>")
|
||||||
if(!is_open_container())
|
if(!is_open_container())
|
||||||
user << "<span class='notice'>Airtight lid seals it completely.</span>"
|
to_chat(user, "<span class='notice'>Airtight lid seals it completely.</span>")
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/glass/attack_self()
|
/obj/item/weapon/reagent_containers/glass/attack_self()
|
||||||
..()
|
..()
|
||||||
if(is_open_container())
|
if(is_open_container())
|
||||||
usr << "<span class = 'notice'>You put the lid on \the [src].</span>"
|
to_chat(usr, "<span class = 'notice'>You put the lid on \the [src].</span>")
|
||||||
flags ^= OPENCONTAINER
|
flags ^= OPENCONTAINER
|
||||||
else
|
else
|
||||||
usr << "<span class = 'notice'>You take the lid off \the [src].</span>"
|
to_chat(usr, "<span class = 'notice'>You take the lid off \the [src].</span>")
|
||||||
flags |= OPENCONTAINER
|
flags |= OPENCONTAINER
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/glass/do_surgery(mob/living/carbon/M, mob/living/user)
|
/obj/item/weapon/reagent_containers/glass/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||||
if(user.a_intent != I_HELP) //in case it is ever used as a surgery tool
|
if(force && !(flags & NOBLUDGEON) && user.a_intent == I_HURT)
|
||||||
return ..()
|
return ..()
|
||||||
afterattack(M, user, 1)
|
|
||||||
return 1
|
if(standard_feed_mob(user, M))
|
||||||
|
return
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/glass/standard_feed_mob(var/mob/user, var/mob/target)
|
||||||
|
if(!is_open_container())
|
||||||
|
to_chat(user, "<span class='notice'>You need to open \the [src] first.</span>")
|
||||||
|
return 1
|
||||||
|
if(user.a_intent == I_HURT)
|
||||||
|
return 1
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/glass/self_feed_message(var/mob/user)
|
||||||
|
to_chat(user, "<span class='notice'>You swallow a gulp from \the [src].</span>")
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/proximity)
|
/obj/item/weapon/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/proximity)
|
||||||
|
|
||||||
if(!is_open_container() || !proximity) //Is the container open & are they next to whatever they're clicking?
|
if(!is_open_container() || !proximity) //Is the container open & are they next to whatever they're clicking?
|
||||||
return //If not, do nothing.
|
return 1 //If not, do nothing.
|
||||||
|
|
||||||
for(var/type in can_be_placed_into) //Is it something it can be placed into?
|
for(var/type in can_be_placed_into) //Is it something it can be placed into?
|
||||||
if(istype(target, type))
|
if(istype(target, type))
|
||||||
return
|
return 1
|
||||||
|
|
||||||
if(standard_dispenser_refill(user, target)) //Are they clicking a water tank/some dispenser?
|
if(standard_dispenser_refill(user, target)) //Are they clicking a water tank/some dispenser?
|
||||||
return
|
return 1
|
||||||
|
|
||||||
if(standard_pour_into(user, target)) //Pouring into another beaker?
|
if(standard_pour_into(user, target)) //Pouring into another beaker?
|
||||||
return
|
return
|
||||||
|
if(user.a_intent == I_HURT)
|
||||||
if(user.a_intent == I_HURT) //Harm intent?
|
if(standard_splash_mob(user,target))
|
||||||
if(standard_splash_mob(user, target)) //If harm intent and can splash a mob, go ahead.
|
return 1
|
||||||
return
|
if(reagents && reagents.total_volume)
|
||||||
if(reagents && reagents.total_volume) //Otherwise? Splash the floor.
|
to_chat(user, "<span class='notice'>You splash the solution onto [target].</span>") //They are on harm intent, aka wanting to spill it.
|
||||||
user << "<span class='notice'>You splash the solution onto [target].</span>"
|
|
||||||
reagents.splash(target, reagents.total_volume)
|
reagents.splash(target, reagents.total_volume)
|
||||||
return
|
return 1
|
||||||
|
..()
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/glass/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/weapon/reagent_containers/glass/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
|
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
|
||||||
var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN)
|
var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN)
|
||||||
if(length(tmp_label) > 50)
|
if(length(tmp_label) > 50)
|
||||||
user << "<span class='notice'>The label can be at most 50 characters long.</span>"
|
to_chat(user, "<span class='notice'>The label can be at most 50 characters long.</span>")
|
||||||
else if(length(tmp_label) > 10)
|
else if(length(tmp_label) > 10)
|
||||||
user << "<span class='notice'>You set the label.</span>"
|
to_chat(user, "<span class='notice'>You set the label.</span>")
|
||||||
label_text = tmp_label
|
label_text = tmp_label
|
||||||
update_name_label()
|
update_name_label()
|
||||||
else
|
else
|
||||||
user << "<span class='notice'>You set the label to \"[tmp_label]\".</span>"
|
to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>")
|
||||||
label_text = tmp_label
|
label_text = tmp_label
|
||||||
update_name_label()
|
update_name_label()
|
||||||
if(istype(W,/obj/item/weapon/storage/bag))
|
if(istype(W,/obj/item/weapon/storage/bag))
|
||||||
@@ -255,10 +265,10 @@
|
|||||||
return
|
return
|
||||||
else if(istype(D, /obj/item/weapon/mop))
|
else if(istype(D, /obj/item/weapon/mop))
|
||||||
if(reagents.total_volume < 1)
|
if(reagents.total_volume < 1)
|
||||||
user << "<span class='warning'>\The [src] is empty!</span>"
|
to_chat(user, "<span class='warning'>\The [src] is empty!</span>")
|
||||||
else
|
else
|
||||||
reagents.trans_to_obj(D, 5)
|
reagents.trans_to_obj(D, 5)
|
||||||
user << "<span class='notice'>You wet \the [D] in \the [src].</span>"
|
to_chat(user, "<span class='notice'>You wet \the [D] in \the [src].</span>")
|
||||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
@@ -296,10 +306,10 @@ obj/item/weapon/reagent_containers/glass/bucket/wood
|
|||||||
return
|
return
|
||||||
else if(istype(D, /obj/item/weapon/mop))
|
else if(istype(D, /obj/item/weapon/mop))
|
||||||
if(reagents.total_volume < 1)
|
if(reagents.total_volume < 1)
|
||||||
user << "<span class='warning'>\The [src] is empty!</span>"
|
to_chat(user, "<span class='warning'>\The [src] is empty!</span>")
|
||||||
else
|
else
|
||||||
reagents.trans_to_obj(D, 5)
|
reagents.trans_to_obj(D, 5)
|
||||||
user << "<span class='notice'>You wet \the [D] in \the [src].</span>"
|
to_chat(user, "<span class='notice'>You wet \the [D] in \the [src].</span>")
|
||||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,17 +1,3 @@
|
|||||||
/obj/item/device/gps
|
|
||||||
name = "relay positioning device"
|
|
||||||
desc = "Triangulates the approximate co-ordinates using a nearby satellite network."
|
|
||||||
icon = 'icons/obj/device.dmi'
|
|
||||||
icon_state = "locator"
|
|
||||||
item_state = "locator"
|
|
||||||
origin_tech = list(TECH_MATERIAL = 2, TECH_DATA = 2, TECH_BLUESPACE = 2)
|
|
||||||
matter = list(DEFAULT_WALL_MATERIAL = 500)
|
|
||||||
w_class = ITEMSIZE_SMALL
|
|
||||||
|
|
||||||
/obj/item/device/gps/attack_self(var/mob/user as mob)
|
|
||||||
var/turf/T = get_turf(src)
|
|
||||||
user << "<span class='notice'>\icon[src] \The [src] flashes <i>[T.x]:[T.y]:[T.z]</i>.</span>"
|
|
||||||
|
|
||||||
/obj/item/device/measuring_tape
|
/obj/item/device/measuring_tape
|
||||||
name = "measuring tape"
|
name = "measuring tape"
|
||||||
desc = "A coiled metallic tape used to check dimensions and lengths."
|
desc = "A coiled metallic tape used to check dimensions and lengths."
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 180 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 474 KiB After Width: | Height: | Size: 470 KiB |
|
Before Width: | Height: | Size: 367 KiB After Width: | Height: | Size: 368 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
BIN
icons/obj/gps.dmi
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -57,11 +57,16 @@
|
|||||||
return map_levels
|
return map_levels
|
||||||
else if (srcz == Z_LEVEL_TRANSIT)
|
else if (srcz == Z_LEVEL_TRANSIT)
|
||||||
return list() // Nothing on transit!
|
return list() // Nothing on transit!
|
||||||
else if (srcz >= Z_LEVEL_STATION_ONE && srcz <= Z_LEVEL_STATION_THREE)
|
else if (srcz >= Z_LEVEL_STATION_ONE && srcz <= Z_LEVEL_STATION_THREE) // Station can see other decks.
|
||||||
return list(
|
return list(
|
||||||
Z_LEVEL_STATION_ONE,
|
Z_LEVEL_STATION_ONE,
|
||||||
Z_LEVEL_STATION_TWO,
|
Z_LEVEL_STATION_TWO,
|
||||||
Z_LEVEL_STATION_THREE)
|
Z_LEVEL_STATION_THREE)
|
||||||
|
else if(srcz in list(Z_LEVEL_SURFACE, Z_LEVEL_SURFACE_MINE, Z_LEVEL_SURFACE_WILD)) // Being on the surface lets you see other surface Zs.
|
||||||
|
return list(
|
||||||
|
Z_LEVEL_SURFACE,
|
||||||
|
Z_LEVEL_SURFACE_MINE,
|
||||||
|
Z_LEVEL_SURFACE_WILD)
|
||||||
else
|
else
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
@@ -75,7 +80,7 @@
|
|||||||
// If Space submaps are made, add a line to make them here as well.
|
// If Space submaps are made, add a line to make them here as well.
|
||||||
|
|
||||||
// Now for the tunnels.
|
// Now for the tunnels.
|
||||||
new /datum/random_map/automata/cave_system(null, 1, 1, Z_LEVEL_SURFACE_MINE, world.maxx, world.maxy) // Create the mining Z-level.
|
new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_SURFACE_MINE, world.maxx, world.maxy) // Create the mining Z-level.
|
||||||
new /datum/random_map/noise/ore(null, 1, 1, Z_LEVEL_SURFACE_MINE, 64, 64) // Create the mining ore distribution map.
|
new /datum/random_map/noise/ore(null, 1, 1, Z_LEVEL_SURFACE_MINE, 64, 64) // Create the mining ore distribution map.
|
||||||
// Todo: Forest generation.
|
// Todo: Forest generation.
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
74
maps/submaps/cave_submaps/Mineshaft1.dmm
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/mineral,/area/submap/cave/AMine1)
|
||||||
|
"c" = (/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"d" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/AMine1)
|
||||||
|
"e" = (/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/AMine1)
|
||||||
|
"f" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/AMine1)
|
||||||
|
"g" = (/turf/simulated/wall,/area/submap/cave/AMine1)
|
||||||
|
"h" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"i" = (/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"j" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"k" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"l" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"m" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"n" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"o" = (/obj/item/weapon/ore/gold,/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"p" = (/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"q" = (/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/obj/item/weapon/ore/gold,/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"r" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"s" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"t" = (/obj/structure/window/reinforced/full,/turf/simulated/wall,/area/submap/cave/AMine1)
|
||||||
|
"u" = (/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"v" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"w" = (/obj/structure/table/standard,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"x" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"y" = (/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"z" = (/obj/machinery/power/apc{pixel_x = 31},/turf/simulated/wall,/area/submap/cave/AMine1)
|
||||||
|
"A" = (/obj/structure/ore_box,/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"B" = (/obj/machinery/light/small{dir = 1},/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"C" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"D" = (/obj/structure/closet/crate/engineering,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"E" = (/obj/machinery/light,/obj/machinery/space_heater,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"F" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"G" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"H" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/drill,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"I" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"J" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"K" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"L" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/AMine1)
|
||||||
|
"M" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"N" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"O" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
"P" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/AMine1)
|
||||||
|
"Q" = (/obj/structure/table/standard,/obj/item/pizzabox,/turf/simulated/floor/tiled,/area/submap/cave/AMine1)
|
||||||
|
"R" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"S" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor,/area/submap/cave/AMine1)
|
||||||
|
"T" = (/obj/machinery/light/small,/turf/simulated/mineral/floor,/area/submap/cave/AMine1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
abbbbbbbbbbbbbcccccddddda
|
||||||
|
abbbbbbbbbbbceefeeeeefeea
|
||||||
|
abbbbbbbbbbbbegggggggggga
|
||||||
|
abbbcccbbbbbbeghigjklmjga
|
||||||
|
abcccccbbbbbbegiiniiiiiga
|
||||||
|
abcccccopqbbbegiigjrskjga
|
||||||
|
abccccccccbbbetiuggggggga
|
||||||
|
abccccccccbbbetiigvwwxyga
|
||||||
|
abccccccccbbbetiinyyyyyga
|
||||||
|
abcccccccccbbetiizyyyyyga
|
||||||
|
abcccccccccABetiigCDEFGga
|
||||||
|
abbcccccccccceghuggggggga
|
||||||
|
abbccccccccccegHighIJiKga
|
||||||
|
abbbcccccccccLgHigiiiiiga
|
||||||
|
abbbcccccccceeggigMNNNuga
|
||||||
|
abbbbOccccccPgggigikkQiga
|
||||||
|
abbbbccccccceRSRiRiNNNiga
|
||||||
|
abbbbbbbcccceggggggggggga
|
||||||
|
abbbbbbbbccceeeeeeeeeebba
|
||||||
|
abbbbbbbbbcccccccccccbbba
|
||||||
|
abbbbbbbbbbccccccTcbbbbba
|
||||||
|
abbbbbbbbbbbcccccbbbbbbba
|
||||||
|
abbbbbbbbbbbcccccbbbbbbba
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
51
maps/submaps/cave_submaps/Scave1.dmm
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/mineral,/area/submap/cave/Scave1)
|
||||||
|
"c" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"d" = (/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"e" = (/obj/effect/spider/spiderling,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"f" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"g" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"h" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"i" = (/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"j" = (/obj/random/toolbox,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"k" = (/mob/living/simple_animal/hostile/giant_spider,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"l" = (/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"m" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"n" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"o" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"p" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"q" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/hunter,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
"r" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor,/area/submap/cave/Scave1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaabbaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aabbbbbbaabbbbbaaaaaaabbbbbaaa
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbaaa
|
||||||
|
aabbbbbbcbbbbbbbbbbbbbbbdbbbaa
|
||||||
|
aabbbbdeddbbbcccbbbbbdddeddbaa
|
||||||
|
aadbbfddddcbbdedbbbbbddddddbaa
|
||||||
|
aadbbgfbbdddddddbccedddbdedbba
|
||||||
|
aabbbbbbbddcdddddddddddbhibbaa
|
||||||
|
aabbbbbbdddbbbjcddddddbbbbbbaa
|
||||||
|
aabbbbbcdkdbbbbbbcdkddcbbbbaaa
|
||||||
|
aabbbbbcddcbbbbbbbddddcbbbaaaa
|
||||||
|
aabbbbbbidcbbbbbbbdlddcbbbaaaa
|
||||||
|
aabbbbbbdddbbbbbbmddddcbbbaaaa
|
||||||
|
aabbbbbbdcdbbbbbbnddddcbbbaaaa
|
||||||
|
aabbbbbbdddbbbbbbcddldcbbbaaaa
|
||||||
|
aadbbbbbddibbbbbbbccdddbbbaaaa
|
||||||
|
aaodbbbbddbbbbbbbbbkcddbbbaaaa
|
||||||
|
aaddbbbbdddbbbbbbbbbbddbbdaaaa
|
||||||
|
aadddpddddddbbbbbbbbdedbbdaaaa
|
||||||
|
aaddppcddddddqbcdddddcbbbdaaaa
|
||||||
|
aardbbbbbdddddddddddcbbbbdaaaa
|
||||||
|
aabbbbbbbbcdddcdddddcbbbbbaaaa
|
||||||
|
aabbbbbbbbbbbbbbbibbbbbbbbaaaa
|
||||||
|
aabbbbbbbbbbbbbbbbbbbbbbbbaaaa
|
||||||
|
aaaaabbbbabbbbbbbaabbbbbbaaaaa
|
||||||
|
aaaaabbbbaabaabbbaaabbabaaaaaa
|
||||||
|
aaaaaaabbaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
@@ -5,6 +5,8 @@
|
|||||||
#include "deadBeacon.dmm"
|
#include "deadBeacon.dmm"
|
||||||
#include "prepper1.dmm"
|
#include "prepper1.dmm"
|
||||||
#include "quarantineshuttle.dmm"
|
#include "quarantineshuttle.dmm"
|
||||||
|
#include "Mineshaft1.dmm"
|
||||||
|
#include "Scave1.dmm"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/datum/map_template/cave
|
/datum/map_template/cave
|
||||||
@@ -29,4 +31,15 @@
|
|||||||
name = "Quarantined Shuttle"
|
name = "Quarantined Shuttle"
|
||||||
desc = "An emergency landing turned viral outbreak turned tragedy."
|
desc = "An emergency landing turned viral outbreak turned tragedy."
|
||||||
mappath = 'maps/submaps/cave_submaps/quarantineshuttle.dmm'
|
mappath = 'maps/submaps/cave_submaps/quarantineshuttle.dmm'
|
||||||
cost = 20
|
cost = 20
|
||||||
|
|
||||||
|
/datum/map_template/cave/Mineshaft1
|
||||||
|
name = "Abandoned Mineshaft 1"
|
||||||
|
desc = "An abandoned minning tunnel from a lost money making effort."
|
||||||
|
mappath = 'maps/submaps/cave_submaps/Mineshaft1.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/cave/Scave1
|
||||||
|
name = "Spider Cave 1"
|
||||||
|
desc = "A minning tunnel home to an aggressive collection of spiders."
|
||||||
|
mappath = 'maps/submaps/cave_submaps/Scave1.dmm'
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,12 @@
|
|||||||
/area/submap/cave/qShuttle
|
/area/submap/cave/qShuttle
|
||||||
name = "Quarantined Shuttle"
|
name = "Quarantined Shuttle"
|
||||||
|
|
||||||
|
/area/submap/cave/AMine1
|
||||||
|
name = "Abandoned Mine"
|
||||||
|
|
||||||
|
/area/submap/cave/Scave1
|
||||||
|
name = "Spider Cave 1" name = "Quarantined Shuttle"
|
||||||
|
|
||||||
/area/submap/cave/crashed_ufo
|
/area/submap/cave/crashed_ufo
|
||||||
name = "Crashed Alien Vessel"
|
name = "Crashed Alien Vessel"
|
||||||
requires_power = FALSE
|
requires_power = FALSE
|
||||||
|
|||||||
43
maps/submaps/surface_submaps/Field1.dmm
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Field1)
|
||||||
|
"c" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Field1)
|
||||||
|
"d" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Field1)
|
||||||
|
"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Field1)
|
||||||
|
"f" = (/obj/structure/ore_box,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1)
|
||||||
|
"g" = (/obj/item/device/radio,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1)
|
||||||
|
"h" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1)
|
||||||
|
"i" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1)
|
||||||
|
"j" = (/obj/item/device/flashlight,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaaaaaaaaaaabbbbbbbbbbbbbbba
|
||||||
|
abbaaaaaaaaaabbbbbbbbbbbbbbbaa
|
||||||
|
acbaaaaaabbbbbbdbbbbbbbbbdbbaa
|
||||||
|
abbbaaabbbbbbbbbbbbbbbbbbbbaaa
|
||||||
|
abbbbbbbbbbbbbbbbbbdbbbbbbbaaa
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbaaa
|
||||||
|
abbbbbbbbbcbbbbbbbbbbbbbbbaaaa
|
||||||
|
abbbdbbbbbbbbbbbbbbbbbbbbbaaaa
|
||||||
|
aabbbbbbbbbbbbbbbbbbbbbbbbaaaa
|
||||||
|
aabbbbbbbbbbbbbbbbbbbbbbbbbaaa
|
||||||
|
aaabbbbbbbbbbbeeebbbbbbbbbbaaa
|
||||||
|
aaabbbbbbbbbeeeeeeeeeebbbbbbba
|
||||||
|
aaaabbbbbbbeeeeeeeeeeeebbbbbba
|
||||||
|
aaaabbbbbbbeeeeeeeeeeeebbbbdba
|
||||||
|
aaaabbbbbbbeeefegeeeebbbbbbbba
|
||||||
|
aaabbbbbbbbbefhhieeebbbbbbbbba
|
||||||
|
aaabbbbbbbbbbbejbebbbbbbbbbbba
|
||||||
|
aabbbbbbbbbbbbbbbbbbbbbbbdbbba
|
||||||
|
abbbdbbbbbbbbbbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbbbbbbbbbbbbbcbbbbbbbba
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbdbbbbbbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbbba
|
||||||
|
abcbbbbbbbbbbbbbbbbbbbbbdbbbba
|
||||||
|
aabbbbbbdbbbbaaaabaaabbbbbbdba
|
||||||
|
aaaaaaabbbbbaaaaaaaaaabbbbbbba
|
||||||
|
aaaaaaaaabbaaaaaaaaaaabbbbbbba
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
34
maps/submaps/surface_submaps/Flake.dmm
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1)
|
||||||
|
"c" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1)
|
||||||
|
"d" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1)
|
||||||
|
"e" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1)
|
||||||
|
"f" = (/turf/simulated/floor/outdoors/rocks,/area/submap/Lake1)
|
||||||
|
"g" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1)
|
||||||
|
"h" = (/turf/simulated/floor/water,/area/submap/Lake1)
|
||||||
|
"i" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Lake1)
|
||||||
|
"j" = (/turf/simulated/mineral,/area/submap/Lake1)
|
||||||
|
"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Lake1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaaaaabbbbbbbbbbbbbbbaaaaaaa
|
||||||
|
aaaaaaabbbcbbdbbbbcbbbbbaaebaa
|
||||||
|
abaabbbbdbbbbbffffffbbbbbbbaaa
|
||||||
|
abgbbebffffffffhhhhffcbbbbbaaa
|
||||||
|
abbfffffhhhhhhhhhhhhfbbbbbaaaa
|
||||||
|
abffhhhhhhhhhhhhhhhhffbbbbaaaa
|
||||||
|
abfhhhhhhhhhhhhhhhhhhfbbcbbaaa
|
||||||
|
abfhhhhhhhhhhhhhhhhhhfbbbbbbba
|
||||||
|
aefhhhhhhhhhhhhhhhhhhfiiiibeba
|
||||||
|
abfhhhhhhhhhhhhhhhhhhfiiijibba
|
||||||
|
abfhhhhhhhhhhhhhhhhhhfiijjjiba
|
||||||
|
abfhhhhhhhhhhhhhhhhhhfiijjjiba
|
||||||
|
abffhhhhhhhhhhhhhhhhffijjjiiba
|
||||||
|
abbfhhhhhhhhhhhhhhhhfiiiiiibba
|
||||||
|
abbffffhhhhhhhhhfffffiiibbbbca
|
||||||
|
aabbbbfffffffffffbbkbbbbcbbbaa
|
||||||
|
aaabcbbbbbbaaabkbkcbbbbaaaaaaa
|
||||||
|
aaaabbbbcbaaaaabbbbbbaaaaaaaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
54
maps/submaps/surface_submaps/MCamp1.dmm
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1)
|
||||||
|
"d" = (/obj/effect/mine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"e" = (/obj/structure/flora/bush,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"f" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"g" = (/obj/effect/decal/remains,/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1)
|
||||||
|
"h" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"i" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"j" = (/obj/effect/mine,/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1)
|
||||||
|
"k" = (/turf/simulated/wall,/area/submap/MilitaryCamp1)
|
||||||
|
"l" = (/turf/simulated/floor,/area/submap/MilitaryCamp1)
|
||||||
|
"m" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"n" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"o" = (/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"p" = (/obj/effect/mine,/turf/simulated/floor,/area/submap/MilitaryCamp1)
|
||||||
|
"q" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/gun,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"r" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"s" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syndie_kit/space,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"t" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"u" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"v" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"w" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/MilitaryCamp1)
|
||||||
|
"x" = (/obj/machinery/computer/security,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"y" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/holofloor/tiled,/area/submap/MilitaryCamp1)
|
||||||
|
"z" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"A" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1)
|
||||||
|
"B" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"C" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"D" = (/obj/machinery/light,/obj/structure/table/standard,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1)
|
||||||
|
"E" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/MilitaryCamp1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
|
abbcbdbefdbbbbbbbbba
|
||||||
|
acgcbbbbbbbfdbcgbbba
|
||||||
|
abccbbdbbhibbbccjhba
|
||||||
|
abhbbikklkkklkmcbbba
|
||||||
|
abbbbkkkllkkkkkbdbda
|
||||||
|
abbdkknoplokqrkkbeba
|
||||||
|
abbbkkslllotuokkbbba
|
||||||
|
abbmkkkkkvokkkkwbdba
|
||||||
|
abbblkokxooykokkbbba
|
||||||
|
afdblkotzuoztukkbdba
|
||||||
|
abbbwkokkkkkkokwbAba
|
||||||
|
abbbkkvoooBoookkbbba
|
||||||
|
aAbbkkCnooooDnkkmbfa
|
||||||
|
abbebkkkkElkkkkbdbba
|
||||||
|
abdbbbkkkllkkkbccdba
|
||||||
|
abcbbbbkkbmkkbjcbbba
|
||||||
|
acgcdbbbbdbibbcghbba
|
||||||
|
abccebdbhfbbdccbbbba
|
||||||
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
32
maps/submaps/surface_submaps/Mudpit.dmm
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"d" = (/turf/simulated/floor/outdoors/mud,/area/submap/Mudpit)
|
||||||
|
"e" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"f" = (/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"g" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"h" = (/obj/effect/decal/remains/mouse,/obj/effect/decal/cleanable/liquid_fuel,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"i" = (/obj/effect/decal/cleanable/liquid_fuel,/turf/template_noop,/area/template_noop)
|
||||||
|
"j" = (/turf/simulated/mineral,/area/submap/Mudpit)
|
||||||
|
"k" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"l" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"m" = (/obj/effect/decal/remains,/obj/item/clothing/suit/space/void/merc/fire,/obj/item/clothing/head/helmet/space/void/merc/fire,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
"n" = (/obj/effect/decal/mecha_wreckage/ripley/firefighter,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaa
|
||||||
|
abcccaacbbbdeea
|
||||||
|
acccbcccbbddefa
|
||||||
|
accdddgcccdddha
|
||||||
|
aibcddjjcbcddca
|
||||||
|
aibbdjjjccccdca
|
||||||
|
aibjjjjcccgcdaa
|
||||||
|
accjjjkccccccaa
|
||||||
|
agdjjjlcmcnccia
|
||||||
|
adddjjjccccccca
|
||||||
|
acddddjgcccddca
|
||||||
|
aadddddbbbbddca
|
||||||
|
aacdddddbbdddda
|
||||||
|
abbacgcccacddba
|
||||||
|
aaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
35
maps/submaps/surface_submaps/Rocky1.dmm
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky1)
|
||||||
|
"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1)
|
||||||
|
"d" = (/obj/structure/boulder,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1)
|
||||||
|
"e" = (/turf/simulated/mineral,/area/submap/Rocky1)
|
||||||
|
"f" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky1)
|
||||||
|
"g" = (/obj/random/handgun/sec,/obj/effect/decal/remains/human,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aabbbbbbbbbbbbbbbbbbbbbaa
|
||||||
|
aabbccdebbbbfbbbbbeeeebaa
|
||||||
|
aabcceeecbbbbbbbbeeeeebaa
|
||||||
|
aabcceeeccbbbbbbccdeeeeaa
|
||||||
|
aabbceeedccbbbbccccceeeaa
|
||||||
|
aabbcccccccbbbcccccgeeeaa
|
||||||
|
aabbbcbbccbbbbcccccceeeaa
|
||||||
|
aabbbbbccccbbbccccceeeeaa
|
||||||
|
aafbbbbcccccbbbcccdeeeeaa
|
||||||
|
aabbbcbbcccccccccceeeeeaa
|
||||||
|
aabbbccccceeeeeecdeeeebaa
|
||||||
|
aabbbceeeeeeeeeeeeebbbbaa
|
||||||
|
aabbcceeeeeeeeeeebbfbbbaa
|
||||||
|
aabcceeeccbbeeebbbbbbbbaa
|
||||||
|
aabceeeccbbbbbbbbbbbbbbaa
|
||||||
|
aabceeecbbbbbbbfbbbbbbbaa
|
||||||
|
aabbccecbbbbbbbbbbbbbbbaa
|
||||||
|
aabbbccccbbbbbbbbbbbbbbaa
|
||||||
|
aabbbbbbbbbfbbbbbbfbbbbaa
|
||||||
|
aabbbbbbbbbbbbbbbbbbbbbaa
|
||||||
|
aabfbbbbbbbbbbbbbbbbbbbaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
40
maps/submaps/surface_submaps/Rocky2.dmm
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky2)
|
||||||
|
"d" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky2)
|
||||||
|
"f" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"g" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"h" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"i" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"j" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
"l" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Rocky2)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
abbbbbbbbbbbbbbbbbccbbbba
|
||||||
|
abbbbbbbcccccccccbcccbbda
|
||||||
|
abbbbbbccccccccbbbccccbba
|
||||||
|
abbbeecccccccccbbcccccbba
|
||||||
|
afbbecccccccbccbcccccccba
|
||||||
|
abbbecccccccgbbbcccccccba
|
||||||
|
abbbbccccccbbbbbcccccceba
|
||||||
|
abbbbcccccbhbfbbbcccceeea
|
||||||
|
abbbbbbcccbbbbbbicccceeea
|
||||||
|
abbbbbbcccbdbbhbbcccceeea
|
||||||
|
abdbbbccccbbbbbbbbccceeea
|
||||||
|
abbbbccccbbhbbbbbbcceeeea
|
||||||
|
abbbccccccfbbbdbbbcccceea
|
||||||
|
abbeccccccbbbbbbficccceea
|
||||||
|
abbeccccccbgbhbbbbccccbba
|
||||||
|
abbeecccccbbbbbbbbcccccba
|
||||||
|
abbeecccccjbdbbbhbcccccba
|
||||||
|
abbbecccccbbbbbbbccccccba
|
||||||
|
abbbeccceebbkbbbbccccccba
|
||||||
|
abbbbccceeccbbfbcccccbbba
|
||||||
|
abbbbccceeeccccccccccbbba
|
||||||
|
ablbbcccbeccccccbbbcbblba
|
||||||
|
abbbbbbbbbbbcccbbbbbbbbba
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
23
maps/submaps/surface_submaps/Rocky3.dmm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/snow,/area/submap/Rocky3)
|
||||||
|
"c" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/snow,/area/submap/Rocky3)
|
||||||
|
"d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky3)
|
||||||
|
"e" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/snow,/area/submap/Rocky3)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
|
abbbaabcbbdddbbbbaaa
|
||||||
|
abebbbbdddddddbbbbaa
|
||||||
|
abbbbbddddddddddebba
|
||||||
|
aabbddddbbddddddddba
|
||||||
|
aaabbbbbbbbbddddddba
|
||||||
|
aaabbcbbbbbbbdddddda
|
||||||
|
aaabbbbbbbbbbbbcbbda
|
||||||
|
aabbbdddbdbebbbbbbaa
|
||||||
|
abbbdddddddbbbbbbaaa
|
||||||
|
abcbdddddddddbbbbaaa
|
||||||
|
abddddddddddddbbbaaa
|
||||||
|
abbbbbbbdbbddbabbbaa
|
||||||
|
aaabcbbbbaabbaaaebaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
34
maps/submaps/surface_submaps/Shack1.dmm
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/wall/log_sif,/area/submap/Shack1)
|
||||||
|
"c" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/Shack1)
|
||||||
|
"d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Shack1)
|
||||||
|
"e" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken1"; icon_state = "wood_broken1"},/area/submap/Shack1)
|
||||||
|
"f" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"g" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/storage/apron/overalls,/obj/item/clothing/under/overalls,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"h" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"i" = (/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"j" = (/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken0"; icon_state = "wood_broken0"},/area/submap/Shack1)
|
||||||
|
"k" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken5"; icon_state = "wood_broken5"},/area/submap/Shack1)
|
||||||
|
"l" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Shack1)
|
||||||
|
"m" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"n" = (/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken3"; icon_state = "wood_broken3"},/area/submap/Shack1)
|
||||||
|
"o" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"p" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"q" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/weapon/material/twohanded/fireaxe/scythe,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"r" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"s" = (/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken6"; icon_state = "wood_broken6"},/area/submap/Shack1)
|
||||||
|
"t" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor/wood,/area/submap/Shack1)
|
||||||
|
"u" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif,/area/submap/Shack1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaa
|
||||||
|
abbbbbbbccccdca
|
||||||
|
abefghhbcccddca
|
||||||
|
abhijhkbclcddca
|
||||||
|
abiiiiimdddddla
|
||||||
|
abniiiimdddddca
|
||||||
|
abhoiiibcccddca
|
||||||
|
abpqrstbcucdcca
|
||||||
|
abbbbbbbcccccca
|
||||||
|
aaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
19
maps/submaps/surface_submaps/Smol1.dmm
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/snow,/area/submap/Small1)
|
||||||
|
"c" = (/turf/simulated/floor/outdoors/snow,/area/submap)
|
||||||
|
"d" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/snow,/area/submap/Small1)
|
||||||
|
"e" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/snow,/area/submap/Small1)
|
||||||
|
"f" = (/obj/item/seeds/random,/turf/simulated/floor/outdoors/snow,/area/submap/Small1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaa
|
||||||
|
abbbacbbaa
|
||||||
|
adbbcdbbba
|
||||||
|
abcbbbbbda
|
||||||
|
abbbebbdaa
|
||||||
|
adbbfbbbba
|
||||||
|
aabbbbbbba
|
||||||
|
aabbbbbdba
|
||||||
|
abdbbdbaaa
|
||||||
|
aaaaaaaaaa
|
||||||
|
"}
|
||||||
31
maps/submaps/surface_submaps/Snowrock1.dmm
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
|
"b" = (/turf/simulated/floor/outdoors/snow,/area/submap/SnowR1)
|
||||||
|
"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/SnowR1)
|
||||||
|
"d" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/snow,/area/submap/SnowR1)
|
||||||
|
"e" = (/obj/structure/loot_pile/surface,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1)
|
||||||
|
"f" = (/obj/structure/closet/crate/trashcart,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1)
|
||||||
|
"g" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1)
|
||||||
|
"h" = (/obj/random/trash,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/SnowR1)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
|
abbbbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbccccccbbbdbba
|
||||||
|
abdbbbccccccccbbbbba
|
||||||
|
abbbbbcccccccccbbbba
|
||||||
|
abbbbcccefghhcccbbba
|
||||||
|
abbccccchggggcccbbba
|
||||||
|
abbcccccggggbbbbbbba
|
||||||
|
abbccbbbbbbbbbbdbbba
|
||||||
|
abbcbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbbbdbbbbbbbba
|
||||||
|
abbbdbbbbbbbbbbbbbba
|
||||||
|
abbbbbbbbbbcccccbbba
|
||||||
|
abbbbbbbccccccccbbba
|
||||||
|
abbbccccccccccccbbba
|
||||||
|
abbbbbcccccccbcbbbba
|
||||||
|
abbbbbbbbbbbbbbbbdba
|
||||||
|
abdbbbbbbbbbbbbbbbba
|
||||||
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
|
"}
|
||||||
@@ -4,6 +4,16 @@
|
|||||||
#if MAP_TEST
|
#if MAP_TEST
|
||||||
#include "farm1.dmm"
|
#include "farm1.dmm"
|
||||||
#include "spider1.dmm"
|
#include "spider1.dmm"
|
||||||
|
#include "Flake.dmm"
|
||||||
|
#include "Field1.dmm"
|
||||||
|
#include "MCamp1.dmm"
|
||||||
|
#include "Rocky1.dmm"
|
||||||
|
#include "Rocky2.dmm"
|
||||||
|
#include "Rocky3.dmm"
|
||||||
|
#include "Shack1.dmm"
|
||||||
|
#include "Smol1.dmm"
|
||||||
|
#include "Mudpit.dmm"
|
||||||
|
#include "Snowrock1.dmm"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/datum/map_template/surface
|
/datum/map_template/surface
|
||||||
@@ -23,4 +33,50 @@
|
|||||||
desc = "A small spider nest, in the forest."
|
desc = "A small spider nest, in the forest."
|
||||||
mappath = 'maps/submaps/surface_submaps/spider1.dmm'
|
mappath = 'maps/submaps/surface_submaps/spider1.dmm'
|
||||||
allow_duplicates = TRUE
|
allow_duplicates = TRUE
|
||||||
cost = 5
|
cost = 5
|
||||||
|
|
||||||
|
/datum/map_template/surface/Flake
|
||||||
|
name = "Forest Lake"
|
||||||
|
desc = "A serene lake sitting amidst the surface."
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Flake.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Mcamp1
|
||||||
|
name = "Military Camp 1"
|
||||||
|
desc = "A derelict military camp host to some unsavory dangers"
|
||||||
|
mappath = 'maps/submaps/surface_submaps/MCamp1.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Mudpit
|
||||||
|
name = "Mudpit"
|
||||||
|
desc = "What happens when someone is a bit too careless with gas.."
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Mudpit.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Rocky1
|
||||||
|
name = "Rocky1"
|
||||||
|
desc = "DununanununanununuNAnana"
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Rocky1.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Rocky2
|
||||||
|
name = "Rocky2"
|
||||||
|
desc = "More rocks."
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Rocky2.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Rocky3
|
||||||
|
name = "Rocky3"
|
||||||
|
desc = "More and more and more rocks."
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Rocky3.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Shack1
|
||||||
|
name = "Shack1"
|
||||||
|
desc = "A small shack in the middle of nowhere, Your halloween murder happens here"
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Shack1.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Smol1
|
||||||
|
name = "Smol1"
|
||||||
|
desc = "A tiny grove of trees, The Nemesis of thicc"
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Smol1.dmm'
|
||||||
|
|
||||||
|
/datum/map_template/surface/Snowrock1
|
||||||
|
name = "Snowrock1"
|
||||||
|
desc = "A rocky snow covered area"
|
||||||
|
mappath = 'maps/submaps/surface_submaps/Snowrock1.dmm'
|
||||||
|
|
||||||
|
|||||||
@@ -6,4 +6,34 @@
|
|||||||
name = "farm"
|
name = "farm"
|
||||||
|
|
||||||
/area/submap/spider1
|
/area/submap/spider1
|
||||||
name = "spider nest"
|
name = "spider nest"
|
||||||
|
|
||||||
|
/area/submap/Field1
|
||||||
|
name = "Field 1"
|
||||||
|
|
||||||
|
/area/submap/Lake1
|
||||||
|
name = "Lake 1"
|
||||||
|
|
||||||
|
/area/submap/MilitaryCamp1
|
||||||
|
name = "Military Camp 1"
|
||||||
|
|
||||||
|
/area/submap/Mudpit
|
||||||
|
name = "Mudpit"
|
||||||
|
|
||||||
|
/area/submap/Rocky1
|
||||||
|
name = "Rocky1"
|
||||||
|
|
||||||
|
/area/submap/Rocky2
|
||||||
|
name = "Rocky2"
|
||||||
|
|
||||||
|
/area/submap/Rocky3
|
||||||
|
name = "Rocky3"
|
||||||
|
|
||||||
|
/area/submap/Shack1
|
||||||
|
name = "Shack1"
|
||||||
|
|
||||||
|
/area/submap/Small1
|
||||||
|
name = "Small1"
|
||||||
|
|
||||||
|
/area/submap/SnowR1
|
||||||
|
name = "SnowR1"
|
||||||
|
|||||||
@@ -824,6 +824,7 @@
|
|||||||
#include "code\game\objects\items\devices\flashlight.dm"
|
#include "code\game\objects\items\devices\flashlight.dm"
|
||||||
#include "code\game\objects\items\devices\floor_painter.dm"
|
#include "code\game\objects\items\devices\floor_painter.dm"
|
||||||
#include "code\game\objects\items\devices\geiger.dm"
|
#include "code\game\objects\items\devices\geiger.dm"
|
||||||
|
#include "code\game\objects\items\devices\gps.dm"
|
||||||
#include "code\game\objects\items\devices\hacktool.dm"
|
#include "code\game\objects\items\devices\hacktool.dm"
|
||||||
#include "code\game\objects\items\devices\lightreplacer.dm"
|
#include "code\game\objects\items\devices\lightreplacer.dm"
|
||||||
#include "code\game\objects\items\devices\locker_painter.dm"
|
#include "code\game\objects\items\devices\locker_painter.dm"
|
||||||
|
|||||||