mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 22:42:26 +01:00
2016 Bugfix Roundup (#10731)
Fixes #833 Fixes #934 Fixes #1125 Fixes #1186
This commit is contained in:
@@ -695,7 +695,9 @@
|
||||
|
||||
// Delete them from datacore.
|
||||
|
||||
SSrecords.remove_record_by_field("name", H.real_name)
|
||||
if(!SSrecords.remove_record_by_field("fingerprint", H.get_full_print()))
|
||||
// didn't find a record by fingerprint, fallback to deleting by name
|
||||
SSrecords.remove_record_by_field("name", H.real_name)
|
||||
SSrecords.reset_manifest()
|
||||
|
||||
log_and_message_admins("([H.mind.role_alt_title]) entered cryostorage.", user = H)
|
||||
|
||||
@@ -176,6 +176,7 @@ var/global/const/base_law_type = /datum/ai_laws/nanotrasen
|
||||
/datum/ai_laws/proc/delete_law(var/datum/ai_law/law)
|
||||
if(istype(law))
|
||||
law.delete_law(src)
|
||||
sorted_laws.Cut()
|
||||
|
||||
/datum/ai_law/proc/delete_law(var/datum/ai_laws/laws)
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
if(stat & (NOPOWER|BROKEN)) return
|
||||
if(user.stat) return
|
||||
|
||||
user.set_machine(src)
|
||||
|
||||
var/data[0]
|
||||
var/list/all_networks[0]
|
||||
for(var/nw in network)
|
||||
@@ -124,7 +126,11 @@
|
||||
if (!C.can_use() || user.stat || (get_dist(user, src) > 1 || user.machine != src || user.blinded || !( user.canmove ) && !istype(user, /mob/living/silicon)))
|
||||
return 0
|
||||
set_current(C)
|
||||
user.reset_view(current_camera)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.reset_view(current_camera)
|
||||
else
|
||||
user.reset_view(current_camera)
|
||||
check_eye(user)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -467,9 +467,15 @@
|
||||
/datum/species/proc/handle_vision(var/mob/living/carbon/human/H)
|
||||
var/list/vision = H.get_accumulated_vision_handlers()
|
||||
H.update_sight()
|
||||
H.sight |= get_vision_flags(H)
|
||||
H.sight |= H.equipment_vision_flags
|
||||
H.sight |= vision[1]
|
||||
if(H.machine && H.machine.check_eye(H) >= 0 && H.client.eye != H)
|
||||
// we inherit sight flags from the machine
|
||||
H.sight &= ~(get_vision_flags(H))
|
||||
H.sight &= ~(H.equipment_vision_flags)
|
||||
H.sight &= ~(vision[1])
|
||||
else
|
||||
H.sight |= get_vision_flags(H)
|
||||
H.sight |= H.equipment_vision_flags
|
||||
H.sight |= vision[1]
|
||||
|
||||
if(H.stat == DEAD)
|
||||
return 1
|
||||
@@ -637,4 +643,4 @@
|
||||
return E.key
|
||||
|
||||
/datum/species/proc/get_injection_modifier()
|
||||
return injection_mod
|
||||
return injection_mod
|
||||
|
||||
@@ -24,10 +24,10 @@ var/mob/living/next_point_time = 0
|
||||
face_atom(A)
|
||||
if(isturf(A))
|
||||
if(pointing_effect)
|
||||
clear_point()
|
||||
QDEL_NULL(pointing_effect)
|
||||
pointing_effect = new /obj/effect/decal/point(A)
|
||||
pointing_effect.invisibility = invisibility
|
||||
addtimer(CALLBACK(src, .proc/clear_point), 20)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/qdel, pointing_effect), 2 SECONDS)
|
||||
else
|
||||
var/pointglow = filter(type = "drop_shadow", x = 0, y = -1, offset = 1, size = 1, color = "#F00")
|
||||
LAZYADD(A.filters, pointglow)
|
||||
@@ -980,4 +980,4 @@ default behaviour is:
|
||||
set hidden = 1
|
||||
set name = "mov_intent"
|
||||
if(hud_used?.move_intent)
|
||||
hud_used.move_intent.Click()
|
||||
hud_used.move_intent.Click()
|
||||
|
||||
@@ -341,14 +341,10 @@
|
||||
|
||||
pointing_effect = new /obj/effect/decal/point(tile)
|
||||
pointing_effect.invisibility = invisibility
|
||||
addtimer(CALLBACK(src, .proc/clear_point), 20)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, /proc/qdel, pointing_effect), 2 SECONDS)
|
||||
|
||||
face_atom(A)
|
||||
return 1
|
||||
|
||||
/mob/proc/clear_point()
|
||||
QDEL_NULL(pointing_effect)
|
||||
|
||||
/datum/mobl // I have no idea what the fuck this is, but it's better for it to be a datum than an /obj/effect.
|
||||
var/list/container = list()
|
||||
var/master
|
||||
@@ -1448,4 +1444,4 @@
|
||||
if(!check_has_body_select())
|
||||
return
|
||||
var/obj/screen/zone_sel/selector = mob.zone_sel
|
||||
selector.set_selected_zone(next_in_list(mob.zone_sel.selecting,zones))
|
||||
selector.set_selected_zone(next_in_list(mob.zone_sel.selecting,zones))
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
author: JohnWildkins
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- bugfix: "Cryoing with the same mob name as another player should no longer remove both players from the manifest and records system."
|
||||
- bugfix: "Malf/traitor AI law deletion now correctly rebuilds the law list, so carding a malf AI no longer reveals extra laws (other than law zero)."
|
||||
- bugfix: "Mobs that die while pointing no longer leave an infinite point marker."
|
||||
- bugfix: "Thermals, mesons, and material scanner overlays no longer function through security camera monitors."
|
||||
Reference in New Issue
Block a user