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
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 447178ecb3..00bc01eda1 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -1097,7 +1097,7 @@ proc/admin_notice(var/message, var/rights)
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!
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index a25d2de043..9a9a2b44b7 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 |
"}
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 1bbec85092..90d81c2e96 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1651,18 +1651,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"])
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index bd913f33cb..1f35fc1159 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1197,7 +1197,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
@@ -1208,17 +1208,6 @@
item.zoom()
break
- /*
- if(locate(/obj/item/weapon/gun/energy/sniperrifle, contents))
- var/obj/item/weapon/gun/energy/sniperrifle/s = locate() in src
- if(s.zoom)
- s.zoom()
- if(locate(/obj/item/device/binoculars, contents))
- var/obj/item/device/binoculars/b = locate() in src
- if(b.zoom)
- b.zoom()
- */
-
else
sight &= ~(SEE_TURFS|SEE_MOBS|SEE_OBJS)
see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING
@@ -1237,7 +1226,7 @@
seer = 0
else
- sight &= ~(SEE_TURFS|SEE_MOBS|SEE_OBJS)
+ sight = species.vision_flags
see_in_dark = species.darksight
see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING
var/tmp/glasses_processed = 0
@@ -1261,6 +1250,14 @@
if(!seer && !glasses_processed)
see_invisible = SEE_INVISIBLE_LIVING
+ 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)
+ equipped_glasses = rig.visor.vision.glasses
+ if(equipped_glasses)
+ process_glasses(equipped_glasses)
if(healths)
if (analgesic > 100)
healths.icon_state = "health_health_numb"
@@ -1279,6 +1276,8 @@
if(0 to 20) healths.icon_state = "health5"
else healths.icon_state = "health6"
+ if(!seer)
+ see_invisible = SEE_INVISIBLE_LIVING
if(nutrition_icon)
switch(nutrition)
if(450 to INFINITY) nutrition_icon.icon_state = "nutrition0"
diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm
index 107ad0fe72..85d7f45c45 100644
--- a/code/modules/mob/living/carbon/human/species/species.dm
+++ b/code/modules/mob/living/carbon/human/species/species.dm
@@ -47,7 +47,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/meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/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 ee24e3f6b7..b48593796f 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" = /obj/item/organ/heart,
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index c48339842c..3004b9dd9e 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -383,8 +383,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 6deab260d9..ad06c58d6e 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -120,7 +120,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)
diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi
index c38e62443f..406df1b816 100644
Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ