Refactors the 'Examine' status tab (#16330)

* Removes the 'Examine' tab

* Revert "Removes the 'Examine' tab"

This reverts commit 0dd01722c9.

* Initial system and misc items

* Atmospherics

* Engineering

* Medical

* Mobs

* Stacks

* Structures

* Turfs & Weapons

* Final stuff and bad documentation

* Sheer laziness
This commit is contained in:
SabreML
2021-07-26 18:11:57 +01:00
committed by GitHub
parent c7f4c82dfe
commit 2c0ae9c500
69 changed files with 396 additions and 410 deletions
+4
View File
@@ -23,6 +23,10 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \
usesound = 'sound/items/deconstruct.ogg'
merge_type = /obj/item/stack/rods
/obj/item/stack/rods/detailed_examine()
return "Made from metal sheets. You can build a grille by using it in your hand. \
Clicking on a floor without any tiles will reinforce the floor. You can make reinforced glass by combining rods and normal glass sheets."
/obj/item/stack/rods/cyborg
energy_type = /datum/robot_energy_storage/rods
is_cyborg = TRUE
@@ -36,6 +36,9 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
merge_type = /obj/item/stack/sheet/glass
point_value = 1
/obj/item/stack/sheet/glass/detailed_examine()
return "Use in your hand to build a window. Can be upgraded to reinforced glass by adding metal rods, which are made from metal sheets."
/obj/item/stack/sheet/glass/fifty
amount = 50
@@ -44,6 +47,10 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
is_cyborg = TRUE
materials = list()
/obj/item/stack/sheet/glass/cyborg/detailed_examine()
return "Use in your hand to build a window. Can be upgraded to reinforced glass by adding metal rods, which are made from metal sheets.<br>\
As a synthetic, you can acquire more sheets of glass by recharging."
/obj/item/stack/sheet/glass/New(loc, amount)
recipes = GLOB.glass_recipes
..()
@@ -103,6 +110,9 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
recipes = GLOB.reinforced_glass_recipes
..()
/obj/item/stack/sheet/rglass/detailed_examine()
return "Use in your hand to build a window. Reinforced glass is much stronger against damage."
GLOBAL_LIST_INIT(pglass_recipes, list ( \
new/datum/stack_recipe/window("directional window", /obj/structure/window/plasmabasic, time = 0, on_floor = TRUE, window_checks = TRUE), \
new/datum/stack_recipe/window("fulltile window", /obj/structure/window/full/plasmabasic, 2, time = 0, on_floor = TRUE, window_checks = TRUE) \
@@ -113,6 +123,10 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
is_cyborg = TRUE
materials = list()
/obj/item/stack/sheet/rglass/cyborg/detailed_examine()
return "Use in your hand to build a window. Reinforced glass is much stronger against damage.<br>\
As a synthetic, you can gain more reinforced glass by recharging."
/obj/item/stack/sheet/plasmaglass
name = "plasma glass"
desc = "A very strong and very resistant sheet of a plasma-glass alloy."
@@ -114,6 +114,10 @@ GLOBAL_LIST_INIT(metal_recipes, list(
is_cyborg = TRUE
materials = list()
/obj/item/stack/sheet/metal/cyborg/detailed_examine()
return "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it.<br>\
You can replenish your supply of metal as a synthetic by recharging."
/obj/item/stack/sheet/metal/fifty
amount = 50
@@ -16,3 +16,6 @@
usesound = 'sound/items/deconstruct.ogg'
toolspeed = 1
var/wall_allowed = TRUE //determines if sheet can be used in wall construction or not.
/obj/item/stack/sheet/detailed_examine()
return "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it."
@@ -1,7 +1,6 @@
/obj/item/stack/telecrystal
name = "telecrystal"
desc = "It seems to be pulsing with suspiciously enticing energies."
description_antag = "Telecrystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on unactivated uplinks."
singular_name = "telecrystal"
icon = 'icons/obj/telescience.dmi'
icon_state = "telecrystal"
@@ -34,6 +33,9 @@
use(amount)
to_chat(user, "<span class='notice'>You slot [src] into [cart]. The next time it's used, it will also give telecrystals</span>")
/obj/item/stack/telecrystal/detailed_examine_antag()
return "Telecrystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on unactivated uplinks."
/obj/item/stack/telecrystal/five
amount = 5
+5
View File
@@ -1358,9 +1358,14 @@
. += "Has [fake_bullets] round\s remaining."
. += "[fake_bullets] of those are live rounds."
/obj/item/toy/russian_revolver/trick_revolver/detailed_examine() //oh no
return "This is a ballistic weapon. To reload, click the weapon in your hand to unload (if needed), then add the appropriate ammo. The description \
will tell you what caliber you need."
/obj/item/toy/russian_revolver/trick_revolver/post_shot(user)
to_chat(user, "<span class='danger'>[src] did look pretty dodgey!</span>")
SEND_SOUND(user, sound('sound/misc/sadtrombone.ogg')) //HONK
/*
* Rubber Chainsaw
*/
@@ -1,7 +1,6 @@
/obj/item/bee_briefcase
name = "briefcase"
desc = "This briefcase has easy-release clasps and smells vaguely of honey and blood..."
description_antag = "A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it."
icon = 'icons/obj/storage.dmi'
icon_state = "briefcase"
item_state = "briefcase"
@@ -28,6 +27,9 @@
else
. += "<span class='danger'>The bees are gone... Colony collapse disorder?</span>"
/obj/item/bee_briefcase/detailed_examine_antag()
return "A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it."
/obj/item/bee_briefcase/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/reagent_containers/syringe))
var/obj/item/reagent_containers/syringe/S = I
@@ -561,7 +561,6 @@
/obj/item/nullrod/missionary_staff
name = "holy staff"
desc = "It has a mysterious, protective aura."
description_antag = "This seemingly standard holy staff is actually a disguised neurotransmitter capable of inducing blind zealotry in its victims. It must be allowed to recharge in the presence of a linked set of missionary robes. Activate the staff while wearing robes to link, then aim the staff at your victim to try and convert them."
reskinned = TRUE
reskin_selectable = FALSE
icon_state = "godstaff-red"
@@ -575,6 +574,10 @@
var/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/robes = null //the robes linked with this staff
var/faith = 99 //a conversion requires 100 faith to attempt. faith recharges over time while you are wearing missionary robes that have been linked to the staff.
/obj/item/nullrod/missionary_staff/detailed_examine_antag()
return "This seemingly standard holy staff is actually a disguised neurotransmitter capable of inducing blind zealotry in its victims. It must be allowed to recharge in the presence of a linked set of missionary robes. \
Activate the staff while wearing robes to link, then aim the staff at your victim to try and convert them."
/obj/item/nullrod/missionary_staff/New()
..()
team_color = pick("red", "blue")
@@ -125,6 +125,11 @@
if(item_color == null)
item_color = pick("red", "blue", "green", "purple")
/obj/item/melee/energy/sword/detailed_examine()
return "The energy sword is a very strong melee weapon, capable of severing limbs easily, if they are targeted. It can also has a chance \
to block projectiles and melee attacks while it is on and being held. The sword can be toggled on or off by using it in your hand. While it is off, \
it can be concealed in your pocket or bag."
/obj/item/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(active)
return ..()
@@ -71,6 +71,11 @@
else
. += "<span class='warning'>The baton does not have a power source installed.</span>"
/obj/item/melee/baton/detailed_examine()
return "The baton needs to be turned on to apply the stunning effect. Use it in your hand to toggle it on or off. If your intent is \
set to 'harm', you will inflict damage when using it, regardless if it is on or not. Each stun reduces the baton's charge, which can be replenished by \
putting it inside a weapon recharger."
/obj/item/melee/baton/get_cell()
return cell
+8
View File
@@ -28,6 +28,11 @@
if(GIRDER_DISASSEMBLED)
. += "<span class='notice'>[src] is disassembled! You probably shouldn't be able to see this examine message.</span>"
/obj/structre/girder/detailed_examine()
return "Use metal sheets on this to build a normal wall. Adding plasteel instead will make a reinforced wall.<br>\
A false wall can be made by using a crowbar on this girder, and then adding metal or plasteel.<br>\
You can dismantle the girder with a wrench."
/obj/structure/girder/proc/refundMetal(metalAmount) //refunds metal used in construction when deconstructed
for(var/i=0;i < metalAmount;i++)
new metal_type(get_turf(src))
@@ -405,6 +410,9 @@
girderpasschance = 0
max_integrity = 350
/obj/structure/girder/reinforced/detailed_examine()
return "Add another sheet of plasteel to finish."
/obj/structure/girder/cult
name = "runed girder"
desc = "Framework made of a strange and shockingly cold metal. It doesn't seem to have any bolts."
+4
View File
@@ -21,6 +21,10 @@
var/shockcooldown = 0
var/my_shockcooldown = 1 SECONDS
/obj/structure/grille/detailed_examine()
return "A powered and knotted wire underneath this will cause the grille to shock anyone not wearing insulated gloves.<br>\
Wirecutters will turn the grille into metal rods instantly. Grilles are made with metal rods."
/obj/structure/grille/fence
var/width = 3
@@ -5,6 +5,9 @@
icon_state = "folded_wall"
w_class = WEIGHT_CLASS_NORMAL
/obj/item/inflatable/detailed_examine()
return "Inflate by using it in your hand. The inflatable barrier will inflate on your tile. To deflate it, use the 'deflate' verb."
/obj/item/inflatable/attack_self(mob/user)
playsound(loc, 'sound/items/zip.ogg', 75, 1)
to_chat(user, "<span class='notice'>You inflate [src].</span>")
@@ -25,6 +28,9 @@
var/torn = /obj/item/inflatable/torn
var/intact = /obj/item/inflatable
/obj/structure/inflatable/detailed_examine()
return "To remove these safely, use the 'deflate' verb. Hitting these with any objects will probably puncture and break it forever."
/obj/structure/inflatable/Initialize(location)
..()
air_update_turf(TRUE)
@@ -104,6 +110,10 @@
var/state = 0 //closed, 1 == open
var/isSwitchingStates = 0
/obj/structure/inflatable/door/detailed_examine()
return "Click the door to open or close it. It only stops air while closed.<br>\
To remove these safely, use the 'deflate' verb. Hitting these with any objects will probably puncture and break it forever."
/obj/structure/inflatable/door/attack_ai(mob/user as mob) //those aren't machinery, they're just big fucking slabs of a mineral
if(isAI(user)) //so the AI can't open it
return
+4
View File
@@ -26,6 +26,10 @@
. = ..()
. += deconstruction_hints(user)
/obj/structure/lattice/detailed_examine()
return "Add a metal floor tile to build a floor on top of the lattice.<br>\
Lattices can be made by applying metal rods to a space tile."
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
return "<span class='notice'>The rods look like they could be <b>cut</b>. There's space for more <i>rods</i> or a <i>tile</i>.</span>"
@@ -25,6 +25,12 @@
buckle_offset = -6
var/comfort = 2 // default comfort
/obj/structure/bed/detailed_examine()
return "Click and drag yourself (or anyone) to this to buckle in. Click on this with an empty hand to undo the buckles.<br>\
<br>\
Anyone with restraints, such as handcuffs, will not be able to unbuckle themselves. They must use the Resist button, or verb, to break free of \
the buckles, instead."
/obj/structure/bed/psych
name = "psych bed"
desc = "For prime comfort during psychiatric evaluations."