Merge branch 'master' into upstream-merge-12767
10
.vscode/extensions.json
vendored
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"gbasood.byond-dm-language-support",
|
||||
"platymuus.dm-langclient"
|
||||
"platymuus.dm-langclient",
|
||||
"stylemistake.auto-comment-blocks",
|
||||
"eamodio.gitlens",
|
||||
"oderwat.indent-rainbow",
|
||||
"rexebin.darkpurple-black",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"editorconfig.editorconfig",
|
||||
"donkie.vscode-tgstation-test-adapter",
|
||||
"icrawl.discord-vscode"
|
||||
]
|
||||
}
|
||||
|
||||
121
code/__defines/span_vr.dm
Normal file
@@ -0,0 +1,121 @@
|
||||
// Sorted alphabetically
|
||||
// Shamelessly yoinked from TGCode, luv u folks
|
||||
#define span_abductor(str) ("<span class='abductor'>" + str + "</span>")
|
||||
#define span_admin(str) ("<span class='admin'>" + str + "</span>")
|
||||
#define span_adminhelp(str) ("<span class='adminhelp'>" + str + "</span>")
|
||||
#define span_adminnotice(str) ("<span class='adminnotice'>" + str + "</span>")
|
||||
#define span_adminobserverooc(str) ("<span class='adminobserverooc'>" + str + "</span>")
|
||||
#define span_adminooc(str) ("<span class='adminooc'>" + str + "</span>")
|
||||
#define span_adminsay(str) ("<span class='adminsay'>" + str + "</span>")
|
||||
#define span_aiprivradio(str) ("<span class='aiprivradio'>" + str + "</span>")
|
||||
#define span_alert(str) ("<span class='alert'>" + str + "</span>")
|
||||
#define span_alertalien(str) ("<span class='alertalien'>" + str + "</span>")
|
||||
#define span_alertsyndie(str) ("<span class='alertsyndie'>" + str + "</span>")
|
||||
#define span_alertwarning(str) ("<span class='alertwarning'>" + str + "</span>")
|
||||
#define span_alien(str) ("<span class='alien'>" + str + "</span>")
|
||||
#define span_announce(str) ("<span class='announce'>" + str + "</span>")
|
||||
#define span_big(str) ("<span class='big'>" + str + "</span>")
|
||||
#define span_bigicon(str) ("<span class='bigicon'>" + str + "</span>")
|
||||
#define span_binarysay(str) ("<span class='binarysay'>" + str + "</span>")
|
||||
#define span_blue(str) ("<span class='blue'>" + str + "</span>")
|
||||
#define span_blueteamradio(str) ("<span class='blueteamradio'>" + str + "</span>")
|
||||
#define span_bold(str) ("<span class='bold'>" + str + "</span>")
|
||||
#define span_boldannounce(str) ("<span class='boldannounce'>" + str + "</span>")
|
||||
#define span_boldnotice(str) ("<span class='boldnotice'>" + str + "</span>")
|
||||
#define span_boldwarning(str) ("<span class='boldwarning'>" + str + "</span>")
|
||||
#define span_centcomradio(str) ("<span class='centcomradio'>" + str + "</span>")
|
||||
#define span_changeling(str) ("<span class='changeling'>" + str + "</span>")
|
||||
#define span_clown(str) ("<span class='clown'>" + str + "</span>")
|
||||
#define span_colossus(str) ("<span class='colossus'>" + str + "</span>")
|
||||
#define span_command_headset(str) ("<span class='command_headset'>" + str + "</span>")
|
||||
#define span_comradio(str) ("<span class='comradio'>" + str + "</span>")
|
||||
#define span_cult(str) ("<span class='cult'>" + str + "</span>")
|
||||
#define span_cultbold(str) ("<span class='cultbold'>" + str + "</span>")
|
||||
#define span_cultboldtalic(str) ("<span class='cultboldtalic'>" + str + "</span>")
|
||||
#define span_cultitalic(str) ("<span class='cultitalic'>" + str + "</span>")
|
||||
#define span_cultlarge(str) ("<span class='cultlarge'>" + str + "</span>")
|
||||
#define span_danger(str) ("<span class='danger'>" + str + "</span>")
|
||||
#define span_deadsay(str) ("<span class='deadsay'>" + str + "</span>")
|
||||
#define span_deconversion_message(str) ("<span class='deconversion_message'>" + str + "</span>")
|
||||
#define span_drone(str) ("<span class='drone'>" + str + "</span>")
|
||||
#define span_engradio(str) ("<span class='engradio'>" + str + "</span>")
|
||||
#define span_extremelybig(str) ("<span class='extremelybig'>" + str + "</span>")
|
||||
#define span_ghostalert(str) ("<span class='ghostalert'>" + str + "</span>")
|
||||
#define span_green(str) ("<span class='green'>" + str + "</span>")
|
||||
#define span_greenannounce(str) ("<span class='greenannounce'>" + str + "</span>")
|
||||
#define span_greenteamradio(str) ("<span class='greenteamradio'>" + str + "</span>")
|
||||
#define span_greentext(str) ("<span class='greentext'>" + str + "</span>")
|
||||
#define span_hear(str) ("<span class='hear'>" + str + "</span>")
|
||||
#define span_hidden(str) ("<span class='hidden'>" + str + "</span>")
|
||||
#define span_hierophant(str) ("<span class='hierophant'>" + str + "</span>")
|
||||
#define span_hierophant_warning(str) ("<span class='hierophant_warning'>" + str + "</span>")
|
||||
#define span_highlight(str) ("<span class='highlight'>" + str + "</span>")
|
||||
#define span_his_grace(str) ("<span class='his_grace'>" + str + "</span>")
|
||||
#define span_holoparasite(str) ("<span class='holoparasite'>" + str + "</span>")
|
||||
#define span_hypnophrase(str) ("<span class='hypnophrase'>" + str + "</span>")
|
||||
#define span_icon(str) ("<span class='icon'>" + str + "</span>")
|
||||
#define span_info(str) ("<span class='info'>" + str + "</span>")
|
||||
#define span_interface(str) ("<span class='interface'>" + str + "</span>")
|
||||
#define span_looc(str) ("<span class='looc'>" + str + "</span>")
|
||||
#define span_medal(str) ("<span class='medal'>" + str + "</span>")
|
||||
#define span_medradio(str) ("<span class='medradio'>" + str + "</span>")
|
||||
#define span_memo(str) ("<span class='memo'>" + str + "</span>")
|
||||
#define span_memoedit(str) ("<span class='memoedit'>" + str + "</span>")
|
||||
#define span_mind_control(str) ("<span class='mind_control'>" + str + "</span>")
|
||||
#define span_minorannounce(str) ("<span class='minorannounce'>" + str + "</span>")
|
||||
#define span_monkey(str) ("<span class='monkey'>" + str + "</span>")
|
||||
#define span_monkeyhive(str) ("<span class='monkeyhive'>" + str + "</span>")
|
||||
#define span_monkeylead(str) ("<span class='monkeylead'>" + str + "</span>")
|
||||
#define span_name(str) ("<span class='name'>" + str + "</span>")
|
||||
#define span_narsie(str) ("<span class='narsie'>" + str + "</span>")
|
||||
#define span_narsiesmall(str) ("<span class='narsiesmall'>" + str + "</span>")
|
||||
#define span_nicegreen(str) ("<span class='nicegreen'>" + str + "</span>")
|
||||
#define span_notice(str) ("<span class='notice'>" + str + "</span>")
|
||||
#define span_noticealien(str) ("<span class='noticealien'>" + str + "</span>")
|
||||
#define span_ooc(str) ("<span class='ooc'>" + str + "</span>")
|
||||
#define span_papyrus(str) ("<span class='papyrus'>" + str + "</span>")
|
||||
#define span_phobia(str) ("<span class='phobia'>" + str + "</span>")
|
||||
#define span_prefix(str) ("<span class='prefix'>" + str + "</span>")
|
||||
#define span_purple(str) ("<span class='purple'>" + str + "</span>")
|
||||
#define span_radio(str) ("<span class='radio'>" + str + "</span>")
|
||||
#define span_reallybig(str) ("<span class='reallybig'>" + str + "</span>")
|
||||
#define span_red(str) ("<span class='red'>" + str + "</span>")
|
||||
#define span_redteamradio(str) ("<span class='redteamradio'>" + str + "</span>")
|
||||
#define span_redtext(str) ("<span class='redtext'>" + str + "</span>")
|
||||
#define span_resonate(str) ("<span class='resonate'>" + str + "</span>")
|
||||
#define span_revenbignotice(str) ("<span class='revenbignotice'>" + str + "</span>")
|
||||
#define span_revenboldnotice(str) ("<span class='revenboldnotice'>" + str + "</span>")
|
||||
#define span_revendanger(str) ("<span class='revendanger'>" + str + "</span>")
|
||||
#define span_revenminor(str) ("<span class='revenminor'>" + str + "</span>")
|
||||
#define span_revennotice(str) ("<span class='revennotice'>" + str + "</span>")
|
||||
#define span_revenwarning(str) ("<span class='revenwarning'>" + str + "</span>")
|
||||
#define span_robot(str) ("<span class='robot'>" + str + "</span>")
|
||||
#define span_rose(str) ("<span class='rose'>" + str + "</span>")
|
||||
#define span_sans(str) ("<span class='sans'>" + str + "</span>")
|
||||
#define span_sciradio(str) ("<span class='sciradio'>" + str + "</span>")
|
||||
#define span_secradio(str) ("<span class='secradio'>" + str + "</span>")
|
||||
#define span_servradio(str) ("<span class='servradio'>" + str + "</span>")
|
||||
#define span_singing(str) ("<span class='singing'>" + str + "</span>")
|
||||
#define span_slime(str) ("<span class='slime'>" + str + "</span>")
|
||||
#define span_small(str) ("<span class='small'>" + str + "</span>")
|
||||
#define span_smallnotice(str) ("<span class='smallnotice'>" + str + "</span>")
|
||||
#define span_smallnoticeital(str) ("<span class='smallnoticeital'>" + str + "</span>")
|
||||
#define span_spider(str) ("<span class='spider'>" + str + "</span>")
|
||||
#define span_suicide(str) ("<span class='suicide'>" + str + "</span>")
|
||||
#define span_suppradio(str) ("<span class='suppradio'>" + str + "</span>")
|
||||
#define span_swarmer(str) ("<span class='swarmer'>" + str + "</span>")
|
||||
#define span_syndradio(str) ("<span class='syndradio'>" + str + "</span>")
|
||||
#define span_tape_recorder(str) ("<span class='tape_recorder'>" + str + "</span>")
|
||||
#define span_tinynotice(str) ("<span class='tinynotice'>" + str + "</span>")
|
||||
#define span_tinynoticeital(str) ("<span class='tinynoticeital'>" + str + "</span>")
|
||||
#define span_unconscious(str) ("<span class='unconscious'>" + str + "</span>")
|
||||
#define span_userdanger(str) ("<span class='userdanger'>" + str + "</span>")
|
||||
#define span_warning(str) ("<span class='warning'>" + str + "</span>")
|
||||
#define span_yell(str) ("<span class='yell'>" + str + "</span>")
|
||||
#define span_yellowteamradio(str) ("<span class='yellowteamradio'>" + str + "</span>"
|
||||
|
||||
// VORE Specific stuff after this point
|
||||
// Sorted by however I felt like it
|
||||
#define span_game_say(str) ("<span class='game_say'>" + str + "</span>"
|
||||
#define span_emote_subtle(str) ("<span class='emote_subtle'>" + str + "</span>"
|
||||
#define span_emote(str) ("<span class='emote'>" + str + "</span>"
|
||||
@@ -197,3 +197,13 @@
|
||||
name = "Turtleneck, Sleeveless"
|
||||
icon_state = "sleevelessturtle"
|
||||
has_color = TRUE
|
||||
|
||||
/datum/category_item/underwear/undershirt/dress_shirt_fem
|
||||
name = "Dress shirt, feminine"
|
||||
icon_state = "undershirt_dress_fem"
|
||||
has_color = TRUE
|
||||
|
||||
/datum/category_item/underwear/undershirt/dress_shirt
|
||||
name = "Dress shirt, masculine"
|
||||
icon_state = "undershirt_dress"
|
||||
has_color = TRUE
|
||||
@@ -101,6 +101,7 @@
|
||||
BIOGEN_ITEM("Winter Coat", /obj/item/clothing/suit/storage/hooded/wintercoat, 1, 500),
|
||||
//VOREStation Edit - Algae for oxygen generator
|
||||
BIOGEN_ITEM("4 Algae Sheets", /obj/item/stack/material/algae, 4, 400),
|
||||
BIOGEN_ITEM("50 Algae Sheets", /obj/item/stack/material/algae, 50, 5000),
|
||||
)
|
||||
|
||||
/obj/machinery/biogenerator/tgui_static_data(mob/user)
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
/obj/item/stack/proc/merge(obj/item/stack/S) //Merge src into S, as much as possible
|
||||
if(uses_charge || S.uses_charge) // This should realistically never happen, but in case it does lets avoid breaking things.
|
||||
return
|
||||
if(S.stacktype != stacktype)
|
||||
return
|
||||
if(S.amount >= S.max_amount)
|
||||
return
|
||||
|
||||
var/transfer = get_amount()
|
||||
transfer = min(transfer, S.max_amount - S.amount)
|
||||
@@ -15,6 +19,6 @@
|
||||
S.add(transfer)
|
||||
|
||||
/obj/item/stack/Crossed(var/atom/movable/AM)
|
||||
if(AM != src && istype(AM, src.type) && !AM.throwing)
|
||||
if(isturf(AM.loc) && AM != src && istype(AM, src.type) && !AM.throwing)
|
||||
merge(AM)
|
||||
return ..()
|
||||
@@ -287,13 +287,12 @@
|
||||
desc = "A chocolate-coated biscuit stick."
|
||||
icon_state = "pockystick"
|
||||
item_state = "pocky"
|
||||
filling = list("sugar" = 2, "chocolate" = 5)
|
||||
type_butt = null
|
||||
|
||||
/obj/item/clothing/mask/chewable/candy/pocky/process()
|
||||
chew()
|
||||
if(chewtime < 1)
|
||||
if(ismob(loc))
|
||||
to_chat(loc, "<span class='notice'>There's no more of \the [name] left!</span>")
|
||||
spitout(0)
|
||||
|
||||
/obj/item/clothing/mask/chewable/candy/pocky/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("chocolate", 10)
|
||||
@@ -88,7 +88,7 @@
|
||||
name = "combat knife"
|
||||
desc = "If only you had a boot to put it in."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "tacknife"
|
||||
icon_state = "tacknife2"
|
||||
item_state = "knife"
|
||||
force_divisor = 0.34 // 20 with hardness 60 (steel)
|
||||
thrown_force_divisor = 1.75 // 20 with weight 20 (steel)
|
||||
@@ -101,7 +101,7 @@
|
||||
name = "boot knife"
|
||||
desc = "A small fixed-blade knife for putting inside a boot."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "tacknife"
|
||||
icon_state = "tacknife3"
|
||||
item_state = "knife"
|
||||
force_divisor = 0.15
|
||||
applies_material_colour = 0
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
/obj/item/weapon/material/knife/butch
|
||||
name = "butcher's cleaver"
|
||||
icon_state = "butch"
|
||||
icon_state = "cleaver"
|
||||
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)
|
||||
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/obj/structure/dispenser
|
||||
name = "tank storage unit"
|
||||
desc = "A simple yet bulky storage device for gas tanks. Has room for up to ten oxygen tanks, and ten phoron tanks."
|
||||
icon = 'icons/obj/objects.dmi'
|
||||
icon = 'icons/obj/objects_vr.dmi'
|
||||
icon_state = "dispenser"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
@@ -262,7 +262,9 @@ var/list/admin_verbs_debug = list(
|
||||
/datum/admins/proc/change_time,
|
||||
/client/proc/admin_give_modifier,
|
||||
/client/proc/simple_DPS,
|
||||
/datum/admins/proc/view_feedback
|
||||
/datum/admins/proc/view_feedback,
|
||||
/datum/admins/proc/quick_nif, //CHOMPStation Add,
|
||||
/datum/admins/proc/quick_authentic_nif //CHOMPStation add
|
||||
)
|
||||
|
||||
var/list/admin_verbs_paranoid_debug = list(
|
||||
@@ -396,7 +398,8 @@ var/list/admin_verbs_mod = list(
|
||||
/client/proc/getserverlog, //allows us to fetch server logs (diary) for other days,
|
||||
/datum/admins/proc/view_persistent_data,
|
||||
/datum/admins/proc/view_txt_log, //shows the server log (diary) for today,
|
||||
/datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently,
|
||||
/datum/admins/proc/view_atk_log, //shows the server combat-log, doesn't do anything presently,
|
||||
/datum/admins/proc/quick_nif //CHOMPStation Add,
|
||||
)
|
||||
|
||||
var/list/admin_verbs_event_manager = list(
|
||||
@@ -539,7 +542,9 @@ var/list/admin_verbs_event_manager = list(
|
||||
/client/proc/cmd_admin_delete, //delete an instance/object/mob/etc,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/toggle_random_events,
|
||||
/client/proc/modify_server_news
|
||||
/client/proc/modify_server_news,
|
||||
/datum/admins/proc/quick_nif, //CHOMPStation Add,
|
||||
/datum/admins/proc/quick_authentic_nif //CHOMPStation add
|
||||
|
||||
)
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
var/mob/body = mob
|
||||
var/mob/observer/dead/ghost = body.ghostize(1)
|
||||
ghost.admin_ghosted = 1
|
||||
log_and_message_admins("[key_name(src)] admin-ghosted.") // CHOMPEdit - Add logging.
|
||||
if(body)
|
||||
body.teleop = ghost
|
||||
if(!body.key)
|
||||
|
||||
@@ -883,7 +883,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
mob.set_viewsize(view)
|
||||
|
||||
log_admin("[key_name(usr)] changed their view range to [view].")
|
||||
//message_admins("<font color='blue'>[key_name_admin(usr)] changed their view range to [view].</font>", 1) //why? removed by order of XSI
|
||||
message_admins("<font color='blue'>[key_name_admin(usr)] changed their view range to [view].</font>", 1) //CHOMPEdit - Uncommented this.
|
||||
|
||||
feedback_add_details("admin_verb","CVRA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
@@ -90,13 +90,9 @@
|
||||
/datum/gear/textmug
|
||||
display_name = "mug with text"
|
||||
description = "A mug with something written on it."
|
||||
<<<<<<< HEAD
|
||||
path = /obj/item/weapon/reagent_containers/food/drinks/textmug
|
||||
=======
|
||||
path = /obj/item/weapon/reagent_containers/food/drinks/textmug
|
||||
|
||||
/datum/gear/schnapsen
|
||||
display_name = "schnapsen playing cards"
|
||||
description = "French-suit playing cards! Pre-picked for 2-player mode."
|
||||
path = /obj/item/weapon/deck/schnapsen
|
||||
>>>>>>> b042467fe4... Merge pull request #12767 from GhostActual/powder_drugs
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
name = "primitive clothes"
|
||||
desc = "Some patched together rags. Better than being naked."
|
||||
force = 0
|
||||
has_sensor = 0
|
||||
icon_state = "rag"
|
||||
worn_state = "rag"
|
||||
|
||||
@@ -41,26 +42,31 @@
|
||||
name = "tribalwear"
|
||||
desc = "A traditionally woven robe made with locally sourced material."
|
||||
icon_state = "tribal_common1"
|
||||
has_sensor = 0
|
||||
|
||||
/obj/item/clothing/under/tribalwear/common2
|
||||
name = "tribalwear"
|
||||
desc = "A traditionally woven outfit made with locally sourced material."
|
||||
icon_state = "tribal_common2"
|
||||
has_sensor = 0
|
||||
|
||||
/obj/item/clothing/under/tribalwear/hunter
|
||||
name = "hunting tribalwear"
|
||||
desc = "Dusty rags decorated with strips of leather and small pieces of cyan colored stones."
|
||||
icon_state = "tribal_hunter"
|
||||
has_sensor = 0
|
||||
|
||||
/obj/item/clothing/under/tribalwear/chief
|
||||
name = "chief's tribalwear"
|
||||
desc = "Well maintained robe adorned with fine leather and polished cyan stones."
|
||||
icon_state = "tribal_chief"
|
||||
has_sensor = 0
|
||||
|
||||
/obj/item/clothing/under/tribalwear/shaman
|
||||
name = "shaman robes"
|
||||
desc = "Carefully hand wozen cloth robes with heavy colored stones jewelry drapped over top."
|
||||
icon_state = "tribal_shaman"
|
||||
has_sensor = 0
|
||||
|
||||
/obj/item/clothing/shoes/tribalwear
|
||||
name = "tribal sandals"
|
||||
|
||||
@@ -530,6 +530,7 @@
|
||||
/obj/item/seeds/cocoapodseed = 3,
|
||||
/obj/item/seeds/plumpmycelium = 2,
|
||||
/obj/item/seeds/cabbageseed = 3,
|
||||
/obj/item/seeds/lettuce = 3,
|
||||
/obj/item/seeds/grapeseed = 3,
|
||||
/obj/item/seeds/pumpkinseed = 3,
|
||||
/obj/item/seeds/cherryseed = 3,
|
||||
@@ -1542,7 +1543,7 @@
|
||||
has_logs = 1
|
||||
|
||||
/obj/machinery/vending/wardrobe/lawdrobe
|
||||
name = "lawyer wardrobe vendor"
|
||||
name = "IAA wardrobe vendor"
|
||||
desc = "All the things you need to perform your job! Why didn't you already have them?"
|
||||
product_slogans = "Want to do your job? Sure you do!"
|
||||
icon_state = "lawdrobe"
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
)
|
||||
reagents = list("spacespice" = 1)
|
||||
fruit = list("cabbage" = 1, "lime" = 1)
|
||||
fruit = list("lettuce" = 1, "lime" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp
|
||||
|
||||
/datum/recipe/grilledcheese
|
||||
|
||||
@@ -433,7 +433,7 @@ I said no!
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup
|
||||
|
||||
/datum/recipe/tossedsalad
|
||||
fruit = list("cabbage" = 2, "tomato" = 1, "carrot" = 1, "apple" = 1)
|
||||
fruit = list("lettuce" = 2, "tomato" = 1, "carrot" = 1, "apple" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tossedsalad
|
||||
|
||||
/datum/recipe/flowersalad
|
||||
@@ -1083,7 +1083,7 @@ I said no!
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fish_taco
|
||||
|
||||
/datum/recipe/blt
|
||||
fruit = list("tomato" = 1, "cabbage" = 1)
|
||||
fruit = list("tomato" = 1, "lettuce" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/bread,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/bread,
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi
|
||||
|
||||
/datum/recipe/lobster
|
||||
fruit = list("lemon" = 1, "cabbage" = 1)
|
||||
fruit = list("lemon" = 1, "lettuce" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/lobster
|
||||
)
|
||||
|
||||
29
code/modules/games/schnapsen_vr.dm
Normal file
@@ -0,0 +1,29 @@
|
||||
// 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.
|
||||
|
||||
/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
|
||||
P = new()
|
||||
P.name = "[number] of [suit]"
|
||||
if(number == "ten")
|
||||
P.card_icon = "[colour]num"
|
||||
else
|
||||
P.card_icon = "[colour]col"
|
||||
P.back_icon = "card_back"
|
||||
cards += P
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "lettuce"
|
||||
seed_name = "lettuce"
|
||||
display_name = "lettuce"
|
||||
kitchen_tag = "cabbage"
|
||||
kitchen_tag = "lettuce"
|
||||
chems = list("nutriment" = list(1,15))
|
||||
|
||||
/datum/seed/lettuce/New()
|
||||
|
||||
@@ -330,7 +330,7 @@
|
||||
/obj/item/weapon/farmbot_arm_assembly
|
||||
name = "water tank/robot arm assembly"
|
||||
desc = "A water tank with a robot arm permanently grafted to it."
|
||||
icon = 'icons/obj/aibots.dmi'
|
||||
icon = 'icons/obj/chemical_tanks.dmi'
|
||||
icon_state = "water_arm"
|
||||
var/build_step = 0
|
||||
var/created_name = "Farmbot"
|
||||
|
||||
@@ -814,7 +814,7 @@
|
||||
|
||||
/mob/living/proc/flying_toggle()
|
||||
set name = "Toggle Flight"
|
||||
set desc = "While flying over open spaces, you will use up some nutrition. If you run out nutrition, you will fall. Additionally, you can't fly if you are too heavy."
|
||||
set desc = "While flying over open spaces, you will use up some nutrition. If you run out nutrition, you will fall."
|
||||
set category = "Abilities"
|
||||
|
||||
var/mob/living/carbon/human/C = src
|
||||
@@ -827,14 +827,25 @@
|
||||
if(C.nutrition < 25 && !C.flying) //Don't have any food in you?" You can't fly.
|
||||
to_chat(C, "<span class='notice'>You lack the nutrition to fly.</span>")
|
||||
return
|
||||
if(C.nutrition > 1000 && !C.flying)
|
||||
to_chat(C, "<span class='notice'>You have eaten too much to fly! You need to lose some nutrition.</span>")
|
||||
return
|
||||
|
||||
C.flying = !C.flying
|
||||
update_floating()
|
||||
to_chat(C, "<span class='notice'>You have [C.flying?"started":"stopped"] flying.</span>")
|
||||
|
||||
/mob/living/
|
||||
var/flight_vore = FALSE
|
||||
|
||||
/mob/living/proc/flying_vore_toggle()
|
||||
set name = "Toggle Flight Vore"
|
||||
set desc = "Allows you to engage in voracious misadventures while flying."
|
||||
set category = "Abilities"
|
||||
|
||||
flight_vore = !flight_vore
|
||||
if(flight_vore)
|
||||
to_chat(src, "You have allowed for flight vore! Bumping into characters while flying will now trigger dropnoms! Unless prefs don't match.. then you will take a tumble!")
|
||||
else
|
||||
to_chat(src, "Flight vore disabled! You will no longer engage dropnoms while in flight.")
|
||||
|
||||
//Proc to stop inertial_drift. Exchange nutrition in order to stop gliding around.
|
||||
/mob/living/proc/start_wings_hovering()
|
||||
set name = "Hover"
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
/mob/living/carbon/human/proc/sonar_ping,
|
||||
/mob/living/carbon/human/proc/tie_hair,
|
||||
/mob/living/proc/flying_toggle,
|
||||
/mob/living/proc/flying_vore_toggle,
|
||||
/mob/living/proc/start_wings_hovering,
|
||||
/mob/living/carbon/human/proc/lick_wounds) //Xenochimera get all the special verbs since they can't select traits.
|
||||
// CHOMPEdit: Lick Wounds Verb
|
||||
|
||||
@@ -137,6 +137,7 @@
|
||||
name_language = LANGUAGE_BIRDSONG
|
||||
color_mult = 1
|
||||
inherent_verbs = list(/mob/living/proc/flying_toggle,
|
||||
/mob/living/proc/flying_vore_toggle,
|
||||
/mob/living/proc/start_wings_hovering,
|
||||
/mob/living/carbon/human/proc/tie_hair)
|
||||
min_age = 18
|
||||
@@ -397,7 +398,7 @@
|
||||
name_language = null
|
||||
color_mult = 1
|
||||
genders = list(MALE, FEMALE, PLURAL, NEUTER)
|
||||
inherent_verbs = list(/mob/living/proc/flying_toggle,/mob/living/proc/start_wings_hovering,/mob/living/carbon/human/proc/tie_hair)
|
||||
inherent_verbs = list(/mob/living/proc/flying_toggle,/mob/living/proc/flying_vore_toggle,/mob/living/proc/start_wings_hovering,/mob/living/carbon/human/proc/tie_hair)
|
||||
|
||||
min_age = 18
|
||||
max_age = 80
|
||||
|
||||
@@ -119,6 +119,7 @@
|
||||
/datum/trait/positive/winged_flight/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..(S,H)
|
||||
H.verbs |= /mob/living/proc/flying_toggle
|
||||
H.verbs |= /mob/living/proc/flying_vore_toggle
|
||||
H.verbs |= /mob/living/proc/start_wings_hovering
|
||||
|
||||
/datum/trait/positive/soft_landing
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
/obj/item/weapon/tank,
|
||||
/obj/item/weapon/circuitboard,
|
||||
/obj/item/weapon/smes_coil,
|
||||
/obj/item/weapon/fuel_assembly //chompstation addition so they can set up rust
|
||||
/obj/item/weapon/fuel_assembly
|
||||
)
|
||||
|
||||
var/obj/item/wrapped = null // Item currently being held.
|
||||
|
||||
@@ -338,5 +338,6 @@
|
||||
name = "Eastern Dragon (Taur)"
|
||||
icon_state = "noodle_s"
|
||||
extra_overlay = "noodle_markings"
|
||||
suit_sprites = 'icons/mob/taursuits_noodle.dmi'
|
||||
clip_mask_state = "taur_clip_mask_noodle"
|
||||
icon_sprite_tag = "noodle"
|
||||
|
||||
@@ -592,5 +592,6 @@
|
||||
icon_state = "noodle_s"
|
||||
extra_overlay = "noodle_markings"
|
||||
extra_overlay2 = "noodle_markings_2"
|
||||
suit_sprites = 'icons/mob/taursuits_noodle_vr.dmi'
|
||||
clip_mask_state = "taur_clip_mask_noodle"
|
||||
icon_sprite_tag = "noodle"
|
||||
@@ -243,9 +243,6 @@
|
||||
if(L.incapacitated(INCAPACITATION_ALL))
|
||||
L.stop_flying()
|
||||
//Just here to see if the person is KO'd, stunned, etc. If so, it'll move onto can_fall.
|
||||
else if (L.nutrition > 1000) //Eat too much while flying? Get fat and fall.
|
||||
to_chat(L, "<span class='danger'>You're too heavy! Your wings give out and you plummit to the ground!</span>")
|
||||
L.stop_flying() //womp womp.
|
||||
else if(L.nutrition < 300 && L.nutrition > 299.4) //290 would be risky, as metabolism could mess it up. Let's do 289.
|
||||
to_chat(L, "<span class='danger'>You are starting to get fatigued... You probably have a good minute left in the air, if that. Even less if you continue to fly around! You should get to the ground soon!</span>") //Ticks are, on average, 3 seconds. So this would most likely be 90 seconds, but lets just say 60.
|
||||
L.adjust_nutrition(-0.5)
|
||||
|
||||
@@ -43,13 +43,13 @@
|
||||
|
||||
var/mob/living/prey = src
|
||||
var/fallloc = prey.loc
|
||||
if(pred.can_be_drop_pred && prey.can_be_drop_prey)
|
||||
if(pred.can_be_drop_pred && prey.can_be_drop_prey && pred.drop_vore && prey.drop_vore)
|
||||
pred.feed_grabbed_to_self_falling_nom(pred,prey)
|
||||
pred.loc = fallloc
|
||||
if(!safe_fall)
|
||||
pred.Weaken(8)
|
||||
pred.visible_message("<span class='danger'>\The [pred] falls right onto \the [prey]!</span>")
|
||||
else if(prey.can_be_drop_pred && pred.can_be_drop_prey)
|
||||
else if(prey.can_be_drop_pred && pred.can_be_drop_prey && pred.drop_vore && prey.drop_vore)
|
||||
prey.feed_grabbed_to_self_falling_nom(prey,pred)
|
||||
pred.Weaken(4)
|
||||
pred.visible_message("<span class='danger'>\The [pred] falls right into \the [prey]!</span>")
|
||||
|
||||
@@ -436,6 +436,15 @@
|
||||
nutriment_factor = 5
|
||||
color = "#302000"
|
||||
|
||||
/datum/reagent/nutriment/chocolate
|
||||
name = "Chocolate"
|
||||
id = "chocolate"
|
||||
description = "Great for cooking or on its own!"
|
||||
taste_description = "chocolate"
|
||||
color = "#582815"
|
||||
nutriment_factor = 5
|
||||
taste_mult = 1.3
|
||||
|
||||
/datum/reagent/nutriment/instantjuice
|
||||
name = "Juice Powder"
|
||||
id = "instantjuice"
|
||||
@@ -1008,6 +1017,16 @@
|
||||
..()
|
||||
M.reagents.add_reagent("imidazoline", removed * 0.2)
|
||||
|
||||
/datum/reagent/drink/juice/lettuce
|
||||
name = "Lettuce Juice"
|
||||
id = "lettucejuice"
|
||||
description = "It's mostly water, just a bit more lettucy."
|
||||
taste_description = "fresh greens"
|
||||
color = "#29df4b"
|
||||
|
||||
glass_name = "lettuce juice"
|
||||
glass_desc = "This is just lettuce water. Fresh but boring."
|
||||
|
||||
/datum/reagent/drink/juice
|
||||
name = "Grape Juice"
|
||||
id = "grapejuice"
|
||||
@@ -1096,7 +1115,7 @@
|
||||
glass_desc = "Vitamins! Yay!"
|
||||
allergen_type = ALLERGEN_FRUIT //Oranges are fruit
|
||||
|
||||
/datum/reagent/drink/orangejuice/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
/datum/reagent/drink/juice/orange/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
|
||||
var/fuzzy = 0 // Preference toggle for sharp/fuzzy icon.
|
||||
var/permit_healbelly = TRUE
|
||||
var/stumble_vore = FALSE
|
||||
var/slip_vore = FALSE
|
||||
var/drop_vore = FALSE
|
||||
var/can_be_drop_prey = FALSE
|
||||
var/can_be_drop_pred = TRUE // Mobs are pred by default.
|
||||
var/allow_spontaneous_tf = FALSE // Obviously.
|
||||
@@ -241,6 +244,9 @@
|
||||
P.allow_spontaneous_tf = src.allow_spontaneous_tf
|
||||
P.step_mechanics_pref = src.step_mechanics_pref
|
||||
P.pickup_pref = src.pickup_pref
|
||||
P.drop_vore = src.drop_vore
|
||||
P.slip_vore = src.slip_vore
|
||||
P.stumble_vore = src.stumble_vore
|
||||
|
||||
|
||||
//CHOMP stuff
|
||||
@@ -286,6 +292,9 @@
|
||||
allow_spontaneous_tf = P.allow_spontaneous_tf
|
||||
step_mechanics_pref = P.step_mechanics_pref
|
||||
pickup_pref = P.pickup_pref
|
||||
drop_vore = P.drop_vore
|
||||
slip_vore = P.slip_vore
|
||||
stumble_vore = P.stumble_vore
|
||||
|
||||
//CHOMP stuff
|
||||
latejoin_vore = P.latejoin_vore
|
||||
@@ -976,6 +985,9 @@
|
||||
dispvoreprefs += "<b>Can be late join prey:</b> [latejoin_prey ? "Enabled" : "Disabled"]<br>" //CHOMPstation edit
|
||||
dispvoreprefs += "<b>Receiving liquids:</b> [receive_reagents ? "Enabled" : "Disabled"]<br>" //CHOMPstation edit
|
||||
dispvoreprefs += "<b>Giving liquids:</b> [give_reagents ? "Enabled" : "Disabled"]<br>" //CHOMPstation edit
|
||||
dispvoreprefs += "<b>Drop Vore:</b> [drop_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Slip Vore:</b> [slip_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Stumble Vore:</b> [stumble_vore ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Spontaneous transformation:</b> [allow_spontaneous_tf ? "Enabled" : "Disabled"]<br>"
|
||||
dispvoreprefs += "<b>Can be stepped on/over:</b> [step_mechanics_pref ? "Allowed" : "Disallowed"]<br>"
|
||||
dispvoreprefs += "<b>Can be picked up:</b> [pickup_pref ? "Allowed" : "Disallowed"]<br>"
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
return FALSE
|
||||
if(!src.vore_selected) //Gotta have one selected as well.
|
||||
return FALSE
|
||||
if(!slip_vore || !target.slip_vore)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/can_be_slip_vored_by(var/mob/living/target)
|
||||
@@ -29,6 +31,9 @@
|
||||
return FALSE
|
||||
if(!target.vore_selected) //Gotta have one selected as well.
|
||||
return FALSE
|
||||
if(!slip_vore || !target.slip_vore)
|
||||
to_chat(src,"<span class='warning'>Pred slip_vore is [target.slip_vore] Prey slip_vore is [slip_vore]</span>")
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/Crossed(var/atom/movable/AM)
|
||||
|
||||
54
code/modules/vore/eating/stumblevore_vr.dm
Normal file
@@ -0,0 +1,54 @@
|
||||
/mob/living/proc/CanStumbleVore(mob/living/target)
|
||||
if(!can_be_drop_pred)
|
||||
return FALSE
|
||||
if(!is_vore_predator(src))
|
||||
return FALSE
|
||||
if(!target.devourable)
|
||||
return FALSE
|
||||
if(!target.can_be_drop_prey)
|
||||
return FALSE
|
||||
if(!target.stumble_vore || !stumble_vore)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/Bump(atom/movable/AM)
|
||||
//. = ..()
|
||||
if(istype(AM, /mob/living))
|
||||
if(((confused || is_blind()) && stat == CONSCIOUS && prob(50) && m_intent=="run") || flying && flight_vore)
|
||||
AM.stumble_into(src)
|
||||
return ..()
|
||||
// Because flips toggle density
|
||||
/mob/living/Crossed(var/atom/movable/AM)
|
||||
if(istype(AM, /mob/living) && isturf(loc) && AM != src)
|
||||
var/mob/living/AMV = AM
|
||||
if(((AMV.confused || AMV.is_blind()) && AMV.stat == CONSCIOUS && prob(50) && AMV.m_intent=="run") || AMV.flying && AMV.flight_vore)
|
||||
stumble_into(AMV)
|
||||
..()
|
||||
|
||||
/mob/living/stumble_into(mob/living/M)
|
||||
var/mob/living/carbon/human/S = src
|
||||
|
||||
playsound(src, "punch", 25, 1, -1)
|
||||
M.Weaken(4)
|
||||
M.stop_flying()
|
||||
if(CanStumbleVore(M))
|
||||
visible_message("<span class='warning'>[M] flops carlessly into [src]!</span>")
|
||||
perform_the_nom(src,M,src,src.vore_selected,1)
|
||||
else if(M.CanStumbleVore(src))
|
||||
visible_message("<span class='warning'>[M] flops carlessly into [src]!</span>")
|
||||
perform_the_nom(M,src,M,M.vore_selected,1)
|
||||
else if(S.species.lightweight == 1)
|
||||
visible_message("<span class='warning'>[M] carelessly bowls [src] over!</span>")
|
||||
M.forceMove(get_turf(src))
|
||||
M.apply_damage(0.5, BRUTE)
|
||||
Weaken(4)
|
||||
stop_flying()
|
||||
apply_damage(0.5, BRUTE)
|
||||
else if(round(weight) > 474)
|
||||
var/throwtarget = get_edge_target_turf(M, reverse_direction(M.dir))
|
||||
visible_message("<span class='warning'>[M] bounces backwards off of [src]'s plush body!</span>")
|
||||
M.throw_at(throwtarget, 2, 1)
|
||||
else
|
||||
visible_message("<span class='warning'>[M] trips over [src]!</span>")
|
||||
M.forceMove(get_turf(src))
|
||||
M.apply_damage(1, BRUTE)
|
||||
@@ -54,6 +54,11 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
var/allowmobvore = TRUE
|
||||
var/permit_healbelly = TRUE
|
||||
|
||||
// These are 'modifier' prefs, do nothing on their own but pair with drop_prey/drop_pred settings.
|
||||
var/drop_vore = FALSE
|
||||
var/stumble_vore = FALSE
|
||||
var/slip_vore = FALSE
|
||||
|
||||
var/resizable = TRUE
|
||||
var/show_vore_fx = TRUE
|
||||
var/step_mechanics_pref = FALSE
|
||||
@@ -154,6 +159,9 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
step_mechanics_pref = json_from_file["step_mechanics_pref"]
|
||||
pickup_pref = json_from_file["pickup_pref"]
|
||||
belly_prefs = json_from_file["belly_prefs"]
|
||||
drop_vore = json_from_file["drop_vore"]
|
||||
slip_vore = json_from_file["slip_vore"]
|
||||
stumble_vore = json_from_file["stumble_vore"]
|
||||
|
||||
|
||||
//CHOMP stuff
|
||||
@@ -195,6 +203,12 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
pickup_pref = TRUE
|
||||
if(isnull(belly_prefs))
|
||||
belly_prefs = list()
|
||||
if(isnull(drop_vore))
|
||||
drop_vore = FALSE
|
||||
if(isnull(slip_vore))
|
||||
slip_vore = FALSE
|
||||
if(isnull(stumble_vore))
|
||||
stumble_vore = FALSE
|
||||
|
||||
//CHOMP stuff
|
||||
if(isnull(latejoin_vore))
|
||||
@@ -238,7 +252,10 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
||||
"belly_prefs" = belly_prefs,
|
||||
"receive_reagents" = receive_reagents,
|
||||
"give_reagents" = give_reagents,
|
||||
"autotransferable" = autotransferable
|
||||
"autotransferable" = autotransferable,
|
||||
"drop_vore" = drop_vore,
|
||||
"slip_vore" = slip_vore,
|
||||
"stumble_vore" = stumble_vore,
|
||||
)
|
||||
|
||||
//List to JSON
|
||||
|
||||
@@ -321,8 +321,11 @@
|
||||
"liq_rec" = host.receive_reagents,
|
||||
"liq_giv" = host.give_reagents,
|
||||
"autotransferable" = host.autotransferable,
|
||||
"noisy_full" = host.noisy_full //Belching while full
|
||||
"noisy_full" = host.noisy_full, //Belching while full
|
||||
//CHOMPedit end
|
||||
"drop_vore" = host.drop_vore,
|
||||
"slip_vore" = host.slip_vore,
|
||||
"stumble_vore" = host.stumble_vore,
|
||||
)
|
||||
|
||||
return data
|
||||
@@ -574,9 +577,18 @@
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
//CHOMPedit end
|
||||
|
||||
|
||||
|
||||
if("toggle_drop_vore")
|
||||
host.drop_vore = !host.drop_vore
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_slip_vore")
|
||||
host.slip_vore = !host.slip_vore
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_stumble_vore")
|
||||
host.stumble_vore = !host.stumble_vore
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
|
||||
/datum/vore_look/proc/pick_from_inside(mob/user, params)
|
||||
var/atom/movable/target = locate(params["pick"])
|
||||
|
||||
155
guides/Guide to Your First POI Map.md
Normal file
@@ -0,0 +1,155 @@
|
||||
Welcome!
|
||||
|
||||
This guide **ASSUMES** you have gone through the Guide to Opening your First PR. If you have NOT done so yet, please refer here, and ask in Discord's #ss13-development channel (For CHOMPStation), #dev-general (for VOREStation), or #code (for Polaris) if you have any questions, or need assistance with completing these steps.
|
||||
|
||||
You can also @ maintainers or staff devs, which can be viewed in the sidebar of each codebase’s Discord, and will usually have roles such as “Maintainer” (For VOREStation), “StaffDev/StaffMaintainer” (for CHOMPStation), and “Maintainer” (for Polaris).
|
||||
|
||||
[CHOMPStation]([https://github.com/CHOMPStation2/CHOMPStation2/blob/master/guides/Guide%20to%20Opening%20Your%20First%20PR.md](https://github.com/CHOMPStation2/CHOMPStation2/blob/master/guides/Guide%20to%20Opening%20Your%20First%20PR.md))
|
||||
|
||||
[VOREStation]([https://github.com/VOREStation/VOREStation/blob/master/guides/Guide%20to%20Opening%20Your%20First%20PR.md](https://github.com/VOREStation/VOREStation/blob/master/guides/Guide%20to%20Opening%20Your%20First%20PR.md))
|
||||
|
||||
[Polaris - TBD]
|
||||
|
||||
You will also WANT VSCode to edit the files, but this is not required, as DM can also do so. See Guide to VSCode/Editor Setup, or check the wiki pages on how to contribute to learn more. (These are currently TBD but will be done soon:™:)
|
||||
|
||||
Before proceeding, remember to make your branch! We should have a new branch titled “x-dev-POI”, or whatever you want to name it. We’ll assume it’s named “shep-dev-POI” for this tutorial’s context.
|
||||
|
||||
With that out of the way, congrats on getting setup! Let’s dive into how to make your first POI. \
|
||||
\
|
||||
To start, we need to open up the repo you downloaded earlier. If you’re not sure where that is, Gitkraken should be able to tell you by hovering over the codebase name, in the top left, and hitting **Alt+O** will open the file manager. \
|
||||
Either way, we should see [this]([https://i.imgur.com/FOUVK4n.png](https://i.imgur.com/FOUVK4n.png)) - Image references CHOMPStation, but the general folders should be the same for Polaris + VOREStation.
|
||||
|
||||
Before we can map, we need to setup several code prerequisites in order to actually have a new area for our map. In order to do so, we are going to locate the POI folder. We are going to add a POI to the Wilderness area for our tutorial.
|
||||
|
||||
Follow this reference: \
|
||||
Go to /maps/, and then find the folder the POIs for the given map are saved. This is code-base specific, so Polaris + CHOMP use /maps/submaps/surface_submaps/ for theirs, and then each folder (mountains, wilderness, plains) is a different area. If you’re on Southern Cross, Plains is the area around the outpost, Mountains is the mines, and Wilderness is the deep wilds. Polaris, TBD.
|
||||
|
||||
VORE has their submaps for SPECIFIC areas defined in /mapused (IE Tether)/submaps. This sub-main folder should only be used for map-specific POIs, for example, POIs that would only exist if Tether was loaded.
|
||||
|
||||
Otherwise, refer to /submaps/ and locate the folder in question. If you’re not sure, poke around, or ask in the channel for the codebase you’re currently working on for help.
|
||||
|
||||
Once we’ve gotten to the folder in question, scroll down until you see, for this reference, wilderness.dm, and wilderness_areas.dm.
|
||||
|
||||
Double click to open wilderness_areas.dm. Follow the subheadings depending on the tool you’re using.
|
||||
|
||||
VSCode: If you’ve already installed VSCode and told it to associate with .dm files as per the tutorial, it’ll open here and error. We need to open the main folder, by going to File, Open Folder, and then navigate to our base repository. This is where all the folders like maps, guides, etc are.
|
||||
|
||||
Hit Select Folder. We’ll open to a blank screen. Hit Ctrl + P to open a specific file, and type in wilderness_areas, and select wilderness_areas.dm. From here, refer to the joint section below.
|
||||
|
||||
DreamMaker: This should have opened with our filetree, as screenshotted. [https://i.imgur.com/m8FjRAs.png](https://i.imgur.com/m8FjRAs.png) If it did not, navigate to File, Open Environment, and select vorestation.dme. Then, navigate to maps, submaps, surface submaps, wilderness, and open wilderness_areas.dm.
|
||||
|
||||
Joint (This assumes we’ve located the file as per instructions above. If you’re not using Dream Maker or VSCode, you’re expected to understand how to open the file yourself.) This section will be done in VSCode, but later iterations will screenshot the process in Dream Maker (it’s basically identical, just waiting on the wiki page to bother doing so.)
|
||||
|
||||
Go ahead and look over the areas. We’ll notice something, even if you don’t quite know how to read code: each new area only has name + ambience changed, likely, right?
|
||||
|
||||
Image here [https://i.imgur.com/A2pMluj.png](https://i.imgur.com/A2pMluj.png)
|
||||
|
||||
Without getting too deep into code, BYOND uses OOP, which in layman’s terms, means every single new object created with the same path as another will inherit things. This saves us having to redefine it every time we make a new one.
|
||||
|
||||
For YOU this means all we’re going to do is highlight an area subsection (I’ll be using Black-Op Shuttle’s area for this) [https://i.imgur.com/zCUu0R3.png](https://i.imgur.com/zCUu0R3.png), hit copy, and then scroll down to the bottom, hit enter once to generate a new line, and hit paste. You should see this, if in VSCode: [https://i.imgur.com/AtQvNV6.png](https://i.imgur.com/AtQvNV6.png)
|
||||
|
||||
Now we’re going to change “Blackshuttledown” to “myfirstPOI”. Change it to whatever you like, but I’m simply using a tutorial name here. Then, at the “name = “POI - blahblah”, we’re going to change it to “POI - Newbie”. Leave everything else alone for now unless you want a special ambience, though you can easily just replace AMBIENCE_HIGHSEC with AMBIENCE_OTHERWORLDLY.
|
||||
|
||||
Once we’ve done that, our new area should look like this: [https://i.imgur.com/ttVNbYq.png](https://i.imgur.com/ttVNbYq.png)
|
||||
|
||||
With that, we save, and exit the code. We’ll come back to it at a later step to ADD our POI to the actual map template section, but for now, we need to MAKE the POI first, no?
|
||||
|
||||
For this next step, return to the BASE folder, where the .dme and maps/etc folders are.
|
||||
|
||||
\
|
||||
We’re going to navigate to *tools* and then StrongDMM. This is not REQUIRED, but is heavily recommended - maintainers will ask you to run mapmerge where possible if you use DreamMaker. The rest of this guide WILL ASSUME YOU ARE USING STRONGDMM. The wiki will offer sections for DreamMaker as well as StrongDMM. \
|
||||
\
|
||||
Run sdmmlauncher.exe. Screenshot here: \
|
||||
[https://i.imgur.com/VxvRntf.png](https://i.imgur.com/VxvRntf.png)
|
||||
|
||||
You should be greeted with this: [https://i.imgur.com/9dhRcz3.png](https://i.imgur.com/9dhRcz3.png)
|
||||
|
||||
We are going to do something first before opening any environments. Go to File, Preferences in the top left. Then, in Interface Options, select a style you like. Rykka (hi, the author of this) uses Dark Coast. Use whatever you like.
|
||||
|
||||
Under Save Options, **change this to TGM.** Check Sanitize Variables. Also check Clean Unused Keys, if this is not already checked. Nudge mode should be pixel_x/pixel_y.
|
||||
|
||||
With that done, hit Open Environment, and navigate to the folder we downloaded in the earlier step. Open vorestation.dme, for VORE + CHOMP, or Polaris.dme for Polaris.
|
||||
|
||||
The file will load, and then you’ll still be at a blank screen, but now the Environment Tree should have 4 directories under it. \
|
||||
This is what it looks like. [https://i.imgur.com/RtURzx8.png](https://i.imgur.com/RtURzx8.png)
|
||||
|
||||
You should also be able to see the name in the top left.
|
||||
|
||||
Now, we are going to go to File, New Map. \
|
||||
This will open a dialogue box with the base folder of our repo. Don’t panic. \
|
||||
Go to /maps/, and then find the folder the POIs for the given map are saved. This is code-base specific, so Polaris + CHOMP use /maps/submaps/surface_submaps/ for theirs, and then each folder (mountains, wilderness, plains) is a different area. If you’re on Southern Cross, Plains is the area around the outpost, Mountains is the mines, and Wilderness is the deep wilds. Polaris, TBD.
|
||||
|
||||
VORE has their submaps for SPECIFIC areas defined in /mapused (IE Tether)/submaps. This sub-main folder should only be used for map-specific POIs, for example, POIs that would only exist if Tether was loaded.
|
||||
|
||||
Otherwise, refer to /submaps/ and locate the folder in question. If you’re not sure, poke around, or ask in the channel for the codebase you’re currently working on for help.
|
||||
|
||||
Once we’ve located the folder, we’ll assume we’re doing Wilderness for this one - we’ll be in this folder, and we’ll type the name of our new map and hit Save. Image here: [https://i.imgur.com/CCIuuwy.png](https://i.imgur.com/CCIuuwy.png)
|
||||
|
||||
Now, it is going to bring up a dialogue box on map size. ALWAYS leave the Z at 1. \
|
||||
Set the X + Y to whatever you prefer, this will be the SIZE of our POI. For example, six tiles across would be 6 X, and 5 tiles tall would be 5 Y. The layout referenced in the tutorial is here: [https://i.imgur.com/T2jQwZB.png](https://i.imgur.com/T2jQwZB.png)
|
||||
|
||||
Hit Ok. \
|
||||
\
|
||||
Your new map will load in the bottom-left corner, depending on SDMM. Scroll in using your mouse, and hold the middle mouse button (or whatever the hotkey is if SDMM ever changes) to pan.
|
||||
|
||||
Once we’ve navigated and zoomed so our POI is relatively sized, we should see this: [https://i.imgur.com/e8VhPxk.png](https://i.imgur.com/e8VhPxk.png)
|
||||
|
||||
Hit Save (Ctrl + S) now! Just in case.
|
||||
|
||||
In the top left, where it says “Types Filter”, type the name of our new area. This will be “myfirstPOI”. Click to select. You should see this. [https://i.imgur.com/mG458sl.png](https://i.imgur.com/mG458sl.png)
|
||||
|
||||
Go to the map editor, and drag it over the interior tiles. Then, go back to types filter (where we typed in prior), clear it, and find template. We’ll see two things come up, /turf/template_noop, and /area/template_noop. Do turf template around the outside of our new area, and then do area template around the outside of our new area. \
|
||||
\
|
||||
We should see this: \
|
||||
[https://i.imgur.com/z722p97.png](https://i.imgur.com/z722p97.png)
|
||||
|
||||
Now go to Options, and hit “Toggle Area”. This will turn off the area display. Clear the types filter select, and hit the big - button next to it to collapse all trees again so we just have 4, these being (area/turf/obj/mob), our base BYOND types.
|
||||
|
||||
Go to turf, then simulated, then floor, then outdoors, then dirt. Drag it over the center tiles, so now there should only be dirt + passthrough. (the template turf is also called passthrough in coder parlance). Obviously, we can add more turfs and get more complex if you like, but you’ll need to worry about atmos composition and etc. We’re not going to stress about that for now, as we can learn about all that later.
|
||||
|
||||
For now, collapse all trees again, and then go to “mob”, then living, then simple_mob (do not use simple_animal, it is deprecated), then select a mob from any of these subtrees. For our example, we’re going to go to animal, wolf, direwolf, and choose a regular direwolf (or Rykka, if you’re on a VORE downstream).
|
||||
|
||||
Place it anywhere on the dirt or passthrough tiles, and hit save. I recommend NOT placing on the passthrough tiles, as they may suddenly spawn inside solid rock.
|
||||
|
||||
Make sure to save. We’ve accomplished adding a rudimentary, if not-super-featured POI.
|
||||
|
||||
This is what it should look like before we close the editor. [https://i.imgur.com/MU1YuKs.png](https://i.imgur.com/MU1YuKs.png)
|
||||
|
||||
Now, we’re going to go back to our editor of choice. Refer above for instructions on how to open the codebase on each editor, but we’re going to, instead of opening wilderness_areas, open wilderness.dm.
|
||||
|
||||
This will bring you to a bunch of new stuff. You’re going to see an #if and etc.
|
||||
|
||||
DON’T PANIC.
|
||||
|
||||
All we’re going to do is scroll down the list, and find where our POI would slot in alphabetically. For instance, ours, via this tutorial, is myfirstPOI.dmm. We’re going to insert this after musk.dmm.
|
||||
|
||||
Click at the end of #include “musk.dmm” and hit enter once, then type #include “myfirstPOI.dmm”. Name will vary, of course, depending on your POI, but for this tutorial, that’s the name we used.
|
||||
|
||||
You should see this if the step was completed successfully. [https://i.imgur.com/c686Ji4.png](https://i.imgur.com/c686Ji4.png)
|
||||
|
||||
Now, we’re going to scroll down. Remember earlier how it was explained that you only need to change the variables that DO change on your new map?
|
||||
|
||||
Copy line 76, or this area snippet: `/datum/map_template/surface/wilderness/deep/BSD`
|
||||
|
||||
At the end of the file, hit paste after inserting a new line underneath the last entry, so there’s always a line of space between the end of one thing and the next.
|
||||
|
||||
Then, as with adding the area, change the “BSD” to your name, then “name = “blah”” to whatever your name is.
|
||||
|
||||
Change the name of the .dmm in mappath to match your .dmm, and change the cost down to 5 (this is a very tiny POI). Remove the template_group, as we don’t use it presently.
|
||||
|
||||
It should look like this afterwards:
|
||||
|
||||
[https://i.imgur.com/HguoHxT.png](https://i.imgur.com/HguoHxT.png)
|
||||
|
||||
And we’ve added it! Woo!
|
||||
|
||||
Before you go “man that was way too much work fuck this” we still need to PR it. \
|
||||
Open your git client of choice - if you’ve been following the guide up to this point, we’ll reference Gitkraken.
|
||||
|
||||
As explained in the Guide to Opening your First PR, you’ll need to Stage + Commit these files. If you’ve followed instructions and still need help, contact maintainers or ask for help in the development channels.
|
||||
|
||||
Commit, and then again, as per prior, we are going to start a pull request. At this point, you should be done!
|
||||
|
||||
As with the other guides, if you run into issues, please let maintainers know and we’ll help you out. DON’T FEEL BAD FOR BEING NEW AND GOING “AAA”. \
|
||||
\
|
||||
We all started somewhere. I hope this guide helps give you the confidence you need to contribute to this codebase and help keep our project going. Thank you for your time and effort. <3
|
||||
59
guides/Overmap Ships and Places - What's Needed.md
Normal file
@@ -0,0 +1,59 @@
|
||||
Overmap Ships + Places, the Guide
|
||||
This is a very basic list of just "what is needed". It is assumed you'll lookup where these go.
|
||||
Proper, full-length guide will be added later to here + the wiki.
|
||||
For now, just use this as reference for what is needed for Overmap ships + locations.
|
||||
|
||||
**CREATED IN-EDITOR:**
|
||||
```
|
||||
/obj/effect/shuttle_landmark
|
||||
var edits:
|
||||
base_area: what area to replace the shuttle's area with when it's left
|
||||
base_turf: what turf to replace the shuttle's location when it's left
|
||||
landmark_tag: lowercase identifier. Used in current_location
|
||||
name: the landmark's name.
|
||||
```
|
||||
|
||||
**CREATED IN-CODE:**
|
||||
```c
|
||||
/area/shuttle/SHIPNAME
|
||||
name = "\improper [Name]" // Just replace [Name] with whatever your want to name the ship
|
||||
icon_state = "shuttlered"
|
||||
requires_power = 1 // Or 0 if you don't want to have to power the ship yourself.
|
||||
//Area should probably be placed in southern-cross-areas.dm but the rest can go into some file all together.
|
||||
|
||||
/datum/shuttle/autodock/overmap/SHIPNAME
|
||||
name = "[Name]"
|
||||
warmup_time = 0
|
||||
current_location = "" // See CREATED IN-EDITOR
|
||||
shuttle_area = /area/shuttle/SHIPNAME // See above area. Can also be list of multiple areas.
|
||||
fuel_consumption = 1 // Typically defines how much fuel the shuttle uses per jump. 1-3 is reasonable, base it on size.
|
||||
move_direction = NORTH / SOUTH / EAST / WEST
|
||||
|
||||
/obj/effect/overmap/visitable/ship/landable/SHIPNAME
|
||||
name = "[Name]" // Can be named whatever, best to keep it similar to actual ship name.
|
||||
desc = "Some description goes here."
|
||||
vessel_mass = 1000 // Some factor for speed. For reference, 1000 is fucking fast, 10000 is only fast when maxed on engines and very costly.
|
||||
vessel_size = SHIP_SIZE_TINY / SHIP_SIZE_SMALL / SHIP_SIZE_LARGE
|
||||
shuttle = "[Name]" // Direct reference to above shuttle. MUST be the same as name.
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/SHIPNAME
|
||||
name = "short jump console"
|
||||
shuttle_tag = "[Name]" // Direct reference to above shuttle. MUST be the same as name.
|
||||
req_one_access = list(access_pilot)
|
||||
```
|
||||
|
||||
**OVERMAP SHIP CREATION INSTRUCTIONS:**
|
||||
Build your shuttle however you'd like, though it MUST have:
|
||||
- Phoron cannister(s) hooked up to proper engines. /obj/machinery/atmospherics/unary/engine
|
||||
- Engine Control. `/obj/machinery/computer/ship/engines`
|
||||
- Helm Control. `/obj/machinery/computer/ship/helm`
|
||||
- Fuel port, for short distance jumps and docking. `/obj/structure/fuel_port`
|
||||
- Short jump console, defined in code earlier. `/obj/machinery/computer/shuttle_control/explore/SHIPNAME`
|
||||
- A spawned in effect, defined in code earlier, inside of the ship area. `/obj/effect/overmap/visitable/ship/landable/SHIPNAME`
|
||||
- A docking point, made through the map editor, mentioned earlier. `/obj/effect/ship_landmark`. Typically this is placed inside the ship, directly in front of the exterior door. This dictates where it places the shuttles so be sure to actually test how your shuttles react to landing in odd locations. The landmark's tag also needs to be added to the appropriate area in `maps/southern_cross/overmap/sectors.dm` or else ships cannot dock there.
|
||||
- The shuttle also needs to be placed entirely in the designated area that you made in the above code, since shuttles are based off of the area everything is in.
|
||||
|
||||
It would be **RECOMMENDED** to also have:
|
||||
- Sensors, controlled by `/obj/machinery/computer/ship/sensors` and `/obj/machinery/shipsensors` (maybe the /weak variant for small ships if you add them at all?)
|
||||
- Docking Controller. Not 100% sure on how these work yet, but will be updated as needed. Not necessary, just nice to have for ease of access.
|
||||
- A pump somewhere in the fuel intake to your engines, for better fuel management.
|
||||
30
guides/VSCode Setup Guide.md
Normal file
@@ -0,0 +1,30 @@
|
||||
This guide will simply list VSCode + the extensions needed, plus very basic instructions, as VSCode has a NUMBER of tutorials on it, and there's little need to reinvent the wheel.
|
||||
It is assumed that you can follow the VSCode walkthrough. Navigate to the Extensions tab on the left, type @recommended, and then install each extension under the "Recommended" Tab.
|
||||
Screenshot here, but don't rely on this as the workspace recommendations may change over time. https://i.imgur.com/CF0P6TI.png
|
||||
If you require assistance, don't feel stupid! Just ask a maintainer or ask in Discord for help. Be prepared to take screenshots if you need.
|
||||
|
||||
**VSCode + All mission-critical extensions for DM Coding.**
|
||||
<https://code.visualstudio.com/> VSCode, the root tool.
|
||||
<https://marketplace.visualstudio.com/items?itemName=gbasood.byond-dm-language-support> DM language support, allow autoupdates
|
||||
<https://marketplace.visualstudio.com/items?itemName=platymuus.dm-langclient> DM Language client, also allows compiling. When setting it up you need to go to extension settings, then "choose folder", pick the BYOND folder that has "uninstall.exe" and "bin" folders (the root/base folder). Then, once that's done, you can literally hit ctrl+shift+b and choose the .dme, and compile inside VSCode. It's FAR faster than compiling in Dream Maker.
|
||||
Screenshot of settings: <https://i.gyazo.com/378b93de1a68886a0dc3b919a2a7a401.png>
|
||||
<https://marketplace.visualstudio.com/items?itemName=stylemistake.auto-comment-blocks> Auto Comment Blocks (Allows multi-line comments easily in DM)
|
||||
<https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow> Indent Rainbow - makes your indents colorcoded by how deep they are.
|
||||
<https://marketplace.visualstudio.com/items?itemName=Donkie.vscode-tgstation-test-adapter> Not adapted for our code yet, but this allows one to run compile tests the same as online does.
|
||||
|
||||
{
|
||||
"editor.bracketPairColorization.enabled": true,
|
||||
"editor.guides.bracketPairs":"active"
|
||||
}
|
||||
|
||||
Add this to settings.json
|
||||
If you run into issues, ask in Discord for help.
|
||||
|
||||
**Optional.**
|
||||
<https://marketplace.visualstudio.com/items?itemName=icrawl.discord-vscode> Discord rich presence, not needed, but looks pretty
|
||||
<https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens> This one is also optional, works for allowing you to gitblame and stuff. Requires setup, but will walk you through it, and ALSO links with Gitkraken. Extremely handy.
|
||||
|
||||
**Quick Tips for VSCode**
|
||||
Highlighting a proc and right clicking, then going to "Definition" or "Implementation" will allow you to easily see/lookup wherever it's used. This is massively helpful over having to manually search it.
|
||||
CTRL+F will bring up a search, that also allows a replace line-by-line.
|
||||
CTRL+Clicking will also (usually) take you to the definition of a proc/verb/etc.
|
||||
|
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 624 KiB After Width: | Height: | Size: 624 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
BIN
icons/mob/taursuits_noodle.dmi
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
icons/mob/taursuits_noodle_vr.dmi
Normal file
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,316 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/space,
|
||||
/area/space)
|
||||
"e" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"f" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"g" = (
|
||||
/obj/machinery/power/apc{
|
||||
dir = 8;
|
||||
name = "west bump";
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/structure/cable/green{
|
||||
d2 = 4;
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/item/device/radio/intercom{
|
||||
desc = "Talk... listen through this.";
|
||||
name = "Station Intercom (Brig Radio)";
|
||||
pixel_y = -21;
|
||||
wires = 7
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"h" = (
|
||||
/obj/machinery/hologram/holopad,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"m" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/structure/cable/green{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"n" = (
|
||||
/obj/machinery/disposal/wall{
|
||||
dir = 4;
|
||||
pixel_x = -33
|
||||
},
|
||||
/obj/structure/disposalpipe/trunk{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"o" = (
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"r" = (
|
||||
/turf/simulated/wall,
|
||||
/area/hallway/primary/central_one)
|
||||
"u" = (
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/hallway/primary/central_one)
|
||||
"y" = (
|
||||
/obj/machinery/light,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"z" = (
|
||||
/obj/machinery/door/firedoor/glass,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/structure/cable/green{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/door/airlock/glass,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"A" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"B" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/structure/cable/green{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/hallway/primary/central_one)
|
||||
"D" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"E" = (
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 2;
|
||||
icon_state = "pipe-c"
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"F" = (
|
||||
/turf/simulated/wall,
|
||||
/area/library)
|
||||
"H" = (
|
||||
/obj/machinery/alarm{
|
||||
dir = 8;
|
||||
pixel_x = 22
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"K" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"L" = (
|
||||
/obj/machinery/firealarm{
|
||||
dir = 4;
|
||||
pixel_x = 24
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"M" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"O" = (
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"T" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"V" = (
|
||||
/obj/structure/window/reinforced/full,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"W" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"X" = (
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/library)
|
||||
"Y" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/hallway/primary/central_one)
|
||||
|
||||
(1,1,1) = {"
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
a
|
||||
F
|
||||
F
|
||||
e
|
||||
f
|
||||
F
|
||||
F
|
||||
r
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
a
|
||||
T
|
||||
n
|
||||
o
|
||||
O
|
||||
g
|
||||
F
|
||||
Y
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
a
|
||||
V
|
||||
E
|
||||
W
|
||||
A
|
||||
m
|
||||
z
|
||||
B
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
a
|
||||
V
|
||||
o
|
||||
h
|
||||
X
|
||||
y
|
||||
F
|
||||
u
|
||||
"}
|
||||
(6,1,1) = {"
|
||||
a
|
||||
D
|
||||
H
|
||||
o
|
||||
o
|
||||
L
|
||||
F
|
||||
r
|
||||
"}
|
||||
(7,1,1) = {"
|
||||
a
|
||||
F
|
||||
F
|
||||
K
|
||||
M
|
||||
F
|
||||
F
|
||||
a
|
||||
"}
|
||||
(8,1,1) = {"
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
"}
|
||||
17
maps/_templates_and_guidance/Mapping Templates Readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
Greetings, newbean mapper! \
|
||||
\
|
||||
The intent of this file is to allow you to more easily be able to follow mapping standards and guidelines.
|
||||
|
||||
The following folders will be listed here. If there’s been an update and this readme.md is out of date, let a maintainer on your codebase know. For CHOMPStation, this is a staffdev/maintainer, for VOREStation, this is a maintainer, for Polaris, this is also the maintainer role.
|
||||
|
||||
|
||||
|
||||
* Additional folders TBD.
|
||||
* Mapping Guides
|
||||
* This folder exists for newer contributors to physically pull examples from, for example; SMES Wiring.dmm would be for guidance on how to properly wire an SMES. This is not an exhaustive list, but should help the repeated/FAQ questions by allowing one to poke at it in a map editor.
|
||||
* Public Event Templates
|
||||
* This folder exists to house templates available to the public. Bear in mind that Event Manager staff will likely not house all event templates publicly for security + future events, but this should be updated once a map is done with or an EM leaves the team and wishes to leave their maps public for future use.
|
||||
* Public Ship Templates
|
||||
* This folder exists for SHIP templates that do not normally go into the ships folder (For reference, this ship folder is maps/offmap_vr/om_ships, or overmap/ships). This is for example ships, or for EM-specific, public ships.
|
||||
* Templates
|
||||
* This folder is specifically for pre-prepared, ready-to-place templates for things such as drop pods, small maps, etc, things EM-staff will use regularly that are not necessarily related to events.
|
||||
@@ -0,0 +1,142 @@
|
||||
"bh" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"bu" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"bG" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/fans/hardlight/colorable{invisibility = 99},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"bL" = (/obj/item/weapon/bone/ribs,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"bX" = (/obj/fire,/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"cb" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"cA" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"cI" = (/obj/singularity/narsie{l_move_time = 0; move_self = 0; move_speed = 0},/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"cM" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"eh" = (/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"eD" = (/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"fh" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"fH" = (/obj/structure/grille/broken/cult,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"fR" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"gW" = (/obj/effect/map_effect/interval/sound_emitter/punching,/obj/effect/map_effect/interval/effect_emitter/smoke/fire,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"gZ" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"he" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"hx" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"hJ" = (/obj/effect/meteor/tunguska,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"ib" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"iK" = (/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"lk" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"lQ" = (/obj/item/weapon/bone/skull/unknown,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"nc" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/obj/effect/step_trigger/message{message = "Finally, you gaze upon a horror your sanity fails to understand. The numbness of your body fades as the sound of glass shattering fills your mind, the horrifying sensation of barbed wire tangling your body as every waking second you spend gazing upon this nightmare tightens those bonds. . . Is this what your mortal coil desires?. . ."; once = 0},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"nn" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"nA" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"nD" = (/obj/effect/gibspawner/human,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"oj" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"pn" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/gootrap{basecolor = #610B0B; desc = "As if you stepped on a bear trap, you can feel a chilling horror crawling up your spine, gazing upon a pond of maroon fluids you can't help but experience terror upon it"; name = "Spill of fear"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"qo" = (/obj/structure/cult/tome,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"qA" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"ry" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/effect/step_trigger/message{message = "You feel a horrible chill run up your spine. . . you really should not continue. . ."; once = 0},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"sS" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/effect/map_effect/interval/sound_emitter/geiger/high,/obj/effect/map_effect/interval/sound_emitter/thunder,/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"tf" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"tq" = (/obj/effect/simple_portal/linked{desc = "It looks like a hole that leads to somewhere, although you can't quite see through it. . . It seems dormant and sealed closed. . ."; name = "Demonic portal"; portal_id = 20},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"tt" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"tz" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"uB" = (/turf/template_noop,/area/survivalpod)
|
||||
"vf" = (/turf/simulated/wall/cult,/area/survivalpod)
|
||||
"vT" = (/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"vV" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"wU" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"xC" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/effect/step_trigger/message{message = "Feels as if you are now going with the motions, your senses betray you as not only your body feels numb but your mind does so too. . ."; once = 0},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"xM" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"xV" = (/obj/fire,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"yJ" = (/obj/machinery/crystal/lava,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"zh" = (/obj/structure/grille/broken/cult,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"zn" = (/obj/structure/fans/hardlight/colorable{invisibility = 99},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"zJ" = (/obj/structure/grille/cult,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"AB" = (/obj/structure/grille/cult,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"AL" = (/obj/structure/fans/hardlight/colorable{invisibility = 99},/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"AP" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"AR" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Bt" = (/obj/machinery/power/supermatter/shard{color = "red"; simulated = 0},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Bw" = (/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Cy" = (/obj/structure/girder/cult,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"CK" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Dn" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"DQ" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"DW" = (/obj/structure/cult/pylon,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"El" = (/obj/structure/simple_door/cult,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"Es" = (/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Fv" = (/obj/structure/girder/cult,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Fz" = (/obj/item/weapon/bone/ribs,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"FX" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"GI" = (/obj/machinery/power/supermatter/shard{color = "red"; simulated = 0},/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Hm" = (/obj/structure/girder/cult,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"Ia" = (/mob/living/simple_mob/vore/demonAI{faction = "cult"},/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Ib" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"In" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Iy" = (/mob/living/simple_mob/vore/demon/wendigo{faction = "cult"},/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Jb" = (/obj/effect/decal/remains/deer,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Ji" = (/obj/structure/grille/broken/cult,/obj/fire,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"Jt" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"JY" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/gootrap{basecolor = #610B0B; desc = "As if you stepped on a bear trap, you can feel a chilling horror crawling up your spine, gazing upon a pond of maroon fluids you can't help but experience terror upon it"; name = "Spill of fear"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Kb" = (/turf/simulated/goreeyes,/area/survivalpod)
|
||||
"Ko" = (/obj/structure/constructshell/cult,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"KC" = (/obj/structure/barricade/cutout/cultist,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"KI" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"KR" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Lq" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"LQ" = (/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"LY" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Mq" = (/obj/structure/grille/broken/cult,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Mv" = (/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"MT" = (/obj/effect/gateway/active/cult,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Nh" = (/turf/simulated/gore,/area/survivalpod)
|
||||
"NI" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"NO" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"NV" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"PU" = (/mob/living/simple_mob/vore/demon/covern{faction = "cult"},/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"Qh" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"QT" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/effect/step_trigger/message{message = "There is nothing in your mind, the sensation of emptiness overwhelms you as if your body itself has been left behind. . . but you can't help but to move on. . ."; once = 0},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"RL" = (/obj/effect/decal/remains/deer,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"Sa" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Sm" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Sy" = (/obj/structure/grille/broken/cult,/obj/fire,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"Td" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/gootrap{basecolor = #610B0B; desc = "As if you stepped on a bear trap, you can feel a chilling horror crawling up your spine, gazing upon a pond of maroon fluids you can't help but experience terror upon it"; name = "Spill of fear"},/obj/effect/step_trigger/message{message = "Your body starts to feel numb with every step you take, there is an imposing presence you have yet to face. . . Maybe this isn't as bad."; once = 0},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Th" = (/obj/effect/meteor/irradiated,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"TD" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"TU" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Uc" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Ut" = (/obj/structure/cult/talisman,/obj/effect/map_effect/interval/sound_emitter/geiger/med,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"Ux" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"UH" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"UO" = (/obj/item/weapon/bone/arm,/turf/simulated/floor/lava,/area/survivalpod)
|
||||
"Vm" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Vn" = (/obj/structure/cult/forge,/turf/simulated/floor/cult,/area/survivalpod)
|
||||
"VA" = (/obj/structure/grille/broken/cult,/turf/simulated/floor/gorefloor,/area/survivalpod)
|
||||
"Yc" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb/dark{color = #8A0808; desc = "You gaze upon a mess of stained barbed wires, the attempt of making sense upon this scratches thoughts from your mind as it fills you with a sense of dread, it's best you don't get tangled in this mess"; name = "Wires of doubt"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Yn" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 4; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
"Yz" = (/mob/living/simple_mob/vore/demon/engorge{faction = "cult"},/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"YJ" = (/obj/fire,/turf/simulated/floor/gorefloor2,/area/survivalpod)
|
||||
"ZZ" = (/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 8; maxhealth = 500; name = "Veil of sanity"},/obj/structure/window/phoronreinforced{desc = "You gaze upon a nightmare of your own mind as it feels as if the horrors before you can harm you, yet the thought of keeping yourself alive cracks upon the glass you gaze at. You have to keep yourself sane. . ."; dir = 1; maxhealth = 500; name = "Veil of sanity"},/obj/effect/spider/stickyweb{color = #8A0808; desc = "Like a leash you can see those strings trying to hold you back, hesitating at the thought only to exasperate the sensation of the reality you are in. . . this may not be an illusion."; name = "Strings of distress"},/turf/simulated/floor/flesh/colour{color = red},/area/survivalpod)
|
||||
|
||||
(1,1,1) = {"
|
||||
NhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhuBuB
|
||||
NhNhNhehehehNhNhNhNhvTvTehehehehvTNhNhNhNhNhNhNhNhNhNhNhNhKbABABJivTvTxVxVxVxVxVvTvTxVxVvTvTvTNhuBuB
|
||||
NhNhehehehehehNhNhNhxVYJehDWehYJehNhNhNhNhKbehehYJYJYJehehzniKbXBtABvTvTvTyJvTvTvTvTxVxVxVxVvTNhuBuB
|
||||
NhNhehehvTvTehehehNhehehehehehehehehNhNhGIehehehiKiKiKiKiKzniKiKiKVAojNVqAvTvTvTvTvTvTvTxVxVvTNhuBuB
|
||||
NhehehvTvTvTvTYJehKbehehiKbXiKehehehnDNhehiKiKiKbhCKLYpnCKbGcMCKcAncMvMvsSvTxVvTvTvTvTvTvTvTvTNhuBuB
|
||||
NhehvTvTgWFzvTehehYJiKARJYCKUxiKJbehehKbiKbhCKLYKRehYJehiKzniKiKiKVAheFXTUvTxVvTvTvTcIvTxVxVvTNhuBuB
|
||||
NhehvTvTvThJvTehehbXARTDiKiKLqUxiKYJehYJiKQTiKehehehJtehehALbXbXBtABvTvTvTyJvTvTvTvTvTvTxVxVvTNhuBuB
|
||||
NhehehvTxVxVnDehMqojMvxMehehiKlkiKehMTehiKUciKehnDKbNhKbFvALABJifHvTxVxVxVxVvTvTvTxVxVxVvTvTvTNhuBuB
|
||||
NhYJehehehYJehJbiKYcTDiKehnDehNOUxiKehehiKlkehehehYJYJYJehALKbNhKbNhNhNhNhNhvTvTvTxVxVxVvTvTvTNhuBuB
|
||||
NhehYzehehehMqehVmMvDniKehFvehiKlkiKYJvTiKvVtfiKiKiKBtiKiKiKiKehehehNhNhNhNhvTxVvTvTvTvTxVvTvTNhuBuB
|
||||
NhNhNhNhNhKbehiKAPIniKehehKbehiKlkehMqehehehLqhxCKLYpnCKcALYUHehSyYJehvTvTNhNhNhNhNhNhNhNhNhNhNhuBuB
|
||||
NhNhNhNhNhehehiKryiKehehehVAehiKAPUHehvTyJehiKiKiKiKiKehiKehLqUHiKehYJYJThvTvTNhNhuBuBuBuBuBuBuBuBuB
|
||||
NhNhNhNhehehehARTDiKYJMTehKbehiKnATDehxVUOehehKovfzhElzJvfKoehvVLYUHYJYJvTvTvTNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhNhNhehehFvehAPTUiKYJehJtNhYJehiKTdehYJehehKbvfvfRLPURLvfvfehehehYniKehehehvTNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhNhYJYJehiKiKBwiKiKehehNhNhYJehiKAPtfehehbLehHmeDeDKCeDeDvfehehiKxCehehehehehNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehYJehehiKLQIniKehehehNhNhehYJiKAPcbehehYJehvfVnqoUteDeDCylQGIiKAPtfehMTehehNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehehiKiKZZTDiKiKehYJNhNhNhehehehNOMvtfiKYJehvfvfzJvfvfzhvTvTehehfhTDiKJbehehNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehiKQhtzEsEsbuiKYJYJNhNhNhehehehiKLqMvtfehehMqehehehehehYJYJehehAPTDiKYJehehNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehiKgZMvMvMvcbiKYJYJNhNhNhehehJbehiKLqFXUHiKehiKiKiKiKehehiKehSmMvKRiKYJMqNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehiKYcMvtqMvcbiKYJYJNhNhNhehehehMTnDehiKnACKCKNVibNVIbNVtzDQNVFXwUiKiKYJehNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehiKYcMvMvMvcbiKehehNhNhNhNhehehKbehehYJehiKehLqFXKINIFXFXFXnniKehehehehehNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhehiKfRSaNINIttiKehNhNhNhNhNhehehehehehYJehehehiKiKiKehiKiKiKiKehYJehehehNhNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhNhehiKiKiKiKiKehehNhNhNhNhNhehehehehehehNhKbNhNhehKbehehehMqehehehehKbNhNhNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhNhNhehehehIaehehehNhNhNhNhNhIyehehehNhNhNhNhNhNhNhNhNhNhehehehehehNhNhNhNhNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
NhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhNhuBuBuBuBuBuBuBuBuBuB
|
||||
"}
|
||||
59
maps/_templates_and_guidance/Templates/shelter_Medical.dmm
Normal file
@@ -0,0 +1,59 @@
|
||||
"a" = (/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"b" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/structure/curtain/open/privacy,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"c" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning/full,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"d" = (/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"e" = (/obj/machinery/light/small,/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"f" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"g" = (/obj/structure/table/glass,/obj/structure/closet/secure_closet/guncabinet/phase{pixel_y = -32},/obj/item/weapon/gun/energy/locked/frontier/holdout,/obj/item/weapon/gun/energy/locked/frontier/holdout,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"h" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"i" = (/obj/effect/floor_decal/industrial/danger/full,/obj/structure/fans/tiny,/obj/machinery/door/airlock/voidcraft/survival_pod,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"j" = (/obj/structure/sign/mining/survival,/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"k" = (/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"l" = (/obj/machinery/sleeper/survival_pod,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"m" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"n" = (/obj/machinery/smartfridge/survival_pod,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu10,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu11,/obj/item/weapon/storage/mre/menu11,/obj/item/device/fbp_backup_cell,/obj/item/device/fbp_backup_cell,/obj/item/device/fbp_backup_cell,/obj/item/device/fbp_backup_cell,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,/obj/item/weapon/storage/box/freezer,/obj/item/weapon/storage/box/freezer,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/beaker,/obj/machinery/light{dir = 1},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"o" = (/obj/item/device/gps/computer,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"p" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/toilet{dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"s" = (/obj/structure/sign/mining/survival{dir = 1},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"t" = (/obj/structure/window/reinforced/survival_pod{dir = 8},/obj/structure/window/reinforced/survival_pod{dir = 4},/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/window/reinforced/survival_pod,/obj/structure/grille,/obj/structure/curtain/black,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"u" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"v" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"w" = (/obj/structure/table/steel_reinforced,/obj/machinery/chemical_dispenser/full,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"x" = (/obj/structure/sign/redcross,/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"z" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/sign/mining/survival{dir = 4},/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"A" = (/obj/machinery/shower{dir = 8},/obj/item/weapon/soap/deluxe,/obj/structure/curtain,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"B" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"C" = (/obj/effect/floor_decal/industrial/outline,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"D" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/table/gamblingtable,/obj/item/device/starcaster_news,/obj/item/weapon/deck/cards,/obj/structure/fireaxecabinet{pixel_y = 27},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"E" = (/obj/machinery/optable,/obj/machinery/oxygen_pump/anesthetic{pixel_x = 32},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"F" = (/obj/machinery/door/window/survival_pod{dir = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"G" = (/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"H" = (/obj/machinery/smartfridge/survival_pod,/obj/item/weapon/storage/box/bodybags,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/device/sleevemate,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/surgery,/obj/item/device/defib_kit/compact/loaded,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/weapon/extinguisher/mini,/obj/item/weapon/extinguisher/mini,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/obj/item/device/binoculars,/obj/item/device/bluespaceradio,/obj/item/device/radio/emergency,/obj/item/device/radio/emergency,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/space,/obj/item/weapon/storage/box/survival/comp,/obj/item/weapon/storage/box/survival/comp,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/toy/crossbow,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"I" = (/obj/machinery/light,/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"J" = (/obj/machinery/sleep_console{dir = 4},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"K" = (/obj/structure/fans,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"M" = (/obj/structure/sign/nosmoking_2,/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"N" = (/obj/structure/sign/mining,/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
|
||||
"O" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"P" = (/obj/structure/sign/mining/survival{dir = 4},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"R" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/machinery/vending/medical{req_access = null; req_log_access = null},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"S" = (/obj/machinery/iv_drip,/obj/machinery/iv_drip,/obj/machinery/vending/wallmed1{dir = 8; pixel_x = 22; pixel_y = 3},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"T" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/industrial/loading{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"U" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"V" = (/obj/structure/disposalpipe/segment,/obj/structure/sign/mining/survival{dir = 4},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"W" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
|
||||
"X" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
|
||||
"Y" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/surgery,/obj/structure/sink/kitchen{dir = 4; pixel_x = -13},/obj/machinery/recharger,/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
"Z" = (/obj/machinery/door/window/survival_pod{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
|
||||
|
||||
(1,1,1) = {"
|
||||
asGGNGtsO
|
||||
XKnoGHubV
|
||||
GlTEGBkSm
|
||||
GYkwGUkbm
|
||||
hRFvDfFcz
|
||||
idddddddi
|
||||
xCCCCMZpx
|
||||
XJIgWGeAP
|
||||
ajGGNGGja
|
||||
"}
|
||||
@@ -22570,6 +22570,9 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/tether/surfacebase/shuttle_pad)
|
||||
"aKj" = (
|
||||
@@ -34995,6 +34998,7 @@
|
||||
id = "secreet";
|
||||
name = "Tintable Window"
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
/obj/structure/window/reinforced/polarized{
|
||||
id = "secreet";
|
||||
name = "Tintable Window"
|
||||
@@ -35002,6 +35006,12 @@
|
||||
/obj/machinery/door/firedoor/glass,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/tether/surfacebase/barbackmaintenance)
|
||||
=======
|
||||
/obj/effect/floor_decal/techfloor,
|
||||
/obj/machinery/light,
|
||||
/turf/simulated/floor/tiled/techfloor,
|
||||
/area/crew_quarters/sleep/cryo)
|
||||
>>>>>>> 6a2e26314e... Merge pull request #12739 from GhostActual/late_at_night
|
||||
"bhc" = (
|
||||
/obj/structure/grille,
|
||||
/obj/structure/cable/green{
|
||||
@@ -35161,11 +35171,9 @@
|
||||
/turf/simulated/floor/tiled/monotile,
|
||||
/area/tether/surfacebase/southhall)
|
||||
"bhp" = (
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/tether/surfacebase/southhall)
|
||||
@@ -41616,12 +41624,21 @@
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/crew_quarters/recreation_area)
|
||||
<<<<<<< HEAD
|
||||
"ooI" = (
|
||||
/obj/effect/floor_decal/techfloor/orange{
|
||||
dir = 5
|
||||
},
|
||||
/turf/simulated/floor/tiled/techfloor,
|
||||
/area/teleporter/departing)
|
||||
=======
|
||||
"ome" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/tether/surfacebase/southhall)
|
||||
>>>>>>> 6a2e26314e... Merge pull request #12739 from GhostActual/late_at_night
|
||||
"ooM" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/yellow,
|
||||
/turf/simulated/floor/tiled/monofloor{
|
||||
@@ -42276,6 +42293,25 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/hallway/lower/third_south)
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
"qvs" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable/orange{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/tether/surfacebase/shuttle_pad)
|
||||
>>>>>>> 6a2e26314e... Merge pull request #12739 from GhostActual/late_at_night
|
||||
"qze" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
@@ -313112,9 +313148,15 @@ bhi
|
||||
qbo
|
||||
beU
|
||||
bhm
|
||||
<<<<<<< HEAD
|
||||
beU
|
||||
bhp
|
||||
beU
|
||||
=======
|
||||
fsd
|
||||
qbo
|
||||
ome
|
||||
>>>>>>> 6a2e26314e... Merge pull request #12739 from GhostActual/late_at_night
|
||||
beU
|
||||
gRG
|
||||
laB
|
||||
@@ -313394,7 +313436,7 @@ hId
|
||||
bgm
|
||||
hId
|
||||
ely
|
||||
hId
|
||||
bhp
|
||||
jCE
|
||||
hId
|
||||
bhq
|
||||
|
||||
@@ -1199,6 +1199,9 @@ const VoreUserPreferences = (props, context) => {
|
||||
liq_rec,
|
||||
liq_giv,
|
||||
autotransferable,
|
||||
drop_vore,
|
||||
stumble_vore,
|
||||
slip_vore,
|
||||
} = data.prefs;
|
||||
|
||||
const {
|
||||
@@ -1315,6 +1318,48 @@ const VoreUserPreferences = (props, context) => {
|
||||
disabled: "Spontaneous Pred Disabled",
|
||||
},
|
||||
},
|
||||
toggle_drop_vore: {
|
||||
action: "toggle_drop_vore",
|
||||
test: drop_vore,
|
||||
tooltip: {
|
||||
main: "Allows for dropnom spontaneous vore to occur. "
|
||||
+ "Note, you still need spontaneous vore pred and/or prey enabled.",
|
||||
enable: "Click here to allow for dropnoms.",
|
||||
disable: "Click here to disable dropnoms.",
|
||||
},
|
||||
content: {
|
||||
enabled: "Drop Noms Enabled",
|
||||
disabled: "Drop Noms Disabled",
|
||||
},
|
||||
},
|
||||
toggle_slip_vore: {
|
||||
action: "toggle_slip_vore",
|
||||
test: slip_vore,
|
||||
tooltip: {
|
||||
main: "Allows for slip related spontaneous vore to occur. "
|
||||
+ "Note, you still need spontaneous vore pred and/or prey enabled.",
|
||||
enable: "Click here to allow for slip vore.",
|
||||
disable: "Click here to disable slip vore.",
|
||||
},
|
||||
content: {
|
||||
enabled: "Slip Vore Enabled",
|
||||
disabled: "Slip Vore Disabled",
|
||||
},
|
||||
},
|
||||
toggle_stumble_vore: {
|
||||
action: "toggle_stumble_vore",
|
||||
test: stumble_vore,
|
||||
tooltip: {
|
||||
main: "Allows for stumble related spontaneous vore to occur. "
|
||||
+ " Note, you still need spontaneous vore pred and/or prey enabled.",
|
||||
enable: "Click here to allow for stumble vore.",
|
||||
disable: "Click here to disable stumble vore.",
|
||||
},
|
||||
content: {
|
||||
enabled: "Stumble Vore Enabled",
|
||||
disabled: "Stumble Vore Disabled",
|
||||
},
|
||||
},
|
||||
spawnbelly: {
|
||||
action: "toggle_latejoin_vore",
|
||||
test: latejoin_vore,
|
||||
@@ -1526,6 +1571,15 @@ const VoreUserPreferences = (props, context) => {
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.dropnom_pred} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.toggle_drop_vore} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.toggle_slip_vore} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%" grow={1}>
|
||||
<VoreUserPreferenceItem spec={preferences.toggle_stumble_vore} />
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="32%">
|
||||
<VoreUserPreferenceItem spec={preferences.spawnbelly} />
|
||||
</Flex.Item>
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
#include "code\__defines\shuttle.dm"
|
||||
#include "code\__defines\sound.dm"
|
||||
#include "code\__defines\spaceman_dmm.dm"
|
||||
#include "code\__defines\span_vr.dm"
|
||||
#include "code\__defines\species_languages.dm"
|
||||
#include "code\__defines\species_languages_vr.dm"
|
||||
#include "code\__defines\species_languages_YW.dm"
|
||||
@@ -2511,6 +2512,7 @@
|
||||
#include "code\modules\games\dice.dm"
|
||||
#include "code\modules\games\spaceball_cards.dm"
|
||||
#include "code\modules\games\tarot.dm"
|
||||
#include "code\modules\games\schnapsen_vr.dm"
|
||||
#include "code\modules\games\wizoff.dm"
|
||||
#include "code\modules\genetics\side_effects.dm"
|
||||
#include "code\modules\ghosttrap\trap.dm"
|
||||
@@ -4282,6 +4284,7 @@
|
||||
#include "code\modules\vore\eating\silicon_vr.dm"
|
||||
#include "code\modules\vore\eating\simple_animal_vr.dm"
|
||||
#include "code\modules\vore\eating\slipvore_vr.dm"
|
||||
#include "code\modules\vore\eating\stumblevore_vr.dm"
|
||||
#include "code\modules\vore\eating\transforming_vr.dm"
|
||||
#include "code\modules\vore\eating\vore_vr.dm"
|
||||
#include "code\modules\vore\eating\vorehooks_vr.dm"
|
||||
|
||||