Merge remote-tracking branch 'ParadiseSS13/master' into multi-instance-support

This commit is contained in:
AffectedArc07
2021-10-17 15:14:03 +01:00
23 changed files with 687 additions and 382 deletions
+3 -8
View File
@@ -13,12 +13,8 @@ GLOBAL_VAR_INIT(nologevent, 0)
if(!GLOB.nologevent)
var/rendered = "<span class=\"admin\"><span class=\"prefix\">ATTACK:</span> <span class=\"message\">[text]</span></span>"
for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights)
if(C.prefs.atklog == ATKLOG_NONE)
continue
var/msg = rendered
if(C.prefs.atklog <= loglevel)
to_chat(C, msg)
if((C.holder.rights & R_ADMIN) && (C.prefs?.atklog <= loglevel))
to_chat(C, rendered)
/**
* Sends a message to the staff able to see admin tickets
@@ -629,7 +625,6 @@ GLOBAL_VAR_INIT(nologevent, 0)
*
* Arguments:
* * M - the mob you're checking
* *
*/
/proc/is_special_character(mob/M)
if(!SSticker.mode)
@@ -640,7 +635,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
var/mob/living/silicon/robot/R = M
if(R.emagged)
return TRUE
if(M.mind.special_role)//If they have a mind and special role, they are some type of traitor or antagonist.
if(M.mind?.special_role)//If they have a mind and special role, they are some type of traitor or antagonist.
return TRUE
return FALSE
@@ -347,7 +347,7 @@
set desc = "Toggles forcing your runechat colour to white"
prefs.toggles2 ^= PREFTOGGLE_2_FORCE_WHITE_RUNECHAT
prefs.save_preferences(src)
to_chat(src, "Your runechats will [(prefs.toggles2 & PREFTOGGLE_2_FORCE_WHITE_RUNECHAT) ? "no longer" : "now"] be forced to be white.")
to_chat(src, "Your runechats will [(prefs.toggles2 & PREFTOGGLE_2_FORCE_WHITE_RUNECHAT) ? "now" : "no longer"] be forced to be white.")
/client/verb/toggle_simple_stat_panel()
set name = "Toggle Simple Status Panel"
+3
View File
@@ -31,6 +31,9 @@
to_chat(M, "<span class='danger'>[message] ...LAWS UPDATED</span>")
to_chat(M, "<br>")
for(var/player in GLOB.dead_mob_list)
to_chat(player, "<span class='deadsay'><b>[M] ([ghost_follow_link(M, player)])</b> has recieved an ion law:\n<b>'[message]'</b></span>")
if(botEmagChance)
for(var/mob/living/simple_animal/bot/bot in GLOB.machines)
if(prob(botEmagChance))
+24 -11
View File
@@ -7,22 +7,30 @@
desc = "Controls a stacking machine... in theory."
density = FALSE
anchored = TRUE
var/obj/machinery/mineral/stacking_machine/machine = null
var/obj/machinery/mineral/stacking_machine/machine
var/machinedir = SOUTHEAST
/obj/machinery/mineral/stacking_unit_console/New()
..()
/obj/machinery/mineral/stacking_unit_console/Initialize(mapload)
. = ..()
machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir))
if(machine)
machine.CONSOLE = src
machine.console = src
else
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/machinery/mineral/stacking_unit_console/Destroy()
if(machine)
machine.console = null
machine = null
return ..()
/obj/machinery/mineral/stacking_unit_console/attack_hand(mob/user)
var/obj/item/stack/sheet/s
var/dat
if(!machine)
return
dat += text("<b>Stacking unit console</b><br><br>")
for(var/O in machine.stack_list)
@@ -60,15 +68,20 @@
desc = "A machine that automatically stacks acquired materials. Controlled by a nearby console."
density = TRUE
anchored = TRUE
var/obj/machinery/mineral/stacking_unit_console/CONSOLE
var/stk_types = list()
var/stk_amt = list()
var/stack_list[0] //Key: Type. Value: Instance of type.
var/stack_amt = 50; //ammount to stack before releassing
var/obj/machinery/mineral/stacking_unit_console/console
var/list/stack_list = list() //Key: Type. Value: Instance of type.
var/stack_amt = 50 //ammount to stack before releassing
input_dir = EAST
output_dir = WEST
speed_process = TRUE
/obj/machinery/mineral/stacking_machine/Destroy()
QDEL_LIST(stack_list)
if(console)
console.machine = null
console = null
return ..()
/obj/machinery/mineral/stacking_machine/process()
var/turf/T = get_step(src, input_dir)
if(T)
@@ -91,4 +91,6 @@
/datum/species/grey/get_species_runechat_color(mob/living/carbon/human/H)
var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes)
return E.eye_color
if(E)
return E.eye_color
return flesh_color
@@ -92,7 +92,8 @@
C.apply_damage(dmg, BRUTE)
if(prob(stun_chance))
C.Weaken(5)
add_attack_logs(src, C, "sliced")
if(dmg)
add_attack_logs(src, C, "sliced")
if(declare_arrests)
var/area/location = get_area(src)
if(!spam_flag)
+1 -1
View File
@@ -46,7 +46,7 @@
/mob/proc/say_dead(message)
if(client)
if(!client.holder)
if(!check_rights(R_ADMIN, FALSE))
if(!GLOB.dsay_enabled)
to_chat(src, "<span class='danger'>Deadchat is globally muted.</span>")
return
+8 -6
View File
@@ -56,22 +56,24 @@ GLOBAL_LIST_EMPTY(fax_blacklist)
/obj/machinery/photocopier/faxmachine/longrange
name = "long range fax machine"
icon_state = "longfax"
insert_anim = "longfaxsend"
receive_anim = "longfaxreceive"
fax_network = "Central Command Quantum Entanglement Network"
long_range_enabled = TRUE
/obj/machinery/photocopier/faxmachine/longrange/Initialize(mapload)
. = ..()
add_overlay("longfax")
/obj/machinery/photocopier/faxmachine/longrange/syndie
name = "syndicate long range fax machine"
icon_state = "fax"
insert_anim = "faxsend"
receive_anim = "faxsend"
emagged = TRUE
syndie_restricted = TRUE
req_one_access = list(ACCESS_SYNDICATE)
//No point setting fax network, being emagged overrides that anyway.
/obj/machinery/photocopier/faxmachine/longrange/syndie/Initialize(mapload)
. = ..()
add_overlay("syndiefax")
/obj/machinery/photocopier/faxmachine/longrange/syndie/update_network()
if(department != "Unknown")
GLOB.hidden_departments |= department
+1 -1
View File
@@ -325,7 +325,7 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "dna_vault")
if(VAULT_SPEED)
to_chat(H, "<span class='notice'>You feel very fast and agile.</span>")
S.speed_mod = -1
ADD_TRAIT(H, TRAIT_GOTTAGOFAST, "dna_vault")
if(VAULT_QUICK)
to_chat(H, "<span class='notice'>Your arms move as fast as lightning.</span>")
H.next_move_modifier = 0.5