Conflicts galore

This commit is contained in:
Artur
2020-05-21 21:08:12 +03:00
532 changed files with 9131 additions and 5662 deletions
-3
View File
@@ -1,9 +1,6 @@
//THIS FILE CONTAINS CONSTANTS, PROCS, AND OTHER THINGS//
/////////////////////////////////////////////////////////
/mob/proc/setClickCooldown(var/timeout)
next_move = max(world.time + timeout, next_move)
/proc/get_matrix_largest()
var/matrix/mtrx=new()
return mtrx.Scale(2)
+11
View File
@@ -37,6 +37,7 @@
* TYPECONT: The typepath of the contents of the list
* COMPARE: The object to compare against, usualy the same as INPUT
* COMPARISON: The variable on the objects to compare
* COMPTYPE: How the current bin item to compare against COMPARE is fetched. By key or value.
*/
#define BINARY_INSERT(INPUT, LIST, TYPECONT, COMPARE, COMPARISON, COMPTYPE) \
do {\
@@ -670,3 +671,13 @@
for(var/key in input)
ret += key
return ret
/proc/is_type_in_ref_list(path, list/L)
if(!ispath(path))//not a path
return
for(var/i in L)
var/datum/D = i
if(!istype(D))//not an usable reference
continue
if(istype(D, path))
return TRUE
+3 -1
View File
@@ -4,7 +4,9 @@
#define SEND_SOUND(target, sound) DIRECT_OUTPUT(target, sound)
#define SEND_TEXT(target, text) DIRECT_OUTPUT(target, text)
#define WRITE_FILE(file, text) DIRECT_OUTPUT(file, text)
#define WRITE_LOG(log, text) rustg_log_write(log, text)
//This is an external call, "true" and "false" are how rust parses out booleans
#define WRITE_LOG(log, text) rustg_log_write(log, text, "true")
#define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false")
//print a warning message to world.log
#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].")
+9
View File
@@ -270,6 +270,15 @@
SEND_SIGNAL(A, COMSIG_ATOM_HEARER_IN_VIEW, processing, .)
processing += A.contents
//viewers() but with a signal, for blacklisting.
/proc/fov_viewers(depth = world.view, atom/center)
if(!center)
return
. = viewers(depth, center)
for(var/k in .)
var/mob/M = k
SEND_SIGNAL(M, COMSIG_MOB_FOV_VIEWER, center, depth, .)
/proc/get_mobs_in_radio_ranges(list/obj/item/radio/radios)
. = list()
// Returns a list of mobs who can hear any of the radios given in @radios
+2
View File
@@ -75,6 +75,8 @@
var/datum/emote/E = new path()
E.emote_list[E.key] = E
init_keybindings()
//Uplink Items
for(var/path in subtypesof(/datum/uplink_item))
var/datum/uplink_item/I = path
+6
View File
@@ -18,6 +18,12 @@
return text
return default
/proc/sanitize_islist(value, default)
if(islist(value) && length(value))
return value
if(default)
return default
/proc/sanitize_inlist(value, list/List, default)
if(value in List)
return value
+42
View File
@@ -629,3 +629,45 @@
return null
r += ascii2text(c)
return r
/proc/slot_to_string(slot)
switch(slot)
if(SLOT_BACK)
return "Backpack"
if(SLOT_WEAR_MASK)
return "Mask"
if(SLOT_HANDS)
return "Hands"
if(SLOT_BELT)
return "Belt"
if(SLOT_EARS)
return "Ears"
if(SLOT_GLASSES)
return "Glasses"
if(SLOT_GLOVES)
return "Gloves"
if(SLOT_NECK)
return "Neck"
if(SLOT_HEAD)
return "Head"
if(SLOT_SHOES)
return "Shoes"
if(SLOT_WEAR_SUIT)
return "Suit"
if(SLOT_W_UNIFORM)
return "Uniform"
if(SLOT_IN_BACKPACK)
return "In backpack"
/proc/tg_ui_icon_to_cit_ui(ui_style)
switch(ui_style)
if('icons/mob/screen_plasmafire.dmi')
return 'modular_citadel/icons/ui/screen_plasmafire.dmi'
if('icons/mob/screen_slimecore.dmi')
return 'modular_citadel/icons/ui/screen_slimecore.dmi'
if('icons/mob/screen_operative.dmi')
return 'modular_citadel/icons/ui/screen_operative.dmi'
if('icons/mob/screen_clockwork.dmi')
return 'modular_citadel/icons/ui/screen_clockwork.dmi'
else
return 'modular_citadel/icons/ui/screen_midnight.dmi'
+16 -3
View File
@@ -1,5 +1,3 @@
/*
* A large number of misc global procs.
*/
@@ -391,6 +389,16 @@ Turf and target are separate in case you want to teleport some distance from a t
break
return loc
//Returns a list of all locations the target is within.
/proc/get_nested_locs(atom/movable/M, include_turf = FALSE)
. = list()
var/atom/A = M.loc
while(A && !isturf(A))
. += A
A = A.loc
if(A && include_turf) //At this point, only the turf is left.
. += A
// returns the turf located at the map edge in the specified direction relative to A
// used for mass driver
/proc/get_edge_target_turf(atom/A, direction)
@@ -1594,8 +1602,13 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
//empty string - use TgsTargetBroadcast with admin_only = FALSE
//other string - use TgsChatBroadcast with the tag that matches config_setting, only works with TGS4, if using TGS3 the above method is used
/proc/send2chat(message, config_setting)
if(config_setting == null || !world.TgsAvailable())
if(config_setting == null)
return
UNTIL(GLOB.tgs_initialized)
if(!world.TgsAvailable())
return
var/datum/tgs_version/version = world.TgsVersion()
if(config_setting == "" || version.suite == 3)
world.TgsTargetedChatBroadcast(message, FALSE)