this is a pretty bad idea
This commit is contained in:
@@ -200,7 +200,7 @@
|
||||
if (!target.loc)
|
||||
continue
|
||||
|
||||
if(!(SEND_SIGNAL(target.loc, COMSIG_ATOM_CANREACH, next) & COMPONENT_BLOCK_REACH) && !ismob(target.loc))
|
||||
if(!(SEND_SIGNAL(target.loc, COMSIG_ATOM_CANREACH, next) & COMPONENT_BLOCK_REACH) && target.loc.canReachInto(src, ultimate_target, next, view_only, tool))
|
||||
next += target.loc
|
||||
|
||||
checking = next
|
||||
@@ -215,6 +215,10 @@
|
||||
/mob/living/DirectAccess(atom/target)
|
||||
return ..() + GetAllContents()
|
||||
|
||||
//This is called reach into but it's called on the deepest things first so uh, make sure to account for that!
|
||||
/atom/proc/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
|
||||
return TRUE
|
||||
|
||||
/atom/proc/AllowClick()
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
RegisterSignal(parent, COMSIG_ITEM_PICKUP, .proc/signal_on_pickup)
|
||||
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/close_all)
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/check_views)
|
||||
|
||||
RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_alt_click)
|
||||
RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, .proc/mousedrop_onto)
|
||||
@@ -386,6 +387,11 @@
|
||||
close(M)
|
||||
. = TRUE //returns TRUE if any mobs actually got a close(M) call
|
||||
|
||||
/datum/component/storage/proc/check_views()
|
||||
for(var/mob/M in can_see_contents())
|
||||
if(!isobserver(M) && !M.CanReach(src, view_only = TRUE))
|
||||
close(M)
|
||||
|
||||
/datum/component/storage/proc/emp_act(datum/source, severity)
|
||||
if(emp_shielded)
|
||||
return
|
||||
|
||||
@@ -614,3 +614,6 @@
|
||||
user.resting = FALSE
|
||||
togglelock(user)
|
||||
T1.visible_message("<span class='warning'>[user] dives into [src]!</span>")
|
||||
|
||||
/obj/structure/closet/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
|
||||
return ..() && opened
|
||||
|
||||
@@ -468,3 +468,6 @@
|
||||
bodyparts += BP
|
||||
hand_bodyparts[i] = BP
|
||||
..() //Don't redraw hands until we have organs for them
|
||||
|
||||
/mob/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
|
||||
return ..() && (user == src)
|
||||
|
||||
@@ -623,7 +623,6 @@
|
||||
#include "code\game\machinery\syndicatebomb.dm"
|
||||
#include "code\game\machinery\teleporter.dm"
|
||||
#include "code\game\machinery\transformer.dm"
|
||||
#include "code\game\machinery\turnstile.dm"
|
||||
#include "code\game\machinery\washing_machine.dm"
|
||||
#include "code\game\machinery\wishgranter.dm"
|
||||
#include "code\game\machinery\camera\camera.dm"
|
||||
@@ -715,7 +714,6 @@
|
||||
#include "code\game\mecha\combat\gygax.dm"
|
||||
#include "code\game\mecha\combat\honker.dm"
|
||||
#include "code\game\mecha\combat\marauder.dm"
|
||||
#include "code\game\mecha\combat\neovgre.dm"
|
||||
#include "code\game\mecha\combat\phazon.dm"
|
||||
#include "code\game\mecha\combat\reticence.dm"
|
||||
#include "code\game\mecha\equipment\mecha_equipment.dm"
|
||||
@@ -1040,7 +1038,6 @@
|
||||
#include "code\game\objects\structures\crates_lockers\closets\bodybag.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\fitness.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\genpop.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm"
|
||||
@@ -2490,6 +2487,7 @@
|
||||
#include "code\modules\projectiles\guns\energy\kinetic_accelerator.dm"
|
||||
#include "code\modules\projectiles\guns\energy\laser.dm"
|
||||
#include "code\modules\projectiles\guns\energy\megabuster.dm"
|
||||
#include "code\modules\projectiles\guns\energy\minigun.dm"
|
||||
#include "code\modules\projectiles\guns\energy\mounted.dm"
|
||||
#include "code\modules\projectiles\guns\energy\plasma_cit.dm"
|
||||
#include "code\modules\projectiles\guns\energy\pulse.dm"
|
||||
@@ -3118,6 +3116,7 @@
|
||||
#include "modular_citadel\code\modules\projectiles\guns\ballistic\spinfusor.dm"
|
||||
#include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm"
|
||||
#include "modular_citadel\code\modules\projectiles\guns\energy\laser.dm"
|
||||
#include "modular_citadel\code\modules\projectiles\projectile\energy.dm"
|
||||
#include "modular_citadel\code\modules\projectiles\projectiles\reusable.dm"
|
||||
#include "modular_citadel\code\modules\reagents\chemistry\reagents\astrogen.dm"
|
||||
#include "modular_citadel\code\modules\reagents\chemistry\reagents\eigentstasium.dm"
|
||||
|
||||
Reference in New Issue
Block a user