diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index 246377eba32..d5a1ad8cbfd 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -161,12 +161,8 @@ GLOBAL_VAR(syndicate_code_response) //Code response for traitors.
if(1)//1 and 2 can only be selected once each to prevent more than two specific names/places/etc.
switch(rand(1,2))//Mainly to add more options later.
if(1)
- if(names.len&&prob(70))
+ if(names.len)
code_phrase += pick(names)
- else
- code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
- code_phrase += " "
- code_phrase += pick(GLOB.last_names)
if(2)
code_phrase += pick(GLOB.joblist)//Returns a job.
safety -= 1
diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm
index e5674a9b47b..f933105e13b 100644
--- a/code/_globalvars/misc.dm
+++ b/code/_globalvars/misc.dm
@@ -86,4 +86,6 @@ var/copier_max_items = 300
var/copier_items_printed_logged = FALSE
-GLOBAL_VAR(map_name) // Self explanatory
\ No newline at end of file
+GLOBAL_VAR(map_name) // Self explanatory
+
+var/global/datum/datacore/data_core = null // Station datacore, manifest, etc
\ No newline at end of file
diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm
deleted file mode 100644
index ba8b70991c2..00000000000
--- a/code/_globalvars/station.dm
+++ /dev/null
@@ -1,2 +0,0 @@
-// TODO: Move this to be not in its own fucking file all alone on its own
-var/global/datum/datacore/data_core = null
\ No newline at end of file
diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm
index 6fe3a781642..1e8f99814df 100644
--- a/code/_onclick/hud/blob_overmind.dm
+++ b/code/_onclick/hud/blob_overmind.dm
@@ -126,7 +126,7 @@
/obj/screen/blob/Split
icon_state = "ui_split"
name = "Split consciousness (100)"
- desc = "Creates another Blob Overmind at the nearest node. One use only.
Offsprings are be unable to use this ability."
+ desc = "Creates another Blob Overmind at the targeted node. One use only.
Offspring are unable to use this ability."
/obj/screen/blob/Split/Click()
if(isovermind(usr))
diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm
index b43715ee598..a5586578b3f 100644
--- a/code/_onclick/hud/plane_master.dm
+++ b/code/_onclick/hud/plane_master.dm
@@ -34,7 +34,7 @@
/obj/screen/plane_master/game_world
name = "game world plane master"
plane = GAME_PLANE
- appearance_flags = PLANE_MASTER //should use client color
+ appearance_flags = PLANE_MASTER
blend_mode = BLEND_OVERLAY
/obj/screen/plane_master/game_world/backdrop(mob/mymob)
@@ -45,6 +45,7 @@
/obj/screen/plane_master/lighting
name = "lighting plane master"
plane = LIGHTING_PLANE
+ appearance_flags = PLANE_MASTER
blend_mode = BLEND_MULTIPLY
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
diff --git a/code/datums/helper_datums/input.dm b/code/datums/helper_datums/input.dm
new file mode 100644
index 00000000000..3bcf9509e37
--- /dev/null
+++ b/code/datums/helper_datums/input.dm
@@ -0,0 +1,115 @@
+/proc/input_async(mob/user=usr, prompt, list/choices)
+ var/datum/async_input/A = new(choices, prompt)
+ A.show(user)
+ return A
+
+/proc/input_ranked_async(mob/user=usr, prompt="Order by greatest to least preference", list/choices)
+ var/datum/async_input/ranked/A = new(choices, prompt)
+ A.show(user)
+ return A
+
+/datum/async_input
+ var/datum/browser/popup
+ var/list/choices
+ var/flash = TRUE
+ var/immediate_submit = FALSE
+ var/prompt
+ var/result = null
+ var/style = "text-align: center;"
+ var/window_id
+ var/height = 200
+ var/width = 400
+
+/datum/async_input/New(list/new_choices, new_prompt="Pick an option:", new_window_id="async_input")
+ choices = new_choices
+ prompt = new_prompt
+ window_id = new_window_id
+
+/datum/async_input/proc/close()
+ if(popup)
+ popup.close()
+ return result
+
+/datum/async_input/proc/show(mob/user)
+ var/dat = create_ui(user)
+ popup = new(user, window_id, , width, height, src)
+ popup.set_content(dat)
+ if(flash && result == null)
+ window_flash(user.client)
+ popup.open()
+
+/datum/async_input/proc/create_ui(mob/user)
+ var/dat = "
| [button("+", i != 1 ? "upvote=[i]" : "", , i == 1)] | " + dat += "[button("-", i != choices.len ? "downvote=[i]" : "", , i == choices.len)] | " + dat += "[i]. [choice] | " + dat += "
| [message] |
"
dat += "General Settings" - dat += "Attack Animations: [(show_ghostitem_attack) ? "Yes" : "No"]" if(user.client.holder) dat += "Adminhelp sound: [(sound & SOUND_ADMINHELP)?"On":"Off"] " + dat += "Ambient Occlusion: [toggles & AMBIENT_OCCLUSION ? "Enabled" : "Disabled"] " + dat += "Attack Animations: [(show_ghostitem_attack) ? "Yes" : "No"] " if(unlock_content) dat += "BYOND Membership Publicity: [(toggles & MEMBER_PUBLIC) ? "Public" : "Hidden"] " dat += "Custom UI settings: " @@ -449,11 +450,10 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(user.client.donator_level > 0) dat += "Donator Publicity: [(toggles & DONATOR_PUBLIC) ? "Public" : "Hidden"] " dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"] " - dat += "FPS: [clientfps] " - dat += "Ambient Occlusion: [toggles & AMBIENT_OCCLUSION ? "Enabled" : "Disabled"] " + dat += "FPS: [clientfps] " dat += "Ghost Ears: [(toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"] " - dat += "Ghost Sight: [(toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"] " dat += "Ghost Radio: [(toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"] " + dat += "Ghost Sight: [(toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"] " if(check_rights(R_ADMIN,0)) dat += "OOC Color: Change " if(config.allow_Metadata) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 091f1522b72..d965166fdb2 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -256,16 +256,16 @@ desc = "Somehow these seem even more out-of-date than normal sunglasses." actions_types = list(/datum/action/item_action/noir) -/obj/item/clothing/glasses/sunglasses/noir/attack_self() - toggle_noir() +/obj/item/clothing/glasses/sunglasses/noir/attack_self(mob/user) + toggle_noir(user) /obj/item/clothing/glasses/sunglasses/noir/item_action_slot_check(slot) if(slot == slot_glasses) return 1 -/obj/item/clothing/glasses/sunglasses/noir/proc/toggle_noir() +/obj/item/clothing/glasses/sunglasses/noir/proc/toggle_noir(mob/user) color_view = color_view ? null : MATRIX_GREYSCALE //Toggles between null and grayscale, with null being the default option. - usr.update_client_colour() + user.update_client_colour() /obj/item/clothing/glasses/sunglasses/yeah name = "agreeable glasses" diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 84c6d9394c5..df229f5b9c3 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -10,14 +10,14 @@ permeability_coefficient = 0.50 actions_types = list(/datum/action/item_action/adjust) burn_state = FIRE_PROOF - sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', "Unathi" = 'icons/mob/species/unathi/mask.dmi', "Tajaran" = 'icons/mob/species/tajaran/mask.dmi', "Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi', "Grey" = 'icons/mob/species/grey/mask.dmi', - "Drask" = 'icons/mob/species/drask/mask.dmi' + "Drask" = 'icons/mob/species/drask/mask.dmi', + "Plasmaman" = 'icons/mob/species/plasmaman/mask.dmi' ) /obj/item/clothing/mask/breath/attack_self(var/mob/user) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 9fbf2506edd..3b0912a5004 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -10,14 +10,14 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 burn_state = FIRE_PROOF - sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', "Unathi" = 'icons/mob/species/unathi/mask.dmi', "Tajaran" = 'icons/mob/species/tajaran/mask.dmi', "Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi', "Drask" = 'icons/mob/species/drask/mask.dmi', - "Grey" = 'icons/mob/species/grey/mask.dmi' + "Grey" = 'icons/mob/species/grey/mask.dmi', + "Plasmaman" = 'icons/mob/species/plasmaman/mask.dmi' ) // **** Welding gas mask **** @@ -194,6 +194,7 @@ name = "security gas mask" desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device, plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you taze them. Do not tamper with the device." icon_state = "sechailer" + item_state = "sechailer" var/phrase = 1 var/aggressiveness = 1 var/safety = 1 diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 8283bbdad62..d70db0658e8 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -373,6 +373,7 @@ for(var/obj/O in contents) if(O.name == K) O.forceMove(loc) + adjust_item_drop_location(O) update_icon() i-- if(i <= 0) diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 4f0196473c7..5b20aad5047 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -207,19 +207,26 @@ /datum/action/innate/minedrone/toggle_meson_vision name = "Toggle Meson Vision" button_icon_state = "meson" + var/sight_flags = SEE_TURFS + var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE /datum/action/innate/minedrone/toggle_meson_vision/Activate() - var/mob/living/simple_animal/hostile/mining_drone/user = owner - if(user.sight & SEE_TURFS) - user.sight &= ~SEE_TURFS - user.lighting_alpha = initial(user.lighting_alpha) + var/mob/living/user = owner + var/is_active = user.sight & SEE_TURFS + + if(is_active) + UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) + user.update_sight() else - user.sight |= SEE_TURFS - user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + user.update_sight() - user.sync_lighting_plane_alpha() + to_chat(user, "You toggle your meson vision [!is_active ? "on" : "off"].") - to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].") +/datum/action/innate/minedrone/toggle_meson_vision/proc/update_user_sight(mob/living/user) + user.sight |= sight_flags + if(!isnull(lighting_alpha)) + user.lighting_alpha = min(user.lighting_alpha, lighting_alpha) /datum/action/innate/minedrone/toggle_mode name = "Toggle Mode" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 12b9421423a..9be4f92a0b8 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -720,7 +720,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/proc/updateghostimages() if(!client) return - if(!ghostvision) + if(seedarkness || !ghostvision) client.images -= ghost_images else //add images for the 60inv things ghosts can normally see when darkness is enabled so they can see them now diff --git a/code/modules/mob/dead/observer/spells.dm b/code/modules/mob/dead/observer/spells.dm index 620c1854e73..916ff9aa9b8 100644 --- a/code/modules/mob/dead/observer/spells.dm +++ b/code/modules/mob/dead/observer/spells.dm @@ -1,6 +1,4 @@ - - -var/global/list/boo_phrases=list( +GLOBAL_LIST_INIT(boo_phrases, list( "You feel a chill run down your spine.", "You think you see a figure in your peripheral vision.", "What was that?", @@ -9,16 +7,17 @@ var/global/list/boo_phrases=list( "Something doesn't feel right...", "You feel a presence in the room.", "It feels like someone's standing behind you.", -) +)) /obj/effect/proc_holder/spell/aoe_turf/boo name = "Boo!" desc = "Fuck with the living." - ghost = 1 + ghost = TRUE school = "transmutation" charge_max = 600 + starts_charged = FALSE clothes_req = 0 stat_allowed = 1 invocation = "" @@ -27,26 +26,4 @@ var/global/list/boo_phrases=list( /obj/effect/proc_holder/spell/aoe_turf/boo/cast(list/targets, mob/user = usr) for(var/turf/T in targets) - for(var/atom/A in T.contents) - - // Bug humans - if(ishuman(A)) - var/mob/living/carbon/human/H = A - if(H && H.client) - to_chat(H, "[pick(boo_phrases)]") - - // Flicker unblessed lights in range - if(istype(A,/obj/machinery/light)) - var/obj/machinery/light/L = A - if(L) - L.flicker() - - // OH GOD BLUE APC (single animation cycle) - if(istype(A, /obj/machinery/power/apc)) - A:spookify() - - if(istype(A, /obj/machinery/status_display)) - A:spookymode=1 - - if(istype(A, /obj/machinery/ai_status_display)) - A:spookymode=1 \ No newline at end of file + T.get_spooked() diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 416fd911777..52636efb896 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -206,9 +206,13 @@ if("hiss", "hisses") var/M = handle_emote_param(param) - message = "[src] hisses[M ? " at [M]" : ""]." - playsound(loc, 'sound/effects/unathihiss.ogg', 50, 0) //Credit to Jamius (freesound.org) for the sound. - m_type = 2 + if(!muzzled) + message = "[src] hisses[M ? " at [M]" : ""]." + playsound(loc, 'sound/effects/unathihiss.ogg', 50, 0) //Credit to Jamius (freesound.org) for the sound. + m_type = 2 + else + message = "[src] makes a weak hissing noise." + m_type = 2 if("quill", "quills") var/M = handle_emote_param(param) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e497fd04814..2cd524f8a15 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2003,6 +2003,9 @@ Eyes need to have significantly high darksight to shine unless the mob has the X genemutcheck(src, block, null, MUTCHK_FORCED) dna.UpdateSE() +/mob/living/carbon/human/get_spooked() + to_chat(src, "[pick(GLOB.boo_phrases)]") + /mob/living/carbon/human/extinguish_light() // Parent function handles stuff the human may be holding ..() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index e68f5652b01..47dd5622379 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -44,9 +44,9 @@ return has_organ("chest") if(slot_wear_id) // the only relevant check for this is the uniform check - return 1 + return TRUE if(slot_wear_pda) - return 1 + return TRUE if(slot_l_ear) return has_organ("head") if(slot_r_ear) @@ -70,9 +70,9 @@ if(slot_s_store) return has_organ("chest") if(slot_in_backpack) - return 1 + return TRUE if(slot_tie) - return 1 + return TRUE // The actual dropping happens at the mob level - checks to prevent drops should // come here @@ -421,56 +421,34 @@ /mob/living/carbon/human/can_equip(obj/item/I, slot, disable_warning = 0) switch(dna.species.handle_can_equip(I, slot, disable_warning, src)) - if(1) return 1 - if(2) return 0 //if it returns 2, it wants no normal handling - + if(1) return TRUE + if(2) return FALSE //if it returns 2, it wants no normal handling + if(!has_organ_for_slot(slot)) + return FALSE + if(istype(I, /obj/item/clothing/under) || istype(I, /obj/item/clothing/suit)) if(FAT in mutations) //testing("[M] TOO FAT TO WEAR [src]!") if(!(I.flags_size & ONESIZEFITSALL)) if(!disable_warning) to_chat(src, "You're too fat to wear the [I].") - return 0 + return FALSE switch(slot) if(slot_l_hand) - if(l_hand) - return 0 - return !incapacitated() + return !l_hand && !incapacitated() if(slot_r_hand) - if(r_hand) - return 0 - return !incapacitated() + return !r_hand && !incapacitated() if(slot_wear_mask) - if(wear_mask) - return 0 - if(!(I.slot_flags & SLOT_MASK)) - return 0 - return 1 + return !wear_mask && (I.slot_flags & SLOT_MASK) if(slot_back) - if(back) - return 0 - if(!(I.slot_flags & SLOT_BACK)) - return 0 - return 1 + return !back && (I.slot_flags & SLOT_BACK) if(slot_wear_suit) - if(wear_suit) - return 0 - if(!(I.slot_flags & SLOT_OCLOTHING)) - return 0 - return 1 + return !wear_suit && (I.slot_flags & SLOT_OCLOTHING) if(slot_gloves) - if(gloves) - return 0 - if(!(I.slot_flags & SLOT_GLOVES)) - return 0 - return 1 + return !gloves && (I.slot_flags & SLOT_GLOVES) if(slot_shoes) - if(shoes) - return 0 - if(!(I.slot_flags & SLOT_FEET)) - return 0 - return 1 + return !shoes && (I.slot_flags & SLOT_FEET) if(slot_belt) if(belt) return 0 @@ -482,39 +460,15 @@ return return 1 if(slot_glasses) - if(glasses) - return 0 - if(!(I.slot_flags & SLOT_EYES)) - return 0 - return 1 + return !glasses && (I.slot_flags & SLOT_EYES) if(slot_head) - if(head) - return 0 - if(!(I.slot_flags & SLOT_HEAD)) - return 0 - return 1 + return !head && (I.slot_flags & SLOT_HEAD) if(slot_l_ear) - if(l_ear) - return 0 - if(!(I.slot_flags & SLOT_EARS)) - return 0 - if((I.slot_flags & SLOT_TWOEARS) && r_ear ) - return 0 - return 1 + return !l_ear && (I.slot_flags & SLOT_EARS) && !((I.slot_flags & SLOT_TWOEARS) && r_ear) if(slot_r_ear) - if(r_ear) - return 0 - if(!(I.slot_flags & SLOT_EARS)) - return 0 - if((I.slot_flags & SLOT_TWOEARS) && l_ear) - return 0 - return 1 + return !r_ear && (I.slot_flags & SLOT_EARS) && !((I.slot_flags & SLOT_TWOEARS) && l_ear) if(slot_w_uniform) - if(w_uniform) - return 0 - if(!(I.slot_flags & SLOT_ICLOTHING)) - return 0 - return 1 + return !w_uniform && (I.slot_flags & SLOT_ICLOTHING) if(slot_wear_id) if(wear_id) return 0 @@ -583,17 +537,9 @@ return 1 return 0 if(slot_handcuffed) - if(handcuffed) - return 0 - if(!istype(I, /obj/item/restraints/handcuffs)) - return 0 - return 1 + return !handcuffed && istype(I, /obj/item/restraints/handcuffs) if(slot_legcuffed) - if(legcuffed) - return 0 - if(!istype(I, /obj/item/restraints/legcuffs)) - return 0 - return 1 + return !legcuffed && istype(I, /obj/item/restraints/legcuffs) if(slot_in_backpack) if(back && istype(back, /obj/item/storage/backpack)) var/obj/item/storage/backpack/B = back diff --git a/code/modules/mob/living/carbon/human/species/monkey.dm b/code/modules/mob/living/carbon/human/species/monkey.dm index cac42a29cd2..7eedf2520a3 100644 --- a/code/modules/mob/living/carbon/human/species/monkey.dm +++ b/code/modules/mob/living/carbon/human/species/monkey.dm @@ -59,6 +59,8 @@ genemutcheck(H, MONKEYBLOCK, null, MUTCHK_FORCED) /datum/species/monkey/handle_can_equip(obj/item/I, slot, disable_warning = 0, mob/living/carbon/human/user) + if(!user.has_organ_for_slot(slot)) + return 2 switch(slot) if(slot_l_hand) if(user.l_hand) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 90af0fba3c4..84c467b1549 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -619,12 +619,14 @@ /datum/pai_software/flashlight/toggle(mob/living/silicon/pai/user) var/atom/movable/actual_location = istype(user.loc, /obj/item/paicard) ? user.loc : user - if(user.flashlight_on) + if(!user.flashlight_on) actual_location.set_light(2) user.card.set_light(2) - return - actual_location.set_light(2) - user.card.set_light(0) + else + actual_location.set_light(0) + user.card.set_light(0) + + user.flashlight_on = !user.flashlight_on /datum/pai_software/flashlight/is_active(mob/living/silicon/pai/user) return user.flashlight_on diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 48c7a24f855..c82a0ee7806 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -59,9 +59,6 @@ return target.attack_animal(src) - - - /obj/item/organ/internal/body_egg/changeling_egg name = "changeling egg" desc = "Twitching and disgusting." @@ -91,7 +88,12 @@ if(origin.changeling.can_absorb_dna(M, owner)) origin.changeling.absorb_dna(owner, M) - origin.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) + var/datum/action/changeling/humanform/HF = new + HF.Grant(M) + for(var/power in origin.changeling.purchasedpowers) + var/datum/action/changeling/S = power + if(istype(S) && S.needs_button) + S.Grant(M) M.key = origin.key owner.gib() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e7ea036fed1..3e49f8a79a2 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -956,9 +956,6 @@ var/list/slot_equipment_priority = list( \ statpanel("Status") // We only want alt-clicked turfs to come before Status - if(mind && mind.changeling) - add_stings_to_statpanel(mind.changeling.purchasedpowers) - if(mob_spell_list && mob_spell_list.len) for(var/obj/effect/proc_holder/spell/S in mob_spell_list) add_spell_to_statpanel(S) @@ -1025,12 +1022,6 @@ var/list/slot_equipment_priority = list( \ statpanel_things += A statpanel(listed_turf.name, null, statpanel_things) - -/mob/proc/add_stings_to_statpanel(var/list/stings) - for(var/obj/effect/proc_holder/changeling/S in stings) - if(S.chemical_cost >=0 && S.can_be_used_by(src)) - statpanel("[S.panel]",((S.chemical_cost > 0) ? "[S.chemical_cost]" : ""),S) - /mob/proc/add_spell_to_statpanel(var/obj/effect/proc_holder/spell/S) switch(S.charge_type) if("recharge") @@ -1040,7 +1031,6 @@ var/list/slot_equipment_priority = list( \ if("holdervar") statpanel(S.panel,"[S.holder_var_type] [S.holder_var_amount]",S) - // facing verbs /mob/proc/canface() if(!canmove) return 0 diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index f0b6c0a5d7a..436911d30fa 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -377,8 +377,9 @@ else data_core.manifest_inject(character) SSticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn - AnnounceArrival(character, rank, join_message) - AddEmploymentContract(character) + if(!IsAdminJob(rank)) + AnnounceArrival(character, rank, join_message) + AddEmploymentContract(character) if(!thisjob.is_position_available() && thisjob in SSjobs.prioritized_jobs) SSjobs.prioritized_jobs -= thisjob diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 0adec3f6baa..451687cd38c 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -403,8 +403,8 @@ /obj/item/paper/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) ..() - if(burn_state >= FLAMMABLE) //Only render paper that's burnable to be hard to read. - info = "[stars(info)]" + if(burn_state >= FLAMMABLE) //Renders paper that has been lit on fire to be illegible. + info = "Heat-curled corners and sooty words offer little insight. Whatever was once written on this page has been rendered illegible through fire." /obj/item/paper/proc/stamp(var/obj/item/stamp/S) stamps += (!stamps || stamps == "" ? " " : "") + " |