mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-14 12:12:37 +00:00
* Adds linter defines to repo. * Uncomments linter defines already in the code. * Resolves unreachable code linter errors. * Nukes decade+ old syndie specops code except for computer since that's mapped in????? * Resolves procs has no parent linter error. * Proc signature fixes * Bad comments * "In" danger * Type safety * Implied nested list abuse * Top level ..() usage * Sleepy coder typos * Invalid kwargs calls * Pointless returns * Linter hacks (see full message) Byond doesn't care and it has no effect but linter doesn't like var/proc for holding references to procs, despite that it's valid byond code. Also, the linter seems to have serious issues figuring out relative proc names. This commit is a sort of take-it-or-leave-it thing. It's not required, it just cuts down on warnings, but this code is valid DM code. * WHATEVER THIS IS * Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars * Fix list decoration syntax - Its a list, not list of lists - To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax. Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()` * Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors. * Fixes unwrapped negated object in list linter error. * Resolves colon-like list accessing linter error. * Turns linter on in linter config. * Fixes closet indentation properly and cleans up suit storage unit switch. Co-authored-by: Aronai Sieyes <arokha@arokha.com> Co-authored-by: Leshana <Leshana@users.noreply.github.com>
45 lines
2.1 KiB
Plaintext
45 lines
2.1 KiB
Plaintext
#define span(class, text) ("<span class='[class]'>[text]</span>")
|
|
|
|
#define get_turf(A) get_step(A,0)
|
|
|
|
#define get_x(A) (get_step(A, 0)?.x || 0)
|
|
|
|
#define get_y(A) (get_step(A, 0)?.y || 0)
|
|
|
|
#define get_z(A) (get_step(A, 0)?.z || 0)
|
|
|
|
#define RANDOM_BLOOD_TYPE pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+")
|
|
|
|
// #define to_chat(target, message) target << message Not anymore!
|
|
//#define to_chat to_chat_filename=__FILE__;to_chat_line=__LINE__;to_chat_src=src;__to_chat
|
|
#define to_chat __to_chat
|
|
#define to_world(message) to_chat(world, message)
|
|
#define to_world_log(message) world.log << message
|
|
// TODO - Baystation has this log to crazy places. For now lets just world.log, but maybe look into it later.
|
|
#define log_world(message) to_world_log(message)
|
|
#define to_file(file_entry, source_var) file_entry << source_var
|
|
#define from_file(file_entry, target_var) file_entry >> target_var
|
|
#define show_browser(target, browser_content, browser_name) target << browse(browser_content, browser_name)
|
|
#define send_rsc(target, rsc_content, rsc_name) target << browse_rsc(rsc_content, rsc_name)
|
|
#define open_link(target, url) target << link(url)
|
|
|
|
// From TG, might be useful to have.
|
|
// Didn't port SEND_TEXT() since to_chat() appears to serve the same purpose.
|
|
#define DIRECT_OUTPUT(A, B) A << B
|
|
#define SEND_IMAGE(target, image) DIRECT_OUTPUT(target, image)
|
|
#define SEND_SOUND(target, sound) DIRECT_OUTPUT(target, sound)
|
|
//#define WRITE_LOG is in logging.dm
|
|
|
|
#define CanInteract(user, state) (CanUseTopic(user, state) == STATUS_INTERACTIVE)
|
|
|
|
#define qdel_null(x) if(x) { qdel(x) ; x = null }
|
|
|
|
#define sequential_id(key) uniqueness_repository.Generate(/datum/uniqueness_generator/id_sequential, key)
|
|
|
|
#define random_id(key,min_id,max_id) uniqueness_repository.Generate(/datum/uniqueness_generator/id_random, key, min_id, max_id)
|
|
|
|
#define ARGS_DEBUG log_debug("[__FILE__] - [__LINE__]") ; for(var/arg in args) { log_debug("\t[log_info_line(arg)]") }
|
|
|
|
#define isitem(A) istype(A, /obj/item)
|
|
#define isTaurTail(A) istype(A, /datum/sprite_accessory/tail/taur)
|