From 680a0521366a0bb0e89d10b1a8ae5bed33551166 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 1 Jul 2015 01:04:21 -0400 Subject: [PATCH 1/8] Fixes check_eye() for AI, pAI, and helm console reset_view() is no longer called every time check_eye() is. Instead it is called only when the mob's eye should change. --- code/modules/mob/living/silicon/ai/ai.dm | 3 +-- code/modules/mob/living/silicon/pai/pai.dm | 1 - code/modules/overmap/ships/computers/helm.dm | 9 +++++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 32c2b643b0..15a1ee2f8a 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -388,8 +388,7 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/check_eye(var/mob/user as mob) if (!camera) - return null - user.reset_view(camera) + return -1 return 0 /mob/living/silicon/ai/restrained() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index e575c2d7c4..84a9400171 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -124,7 +124,6 @@ /mob/living/silicon/pai/check_eye(var/mob/user as mob) if (!src.current) return -1 - user.reset_view(src.current) return 0 /mob/living/silicon/pai/blob_act() diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm index a0611c6866..e15de31969 100644 --- a/code/modules/overmap/ships/computers/helm.dm +++ b/code/modules/overmap/ships/computers/helm.dm @@ -53,11 +53,10 @@ /obj/machinery/computer/helm/check_eye(var/mob/user as mob) if (!manual_control) - return null + return -1 if (!get_dist(user, src) > 1 || user.blinded || !linked ) - return null - user.reset_view(linked) - return 1 + return -1 + return 0 /obj/machinery/computer/helm/attack_hand(var/mob/user as mob) if(..()) @@ -67,6 +66,8 @@ if(!isAI(user)) user.set_machine(src) + if(linked) + user.reset_view(linked) ui_interact(user) From 49e92488364cb0cbdd4beb95a643a681df0f97ab Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 1 Jul 2015 01:08:06 -0400 Subject: [PATCH 2/8] Fixes looking through cameras retaining the sight flags of worn glasses. --- code/modules/mob/living/carbon/human/life.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index fed5b3dba4..58f4f0f2aa 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1233,7 +1233,7 @@ damageoverlay.overlays += I if( stat == DEAD ) - sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + sight = SEE_TURFS|SEE_MOBS|SEE_OBJS|SEE_SELF see_in_dark = 8 if(!druggy) see_invisible = SEE_INVISIBLE_LEVEL_TWO if(healths) healths.icon_state = "health7" //DEAD healthmeter @@ -1256,7 +1256,7 @@ */ else - sight &= ~(SEE_TURFS|SEE_MOBS|SEE_OBJS) + sight = SEE_SELF see_in_dark = species.darksight see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING @@ -1411,7 +1411,7 @@ if(viewflags < 0) reset_view(null, 0) else if(viewflags) - sight |= viewflags + sight = viewflags //when viewing from a machine, use only the sight flags that the machine provides else var/isRemoteObserve = 0 if((mRemote in mutations) && remoteview_target) From ba981f8783242c1fb303acd17e6c82536e9b798a Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 12 Jul 2015 20:21:38 -0400 Subject: [PATCH 3/8] Fixes glasses interfering with species vision modes and cult ghost viewing. --- code/modules/mob/living/carbon/human/life.dm | 20 +++++++------------ .../living/carbon/human/species/species.dm | 2 +- .../human/species/xenomorphs/alien_species.dm | 2 +- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 58f4f0f2aa..950a9143fb 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1256,7 +1256,7 @@ */ else - sight = SEE_SELF + sight = species.vision_flags see_in_dark = species.darksight see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING @@ -1265,29 +1265,23 @@ see_in_dark = 8 if(!druggy) see_invisible = SEE_INVISIBLE_LEVEL_TWO - if(seer==1) + if(seer) var/obj/effect/rune/R = locate() in loc if(R && R.word1 == cultwords["see"] && R.word2 == cultwords["hell"] && R.word3 == cultwords["join"]) see_invisible = SEE_INVISIBLE_OBSERVER else - see_invisible = SEE_INVISIBLE_LIVING seer = 0 - var/tmp/glasses_processed = 0 + var/equipped_glasses = glasses var/obj/item/weapon/rig/rig = back if(istype(rig) && rig.visor) if(!rig.helmet || (head && rig.helmet == head)) if(rig.visor && rig.visor.vision && rig.visor.active && rig.visor.vision.glasses) - glasses_processed = 1 - process_glasses(rig.visor.vision.glasses) + equipped_glasses = rig.visor.vision.glasses + if(equipped_glasses) + process_glasses(equipped_glasses) - if(glasses && !glasses_processed) - glasses_processed = 1 - process_glasses(glasses) - - if(!glasses_processed && (species.vision_flags > 0)) - sight |= species.vision_flags - if(!seer && !glasses_processed) + if(!seer) see_invisible = SEE_INVISIBLE_LIVING if(healths) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 1162c84236..8090207b41 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -37,7 +37,7 @@ var/list/unarmed_attacks = null // For empty hand harm-intent attack var/brute_mod = 1 // Physical damage multiplier. var/burn_mod = 1 // Burn damage multiplier. - var/vision_flags = 0 // Same flags as glasses. + var/vision_flags = SEE_SELF // Same flags as glasses. // Death vars. var/gibber_type = /obj/effect/gibspawner/human diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index a854d0e6db..7debde5870 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -42,7 +42,7 @@ breath_type = null poison_type = null - vision_flags = SEE_MOBS + vision_flags = SEE_SELF|SEE_MOBS has_organ = list( "heart" = /datum/organ/internal/heart, From 0e71efea1841ad95d4757bf6641bb8511ce8ea11 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 26 Jul 2015 11:03:36 +0100 Subject: [PATCH 4/8] Changes player planel to always display key if present --- code/modules/admin/player_panel.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 5de314db4c..ebbd506413 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -358,7 +358,7 @@ dat += "NA" - dat += {"[(M.client ? "[M.client]" : "No client")] + dat += {"[M.key ? (M.client ? M.key : "[M.key] (DC)") : "No key"] X PM "} From e8db7dc8d8ec48b749070f4895ee677f000dc252 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Jul 2015 22:47:18 -0400 Subject: [PATCH 5/8] Fire now uses the full zone size when considering the minimum amount of phoron/oxygen required to sustain a fire Fixes an oversight that made fires able to burn with a smaller amount of phoron than they should. --- code/ZAS/Fire.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index d26db30a19..501c49ae55 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -295,7 +295,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //if the reaction is progressing too slow then it isn't self-sustaining anymore and burns out if(zone) //be less restrictive with canister and tank reactions - if((!liquid_fuel || used_fuel <= FIRE_LIQUD_MIN_BURNRATE) && (!gas_fuel || used_fuel <= FIRE_GAS_MIN_BURNRATE*group_multiplier)) + if((!liquid_fuel || used_fuel <= FIRE_LIQUD_MIN_BURNRATE) && (!gas_fuel || used_fuel <= FIRE_GAS_MIN_BURNRATE*zone.contents.len)) return 0 From 5e64cd43cc63dfaed3e57493c261779848b00087 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Jul 2015 17:12:42 +0200 Subject: [PATCH 6/8] Fixes the EMT utility belt using non-existing icons. Recovered the icon from the prior custom item icon palette. --- icons/obj/clothing/belts.dmi | Bin 1695 -> 1794 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index c38e62443f1d92991887f96fa585bbc687116b8d..406df1b816fa34323c58602a2c1433dcbb1a329c 100644 GIT binary patch literal 1794 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 pJ_j+Mm7joM!a002ovPDHLkV1g;3_s9SM From 631c30732d060a1e0b2f52adbe32842d9bd06eab Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Mon, 27 Jul 2015 11:24:44 +0200 Subject: [PATCH 7/8] Adds admin message log to the spawn verb. The spawn-verb no longer only makes an entry in the admin log but also messages admins, making it less sneaky. --- code/modules/admin/admin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index c51ffbff82..33807a6e06 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1051,7 +1051,7 @@ var/global/floorIsLava = 0 else new chosen(usr.loc) - log_admin("[key_name(usr)] spawned [chosen] at ([usr.x],[usr.y],[usr.z])") + log_and_message_admins("spawned [chosen] at ([usr.x],[usr.y],[usr.z])") feedback_add_details("admin_verb","SA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! From 81c40c14b1ea5fa4be4a959bd255b2a04ee9681b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Mon, 27 Jul 2015 11:47:55 +0200 Subject: [PATCH 8/8] Compacts down the game panel spawn logging and makes it always notify admins. --- code/modules/admin/topic.dm | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 3b701b27da..7b58274479 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1784,18 +1784,7 @@ var/mob/M = O M.real_name = obj_name - if (number == 1) - log_admin("[key_name(usr)] created a [english_list(paths)]") - for(var/path in paths) - if(ispath(path, /mob)) - message_admins("[key_name_admin(usr)] created a [english_list(paths)]", 1) - break - else - log_admin("[key_name(usr)] created [number]ea [english_list(paths)]") - for(var/path in paths) - if(ispath(path, /mob)) - message_admins("[key_name_admin(usr)] created [number]ea [english_list(paths)]", 1) - break + log_and_message_admins("created [number] [english_list(paths)]") return else if(href_list["secretsfun"])