mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 16:10:02 +01:00
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:
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user