mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 06:22:26 +01:00
Split examine verb and function, and improve it (#17251)
* Split examine verb and function, and include adjacency and distance checking in examine function * Fix various issues * Update code/modules/mob/examinations.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> * Add required define vars * Update code/game/objects/items/stacks/wrap.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> --------- Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
co-authored by
SleepyGemmy
parent
39228d3a2c
commit
ce5ac79e3c
@@ -45,7 +45,7 @@
|
||||
add_overlay(lid)
|
||||
|
||||
/obj/item/reagent_containers/chem_disp_cartridge/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
to_chat(user, "It has a capacity of [volume] units.")
|
||||
if(reagents.total_volume <= 0)
|
||||
to_chat(user, "It is empty.")
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
add_cartridge(new type(src))
|
||||
|
||||
/obj/machinery/chemical_dispenser/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
to_chat(user, "It has [cartridges.len] cartridges installed, and has space for [DISPENSER_MAX_CARTRIDGES - cartridges.len] more.")
|
||||
|
||||
/obj/machinery/chemical_dispenser/proc/add_cartridge(obj/item/reagent_containers/chem_disp_cartridge/C, mob/user)
|
||||
|
||||
@@ -155,8 +155,9 @@
|
||||
attached_mob = null
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/reagent_containers/blood/examine(mob/user, distance = 2)
|
||||
if (..() && vampire_marks)
|
||||
/obj/item/reagent_containers/blood/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if (distance <= 2 && vampire_marks)
|
||||
to_chat(user, SPAN_WARNING("There are teeth marks on it."))
|
||||
return
|
||||
|
||||
|
||||
@@ -126,8 +126,10 @@
|
||||
to_chat(usr, SPAN_NOTICE("Synthesizer is now producing '[R.name]'."))
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/hypospray/borghypo/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/item/reagent_containers/hypospray/borghypo/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
|
||||
if (distance > 2)
|
||||
return
|
||||
|
||||
var/singleton/reagent/R = GET_SINGLETON(reagent_ids[mode])
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
update_held_icon()
|
||||
|
||||
/obj/item/reagent_containers/dropper/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(LAZYLEN(reagents.reagent_volumes))
|
||||
to_chat(user, SPAN_NOTICE("\The [src] is holding [reagents.total_volume] units out of [volume]. Current transfer is [amount_per_transfer_from_this] units."))
|
||||
else
|
||||
|
||||
@@ -83,8 +83,9 @@ If you add a drink with an empty icon sprite, ensure it is in the same folder, e
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
/obj/item/reagent_containers/food/drinks/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if (distance > 1)
|
||||
return
|
||||
if(!reagents || reagents.total_volume == 0)
|
||||
to_chat(user, "<span class='notice'>\The [src] is empty!</span>")
|
||||
|
||||
@@ -69,6 +69,6 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/csandwich/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
var/obj/item/O = pick(contents)
|
||||
to_chat(user, SPAN_NOTICE("You think you can see [O.name] in there."))
|
||||
|
||||
@@ -142,8 +142,9 @@
|
||||
|
||||
return 1
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
/obj/item/reagent_containers/food/snacks/examine(mob/user, distance)
|
||||
. = ..()
|
||||
if(distance > 1)
|
||||
return
|
||||
if (coating)
|
||||
var/singleton/reagent/coating_reagent = GET_SINGLETON(coating)
|
||||
|
||||
@@ -24,8 +24,9 @@
|
||||
. = ..()
|
||||
AddComponent(/datum/component/base_name, name)
|
||||
|
||||
/obj/item/reagent_containers/glass/examine(var/mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/item/reagent_containers/glass/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if(distance > 2)
|
||||
return
|
||||
if(LAZYLEN(reagents.reagent_volumes))
|
||||
to_chat(user, SPAN_NOTICE("It contains [round(reagents.total_volume, accuracy)] units of a reagent."))
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
update_held_icon()
|
||||
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(LAZYLEN(reagents.reagent_volumes))
|
||||
to_chat(user, SPAN_NOTICE("It is currently loaded."))
|
||||
else
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
update_held_icon()
|
||||
|
||||
/obj/item/reagent_containers/inhaler/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(LAZYLEN(reagents.reagent_volumes))
|
||||
to_chat(user, "<span class='notice'>It is currently loaded.</span>")
|
||||
else
|
||||
|
||||
@@ -32,8 +32,10 @@
|
||||
filling.color = reagents.get_color()
|
||||
add_overlay(filling)
|
||||
|
||||
/obj/item/reagent_containers/personal_inhaler_cartridge/examine(var/mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/item/reagent_containers/personal_inhaler_cartridge/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
|
||||
if (distance > 2)
|
||||
return
|
||||
|
||||
if(is_open_container())
|
||||
@@ -99,8 +101,9 @@
|
||||
origin_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2)
|
||||
var/eject_when_empty = FALSE
|
||||
|
||||
/obj/item/personal_inhaler/examine(var/mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/item/personal_inhaler/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if(distance > 2)
|
||||
return
|
||||
if(stored_cartridge)
|
||||
to_chat(user,"<span class='notice'>\The [stored_cartridge] is attached to \the [src].</span>")
|
||||
|
||||
@@ -110,8 +110,8 @@
|
||||
spray_size = next_in_list(spray_size, spray_sizes)
|
||||
to_chat(user, SPAN_NOTICE("You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray, with a [spray_size] lane spray."))
|
||||
|
||||
/obj/item/reagent_containers/spray/examine(mob/user)
|
||||
if(..(user, 0) && loc == user)
|
||||
/obj/item/reagent_containers/spray/examine(mob/user, distance, is_adjacent)
|
||||
if(is_adjacent)
|
||||
to_chat(user, "[round(reagents.total_volume)] units left.")
|
||||
return
|
||||
|
||||
@@ -168,8 +168,9 @@
|
||||
safety = 1
|
||||
reagents_to_add = list(/singleton/reagent/capsaicin/condensed = 40)
|
||||
|
||||
/obj/item/reagent_containers/spray/pepper/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
/obj/item/reagent_containers/spray/pepper/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if(distance <= 1)
|
||||
to_chat(user, "The safety is [safety ? "on" : "off"].")
|
||||
|
||||
/obj/item/reagent_containers/spray/pepper/AltClick()
|
||||
|
||||
@@ -21,8 +21,9 @@
|
||||
src.verbs -= /obj/structure/reagent_dispensers/verb/set_APTFT
|
||||
desc_info = ""
|
||||
|
||||
/obj/structure/reagent_dispensers/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/structure/reagent_dispensers/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if(distance > 2)
|
||||
return
|
||||
to_chat(user,"<span class='notice'>It contains [reagents.total_volume] units of reagents.</span>")
|
||||
|
||||
@@ -127,8 +128,9 @@
|
||||
var/obj/item/device/assembly_holder/rig = null
|
||||
reagents_to_add = list(/singleton/reagent/fuel = 1000)
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/structure/reagent_dispensers/fueltank/examine(mob/user, distance, is_adjacent)
|
||||
. = ..()
|
||||
if(distance > 2)
|
||||
return
|
||||
if (is_leaking)
|
||||
to_chat(user, "<span class='warning'>Fuel faucet is wrenched open, leaking the fuel!</span>")
|
||||
@@ -424,4 +426,4 @@
|
||||
desc = "A metal barrel containing radioactive waste."
|
||||
icon_state = "chemical_barrel"
|
||||
amount_per_transfer_from_this = 300
|
||||
reagents_to_add = list(/singleton/reagent/radioactive_waste = 1000)
|
||||
reagents_to_add = list(/singleton/reagent/radioactive_waste = 1000)
|
||||
|
||||
Reference in New Issue
Block a user