mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
515 Compliance part 2 (#20809)
* more illegal procpaths * Update code/modules/ruins/lavalandruin_code/puzzle.dm * REGEX_REPLACE_HANDLER * shuttle fix
This commit is contained in:
@@ -133,7 +133,7 @@
|
||||
var/datum/client_login_processor/CLP = new processor_type
|
||||
GLOB.client_login_processors += CLP
|
||||
// Sort them by priority, lowest first
|
||||
sortTim(GLOB.client_login_processors, /proc/cmp_login_processor_priority)
|
||||
sortTim(GLOB.client_login_processors, GLOBAL_PROC_REF(cmp_login_processor_priority))
|
||||
|
||||
GLOB.emote_list = init_emote_list()
|
||||
|
||||
|
||||
@@ -755,8 +755,6 @@ The _flatIcons list is a cache for generated icon files.
|
||||
break
|
||||
layers[current] = current_layer
|
||||
|
||||
//sortTim(layers, /proc/cmp_image_layer_asc)
|
||||
|
||||
var/icon/add // Icon of overlay being added
|
||||
|
||||
// Current dimensions of flattened icon
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
/datum/pathfind/New(atom/movable/caller, atom/goal, id, max_distance, mintargetdist, simulated_only, avoid, diagonal_safety)
|
||||
src.caller = caller
|
||||
end = get_turf(goal)
|
||||
open = new /datum/heap(/proc/HeapPathWeightCompare)
|
||||
open = new /datum/heap(GLOBAL_PROC_REF(HeapPathWeightCompare))
|
||||
sources = new()
|
||||
src.id = id
|
||||
src.max_distance = max_distance
|
||||
@@ -428,7 +428,7 @@
|
||||
for(var/obj/iter_object in destination_turf)
|
||||
if(!iter_object.CanPathfindPass(ID, reverse_dir, caller, no_id = no_id))
|
||||
return TRUE
|
||||
|
||||
|
||||
for(var/mob/living/iter_mob in destination_turf)
|
||||
if(!iter_mob.CanPathfindPass(ID, reverse_dir, caller, no_id = no_id))
|
||||
return TRUE
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* Proc intended to be used when someone wants the src datum to be qdeled when a certain signal is sent to them.
|
||||
*
|
||||
* Example usage:
|
||||
* RegisterSignal(item, COMSIG_PARENT_QDELETING, /datum/proc/signal_qdel)
|
||||
* RegisterSignal(item, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/datum, signal_qdel))
|
||||
*/
|
||||
/datum/proc/signal_qdel()
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -81,7 +81,7 @@ GLOBAL_LIST_EMPTY(uid_log)
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
var/list/sorted = sortTim(GLOB.uid_log, cmp=/proc/cmp_numeric_dsc, associative = TRUE)
|
||||
var/list/sorted = sortTim(GLOB.uid_log, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE)
|
||||
var/list/text = list("<h1>UID Log</h1>", "<p>Current UID: [GLOB.next_unique_datum_id]</p>", "<ul>")
|
||||
for(var/key in sorted)
|
||||
text += "<li>[key] - [sorted[key]]</li>"
|
||||
|
||||
@@ -15,3 +15,6 @@
|
||||
#define NAMEOF_STATIC(datum, X) (#X || type::##X)
|
||||
#define CALL_EXT call_ext
|
||||
#endif
|
||||
|
||||
/// Use this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides
|
||||
#define REGEX_REPLACE_HANDLER SHOULD_NOT_OVERRIDE(TRUE)
|
||||
|
||||
@@ -140,7 +140,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
|
||||
return
|
||||
del(Master)
|
||||
var/list/subsytem_types = subtypesof(/datum/controller/subsystem)
|
||||
sortTim(subsytem_types, /proc/cmp_subsystem_init)
|
||||
sortTim(subsytem_types, GLOBAL_PROC_REF(cmp_subsystem_init))
|
||||
for(var/I in subsytem_types)
|
||||
new I
|
||||
. = Recreate_MC()
|
||||
|
||||
@@ -99,7 +99,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
//Code used for first master on game boot or if existing master got deleted
|
||||
Master = src
|
||||
var/list/subsystem_types = subtypesof(/datum/controller/subsystem)
|
||||
sortTim(subsystem_types, /proc/cmp_subsystem_init)
|
||||
sortTim(subsystem_types, GLOBAL_PROC_REF(cmp_subsystem_init))
|
||||
|
||||
//Find any abandoned subsystem from the previous master (if there was any)
|
||||
var/list/existing_subsystems = list()
|
||||
@@ -125,7 +125,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
/datum/controller/master/Shutdown()
|
||||
processing = FALSE
|
||||
sortTim(subsystems, /proc/cmp_subsystem_init)
|
||||
sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_init))
|
||||
reverseRange(subsystems)
|
||||
for(var/datum/controller/subsystem/ss in subsystems)
|
||||
log_world("Shutting down [ss.name] subsystem...")
|
||||
@@ -213,7 +213,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
log_startup_progress("Initializing subsystems...")
|
||||
|
||||
// Sort subsystems by init_order, so they initialize in the correct order.
|
||||
sortTim(subsystems, /proc/cmp_subsystem_init)
|
||||
sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_init))
|
||||
|
||||
var/start_timeofday = REALTIMEOFDAY
|
||||
// Initialize subsystems.
|
||||
@@ -238,7 +238,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
SetRunLevel(RUNLEVEL_LOBBY)
|
||||
|
||||
// Sort subsystems by display setting for easy access.
|
||||
sortTim(subsystems, /proc/cmp_subsystem_display)
|
||||
sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_display))
|
||||
// Set world options.
|
||||
world.tick_lag = GLOB.configuration.mc.ticklag
|
||||
var/initialized_tod = REALTIMEOFDAY
|
||||
@@ -318,9 +318,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
queue_tail = null
|
||||
//these sort by lower priorities first to reduce the number of loops needed to add subsequent SS's to the queue
|
||||
//(higher subsystems will be sooner in the queue, adding them later in the loop means we don't have to loop thru them next queue add)
|
||||
sortTim(tickersubsystems, /proc/cmp_subsystem_priority)
|
||||
sortTim(tickersubsystems, GLOBAL_PROC_REF(cmp_subsystem_priority))
|
||||
for(var/I in runlevel_sorted_subsystems)
|
||||
sortTim(I, /proc/cmp_subsystem_priority)
|
||||
sortTim(I, GLOBAL_PROC_REF(cmp_subsystem_priority))
|
||||
I += tickersubsystems
|
||||
|
||||
var/cached_runlevel = current_runlevel
|
||||
|
||||
@@ -84,7 +84,7 @@ SUBSYSTEM_DEF(garbage)
|
||||
var/list/dellog = list()
|
||||
|
||||
//sort by how long it's wasted hard deleting
|
||||
sortTim(items, cmp=/proc/cmp_qdel_item_time, associative = TRUE)
|
||||
sortTim(items, GLOBAL_PROC_REF(cmp_qdel_item_time), TRUE)
|
||||
for(var/path in items)
|
||||
var/datum/qdel_item/I = items[path]
|
||||
dellog += "Path: [path]"
|
||||
|
||||
@@ -236,7 +236,7 @@ SUBSYSTEM_DEF(tickets)
|
||||
for(var/key in response_phrases) //build a new list based on the short descriptive keys of the master list so we can send this as the input instead of the full paragraphs to the admin choosing which autoresponse
|
||||
sorted_responses += key
|
||||
|
||||
var/message_key = input("Select an autoresponse. This will mark the ticket as resolved.", "Autoresponse") as null|anything in sortTim(sorted_responses, /proc/cmp_text_asc) //use sortTim and cmp_text_asc to sort alphabetically
|
||||
var/message_key = input("Select an autoresponse. This will mark the ticket as resolved.", "Autoresponse") as null|anything in sortTim(sorted_responses, GLOBAL_PROC_REF(cmp_text_asc)) //use sortTim and cmp_text_asc to sort alphabetically
|
||||
var/client/ticket_owner = get_client_by_ckey(T.client_ckey)
|
||||
switch(message_key)
|
||||
if(null) //they cancelled
|
||||
|
||||
@@ -572,7 +572,7 @@ GLOBAL_LIST_EMPTY(timers_by_type)
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
var/list/sorted = sortTim(GLOB.timers_by_type, cmp=/proc/cmp_numeric_dsc, associative = TRUE)
|
||||
var/list/sorted = sortTim(GLOB.timers_by_type, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE)
|
||||
var/list/text = list("<h1>Timer Log</h1>", "<ul>")
|
||||
for(var/key in sorted)
|
||||
text += "<li>[key] - [sorted[key]]</li>"
|
||||
@@ -595,7 +595,7 @@ GLOBAL_LIST_EMPTY(timers_by_type)
|
||||
timers[cbtxt] = 1
|
||||
|
||||
|
||||
var/list/sorted = sortTim(timers, cmp=/proc/cmp_numeric_dsc, associative = TRUE)
|
||||
var/list/sorted = sortTim(timers, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE)
|
||||
var/list/text = list("<h1>All active timers sorted by callback</h1>", "<ul>")
|
||||
for(var/key in sorted)
|
||||
text += "<li>[key] - [sorted[key]]</li>"
|
||||
@@ -612,7 +612,7 @@ GLOBAL_LIST_EMPTY(timers_by_type)
|
||||
timers2[cbtxt] = 1
|
||||
|
||||
text += "<h1>All buckets, sorted by callback</h1><ul>"
|
||||
var/list/sorted2 = sortTim(timers2, cmp=/proc/cmp_numeric_dsc, associative = TRUE)
|
||||
var/list/sorted2 = sortTim(timers2, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE)
|
||||
for(var/key in sorted2)
|
||||
text += "<li>[key] - [sorted2[key]]</li>"
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ if(!result || result.ckey != __ckey){\
|
||||
for(var/i in invalid_mobs)
|
||||
selected_mobs -= i // Cleanup
|
||||
|
||||
log_records = sortTim(log_records, /proc/compare_log_record)
|
||||
log_records = sortTim(log_records, GLOBAL_PROC_REF(compare_log_record))
|
||||
|
||||
/** Binary search like implementation to find the earliest log
|
||||
* Returns the index of the earliest log using the time_from value for the given list of logs.
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
if(!(head_organ.dna.species.name in S.species_allowed)) //If the user's head is not of a species the head accessory style allows, skip it. Otherwise, add it to the list.
|
||||
continue
|
||||
available += head_accessory
|
||||
var/list/sorted = sortTim(available, /proc/cmp_text_asc)
|
||||
var/list/sorted = sortTim(available, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE, length(sorted))
|
||||
if(headacc > 0 && headacc <= length(sorted))
|
||||
|
||||
@@ -380,6 +380,7 @@
|
||||
return message
|
||||
|
||||
/datum/mutation/disability/speech/chav/proc/replace_speech(matched)
|
||||
REGEX_REPLACE_HANDLER
|
||||
return chavlinks[matched]
|
||||
|
||||
// WAS: /datum/bioEffect/swedish
|
||||
|
||||
@@ -665,7 +665,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
var/datum/outfit/O = path //not much to initalize here but whatever
|
||||
if(initial(O.can_be_admin_equipped))
|
||||
outfits[initial(O.name)] = path
|
||||
outfits = special_outfits + sortTim(outfits, /proc/cmp_text_asc)
|
||||
outfits = special_outfits + sortTim(outfits, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
var/dresscode = input("Select outfit", "Robust quick dress shop") as null|anything in outfits
|
||||
if(isnull(dresscode))
|
||||
@@ -681,7 +681,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
var/datum/outfit/O = path
|
||||
if(initial(O.can_be_admin_equipped))
|
||||
job_outfits[initial(O.name)] = path
|
||||
job_outfits = sortTim(job_outfits, /proc/cmp_text_asc)
|
||||
job_outfits = sortTim(job_outfits, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
dresscode = input("Select job equipment", "Robust quick dress shop") as null|anything in job_outfits
|
||||
dresscode = job_outfits[dresscode]
|
||||
@@ -784,7 +784,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
return
|
||||
|
||||
var/list/dellog = list("<B>List of things that have gone through qdel this round</B><BR><BR><ol>")
|
||||
sortTim(SSgarbage.items, cmp=/proc/cmp_qdel_item_time, associative = TRUE)
|
||||
sortTim(SSgarbage.items, GLOBAL_PROC_REF(cmp_qdel_item_time), TRUE)
|
||||
for(var/path in SSgarbage.items)
|
||||
var/datum/qdel_item/I = SSgarbage.items[path]
|
||||
dellog += "<li><u>[path]</u><ul>"
|
||||
|
||||
@@ -466,7 +466,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
var/obj/effect/landmark/synd_spawn = locate("landmark*Syndicate-Spawn")
|
||||
if(synd_spawn)
|
||||
new_character.loc = get_turf(synd_spawn)
|
||||
call(/datum/game_mode/proc/equip_syndicate)(new_character)
|
||||
call(TYPE_PROC_REF(/datum/game_mode, equip_syndicate))(new_character)
|
||||
|
||||
if("Deathsquad Commando")//Leaves them at late-join spawn.
|
||||
new_character.equip_deathsquad_commando()
|
||||
@@ -496,7 +496,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
GLOB.data_core.manifest_inject(new_character)
|
||||
|
||||
if(alert(new_character,"Would you like an active AI to announce this character?",,"No","Yes")=="Yes")
|
||||
call(/mob/new_player/proc/AnnounceArrival)(new_character, new_character.mind.assigned_role)
|
||||
call(TYPE_PROC_REF(/mob/new_player, AnnounceArrival))(new_character, new_character.mind.assigned_role)
|
||||
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has respawned [key_name_admin(G_found)] as [new_character.real_name].</span>", 1)
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
if(can_use_species(user, _species))
|
||||
new_species += _species
|
||||
|
||||
active_character.species = input("Please select a species", "Character Generation", null) in sortTim(new_species, /proc/cmp_text_asc)
|
||||
active_character.species = input("Please select a species", "Character Generation", null) in sortTim(new_species, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/datum/species/NS = GLOB.all_species[active_character.species]
|
||||
if(!istype(NS)) //The species was invalid. Notify the user and fail out.
|
||||
active_character.species = prev_species
|
||||
@@ -308,7 +308,7 @@
|
||||
if(!(lang.flags & RESTRICTED))
|
||||
new_languages += lang.name
|
||||
|
||||
active_character.language = input("Please select a secondary language", "Character Generation", null) in sortTim(new_languages, /proc/cmp_text_asc)
|
||||
active_character.language = input("Please select a secondary language", "Character Generation", null) in sortTim(new_languages, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
if("autohiss_mode")
|
||||
if(S.autohiss_basic_map)
|
||||
@@ -367,7 +367,7 @@
|
||||
if(active_character.species in SA.species_allowed) //If the user's head is of a species the hairstyle allows, add it to the list.
|
||||
valid_hairstyles += hairstyle
|
||||
|
||||
sortTim(valid_hairstyles, /proc/cmp_text_asc) //this alphabetizes the list
|
||||
sortTim(valid_hairstyles, GLOBAL_PROC_REF(cmp_text_asc)) //this alphabetizes the list
|
||||
var/new_h_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in valid_hairstyles
|
||||
if(new_h_style)
|
||||
active_character.h_style = new_h_style
|
||||
@@ -412,7 +412,7 @@
|
||||
|
||||
valid_head_accessory_styles += head_accessory_style
|
||||
|
||||
sortTim(valid_head_accessory_styles, /proc/cmp_text_asc)
|
||||
sortTim(valid_head_accessory_styles, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_head_accessory_style = input(user, "Choose the style of your character's head accessory:", "Character Preference") as null|anything in valid_head_accessory_styles
|
||||
if(new_head_accessory_style)
|
||||
active_character.ha_style = new_head_accessory_style
|
||||
@@ -470,7 +470,7 @@
|
||||
continue
|
||||
|
||||
valid_markings += markingstyle
|
||||
sortTim(valid_markings, /proc/cmp_text_asc)
|
||||
sortTim(valid_markings, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_marking_style = input(user, "Choose the style of your character's head markings:", "Character Preference", active_character.m_styles["head"]) as null|anything in valid_markings
|
||||
if(new_marking_style)
|
||||
active_character.m_styles["head"] = new_marking_style
|
||||
@@ -494,7 +494,7 @@
|
||||
continue
|
||||
|
||||
valid_markings += markingstyle
|
||||
sortTim(valid_markings, /proc/cmp_text_asc)
|
||||
sortTim(valid_markings, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference", active_character.m_styles["body"]) as null|anything in valid_markings
|
||||
if(new_marking_style)
|
||||
active_character.m_styles["body"] = new_marking_style
|
||||
@@ -524,7 +524,7 @@
|
||||
continue
|
||||
|
||||
valid_markings += markingstyle
|
||||
sortTim(valid_markings, /proc/cmp_text_asc)
|
||||
sortTim(valid_markings, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_marking_style = input(user, "Choose the style of your character's tail markings:", "Character Preference", active_character.m_styles["tail"]) as null|anything in valid_markings
|
||||
if(new_marking_style)
|
||||
active_character.m_styles["tail"] = new_marking_style
|
||||
@@ -551,7 +551,7 @@
|
||||
possible_body_accessories += "None" //the only null entry should be the "None" option
|
||||
else
|
||||
possible_body_accessories -= "None" // in case an admin is viewing it
|
||||
sortTim(possible_body_accessories, /proc/cmp_text_asc)
|
||||
sortTim(possible_body_accessories, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_body_accessory = input(user, "Choose your body accessory:", "Character Preference") as null|anything in possible_body_accessories
|
||||
if(new_body_accessory)
|
||||
active_character.m_styles["tail"] = "None"
|
||||
@@ -599,7 +599,7 @@
|
||||
else //If the user is not a species who can have robotic heads, use the default handling.
|
||||
if(active_character.species in SA.species_allowed) //If the user's head is of a species the facial hair style allows, add it to the list.
|
||||
valid_facial_hairstyles += facialhairstyle
|
||||
sortTim(valid_facial_hairstyles, /proc/cmp_text_asc)
|
||||
sortTim(valid_facial_hairstyles, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in valid_facial_hairstyles
|
||||
if(new_f_style)
|
||||
active_character.f_style = new_f_style
|
||||
@@ -615,7 +615,7 @@
|
||||
if(!(active_character.species in SA.species_allowed))
|
||||
continue
|
||||
valid_underwear[underwear] = GLOB.underwear_list[underwear]
|
||||
sortTim(valid_underwear, /proc/cmp_text_asc)
|
||||
sortTim(valid_underwear, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in valid_underwear
|
||||
ShowChoices(user)
|
||||
if(new_underwear)
|
||||
@@ -631,7 +631,7 @@
|
||||
if(!(active_character.species in SA.species_allowed))
|
||||
continue
|
||||
valid_undershirts[undershirt] = GLOB.undershirt_list[undershirt]
|
||||
sortTim(valid_undershirts, /proc/cmp_text_asc)
|
||||
sortTim(valid_undershirts, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in valid_undershirts
|
||||
ShowChoices(user)
|
||||
if(new_undershirt)
|
||||
@@ -648,7 +648,7 @@
|
||||
if(!(active_character.species in SA.species_allowed))
|
||||
continue
|
||||
valid_sockstyles[sockstyle] = GLOB.socks_list[sockstyle]
|
||||
sortTim(valid_sockstyles, /proc/cmp_text_asc)
|
||||
sortTim(valid_sockstyles, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
var/new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in valid_sockstyles
|
||||
ShowChoices(user)
|
||||
if(new_socks)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
var/datum/outfit/O = path
|
||||
if(initial(O.can_be_admin_equipped))
|
||||
standard_outfit_options[initial(O.name)] = path
|
||||
sortTim(standard_outfit_options, /proc/cmp_text_asc)
|
||||
sortTim(standard_outfit_options, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
outfit_options = standard_outfit_options
|
||||
|
||||
/datum/action/chameleon_outfit/Trigger()
|
||||
|
||||
@@ -357,7 +357,7 @@
|
||||
|
||||
valid_species += current_species_name
|
||||
|
||||
return sortTim(valid_species, /proc/cmp_text_asc)
|
||||
return sortTim(valid_species, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/mob/living/carbon/human/proc/generate_valid_hairstyles()
|
||||
var/list/valid_hairstyles = new()
|
||||
@@ -385,7 +385,7 @@
|
||||
if(H.dna.species.name in S.species_allowed) //If the user's head is of a species the hairstyle allows, add it to the list.
|
||||
valid_hairstyles += hairstyle
|
||||
|
||||
return sortTim(valid_hairstyles, /proc/cmp_text_asc)
|
||||
return sortTim(valid_hairstyles, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/mob/living/carbon/human/proc/generate_valid_facial_hairstyles()
|
||||
var/list/valid_facial_hairstyles = new()
|
||||
@@ -414,7 +414,7 @@
|
||||
if(H.dna.species.name in S.species_allowed) //If the user's head is of a species the facial hair style allows, add it to the list.
|
||||
valid_facial_hairstyles += facialhairstyle
|
||||
|
||||
return sortTim(valid_facial_hairstyles, /proc/cmp_text_asc)
|
||||
return sortTim(valid_facial_hairstyles, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/mob/living/carbon/human/proc/generate_valid_head_accessories()
|
||||
var/list/valid_head_accessories = new()
|
||||
@@ -429,7 +429,7 @@
|
||||
continue
|
||||
valid_head_accessories += head_accessory
|
||||
|
||||
return sortTim(valid_head_accessories, /proc/cmp_text_asc)
|
||||
return sortTim(valid_head_accessories, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/mob/living/carbon/human/proc/generate_valid_markings(location = "body")
|
||||
var/list/valid_markings = new()
|
||||
@@ -467,7 +467,7 @@
|
||||
continue
|
||||
valid_markings += marking
|
||||
|
||||
return sortTim(valid_markings, /proc/cmp_text_asc)
|
||||
return sortTim(valid_markings, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/mob/living/carbon/human/proc/generate_valid_body_accessories()
|
||||
var/list/valid_body_accessories = list()
|
||||
@@ -483,7 +483,7 @@
|
||||
if(dna.species.optional_body_accessory)
|
||||
valid_body_accessories += "None"
|
||||
|
||||
return sortTim(valid_body_accessories, /proc/cmp_text_asc)
|
||||
return sortTim(valid_body_accessories, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
/mob/living/carbon/human/proc/generate_valid_alt_heads()
|
||||
var/list/valid_alt_heads = list()
|
||||
@@ -498,4 +498,4 @@
|
||||
|
||||
valid_alt_heads += alternate_head
|
||||
|
||||
return sortTim(valid_alt_heads, /proc/cmp_text_asc)
|
||||
return sortTim(valid_alt_heads, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
|
||||
@@ -172,6 +172,7 @@ GLOBAL_LIST_INIT(soapy_words, list(
|
||||
return list("verb" = verb)
|
||||
|
||||
/mob/living/carbon/human/proc/replace_speech(matched)
|
||||
REGEX_REPLACE_HANDLER
|
||||
return GLOB.soapy_words[lowertext(matched)]
|
||||
|
||||
/mob/living/carbon/human/handle_message_mode(message_mode, list/message_pieces, verb, used_radios)
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
return 0
|
||||
|
||||
/obj/effect/sliding_puzzle/proc/elements_in_order()
|
||||
return sortTim(elements,cmp=/proc/cmp_xy_desc)
|
||||
return sortTim(elements, GLOBAL_PROC_REF(cmp_xy_desc))
|
||||
|
||||
/obj/effect/sliding_puzzle/proc/get_base_icon()
|
||||
var/icon/I = new('icons/obj/puzzle.dmi')
|
||||
|
||||
@@ -44,13 +44,6 @@
|
||||
if(jumpto_ports.len)
|
||||
jump_action = new /datum/action/innate/camera_jump/shuttle_docker
|
||||
..()
|
||||
/* //technically working but some icons are buggy as shit and either don't rotate or rotate wrong :
|
||||
//namely shuttle walls, shuttle windows, shuttle engines and buckled mobs
|
||||
if(rotate_action)
|
||||
rotate_action.target = user
|
||||
rotate_action.Grant(user)
|
||||
actions += rotate_action
|
||||
*/
|
||||
if(place_action)
|
||||
place_action.target = user
|
||||
place_action.Grant(user)
|
||||
@@ -62,7 +55,7 @@
|
||||
shuttle_port = null
|
||||
return
|
||||
|
||||
eyeobj = new /mob/camera/aiEye/remote/shuttle_docker(null, src)
|
||||
eyeobj = new /mob/camera/aiEye/remote/shuttle_docker(get_turf(locate("landmark*Observer-Start")), src) // There should always be an observer start landmark
|
||||
var/mob/camera/aiEye/remote/shuttle_docker/the_eye = eyeobj
|
||||
the_eye.setDir(shuttle_port.dir)
|
||||
var/turf/origin = locate(shuttle_port.x + x_offset, shuttle_port.y + y_offset, shuttle_port.z)
|
||||
|
||||
Reference in New Issue
Block a user