mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 01:57:01 +00:00
* wow awesome * pubby * Most linters * Selene part one * Helio part one * Helio part 2 * Pubby Part One * Pubby Part 2 * Pubby Part 3 * Selene Part Two * Selene Part Three * Door name finale * Bonus AI sat fixes * Infil and BS rulesets * Some fixes * Selene fix test * Selene shuttle fix * Please work helio * Update Heliostation.dmm * Update PubbyStation.dmm * debugging * Debugging again * Extra debugging * Revert "Debugging again" This reverts commitbb22d37fc9. * restore * fernando * restore helio * Selene test * fernando2 * nericopouci zusggetion * LOL FUCK YOU UPSTREAM I WIN IN THE END * Updates TGU + re-adds unit test + Heliostation * Cargo shuttle fixes * pubby + re-adds fulp tgui * Selene Prison * more tgu fixes fixes emergency shuttles, any problem I saw with pubby, and our json's having wrong area paths * maybe fixes the rest of pubby * Fixes some minor problems with prison shuttle * prison shuttle fixes * pubby fixes * more fixes to Heliostation * more fixes to pubby * maybe the last pubby fix needed * Fixes science console not having a crate location * ports my code over so checks can not fail * Pubby fixes Fixes missing APCs, Air alarms, lights, and fixes AT roundstart problems * Removes TEG, replaces with TEG boards * Fixes problems with Heliostation * fixes a minor screwup * increases helio cargo shuttle by 1 tile * test commit * Revert "test commit" This reverts commitdad04936d3. * adds an extra crash to see what the problem is * dont crash, actually * makes proper shuttle subtypes * another test * Revert "another test" This reverts commite902c090df. * Update monsterhunter_event.dm * hardcodes helio * i give up * Update Heliostation.dmm * add supply mapping log * adds more mapping logs * adds another log * MORE logging * swapping for another test * Update maps.dm * Revert "Update maps.dm" This reverts commit5b4433766b. * Revert "swapping for another test" This reverts commitf9389f54a5. * swaps around logging * more in-depth logging * removes dwidth from supply port * increases size of helio dock * logging * Update map_template.dm * Update map_template.dm * loooogs * g * s * w * Update reader.dm * Update reader.dm * acces helpes selene * sry * adds our maps to ci * Update build.js * Update build.js * Have templates.dm check for child * Revert * We call parent instead * Might be important idk * woops * restore edited file * idk if we need this * Revert "idk if we need this" This reverts commitc35c532b5a. * Revert "restore edited file" This reverts commit38c6bc3e35. * Revert "woops" This reverts commit12c979a32b. * Revert "Might be important idk" This reverts commit206f18171f. * revert debug stuff * test * Revert "test" This reverts commit7b82ec123d. * more fixes * test * Update SeleneStation.dmm * Revert "test" This reverts commit26a13f61f5. * Update SeleneStation.dmm * my bd * Moving shuttles to tg files * test * Revert "test" This reverts commit7912f8ac23. * Revert "Moving shuttles to tg files" This reverts commitd220c1a46a. * new idea * Revert "new idea" This reverts commita7d1f1a4c2. * Revert "Revert "Moving shuttles to tg files"" This reverts commit0b427cc070. * possible fix? * Docking ports * Update SeleneStation.dmm * Dockers * Mining * Arrivals * Prison conveyor & selene cargo linters * SHOULD BE GOOD PROBABLY? * Update SeleneStation.dmm * Lets Selene's supply shuttle land * Update SeleneStation.dmm * Saves heliostation * Saves Selenestation * new ordnance * Extra fixes * Update Heliostation.dmm * adds heliostation permabrig shuttle * Adds cameras * helio fix + ports garbage day fix * FISHING * erm i guess * rerun tests * Update README.md * Update janitor.dm * Beef * saves heliostation Co-authored-by: JohnFulpWillard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com>
142 lines
6.0 KiB
Plaintext
142 lines
6.0 KiB
Plaintext
//////////////////////////
|
|
/////Initial Building/////
|
|
//////////////////////////
|
|
|
|
/proc/make_datum_references_lists()
|
|
//hair
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hairstyles_list, GLOB.hairstyles_male_list, GLOB.hairstyles_female_list)
|
|
//facial hair
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hairstyles_list, GLOB.facial_hairstyles_male_list, GLOB.facial_hairstyles_female_list)
|
|
//underwear
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
|
|
//undershirt
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
|
|
//socks
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list)
|
|
//bodypart accessories (blizzard intensifies)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails, GLOB.tails_list, add_blank = TRUE)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human, add_blank = TRUE)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard, add_blank = TRUE)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, GLOB.snouts_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/horns,GLOB.horns_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, GLOB.ears_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, GLOB.wings_open_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, GLOB.frills_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, GLOB.spines_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, GLOB.animated_spines_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/caps, GLOB.caps_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings, GLOB.moth_wings_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae, GLOB.moth_antennae_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list)
|
|
init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list)
|
|
|
|
//Species
|
|
for(var/spath in subtypesof(/datum/species))
|
|
var/datum/species/S = new spath()
|
|
GLOB.species_list[S.id] = spath
|
|
sort_list(GLOB.species_list, /proc/cmp_typepaths_asc)
|
|
|
|
//Surgeries
|
|
for(var/path in subtypesof(/datum/surgery))
|
|
GLOB.surgeries_list += new path()
|
|
sort_list(GLOB.surgeries_list, /proc/cmp_typepaths_asc)
|
|
|
|
// Hair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name
|
|
for(var/path in subtypesof(/datum/sprite_accessory/gradient))
|
|
var/datum/sprite_accessory/gradient/gradient = new path()
|
|
if(gradient.gradient_category & GRADIENT_APPLIES_TO_HAIR)
|
|
GLOB.hair_gradients_list[gradient.name] = gradient
|
|
if(gradient.gradient_category & GRADIENT_APPLIES_TO_FACIAL_HAIR)
|
|
GLOB.facial_hair_gradients_list[gradient.name] = gradient
|
|
|
|
// Keybindings
|
|
init_keybindings()
|
|
|
|
GLOB.emote_list = init_emote_list()
|
|
|
|
init_crafting_recipes(GLOB.crafting_recipes)
|
|
|
|
/// Inits the crafting recipe list, sorting crafting recipe requirements in the process.
|
|
/proc/init_crafting_recipes(list/crafting_recipes)
|
|
for(var/path in subtypesof(/datum/crafting_recipe))
|
|
var/datum/crafting_recipe/recipe = new path()
|
|
recipe.reqs = sort_list(recipe.reqs, /proc/cmp_crafting_req_priority)
|
|
crafting_recipes += recipe
|
|
return crafting_recipes
|
|
|
|
//creates every subtype of prototype (excluding prototype) and adds it to list L.
|
|
//if no list/L is provided, one is created.
|
|
/proc/init_subtypes(prototype, list/L)
|
|
if(!istype(L))
|
|
L = list()
|
|
for(var/path in subtypesof(prototype))
|
|
L += new path()
|
|
return L
|
|
|
|
//returns a list of paths to every subtype of prototype (excluding prototype)
|
|
//if no list/L is provided, one is created.
|
|
/proc/init_paths(prototype, list/L)
|
|
if(!istype(L))
|
|
L = list()
|
|
for(var/path in subtypesof(prototype))
|
|
L+= path
|
|
return L
|
|
|
|
/// Functions like init_subtypes, but uses the subtype's path as a key for easy access
|
|
/proc/init_subtypes_w_path_keys(prototype, list/L)
|
|
if(!istype(L))
|
|
L = list()
|
|
for(var/path as anything in subtypesof(prototype))
|
|
L[path] = new path()
|
|
return L
|
|
|
|
/**
|
|
* Checks if that loc and dir has an item on the wall
|
|
**/
|
|
// Wall mounted machinery which are visually on the wall.
|
|
GLOBAL_LIST_INIT(WALLITEMS_INTERIOR, typecacheof(list(
|
|
/obj/item/radio/intercom,
|
|
/obj/item/storage/secure/safe,
|
|
/obj/machinery/airalarm,
|
|
/obj/machinery/bluespace_vendor,
|
|
/obj/machinery/newscaster,
|
|
/obj/machinery/button,
|
|
/obj/machinery/computer/security/telescreen,
|
|
/obj/machinery/computer/security/telescreen/entertainment,
|
|
/obj/machinery/defibrillator_mount,
|
|
/obj/machinery/door_timer,
|
|
/obj/machinery/embedded_controller/radio/simple_vent_controller,
|
|
/obj/machinery/firealarm,
|
|
/obj/machinery/flasher,
|
|
/obj/machinery/keycard_auth,
|
|
/obj/machinery/light_switch,
|
|
/obj/machinery/newscaster,
|
|
/obj/machinery/power/apc,
|
|
/obj/machinery/requests_console,
|
|
/obj/machinery/status_display,
|
|
/obj/machinery/ticket_machine,
|
|
/obj/machinery/turretid,
|
|
/obj/structure/extinguisher_cabinet,
|
|
/obj/structure/fireaxecabinet,
|
|
/obj/structure/mirror,
|
|
/obj/structure/noticeboard,
|
|
/obj/structure/reagent_dispensers/wall,
|
|
/obj/structure/sign,
|
|
/obj/structure/sign/picture_frame,
|
|
/obj/structure/sign/poster/random,
|
|
/obj/structure/sign/poster/contraband/random,
|
|
/obj/structure/sign/poster/official/random,
|
|
)))
|
|
|
|
// Wall mounted machinery which are visually coming out of the wall.
|
|
// These do not conflict with machinery which are visually placed on the wall.
|
|
GLOBAL_LIST_INIT(WALLITEMS_EXTERIOR, typecacheof(list(
|
|
/obj/machinery/camera,
|
|
/obj/machinery/light,
|
|
/obj/structure/camera_assembly,
|
|
/obj/structure/light_construct
|
|
)))
|