mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Allow placing several items on surfaces. (#32467)
* Allow placing soaps and light replacers on surfaces. * Also modify spray bottles, scanners, laser pointers, analyzer. * Include sprays for real this time.
This commit is contained in:
@@ -106,10 +106,10 @@
|
||||
|
||||
/obj/item/analyzer/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
..()
|
||||
if(!isturf(target.loc))
|
||||
if(!isturf(target.loc) && !isturf(target))
|
||||
return NONE
|
||||
|
||||
if(isstorage(target))
|
||||
if(isstorage(target) || is_surface(target))
|
||||
return NONE
|
||||
|
||||
if(target.return_analyzable_air())
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
if(!isturf(target.loc))
|
||||
return NONE
|
||||
|
||||
if(isstorage(target))
|
||||
if(isstorage(target) || is_surface(target))
|
||||
return NONE
|
||||
|
||||
laser_act(target, user, modifiers)
|
||||
|
||||
@@ -217,10 +217,7 @@
|
||||
|
||||
/obj/item/lightreplacer/proc/CanUse(mob/living/user)
|
||||
add_fingerprint(user)
|
||||
if(uses > 0)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
return (uses > 0)
|
||||
|
||||
/obj/item/lightreplacer/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
if(..())
|
||||
@@ -233,6 +230,9 @@
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
return ..()
|
||||
|
||||
if(is_surface(target))
|
||||
return NONE
|
||||
|
||||
var/turf/replace_turf = get_turf(target)
|
||||
if(!istype(replace_turf))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -96,6 +96,8 @@ SLIME SCANNER
|
||||
|
||||
/obj/item/reagent_scanner/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
. = ..()
|
||||
if(isstorage(target) || is_surface(target))
|
||||
return NONE
|
||||
do_scan(target, user)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -185,6 +187,8 @@ SLIME SCANNER
|
||||
/obj/item/slime_scanner/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
if(user.incapacitated() || user.AmountBlinded())
|
||||
return ..()
|
||||
if(isstorage(target) || is_surface(target))
|
||||
return NONE
|
||||
if(!isslime(target))
|
||||
to_chat(user, SPAN_WARNING("This device can only scan slimes!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
/obj/item/soap/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
if(!ismob(target))
|
||||
// if it's a storage item and it isn't dirty, just put the soap in the storage
|
||||
if(isstorage(target) && !target.is_dirty())
|
||||
if((isstorage(target) || is_surface(target)) && !target.is_dirty())
|
||||
return ..()
|
||||
target.cleaning_act(user, src, cleanspeed)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
Reference in New Issue
Block a user