Adds examine boxes. (#18370)

* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2024-02-11 21:58:20 +00:00
committed by GitHub
co-authored by Matt Atlas
parent d57c5e7c43
commit 4423d03f2f
296 changed files with 1317 additions and 1257 deletions
+2 -2
View File
@@ -50,10 +50,10 @@
QDEL_NULL(access_scanner)
return ..()
/mob/living/bot/examine(mob/user, distance, infix, suffix)
/mob/living/bot/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(pAI)
to_chat(user, FONT_SMALL(SPAN_NOTICE("It has a pAI piloting it.")))
. += FONT_SMALL(SPAN_NOTICE("It has a pAI piloting it."))
/mob/living/bot/Life()
..()
+2 -2
View File
@@ -74,10 +74,10 @@
extra_examine_info = "The braincase is sealed and ready for use. The only thing that will undo the seal is a circular saw, and that will destroy the brain inside."
update_icon()
/obj/item/device/mmi/examine(mob/user, distance)
/obj/item/device/mmi/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(extra_examine_info)
to_chat(user, SPAN_NOTICE(extra_examine_info))
. += SPAN_NOTICE(extra_examine_info)
/obj/item/device/mmi/attackby(obj/item/I, mob/user)
switch(cradle_state)
@@ -72,27 +72,24 @@
visible_message(SPAN_NOTICE("\The [src] chimes quietly."))
return ..()
/obj/item/device/mmi/digital/posibrain/examine(mob/user)
if(!..(user))
return
/obj/item/device/mmi/digital/posibrain/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/msg = "<span class='info'>*---------*</span>\nThis is [icon2html(src, user)] \a <EM>[src]</EM>!\n[desc]\n"
msg += "<span class='warning'>"
. += "<span class='info'>*---------*</span>\nThis is [icon2html(src, user)] \a <EM>[src]</EM>!\n[desc]\n"
. += "<span class='warning'>"
if(brainmob?.key)
switch(brainmob.stat)
if(CONSCIOUS)
if(!src.brainmob.client)
msg += "It appears to be in stand-by mode.\n" //afk
. += "It appears to be in stand-by mode.\n" //afk
if(UNCONSCIOUS)
msg += "<span class='warning'>It doesn't seem to be responsive.</span>\n"
. += "<span class='warning'>It doesn't seem to be responsive.</span>\n"
if(DEAD)
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
. += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
else
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
msg += "</span><span class='info'>*---------*</span>"
to_chat(user, msg)
return TRUE
. += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
. += "</span><span class='info'>*---------*</span>"
/obj/item/device/mmi/digital/posibrain/ready_for_use(var/mob/user)
if(!brainmob)
@@ -32,7 +32,8 @@
else
to_chat(user, "<span class='deadsay'>[get_pronoun("He")] [get_pronoun("has")] a pulse!</span>")
/mob/living/carbon/human/examine(mob/user, distance, is_adjacent)
/mob/living/carbon/human/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = list()
var/skipbody = get_covered_body_parts()
var/skipbody_thick = get_covered_body_parts(TRUE)
var/skipitems = get_covered_clothes()
@@ -404,12 +405,11 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\n[get_pronoun("He")] [pose]"
to_chat(user, msg.Join())
. += msg.Join()
if(Adjacent(user))
INVOKE_ASYNC(src, PROC_REF(examine_pulse), user)
return TRUE
//Helper procedure. Called by /mob/living/carbon/human/examine() and /mob/living/carbon/human/Topic() to determine HUD access to security and medical records.
/proc/hasHUD(mob/M, hudtype)
if(ishuman(M))
@@ -1,25 +1,22 @@
/mob/living/carbon/slime/examine(mob/user)
/mob/living/carbon/slime/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/msg = ""
if(src.stat == DEAD)
msg += span("deadsay", "It is limp and unresponsive.\n")
. += span("deadsay", "It is limp and unresponsive.\n")
else
if(src.getBruteLoss())
if(src.getBruteLoss() < 40)
msg += SPAN_WARNING("It has some punctures in its flesh!\n")
. += SPAN_WARNING("It has some punctures in its flesh!\n")
else
msg += SPAN_DANGER("It has severe punctures and tears in its flesh!\n")
. += SPAN_DANGER("It has severe punctures and tears in its flesh!\n")
switch(powerlevel)
if(2 to 3)
msg += SPAN_NOTICE("It is flickering gently with a little electrical activity.\n")
. += SPAN_NOTICE("It is flickering gently with a little electrical activity.\n")
if(4 to 5)
msg += SPAN_NOTICE("It is glowing gently with moderate levels of electrical activity.\n")
. += SPAN_NOTICE("It is glowing gently with moderate levels of electrical activity.\n")
if(6 to 9)
msg += SPAN_WARNING("It is glowing brightly with high levels of electrical activity.\n")
. += SPAN_WARNING("It is glowing brightly with high levels of electrical activity.\n")
if(10)
msg += SPAN_DANGER("It is radiating with massive levels of electrical activity!\n")
. += SPAN_DANGER("It is radiating with massive levels of electrical activity!\n")
msg += "*---------*"
to_chat(user, msg)
return
. += "*---------*"
@@ -19,11 +19,11 @@
/obj/item/stack/cable_coil{amount = 5}
)
/obj/machinery/slime_extractor/examine(mob/user)
/obj/machinery/slime_extractor/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, FONT_SMALL(SPAN_NOTICE("It can hold <b>[slime_limit] slime\s</b> at a time.")))
. += FONT_SMALL(SPAN_NOTICE("It can hold <b>[slime_limit] slime\s</b> at a time."))
if(length(extract_slimes))
to_chat(user, FONT_SMALL(SPAN_WARNING("It is currently processing <b>[length(extract_slimes)] slime\s</b>.")))
. += FONT_SMALL(SPAN_WARNING("It is currently processing <b>[length(extract_slimes)] slime\s</b>."))
/obj/machinery/slime_extractor/update_icon()
cut_overlays()
+20 -25
View File
@@ -1,44 +1,39 @@
/mob/living/silicon/ai/examine(mob/user)
if(!..(user))
return TRUE
var/msg = ""
/mob/living/silicon/ai/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if (src.stat == DEAD)
msg += "<span class='deadsay'>It appears to be powered-down.</span>\n"
. += "<span class='deadsay'>It appears to be powered-down.</span>"
else
msg += "<span class='warning'>"
. += "<span class='warning'>"
if (src.getBruteLoss())
if (src.getBruteLoss() < 30)
msg += "It looks slightly dented.\n"
. += "It looks slightly dented."
else
msg += "<B>It looks severely dented!</B>\n"
. += "<B>It looks severely dented!</B>"
if (src.getFireLoss())
if (src.getFireLoss() < 30)
msg += "It looks slightly charred.\n"
. += "It looks slightly charred."
else
msg += "<B>Its casing is melted and heat-warped!</B>\n"
. += "<B>Its casing is melted and heat-warped!</B>"
if (src.getOxyLoss() && (ai_restore_power_routine != 0 && !APU_power))
if (src.getOxyLoss() > 175)
msg += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning.</B>\n"
. += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning.</B>"
else if(src.getOxyLoss() > 100)
msg += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning.</B>\n"
. += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning.</B>"
else
msg += "It seems to be running on backup power.\n"
. += "It seems to be running on backup power."
if (src.stat == UNCONSCIOUS)
msg += "It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\".\n"
msg += "</span>"
msg += "*---------*"
. += "It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\"."
. += "</span>"
. += "*---------*"
if(hardware && (hardware.owner == src))
msg += "<br>"
msg += hardware.get_examine_desc()
to_chat(user, msg)
user.showLaws(src)
return TRUE
. += "<br>"
. += hardware.get_examine_desc()
. += user.examine_laws(src)
/mob/proc/showLaws(var/mob/living/silicon/S)
/mob/proc/examine_laws(var/mob/living/silicon/S)
return
/mob/abstract/observer/showLaws(var/mob/living/silicon/S)
/mob/abstract/observer/examine_laws(var/mob/living/silicon/S)
if(antagHUD || is_admin(src))
S.laws.show_laws(src)
return S.laws.get_laws(src)
+13 -13
View File
@@ -1,19 +1,19 @@
/mob/living/silicon/pai/examine(mob/user, distance, is_adjacent)
. = ..(user, distance, is_adjacent, infix = ", personal AI")
var/msg = ""
/mob/living/silicon/pai/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..(user, distance, is_adjacent, ", personal AI", suffix)
switch(src.stat)
if(CONSCIOUS)
if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk
if(UNCONSCIOUS) msg += "\n<span class='warning'>It doesn't seem to be responding.</span>"
if(DEAD) msg += "\n<span class='deadsay'>It looks completely unsalvageable.</span>"
msg += "\n*---------*"
if(!src.client)
. += "\nIt appears to be in stand-by mode." //afk
if(UNCONSCIOUS)
. += "\n<span class='warning'>It doesn't seem to be responding.</span>"
if(DEAD)
. += "\n<span class='deadsay'>It looks completely unsalvageable.</span>"
. += "\n*---------*"
if(print_flavor_text()) msg += "\n[print_flavor_text()]\n"
if(print_flavor_text())
. += "\n[print_flavor_text()]\n"
if (pose)
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
if(findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\nIt [pose]"
to_chat(user, msg)
. += "\nIt [pose]"
@@ -576,9 +576,6 @@
/mob/living/silicon/robot/drone/self_destruct()
gib()
/mob/living/silicon/robot/drone/examine(mob/user)
. = ..()
/mob/living/silicon/robot/drone/self_diagnosis()
if(!is_component_functioning("diagnosis unit"))
return null
@@ -63,10 +63,10 @@
if(drone_progress >= 100)
visible_message(SPAN_NOTICE("\The [src] voices a strident beep, indicating a drone chassis is prepared."))
/obj/machinery/drone_fabricator/examine(mob/user)
/obj/machinery/drone_fabricator/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(produce_drones && drone_progress >= 100 && istype(user,/mob/abstract) && GLOB.config.allow_drone_spawn && count_drones() < GLOB.config.max_maint_drones)
to_chat(user, SPAN_NOTICE("<B>A drone is prepared. use 'Ghost Spawner' from the Ghost tab to spawn as a maintenance drone.</B>"))
. += SPAN_NOTICE("<B>A drone is prepared. use 'Ghost Spawner' from the Ghost tab to spawn as a maintenance drone.</B>")
/obj/machinery/drone_fabricator/proc/create_drone(var/client/player, var/drone_tag)
if(stat & NOPOWER)
@@ -1,50 +1,45 @@
/mob/living/silicon/robot/examine(mob/user, distance, is_adjacent)
/mob/living/silicon/robot/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
var/custom_infix = custom_name ? ", [mod_type] [braintype]" : ""
. = ..(user, distance, is_adjacent, infix = custom_infix)
var/msg = ""
. += describe_all_modules() // describe modules
msg += "\n"
msg += describe_all_modules() // describe modules
msg += "\n"
msg += "<span class='warning'>"
. += "<span class='warning'>"
if(getBruteLoss())
if(getBruteLoss() < 75)
msg += "It looks slightly dented.\n"
. += "It looks slightly dented."
else
msg += "<B>It looks severely dented!</B>\n"
. += "<B>It looks severely dented!</B>"
if(getFireLoss())
if(getFireLoss() < 75)
msg += "It looks slightly charred.\n"
. += "It looks slightly charred."
else
msg += "<B>It looks severely burnt and heat-warped!</B>\n"
msg += "</span>"
. += "<B>It looks severely burnt and heat-warped!</B>"
. += "</span>"
if(opened)
msg += "<span class='warning'>Its cover is open and the power cell is [cell ? "installed" : "missing"].</span>\n"
. += "<span class='warning'>Its cover is open and the power cell is [cell ? "installed" : "missing"].</span>"
else
msg += "Its cover is closed.\n"
. += "Its cover is closed."
if(!has_power)
msg += "<span class='warning'>It appears to be running on backup power.</span>\n"
. += "<span class='warning'>It appears to be running on backup power.</span>"
switch(stat)
if(CONSCIOUS)
if(!client) msg += "It appears to be in stand-by mode.\n" //afk
if(!client)
. += "It appears to be in stand-by mode." //afk
if(UNCONSCIOUS)
msg += "<span class='warning'>It doesn't seem to be responding.</span>\n"
. += "<span class='warning'>It doesn't seem to be responding.</span>"
if(DEAD)
msg += "<span class='deadsay'>It looks completely unsalvageable.</span>\n"
msg += "*---------*"
. += "<span class='deadsay'>It looks completely unsalvageable.</span>"
. += "*---------*"
if(print_flavor_text())
msg += "\n[print_flavor_text()]\n"
. += "\n[print_flavor_text()]\n"
if(pose)
if(findtext(pose, ".", length(pose)) == 0 && findtext(pose, "!", length(pose)) == 0 && findtext(pose, "?", length(pose)) == 0 )
pose = addtext(pose, ".") //Makes sure all emotes end with a period.
msg += "\nIt [pose]"
to_chat(user, msg)
user.showLaws(src)
. += "\nIt [pose]"
. += user.examine_laws(src)
@@ -287,14 +287,13 @@
var/list/index_module = list(module_state_1,module_state_2,module_state_3)
var/result = " Hardpoint [slot] holds "
result += (index_module[slot]) ? "[icon2html(index_module[slot], viewers(get_turf(src)))] [index_module[slot]]." : "nothing."
result += "\n"
return result
/mob/living/silicon/robot/proc/describe_all_modules()
var/result="It has three tool hardpoints.\n"
var/result="It has three tool hardpoints."
for (var/x = 1; x <=3; x++)
result += describe_module(x)
var/selected = get_selected_module()
if (selected)
result += "\nThe activity light on hardpoint [selected] is on.\n"
result += "The activity light on hardpoint [selected] is on."
return result
@@ -35,10 +35,15 @@
var/force_holder
/obj/item/gripper/examine(var/mob/user)
/obj/item/gripper/examine(mob/user)
. = ..()
if(wrapped)
to_chat(user, SPAN_NOTICE("It is holding \the [wrapped]"))
wrapped.examine(user)
/obj/item/gripper/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(wrapped)
. += SPAN_NOTICE("It is holding \the [wrapped].")
/proc/grippersafety(var/obj/item/gripper/G)
if(!G || !G.wrapped)//The object must have been lost
@@ -103,10 +103,10 @@
if(ispath(cell))
cell = new cell(src)
/obj/item/inductive_charger/handheld/examine(mob/user, distance)
/obj/item/inductive_charger/handheld/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(cell)
to_chat(user, SPAN_NOTICE("Cell Charge: [cell.percent()]%"))
. += SPAN_NOTICE("Cell Charge: [cell.percent()]%")
/obj/item/inductive_charger/handheld/get_cell()
return cell
@@ -16,10 +16,10 @@
. = ..()
files = new /datum/research/techonly(src) //Setup the research data holder.
/obj/item/portable_destructive_analyzer/examine(mob/user, distance, is_adjacent)
/obj/item/portable_destructive_analyzer/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(loaded_item && is_adjacent)
to_chat(user, SPAN_NOTICE("It is holding \a [loaded_item]."))
. += SPAN_NOTICE("It is holding \a [loaded_item].")
/obj/item/portable_destructive_analyzer/attack_self(mob/user)
var/response = alert(user, "Analyzing the item inside will *DESTROY* the item for good.\n\
@@ -19,10 +19,10 @@
stored_walls = max_walls
stored_doors = max_doors
/obj/item/inflatable_dispenser/examine(mob/user)
/obj/item/inflatable_dispenser/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, SPAN_NOTICE("It has [stored_walls] wall segment\s and [stored_doors] door segment\s stored."))
to_chat(user, SPAN_NOTICE("It is set to deploy [mode ? "doors" : "walls"]"))
. += SPAN_NOTICE("It has [stored_walls] wall segment\s and [stored_doors] door segment\s stored.")
. += SPAN_NOTICE("It is set to deploy [mode ? "doors" : "walls"]")
/obj/item/inflatable_dispenser/attack_self(mob/user)
if(!deploying)
@@ -28,13 +28,13 @@
else
name = "robot [initial(name)]"
/obj/item/robot_parts/examine(mob/user, distance, is_adjacent)
/obj/item/robot_parts/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
report_missing_parts(user)
. = report_missing_parts(user)
/obj/item/robot_parts/proc/report_missing_parts(var/mob/user)
return
. = list()
/obj/item/robot_parts/l_arm
name = "left arm"
@@ -98,18 +98,19 @@
update_icon()
/obj/item/robot_parts/robot_suit/report_missing_parts(var/mob/user)
. = ..()
if(!head)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional head.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional head."))
if(!chest)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional chest.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional chest."))
if(!l_arm)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional left arm.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional left arm."))
if(!r_arm)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional right arm.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional right arm."))
if(!l_leg)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional left leg.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional left leg."))
if(!r_leg)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional right leg.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional right leg."))
/obj/item/robot_parts/robot_suit/equipped/Initialize()
. = ..()
@@ -321,10 +322,11 @@
return ..()
/obj/item/robot_parts/chest/report_missing_parts(var/mob/user)
. = ..()
if(!cell)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking a functional cell.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking a functional cell."))
if(!wires)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking wiring.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking wiring."))
/obj/item/robot_parts/chest/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/cell))
@@ -349,12 +351,13 @@
return ..()
/obj/item/robot_parts/head/report_missing_parts(var/mob/user)
. = ..()
var/law_manager_msg = "Its lawing circuits are <b>[law_manager ? "enabled" : "disabled"]</b>."
to_chat(user, SPAN_NOTICE(law_manager_msg))
. += SPAN_NOTICE(law_manager_msg)
if(!left_flash)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking its left flash.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking its left flash."))
if(!right_flash)
to_chat(user, FONT_SMALL(SPAN_WARNING("It is lacking its right flash.")))
. += FONT_SMALL(SPAN_WARNING("It is lacking its right flash."))
/obj/item/robot_parts/head/attackby(obj/item/W, mob/user)
..()
@@ -103,13 +103,13 @@
return
return ..()
/mob/living/simple_animal/construct/examine(mob/user)
/mob/living/simple_animal/construct/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(health < maxHealth)
if(health >= maxHealth / 2)
to_chat(user, SPAN_WARNING("It looks slightly dented."))
. += SPAN_WARNING("It looks slightly dented.")
else
to_chat(user, SPAN_WARNING("It looks severely dented!"))
. += SPAN_WARNING("It looks severely dented!")
/mob/living/simple_animal/construct/UnarmedAttack(var/atom/A, var/proximity)
if(istype(A, /obj/effect/rune))
@@ -32,10 +32,10 @@
addtimer(CALLBACK(src, PROC_REF(pet_response)), rand(2 SECONDS, 5 SECONDS))
..()
/mob/living/simple_animal/capybara/examine(mob/user)
/mob/living/simple_animal/capybara/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(stat == DEAD)
to_chat(user, "How can someone kill such a friendly creature?")
. += "How can someone kill such a friendly creature?"
/mob/living/simple_animal/capybara/proc/pet_response(mob/M)
if(!stat && M)
@@ -293,10 +293,10 @@
befriend_job = "Chief Medical Officer"
holder_type = /obj/item/holder/cat/black
/mob/living/simple_animal/cat/fluff/examine(mob/user)
/mob/living/simple_animal/cat/fluff/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(stat == DEAD)
to_chat(user, "Oh no, [name] is dead! What kind of monster would do this?")
. += "Oh no, [name] is dead! What kind of monster would do this?"
/mob/living/simple_animal/cat/kitten
name = "kitten"
@@ -309,10 +309,10 @@
gender = NEUTER
holder_type = /obj/item/holder/cat/kitten
/mob/living/simple_animal/cat/kitten/examine(mob/user)
/mob/living/simple_animal/cat/kitten/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(stat == DEAD)
to_chat(user, "It's a dead kitten! What kind of monster would do this?")
. += "It's a dead kitten! What kind of monster would do this?"
/mob/living/simple_animal/cat/fluff/bones
name = "Bones"
@@ -356,7 +356,7 @@
can_nap = TRUE
holder_type = /obj/item/holder/cat/crusher
/mob/living/simple_animal/cat/crusher/examine(mob/user)
/mob/living/simple_animal/cat/crusher/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(stat == DEAD)
to_chat(user, "Crusher's dead. How could this have happened? She counted on you!")
. += "Crusher's dead. How could this have happened? She counted on you!"
@@ -311,7 +311,7 @@
to_chat(src, "<span class='warning'>There is nothing of interest to take.</span>")
return 0
/mob/living/simple_animal/spiderbot/examine(mob/user)
/mob/living/simple_animal/spiderbot/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(src.held_item)
to_chat(user, "It is carrying [icon2html(src.held_item, user)] \a [src.held_item].")
@@ -98,13 +98,13 @@
has_loot = FALSE
qdel(src)
/mob/living/simple_animal/hostile/icarus_drone/examine(mob/user)
/mob/living/simple_animal/hostile/icarus_drone/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(malfunctioning)
if(hostile_drone)
to_chat(user, SPAN_WARNING("It's completely lit up, and its targetting vanes are deployed."))
. += SPAN_WARNING("It's completely lit up, and its targetting vanes are deployed.")
else
to_chat(user, SPAN_WARNING("Most of its lights are off, and its targetting vanes are retracted."))
. += SPAN_WARNING("Most of its lights are off, and its targetting vanes are retracted.")
/mob/living/simple_animal/hostile/icarus_drone/Allow_Spacemove(var/check_drift = 0)
return TRUE
@@ -100,9 +100,7 @@
/mob/living/simple_animal/hostile/morph/examine(mob/user, distance, is_adjacent)
if(morphed)
. = form.examine(user)
if(distance <= 2)
to_chat(user, SPAN_WARNING("It doesn't look quite right..."))
return form.examine(user)
else
return ..()
@@ -217,15 +217,14 @@
src.client.screen = null
..()
/mob/living/simple_animal/examine(mob/user)
. = ..()
/mob/living/simple_animal/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if (stat == DEAD)
to_chat(user, "<span class='danger'>It looks dead.</span>")
. += "<span class='danger'>It looks dead.</span>"
if (health < maxHealth * 0.5)
to_chat(user, "<span class='danger'>It looks badly wounded.</span>")
. += "<span class='danger'>It looks badly wounded.</span>"
else if (health < maxHealth)
to_chat(user, "<span class='warning'>It looks wounded.</span>")
. += "<span class='warning'>It looks wounded.</span>"
/mob/living/simple_animal/can_name(var/mob/living/M)
if(named)