mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge examine refactor for vorestation
This commit is contained in:
@@ -25,8 +25,9 @@
|
|||||||
default_apply_parts()
|
default_apply_parts()
|
||||||
|
|
||||||
/obj/machinery/power/thermoregulator/examine(mob/user)
|
/obj/machinery/power/thermoregulator/examine(mob/user)
|
||||||
if(..(user,2))
|
. = ..()
|
||||||
to_chat(user, "There is a small display that reads \"[convert_k2c(target_temp)]C\".")
|
if(get_dist(user, src) <= 2)
|
||||||
|
. += "There is a small display that reads \"[convert_k2c(target_temp)]C\"."
|
||||||
|
|
||||||
/obj/machinery/power/thermoregulator/attackby(obj/item/I, mob/user)
|
/obj/machinery/power/thermoregulator/attackby(obj/item/I, mob/user)
|
||||||
if(I.is_screwdriver())
|
if(I.is_screwdriver())
|
||||||
|
|||||||
@@ -66,8 +66,8 @@
|
|||||||
/obj/structure/barricade/cutout/examine(var/mob/user)
|
/obj/structure/barricade/cutout/examine(var/mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
if(Adjacent(user, src))
|
if(Adjacent(user))
|
||||||
to_chat(user, "<br><span class='notice'>... from this distance, they seem to be made of [material.name] ...</span>")
|
. += "<span class='notice'>... from this distance, they seem to be made of [material.name] ...</span>"
|
||||||
|
|
||||||
/obj/structure/barricade/cutout/attackby(var/obj/I, var/mob/user)
|
/obj/structure/barricade/cutout/attackby(var/obj/I, var/mob/user)
|
||||||
if(is_type_in_list(I, painters))
|
if(is_type_in_list(I, painters))
|
||||||
|
|||||||
@@ -158,9 +158,9 @@ GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/power/pointdefense)
|
|||||||
underlays += I
|
underlays += I
|
||||||
|
|
||||||
/obj/machinery/power/pointdefense/examine(mob/user)
|
/obj/machinery/power/pointdefense/examine(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(powernet)
|
if(powernet)
|
||||||
to_chat(user, "It is connected to a power cable below.")
|
. += "It is connected to a power cable below."
|
||||||
|
|
||||||
/obj/machinery/power/pointdefense/get_description_interaction()
|
/obj/machinery/power/pointdefense/get_description_interaction()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -56,8 +56,9 @@
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/item/device/nifrepairer/examine(mob/user)
|
/obj/item/device/nifrepairer/examine(mob/user)
|
||||||
if(..(user, 1))
|
. = ..()
|
||||||
|
if(Adjacent(user))
|
||||||
if(supply.total_volume)
|
if(supply.total_volume)
|
||||||
to_chat(user, "<span class='notice'>\The [src] contains [supply.total_volume] units of programmed nanites, ready for dispensing.</span>")
|
. += "<span class='notice'>\The [src] contains [supply.total_volume] units of programmed nanites, ready for dispensing.</span>"
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='notice'>\The [src] is empty and ready to accept nanopaste.</span>")
|
. += "<span class='notice'>\The [src] is empty and ready to accept nanopaste.</span>"
|
||||||
|
|||||||
@@ -581,16 +581,10 @@ var/global/list/default_medbay_channels = list(
|
|||||||
|
|
||||||
/obj/item/device/radio/examine(mob/user)
|
/obj/item/device/radio/examine(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
<<<<<<< HEAD
|
|
||||||
if ((in_range(src, user) || loc == user))
|
|
||||||
if (b_stat)
|
|
||||||
user.show_message("<span class='notice'>\The [src] can be attached and modified!</span>")
|
|
||||||
=======
|
|
||||||
|
|
||||||
if((in_range(src, user) || loc == user))
|
if((in_range(src, user) || loc == user))
|
||||||
if(b_stat)
|
if(b_stat)
|
||||||
. += "<span class='notice'>\The [src] can be attached and modified!</span>"
|
. += "<span class='notice'>\The [src] can be attached and modified!</span>"
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
else
|
else
|
||||||
. += "<span class='notice'>\The [src] can not be modified or attached!</span>"
|
. += "<span class='notice'>\The [src] can not be modified or attached!</span>"
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,18 @@
|
|||||||
STOP_PROCESSING(SSobj, src)
|
STOP_PROCESSING(SSobj, src)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/device/uav/examine(mob/user)
|
||||||
|
. = ..()
|
||||||
|
if(Adjacent(user))
|
||||||
|
. += "It has <i>'[nickname]'</i> scribbled on the side."
|
||||||
|
if(!cell)
|
||||||
|
. += "<span class='warning'>It appears to be missing a power cell.</span>"
|
||||||
|
|
||||||
|
if(health <= (initial(health)/4))
|
||||||
|
. += "<span class='warning'>It looks like it might break at any second!</span>"
|
||||||
|
else if(health <= (initial(health)/2))
|
||||||
|
. += "<span class='warning'>It looks pretty beaten up...</span>"
|
||||||
|
|
||||||
/obj/item/device/uav/attack_hand(var/mob/user)
|
/obj/item/device/uav/attack_hand(var/mob/user)
|
||||||
//Has to be on the ground to work with it properly
|
//Has to be on the ground to work with it properly
|
||||||
if(!isturf(loc))
|
if(!isturf(loc))
|
||||||
|
|||||||
@@ -167,8 +167,8 @@
|
|||||||
|
|
||||||
//////////////////
|
//////////////////
|
||||||
/obj/item/weapon/rcd_ammo/examine(mob/user)
|
/obj/item/weapon/rcd_ammo/examine(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
to_chat(user, display_resources())
|
. += display_resources()
|
||||||
|
|
||||||
// Used to show how much stuff (matter units, cell charge, etc) is left inside.
|
// Used to show how much stuff (matter units, cell charge, etc) is left inside.
|
||||||
/obj/item/weapon/rcd_ammo/proc/display_resources()
|
/obj/item/weapon/rcd_ammo/proc/display_resources()
|
||||||
|
|||||||
@@ -40,14 +40,9 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/item/weapon/extinguisher/examine(mob/user)
|
/obj/item/weapon/extinguisher/examine(mob/user)
|
||||||
<<<<<<< HEAD
|
|
||||||
if(..(user, 0))
|
|
||||||
to_chat(user, "[bicon(src)] [src.name] contains [src.reagents.total_volume] units of foam left!") //VOREStation Edit
|
|
||||||
=======
|
|
||||||
. = ..()
|
. = ..()
|
||||||
if(get_dist(user, src) == 0)
|
if(get_dist(user, src) == 0)
|
||||||
. += "[src] has [src.reagents.total_volume] units of water left!"
|
. += "[src] has [src.reagents.total_volume] units of foam left!" //VOREStation Edit - Foam not water
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|
||||||
/obj/item/weapon/extinguisher/attack_self(mob/user as mob)
|
/obj/item/weapon/extinguisher/attack_self(mob/user as mob)
|
||||||
safety = !safety
|
safety = !safety
|
||||||
|
|||||||
@@ -197,14 +197,12 @@
|
|||||||
|
|
||||||
/obj/item/weapon/inducer/examine(mob/living/M)
|
/obj/item/weapon/inducer/examine(mob/living/M)
|
||||||
. = ..()
|
. = ..()
|
||||||
var/dat = ""
|
|
||||||
if(cell)
|
if(cell)
|
||||||
dat += "<br><span class='notice'>Its display shows: [round(cell.charge)] / [cell.maxcharge].</span>"
|
. += "<span class='notice'>Its display shows: [round(cell.charge)] / [cell.maxcharge].</span>"
|
||||||
else
|
else
|
||||||
dat += "<br><span class='notice'>Its display is dark.</span>"
|
. += "<span class='notice'>Its display is dark.</span>"
|
||||||
if(opened)
|
if(opened)
|
||||||
dat += "<br><span class='notice'>Its battery compartment is open.</span>"
|
. += "<span class='notice'>Its battery compartment is open.</span>"
|
||||||
to_chat(M, dat)
|
|
||||||
|
|
||||||
/obj/item/weapon/inducer/update_icon()
|
/obj/item/weapon/inducer/update_icon()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
//Chain link fences
|
//Chain link fences
|
||||||
//Sprites ported from /VG/
|
//Sprites ported from /VG/
|
||||||
|
|
||||||
@@ -33,9 +32,9 @@
|
|||||||
|
|
||||||
switch(hole_size)
|
switch(hole_size)
|
||||||
if(MEDIUM_HOLE)
|
if(MEDIUM_HOLE)
|
||||||
user.show_message("There is a large hole in \the [src].")
|
. += "There is a large hole in it."
|
||||||
if(LARGE_HOLE)
|
if(LARGE_HOLE)
|
||||||
user.show_message("\The [src] has been completely cut through.")
|
. += "It has been completely cut through."
|
||||||
|
|
||||||
/obj/structure/fence/get_description_interaction()
|
/obj/structure/fence/get_description_interaction()
|
||||||
var/list/results = list()
|
var/list/results = list()
|
||||||
@@ -177,184 +176,4 @@
|
|||||||
#undef NO_HOLE
|
#undef NO_HOLE
|
||||||
#undef MEDIUM_HOLE
|
#undef MEDIUM_HOLE
|
||||||
#undef LARGE_HOLE
|
#undef LARGE_HOLE
|
||||||
=======
|
|
||||||
//Chain link fences
|
|
||||||
//Sprites ported from /VG/
|
|
||||||
|
|
||||||
#define CUT_TIME 10 SECONDS
|
|
||||||
#define CLIMB_TIME 5 SECONDS
|
|
||||||
|
|
||||||
#define NO_HOLE 0 //section is intact
|
|
||||||
#define MEDIUM_HOLE 1 //medium hole in the section - can climb through
|
|
||||||
#define LARGE_HOLE 2 //large hole in the section - can walk through
|
|
||||||
#define MAX_HOLE_SIZE LARGE_HOLE
|
|
||||||
|
|
||||||
/obj/structure/fence
|
|
||||||
name = "fence"
|
|
||||||
desc = "A chain link fence. Not as effective as a wall, but generally it keeps people out."
|
|
||||||
description_info = "Projectiles can freely pass fences."
|
|
||||||
density = TRUE
|
|
||||||
anchored = TRUE
|
|
||||||
|
|
||||||
icon = 'icons/obj/fence.dmi'
|
|
||||||
icon_state = "straight"
|
|
||||||
|
|
||||||
var/cuttable = TRUE
|
|
||||||
var/hole_size= NO_HOLE
|
|
||||||
var/invulnerable = FALSE
|
|
||||||
|
|
||||||
/obj/structure/fence/Initialize()
|
|
||||||
update_cut_status()
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/structure/fence/examine(mob/user)
|
|
||||||
. = ..()
|
|
||||||
|
|
||||||
switch(hole_size)
|
|
||||||
if(MEDIUM_HOLE)
|
|
||||||
. += "There is a large hole in it."
|
|
||||||
if(LARGE_HOLE)
|
|
||||||
. += "It has been completely cut through."
|
|
||||||
|
|
||||||
/obj/structure/fence/get_description_interaction()
|
|
||||||
var/list/results = list()
|
|
||||||
if(cuttable && !invulnerable && hole_size < MAX_HOLE_SIZE)
|
|
||||||
results += "[desc_panel_image("wirecutters")]to [hole_size > NO_HOLE ? "expand the":"cut a"] hole into the fence, allowing passage."
|
|
||||||
return results
|
|
||||||
|
|
||||||
/obj/structure/fence/end
|
|
||||||
icon_state = "end"
|
|
||||||
cuttable = FALSE
|
|
||||||
|
|
||||||
/obj/structure/fence/corner
|
|
||||||
icon_state = "corner"
|
|
||||||
cuttable = FALSE
|
|
||||||
|
|
||||||
/obj/structure/fence/post
|
|
||||||
icon_state = "post"
|
|
||||||
cuttable = FALSE
|
|
||||||
|
|
||||||
/obj/structure/fence/cut/medium
|
|
||||||
icon_state = "straight_cut2"
|
|
||||||
hole_size = MEDIUM_HOLE
|
|
||||||
|
|
||||||
/obj/structure/fence/cut/large
|
|
||||||
icon_state = "straight_cut3"
|
|
||||||
hole_size = LARGE_HOLE
|
|
||||||
|
|
||||||
// Projectiles can pass through fences.
|
|
||||||
/obj/structure/fence/CanPass(atom/movable/mover, turf/target)
|
|
||||||
if(istype(mover, /obj/item/projectile))
|
|
||||||
return TRUE
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/structure/fence/attackby(obj/item/W, mob/user)
|
|
||||||
if(W.is_wirecutter())
|
|
||||||
if(!cuttable)
|
|
||||||
to_chat(user, span("warning", "This section of the fence can't be cut."))
|
|
||||||
return
|
|
||||||
if(invulnerable)
|
|
||||||
to_chat(user, span("warning", "This fence is too strong to cut through."))
|
|
||||||
return
|
|
||||||
var/current_stage = hole_size
|
|
||||||
if(current_stage >= MAX_HOLE_SIZE)
|
|
||||||
to_chat(user, span("notice", "This fence has too much cut out of it already."))
|
|
||||||
return
|
|
||||||
|
|
||||||
user.visible_message(span("danger", "\The [user] starts cutting through \the [src] with \the [W]."),\
|
|
||||||
span("danger", "You start cutting through \the [src] with \the [W]."))
|
|
||||||
playsound(src, W.usesound, 50, 1)
|
|
||||||
|
|
||||||
if(do_after(user, CUT_TIME * W.toolspeed, target = src))
|
|
||||||
if(current_stage == hole_size)
|
|
||||||
switch(++hole_size)
|
|
||||||
if(MEDIUM_HOLE)
|
|
||||||
visible_message(span("notice", "\The [user] cuts into \the [src] some more."))
|
|
||||||
to_chat(user, span("notice", "You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger."))
|
|
||||||
climbable = TRUE
|
|
||||||
if(LARGE_HOLE)
|
|
||||||
visible_message(span("notice", "\The [user] completely cuts through \the [src]."))
|
|
||||||
to_chat(user, span("notice", "The hole in \the [src] is now big enough to walk through."))
|
|
||||||
climbable = FALSE
|
|
||||||
update_cut_status()
|
|
||||||
return TRUE
|
|
||||||
|
|
||||||
/obj/structure/fence/proc/update_cut_status()
|
|
||||||
if(!cuttable)
|
|
||||||
return
|
|
||||||
density = TRUE
|
|
||||||
|
|
||||||
switch(hole_size)
|
|
||||||
if(NO_HOLE)
|
|
||||||
icon_state = initial(icon_state)
|
|
||||||
if(MEDIUM_HOLE)
|
|
||||||
icon_state = "straight_cut2"
|
|
||||||
if(LARGE_HOLE)
|
|
||||||
icon_state = "straight_cut3"
|
|
||||||
density = FALSE
|
|
||||||
|
|
||||||
//FENCE DOORS
|
|
||||||
|
|
||||||
/obj/structure/fence/door
|
|
||||||
name = "fence door"
|
|
||||||
desc = "Not very useful without a real lock."
|
|
||||||
icon_state = "door_closed"
|
|
||||||
cuttable = FALSE
|
|
||||||
var/open = FALSE
|
|
||||||
var/locked = FALSE
|
|
||||||
|
|
||||||
/obj/structure/fence/door/Initialize()
|
|
||||||
update_door_status()
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/structure/fence/door/opened
|
|
||||||
icon_state = "door_opened"
|
|
||||||
open = TRUE
|
|
||||||
density = TRUE
|
|
||||||
|
|
||||||
/obj/structure/fence/door/locked
|
|
||||||
desc = "It looks like it has a strong padlock attached."
|
|
||||||
locked = TRUE
|
|
||||||
|
|
||||||
/obj/structure/fence/door/attack_hand(mob/user)
|
|
||||||
if(can_open(user))
|
|
||||||
toggle(user)
|
|
||||||
else
|
|
||||||
to_chat(user, span("warning", "\The [src] is [!open ? "locked" : "stuck open"]."))
|
|
||||||
|
|
||||||
return TRUE
|
|
||||||
|
|
||||||
/obj/structure/fence/door/proc/toggle(mob/user)
|
|
||||||
switch(open)
|
|
||||||
if(FALSE)
|
|
||||||
visible_message(span("notice", "\The [user] opens \the [src]."))
|
|
||||||
open = TRUE
|
|
||||||
if(TRUE)
|
|
||||||
visible_message(span("notice", "\The [user] closes \the [src]."))
|
|
||||||
open = FALSE
|
|
||||||
|
|
||||||
update_door_status()
|
|
||||||
playsound(src, 'sound/machines/click.ogg', 100, 1)
|
|
||||||
|
|
||||||
/obj/structure/fence/door/proc/update_door_status()
|
|
||||||
switch(open)
|
|
||||||
if(FALSE)
|
|
||||||
density = TRUE
|
|
||||||
icon_state = "door_closed"
|
|
||||||
if(TRUE)
|
|
||||||
density = FALSE
|
|
||||||
icon_state = "door_opened"
|
|
||||||
|
|
||||||
/obj/structure/fence/door/proc/can_open(mob/user)
|
|
||||||
if(locked)
|
|
||||||
return FALSE
|
|
||||||
return TRUE
|
|
||||||
|
|
||||||
#undef CUT_TIME
|
|
||||||
#undef CLIMB_TIME
|
|
||||||
|
|
||||||
#undef NO_HOLE
|
|
||||||
#undef MEDIUM_HOLE
|
|
||||||
#undef LARGE_HOLE
|
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
#undef MAX_HOLE_SIZE
|
#undef MAX_HOLE_SIZE
|
||||||
@@ -342,24 +342,24 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if(beaker)
|
if(beaker)
|
||||||
to_chat(user, "The IV drip is [mode ? "injecting" : "taking blood"].")
|
. += "The IV drip is [mode ? "injecting" : "taking blood"]."
|
||||||
to_chat(user, "It is set to transfer [transfer_amount]u of chemicals per cycle.")
|
. += "It is set to transfer [transfer_amount]u of chemicals per cycle."
|
||||||
if(beaker.reagents && beaker.reagents.total_volume)
|
if(beaker.reagents && beaker.reagents.total_volume)
|
||||||
to_chat(user, "<span class='notice'>Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.</span>")
|
. += "<span class='notice'>Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.</span>"
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='notice'>Attached is an empty [beaker].</span>")
|
. += "<span class='notice'>Attached is an empty [beaker].</span>"
|
||||||
to_chat(user, "<span class='notice'>[attached ? attached : "No one"] is hooked up to it.</span>")
|
. += "<span class='notice'>[attached ? attached : "No one"] is hooked up to it.</span>"
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='notice'>There is no vessel.</span>")
|
. += "<span class='notice'>There is no vessel.</span>"
|
||||||
|
|
||||||
if(tank)
|
if(tank)
|
||||||
if (!is_loosen)
|
if (!is_loosen)
|
||||||
to_chat(user, "\The [tank] connected.")
|
. += "\The [tank] connected."
|
||||||
to_chat(user, "The meter shows [round(tank.air_contents.return_pressure())]. The valve is [valve_opened == TRUE ? "open" : "closed"].")
|
. += "The meter shows [round(tank.air_contents.return_pressure())]. The valve is [valve_opened == TRUE ? "open" : "closed"]."
|
||||||
if (tank.distribute_pressure == 0)
|
if (tank.distribute_pressure == 0)
|
||||||
to_chat(user, "Use wrench to replace tank.")
|
. += "Use wrench to replace tank."
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='notice'>There is no tank.</span>")
|
. += "<span class='notice'>There is no tank.</span>"
|
||||||
|
|
||||||
/obj/structure/medical_stand/process()
|
/obj/structure/medical_stand/process()
|
||||||
//Gas Stuff
|
//Gas Stuff
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
/obj/machinery/portable_atmospherics/hydroponics
|
/obj/machinery/portable_atmospherics/hydroponics
|
||||||
name = "hydroponics tray"
|
name = "hydroponics tray"
|
||||||
<<<<<<< HEAD
|
|
||||||
icon = 'icons/obj/hydroponics_machines_vr.dmi' //VOREStation Edit
|
|
||||||
=======
|
|
||||||
desc = "A tray usually full of fluid for growing plants."
|
desc = "A tray usually full of fluid for growing plants."
|
||||||
icon = 'icons/obj/hydroponics_machines.dmi'
|
icon = 'icons/obj/hydroponics_machines_vr.dmi' //VOREStation Edit
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
icon_state = "hydrotray3"
|
icon_state = "hydrotray3"
|
||||||
density = 1
|
density = 1
|
||||||
anchored = 1
|
anchored = 1
|
||||||
|
|||||||
@@ -34,9 +34,13 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
|||||||
|
|
||||||
/obj/item/device/survivalcapsule/examine(mob/user)
|
/obj/item/device/survivalcapsule/examine(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
get_template()
|
if(!template)
|
||||||
to_chat(user, "This capsule has the [template.name] stored.")
|
get_template()
|
||||||
to_chat(user, template.description)
|
if(template)
|
||||||
|
. += "This capsule has the [template.name] stored:"
|
||||||
|
. += template.description
|
||||||
|
else
|
||||||
|
. += "This capsule has an unknown template stored."
|
||||||
|
|
||||||
/obj/item/device/survivalcapsule/attack_self()
|
/obj/item/device/survivalcapsule/attack_self()
|
||||||
//Can't grab when capsule is New() because templates aren't loaded then
|
//Can't grab when capsule is New() because templates aren't loaded then
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
if(!((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)))
|
if(!((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)))
|
||||||
//VOREStation Add Start
|
//VOREStation Add Start
|
||||||
if(custom_species)
|
if(custom_species)
|
||||||
msg += ", a <b>[src.custom_species]</b>"
|
name_ender = ", a <b>[src.custom_species]</b>"
|
||||||
else if(looks_synth)
|
else if(looks_synth)
|
||||||
//VOREStation Add End
|
//VOREStation Add End
|
||||||
var/use_gender = "a synthetic"
|
var/use_gender = "a synthetic"
|
||||||
@@ -280,13 +280,20 @@
|
|||||||
if(suiciding)
|
if(suiciding)
|
||||||
msg += "<span class='warning'>[T.He] appears to have commited suicide... there is no hope of recovery.</span>"
|
msg += "<span class='warning'>[T.He] appears to have commited suicide... there is no hope of recovery.</span>"
|
||||||
|
|
||||||
msg += attempt_vr(src,"examine_weight",args) //VOREStation Code
|
//VOREStation Add
|
||||||
msg += attempt_vr(src,"examine_nutrition",args) //VOREStation Code
|
var/list/vorestrings = list()
|
||||||
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Code
|
vorestrings += examine_weight()
|
||||||
msg += attempt_vr(src,"examine_pickup_size",args) //VOREStation Code
|
vorestrings += examine_nutrition()
|
||||||
msg += attempt_vr(src,"examine_step_size",args) //VOREStation Code
|
vorestrings += examine_bellies()
|
||||||
msg += attempt_vr(src,"examine_nif",args) //VOREStation Code
|
vorestrings += examine_pickup_size()
|
||||||
msg += attempt_vr(src,"examine_chimera",args) //VOREStation Code
|
vorestrings += examine_step_size()
|
||||||
|
vorestrings += examine_nif()
|
||||||
|
vorestrings += examine_chimera()
|
||||||
|
for(var/entry in vorestrings)
|
||||||
|
if(entry == "" || entry == null)
|
||||||
|
vorestrings -= entry
|
||||||
|
msg += vorestrings
|
||||||
|
//VOREStation Add End
|
||||||
|
|
||||||
if(mSmallsize in mutations)
|
if(mSmallsize in mutations)
|
||||||
msg += "[T.He] [T.is] very short!"
|
msg += "[T.He] [T.is] very short!"
|
||||||
@@ -314,17 +321,13 @@
|
|||||||
if(!key)
|
if(!key)
|
||||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon.</span>"
|
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon.</span>"
|
||||||
else if(!client)
|
else if(!client)
|
||||||
<<<<<<< HEAD
|
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg].</span>"
|
||||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg].</span><br>"
|
|
||||||
//VOREStation Add Start
|
//VOREStation Add Start
|
||||||
if(client && ((client.inactivity / 10) / 60 > 10)) //10 Minutes
|
if(client && ((client.inactivity / 10) / 60 > 10)) //10 Minutes
|
||||||
msg += "\[Inactive for [round((client.inactivity/10)/60)] minutes\]\n"
|
msg += "\[Inactive for [round((client.inactivity/10)/60)] minutes\]"
|
||||||
else if(disconnect_time)
|
else if(disconnect_time)
|
||||||
msg += "\[Disconnected/ghosted [round(((world.realtime - disconnect_time)/10)/60)] minutes ago\]\n"
|
msg += "\[Disconnected/ghosted [round(((world.realtime - disconnect_time)/10)/60)] minutes ago\]"
|
||||||
//VOREStation Add End
|
//VOREStation Add End
|
||||||
=======
|
|
||||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg].</span>"
|
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|
||||||
var/list/wound_flavor_text = list()
|
var/list/wound_flavor_text = list()
|
||||||
var/list/is_bleeding = list()
|
var/list/is_bleeding = list()
|
||||||
@@ -437,21 +440,14 @@
|
|||||||
if(flavor_text)
|
if(flavor_text)
|
||||||
msg += "[flavor_text]"
|
msg += "[flavor_text]"
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
// VOREStation Start
|
// VOREStation Start
|
||||||
if(ooc_notes)
|
if(ooc_notes)
|
||||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>\n"
|
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>"
|
||||||
|
msg += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>"
|
||||||
msg += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>\n"
|
|
||||||
|
|
||||||
// VOREStation End
|
// VOREStation End
|
||||||
msg += "*---------*</span><br>"
|
|
||||||
msg += applying_pressure
|
|
||||||
=======
|
|
||||||
msg += "*---------*</span>"
|
msg += "*---------*</span>"
|
||||||
if(applying_pressure)
|
if(applying_pressure)
|
||||||
msg += applying_pressure
|
msg += applying_pressure
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|
||||||
var/show_descs = show_descriptors_to(user)
|
var/show_descs = show_descriptors_to(user)
|
||||||
if(show_descs)
|
if(show_descs)
|
||||||
|
|||||||
@@ -44,25 +44,25 @@
|
|||||||
|
|
||||||
switch(weight_examine)
|
switch(weight_examine)
|
||||||
if(0 to 74)
|
if(0 to 74)
|
||||||
message = "<span class='warning'>[t_He] [t_is] terribly lithe and frail!</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] terribly lithe and frail!</span>"
|
||||||
if(75 to 99)
|
if(75 to 99)
|
||||||
message = "[t_He] [t_has] a very slender frame.\n"
|
message = "[t_He] [t_has] a very slender frame."
|
||||||
if(100 to 124)
|
if(100 to 124)
|
||||||
message = "[t_He] [t_has] a lightweight, athletic build.\n"
|
message = "[t_He] [t_has] a lightweight, athletic build."
|
||||||
if(125 to 174)
|
if(125 to 174)
|
||||||
message = "[t_He] [t_has] a healthy, average body.\n"
|
message = "[t_He] [t_has] a healthy, average body."
|
||||||
if(175 to 224)
|
if(175 to 224)
|
||||||
message = "[t_He] [t_has] a thick, [t_heavy] physique.\n"
|
message = "[t_He] [t_has] a thick, [t_heavy] physique."
|
||||||
if(225 to 274)
|
if(225 to 274)
|
||||||
message = "[t_He] [t_has] a plush, chubby figure.\n"
|
message = "[t_He] [t_has] a plush, chubby figure."
|
||||||
if(275 to 325)
|
if(275 to 325)
|
||||||
message = "[t_He] [t_has] an especially plump body with a round potbelly and large hips.\n"
|
message = "[t_He] [t_has] an especially plump body with a round potbelly and large hips."
|
||||||
if(325 to 374)
|
if(325 to 374)
|
||||||
message = "[t_He] [t_has] a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs.\n"
|
message = "[t_He] [t_has] a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs."
|
||||||
if(375 to 474)
|
if(375 to 474)
|
||||||
message = "<span class='warning'>[t_He] [t_is] incredibly obese. [t_His] massive potbelly sags over [t_his] waistline while [t_his] fat ass would probably require two chairs to sit down comfortably!</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] incredibly obese. [t_His] massive potbelly sags over [t_his] waistline while [t_his] fat ass would probably require two chairs to sit down comfortably!</span>"
|
||||||
else
|
else
|
||||||
message += "<span class='warning'>[t_He] [t_is] so morbidly obese, you wonder how [t_he] can even stand, let alone waddle around the station. [t_He] can't get any fatter without being immobilized.</span>\n"
|
message += "<span class='warning'>[t_He] [t_is] so morbidly obese, you wonder how [t_he] can even stand, let alone waddle around the station. [t_He] can't get any fatter without being immobilized.</span>"
|
||||||
return message //Credit to Aronai for helping me actually get this working!
|
return message //Credit to Aronai for helping me actually get this working!
|
||||||
|
|
||||||
/mob/living/carbon/human/proc/examine_nutrition()
|
/mob/living/carbon/human/proc/examine_nutrition()
|
||||||
@@ -100,23 +100,23 @@
|
|||||||
t_His = "Hir"
|
t_His = "Hir"
|
||||||
switch(nutrition_examine)
|
switch(nutrition_examine)
|
||||||
if(0 to 49)
|
if(0 to 49)
|
||||||
message = "<span class='warning'>[t_He] [t_is] starving! You can hear [t_his] stomach snarling from across the room!</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] starving! You can hear [t_his] stomach snarling from across the room!</span>"
|
||||||
if(50 to 99)
|
if(50 to 99)
|
||||||
message = "<span class='warning'>[t_He] [t_is] extremely hungry. A deep growl occasionally rumbles from [t_his] empty stomach.</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] extremely hungry. A deep growl occasionally rumbles from [t_his] empty stomach.</span>"
|
||||||
if(100 to 499)
|
if(100 to 499)
|
||||||
return message //Well that's pretty normal, really.
|
return message //Well that's pretty normal, really.
|
||||||
if(500 to 999) // Fat.
|
if(500 to 999) // Fat.
|
||||||
message = "[t_He] [t_has] a stuffed belly, bloated fat and round from eating too much.\n"
|
message = "[t_He] [t_has] a stuffed belly, bloated fat and round from eating too much."
|
||||||
if(1000 to 1399)
|
if(1000 to 1399)
|
||||||
message = "[t_He] [t_has] a rotund, thick gut. It bulges from their body obscenely, close to sagging under its own weight.\n"
|
message = "[t_He] [t_has] a rotund, thick gut. It bulges from their body obscenely, close to sagging under its own weight."
|
||||||
if(1400 to 1934) // One person fully digested.
|
if(1400 to 1934) // One person fully digested.
|
||||||
message = "<span class='warning'>[t_He] [t_is] sporting a large, round, sagging stomach. It's contains at least their body weight worth of glorping slush.</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] sporting a large, round, sagging stomach. It's contains at least their body weight worth of glorping slush.</span>"
|
||||||
if(1935 to 3004) // Two people.
|
if(1935 to 3004) // Two people.
|
||||||
message = "<span class='warning'>[t_He] [t_is] engorged with a huge stomach that sags and wobbles as they move. [t_He] must have consumed at least twice their body weight. It looks incredibly soft.</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] engorged with a huge stomach that sags and wobbles as they move. [t_He] must have consumed at least twice their body weight. It looks incredibly soft.</span>"
|
||||||
if(3005 to 4074) // Three people.
|
if(3005 to 4074) // Three people.
|
||||||
message = "<span class='warning'>[t_His] stomach is firmly packed with digesting slop. [t_He] must have eaten at least a few times worth their body weight! It looks hard for them to stand, and [t_his] gut jiggles when they move.</span>\n"
|
message = "<span class='warning'>[t_His] stomach is firmly packed with digesting slop. [t_He] must have eaten at least a few times worth their body weight! It looks hard for them to stand, and [t_his] gut jiggles when they move.</span>"
|
||||||
if(4075 to INFINITY) // Four or more people.
|
if(4075 to INFINITY) // Four or more people.
|
||||||
message = "<span class='warning'>[t_He] [t_is] so absolutely stuffed that you aren't sure how it's possible to move. [t_He] can't seem to swell any bigger. The surface of [t_his] belly looks sorely strained!</span>\n"
|
message = "<span class='warning'>[t_He] [t_is] so absolutely stuffed that you aren't sure how it's possible to move. [t_He] can't seem to swell any bigger. The surface of [t_his] belly looks sorely strained!</span>"
|
||||||
return message
|
return message
|
||||||
|
|
||||||
//For OmniHUD records access for appropriate models
|
//For OmniHUD records access for appropriate models
|
||||||
@@ -145,18 +145,18 @@
|
|||||||
/mob/living/carbon/human/proc/examine_pickup_size(mob/living/H)
|
/mob/living/carbon/human/proc/examine_pickup_size(mob/living/H)
|
||||||
var/message = ""
|
var/message = ""
|
||||||
if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.50)
|
if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.50)
|
||||||
message = "<font color='blue'>They are small enough that you could easily pick them up!</font>\n"
|
message = "<font color='blue'>They are small enough that you could easily pick them up!</font>"
|
||||||
return message
|
return message
|
||||||
|
|
||||||
/mob/living/carbon/human/proc/examine_step_size(mob/living/H)
|
/mob/living/carbon/human/proc/examine_step_size(mob/living/H)
|
||||||
var/message = ""
|
var/message = ""
|
||||||
if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.75)
|
if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.75)
|
||||||
message = "<font color='red'>They are small enough that you could easily trample them!</font>\n"
|
message = "<font color='red'>They are small enough that you could easily trample them!</font>"
|
||||||
return message
|
return message
|
||||||
|
|
||||||
/mob/living/carbon/human/proc/examine_nif(mob/living/carbon/human/H)
|
/mob/living/carbon/human/proc/examine_nif(mob/living/carbon/human/H)
|
||||||
if(nif && nif.examine_msg) //If you have one set, anyway.
|
if(nif && nif.examine_msg) //If you have one set, anyway.
|
||||||
return "<span class='notice'>[nif.examine_msg]</span>\n"
|
return "<span class='notice'>[nif.examine_msg]</span>"
|
||||||
|
|
||||||
/mob/living/carbon/human/proc/examine_chimera(mob/living/carbon/human/H)
|
/mob/living/carbon/human/proc/examine_chimera(mob/living/carbon/human/H)
|
||||||
var/t_He = "It" //capitalised for use at the start of each line.
|
var/t_He = "It" //capitalised for use at the start of each line.
|
||||||
@@ -189,8 +189,8 @@
|
|||||||
t_his = "hir"
|
t_his = "hir"
|
||||||
if(revive_ready == REVIVING_NOW || revive_ready == REVIVING_DONE)
|
if(revive_ready == REVIVING_NOW || revive_ready == REVIVING_DONE)
|
||||||
if(stat == DEAD)
|
if(stat == DEAD)
|
||||||
return "<span class='warning'>[t_His] body is twitching subtly.</span>\n"
|
return "<span class='warning'>[t_His] body is twitching subtly.</span>"
|
||||||
else
|
else
|
||||||
return "<span class='notice'>[t_He] [t_appear] to be in some sort of torpor.</span>\n"
|
return "<span class='notice'>[t_He] [t_appear] to be in some sort of torpor.</span>"
|
||||||
if(feral)
|
if(feral)
|
||||||
return "<span class='warning'>[t_He] [t_has] a crazed, wild look in [t_his] eyes!</span>\n"
|
return "<span class='warning'>[t_He] [t_has] a crazed, wild look in [t_his] eyes!</span>"
|
||||||
@@ -3,24 +3,17 @@
|
|||||||
|
|
||||||
switch(src.stat)
|
switch(src.stat)
|
||||||
if(CONSCIOUS)
|
if(CONSCIOUS)
|
||||||
<<<<<<< HEAD
|
|
||||||
if(!src.client) msg += "\nIt appears to be in stand-by mode.\n" //afk
|
|
||||||
if(UNCONSCIOUS) msg += "\n<span class='warning'>It doesn't seem to be responding.</span>\n"
|
|
||||||
if(DEAD) msg += "\n<span class='deadsay'>It looks completely unsalvageable.</span>\n"
|
|
||||||
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Edit
|
|
||||||
|
|
||||||
// VOREStation Edit: Start
|
|
||||||
if(ooc_notes)
|
|
||||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>\n"
|
|
||||||
// VOREStation Edit: End
|
|
||||||
|
|
||||||
msg += "\n*---------*"
|
|
||||||
=======
|
|
||||||
if(!src.client) . += "It appears to be in stand-by mode." //afk
|
if(!src.client) . += "It appears to be in stand-by mode." //afk
|
||||||
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
||||||
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
||||||
|
|
||||||
|
// VOREStation Edit: Start
|
||||||
|
. += attempt_vr(src,"examine_bellies",args) //VOREStation Edit
|
||||||
|
if(ooc_notes)
|
||||||
|
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>"
|
||||||
|
// VOREStation Edit: End
|
||||||
|
|
||||||
. += "*---------*"
|
. += "*---------*"
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|
||||||
if(print_flavor_text()) . += "\n[print_flavor_text()]\n"
|
if(print_flavor_text()) . += "\n[print_flavor_text()]\n"
|
||||||
|
|
||||||
|
|||||||
@@ -179,12 +179,12 @@
|
|||||||
flags |= NOBLUDGEON //No more attack messages
|
flags |= NOBLUDGEON //No more attack messages
|
||||||
|
|
||||||
/obj/item/device/dogborg/tongue/examine(user)
|
/obj/item/device/dogborg/tongue/examine(user)
|
||||||
if(!..(user, 1))
|
. = ..()
|
||||||
return
|
if(Adjacent(user))
|
||||||
if(water.energy)
|
if(water.energy)
|
||||||
to_chat(user, "<span class='notice'>[src] is wet. Just like it should be.</span>")
|
. += "<span class='notice'>[src] is wet. Just like it should be.</span>"
|
||||||
if(water.energy < 5)
|
if(water.energy < 5)
|
||||||
to_chat(user, "<span class='notice'>[src] is dry.</span>")
|
. += "<span class='notice'>[src] is dry.</span>"
|
||||||
|
|
||||||
/obj/item/device/dogborg/tongue/attack_self(mob/user)
|
/obj/item/device/dogborg/tongue/attack_self(mob/user)
|
||||||
var/mob/living/silicon/robot.R = user
|
var/mob/living/silicon/robot.R = user
|
||||||
|
|||||||
@@ -26,24 +26,17 @@
|
|||||||
if(shell)
|
if(shell)
|
||||||
. += "It appears to be an [deployed ? "active" : "empty"] AI shell."
|
. += "It appears to be an [deployed ? "active" : "empty"] AI shell."
|
||||||
else if(!src.client)
|
else if(!src.client)
|
||||||
<<<<<<< HEAD
|
|
||||||
msg += "It appears to be in stand-by mode.\n" //afk
|
|
||||||
if(UNCONSCIOUS) msg += "<span class='warning'>It doesn't seem to be responding.</span>\n"
|
|
||||||
if(DEAD) msg += "<span class='deadsay'>It looks completely unsalvageable.</span>\n"
|
|
||||||
msg += attempt_vr(src,"examine_bellies_borg",args) //VOREStation Edit
|
|
||||||
|
|
||||||
// VOREStation Edit: Start
|
|
||||||
if(ooc_notes)
|
|
||||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>\n"
|
|
||||||
// VOREStation Edit: End
|
|
||||||
|
|
||||||
msg += "*---------*"
|
|
||||||
=======
|
|
||||||
. += "It appears to be in stand-by mode." //afk
|
. += "It appears to be in stand-by mode." //afk
|
||||||
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
||||||
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
||||||
|
|
||||||
|
// VOREStation Edit: Start
|
||||||
|
. += attempt_vr(src,"examine_bellies_borg",args) //VOREStation Edit
|
||||||
|
if(ooc_notes)
|
||||||
|
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>"
|
||||||
|
// VOREStation Edit: End
|
||||||
|
|
||||||
. += "*---------*"
|
. += "*---------*"
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|
||||||
if(print_flavor_text()) . += "<br>[print_flavor_text()]"
|
if(print_flavor_text()) . += "<br>[print_flavor_text()]"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
// Parrots can talk, and may repeat things it hears.
|
// Parrots can talk, and may repeat things it hears.
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot
|
/mob/living/simple_mob/animal/passive/bird/parrot
|
||||||
name = "parrot"
|
name = "parrot"
|
||||||
@@ -42,11 +41,11 @@
|
|||||||
return say(message)
|
return say(message)
|
||||||
|
|
||||||
// Ugly saycode so parrots can use their headsets.
|
// Ugly saycode so parrots can use their headsets.
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, used_radios)
|
/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, speaking, used_radios)
|
||||||
..()
|
..()
|
||||||
if(message_mode)
|
if(message_mode)
|
||||||
if(my_headset && istype(my_headset, /obj/item/device/radio))
|
if(my_headset && istype(my_headset, /obj/item/device/radio))
|
||||||
my_headset.talk_into(src, message, message_mode, verb)
|
my_headset.talk_into(src, message, message_mode, verb, speaking)
|
||||||
used_radios += my_headset
|
used_radios += my_headset
|
||||||
|
|
||||||
// Clicked on while holding an object.
|
// Clicked on while holding an object.
|
||||||
@@ -91,9 +90,9 @@
|
|||||||
my_headset = null
|
my_headset = null
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/examine(mob/user)
|
/mob/living/simple_mob/animal/passive/bird/parrot/examine(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(my_headset)
|
if(my_headset)
|
||||||
to_chat(user, "It is wearing \a [my_headset].")
|
. += "It is wearing \a [my_headset]."
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/Initialize()
|
/mob/living/simple_mob/animal/passive/bird/parrot/Initialize()
|
||||||
if(my_headset)
|
if(my_headset)
|
||||||
@@ -110,7 +109,7 @@
|
|||||||
icon_rest = "poly-held"
|
icon_rest = "poly-held"
|
||||||
icon_dead = "poly-dead"
|
icon_dead = "poly-dead"
|
||||||
tt_desc = "E Ara macao"
|
tt_desc = "E Ara macao"
|
||||||
//my_headset = /obj/item/device/radio/headset/headset_eng //VOREStation Removal: shut up
|
//my_headset = /obj/item/device/radio/headset/headset_eng //VOREStation Removal
|
||||||
say_list_type = /datum/say_list/bird/poly
|
say_list_type = /datum/say_list/bird/poly
|
||||||
|
|
||||||
// Best Bird with best headset.
|
// Best Bird with best headset.
|
||||||
@@ -250,257 +249,4 @@
|
|||||||
if(holder.stat || !holder.say_list || !message || speaker == holder)
|
if(holder.stat || !holder.say_list || !message || speaker == holder)
|
||||||
return
|
return
|
||||||
var/datum/say_list/S = holder.say_list
|
var/datum/say_list/S = holder.say_list
|
||||||
=======
|
|
||||||
// Parrots can talk, and may repeat things it hears.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot
|
|
||||||
name = "parrot"
|
|
||||||
description_info = "You can give it a headset by clicking on it with a headset. \
|
|
||||||
To remove it, click the bird while on grab intent."
|
|
||||||
has_langs = list("Galactic Common", "Bird")
|
|
||||||
|
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/passive/parrot
|
|
||||||
|
|
||||||
// A headset, so that talking parrots can yell at the crew over comms.
|
|
||||||
// If set to a type, on initialize it will be instantiated into that type.
|
|
||||||
var/obj/item/device/radio/headset/my_headset = null
|
|
||||||
|
|
||||||
// Say list
|
|
||||||
/datum/say_list/bird/poly
|
|
||||||
speak = list(
|
|
||||||
"Poly wanna cracker!",
|
|
||||||
"Check the singulo, you chucklefucks!",
|
|
||||||
"Wire the solars, you lazy bums!",
|
|
||||||
"WHO TOOK THE DAMN HARDSUITS?",
|
|
||||||
"OH GOD ITS FREE CALL THE SHUTTLE",
|
|
||||||
"Danger! Crystal hyperstructure instability!",
|
|
||||||
"CRYSTAL DELAMINATION IMMINENT.",
|
|
||||||
"Tweet tweet, I'm a Teshari.",
|
|
||||||
"Chitters.",
|
|
||||||
"Meteors have been detected on a collision course with the station!"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Lets the AI use headsets.
|
|
||||||
// Player-controlled parrots will need to do it manually.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/ISay(message)
|
|
||||||
if(my_headset && prob(50))
|
|
||||||
var/list/keys = list()
|
|
||||||
for(var/channel in my_headset.channels)
|
|
||||||
var/key = get_radio_key_from_channel(channel)
|
|
||||||
if(key)
|
|
||||||
keys += key
|
|
||||||
if(keys.len)
|
|
||||||
var/key_used = pick(keys)
|
|
||||||
return say("[key_used] [message]")
|
|
||||||
return say(message)
|
|
||||||
|
|
||||||
// Ugly saycode so parrots can use their headsets.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, speaking, used_radios)
|
|
||||||
..()
|
|
||||||
if(message_mode)
|
|
||||||
if(my_headset && istype(my_headset, /obj/item/device/radio))
|
|
||||||
my_headset.talk_into(src, message, message_mode, verb, speaking)
|
|
||||||
used_radios += my_headset
|
|
||||||
|
|
||||||
// Clicked on while holding an object.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/attackby(obj/item/I, mob/user)
|
|
||||||
if(istype(I, /obj/item/device/radio/headset))
|
|
||||||
give_headset(I, user)
|
|
||||||
return
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
// Clicked on by empty hand.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/attack_hand(mob/living/L)
|
|
||||||
if(L.a_intent == I_GRAB && my_headset)
|
|
||||||
remove_headset(L)
|
|
||||||
else
|
|
||||||
..()
|
|
||||||
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/proc/give_headset(obj/item/device/radio/headset/new_headset, mob/living/user)
|
|
||||||
if(!istype(new_headset))
|
|
||||||
to_chat(user, span("warning", "\The [new_headset] isn't a headset."))
|
|
||||||
return
|
|
||||||
if(my_headset)
|
|
||||||
to_chat(user, span("warning", "\The [src] is already wearing \a [my_headset]."))
|
|
||||||
return
|
|
||||||
else
|
|
||||||
user.drop_item(new_headset)
|
|
||||||
my_headset = new_headset
|
|
||||||
new_headset.forceMove(src)
|
|
||||||
to_chat(user, span("warning", "You place \a [new_headset] on \the [src]. You monster."))
|
|
||||||
to_chat(src, span("notice", "\The [user] gives you \a [new_headset]. You should put it to good use immediately."))
|
|
||||||
return
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/proc/remove_headset(mob/living/user)
|
|
||||||
if(!my_headset)
|
|
||||||
to_chat(user, "<span class='warning'>\The [src] doesn't have a headset to remove, thankfully.</span>")
|
|
||||||
else
|
|
||||||
ISay("BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
|
|
||||||
my_headset.forceMove(get_turf(src))
|
|
||||||
user.put_in_hands(my_headset)
|
|
||||||
to_chat(user, span("notice", "You take away \the [src]'s [my_headset.name]. Finally."))
|
|
||||||
to_chat(src, span("warning", "\The [user] takes your [my_headset.name] away! How cruel!"))
|
|
||||||
my_headset = null
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/examine(mob/user)
|
|
||||||
. = ..()
|
|
||||||
if(my_headset)
|
|
||||||
. += "It is wearing \a [my_headset]."
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/Initialize()
|
|
||||||
if(my_headset)
|
|
||||||
my_headset = new my_headset(src)
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
// Subtypes.
|
|
||||||
|
|
||||||
// Best Bird
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/poly
|
|
||||||
name = "Poly"
|
|
||||||
desc = "It's a parrot. An expert on quantum cracker theory."
|
|
||||||
icon_state = "poly"
|
|
||||||
icon_rest = "poly-held"
|
|
||||||
icon_dead = "poly-dead"
|
|
||||||
tt_desc = "E Ara macao"
|
|
||||||
my_headset = /obj/item/device/radio/headset/headset_eng
|
|
||||||
say_list_type = /datum/say_list/bird/poly
|
|
||||||
|
|
||||||
// Best Bird with best headset.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/poly/ultimate
|
|
||||||
my_headset = /obj/item/device/radio/headset/omni
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/kea
|
|
||||||
name = "kea"
|
|
||||||
desc = "A species of parrot. On Earth, they are unique among other parrots for residing in alpine climates. \
|
|
||||||
They are known to be intelligent and curious, which has made some consider them a pest."
|
|
||||||
icon_state = "kea"
|
|
||||||
icon_rest = "kea-held"
|
|
||||||
icon_dead = "kea-dead"
|
|
||||||
tt_desc = "E Nestor notabilis"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/eclectus
|
|
||||||
name = "eclectus"
|
|
||||||
desc = "A species of parrot, this species features extreme sexual dimorphism in their plumage's colors. \
|
|
||||||
A male eclectus has emerald green plumage, where as a female eclectus has red and purple plumage."
|
|
||||||
icon_state = "eclectus"
|
|
||||||
icon_rest = "eclectus-held"
|
|
||||||
icon_dead = "eclectus-dead"
|
|
||||||
tt_desc = "E Eclectus roratus"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/eclectus/Initialize()
|
|
||||||
gender = pick(MALE, FEMALE)
|
|
||||||
if(gender == FEMALE)
|
|
||||||
icon_state = "eclectusf"
|
|
||||||
icon_rest = "eclectusf-held"
|
|
||||||
icon_dead = "eclectusf-dead"
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/grey_parrot
|
|
||||||
name = "grey parrot"
|
|
||||||
desc = "A species of parrot. This one is predominantly grey, but has red tail feathers."
|
|
||||||
icon_state = "agrey"
|
|
||||||
icon_rest = "agrey-held"
|
|
||||||
icon_dead = "agrey-dead"
|
|
||||||
tt_desc = "E Psittacus erithacus"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/black_headed_caique
|
|
||||||
name = "black-headed caique"
|
|
||||||
desc = "A species of parrot, these birds have a distinct black color on their heads, distinguishing them from their relative Caiques."
|
|
||||||
icon_state = "bcaique"
|
|
||||||
icon_rest = "bcaique-held"
|
|
||||||
icon_dead = "bcaique-dead"
|
|
||||||
tt_desc = "E Pionites melanocephalus"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/white_caique
|
|
||||||
name = "white-bellied caique"
|
|
||||||
desc = "A species of parrot, they are also known as the Green-Thighed Parrot."
|
|
||||||
icon_state = "wcaique"
|
|
||||||
icon_rest = "wcaique-held"
|
|
||||||
icon_dead = "wcaique-dead"
|
|
||||||
tt_desc = "E Pionites leucogaster"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/budgerigar
|
|
||||||
name = "budgerigar"
|
|
||||||
desc = "A species of parrot, they are also known as the common parakeet, or in some circles, the budgie. \
|
|
||||||
This one is has its natural colors of green and yellow."
|
|
||||||
icon_state = "gbudge"
|
|
||||||
icon_rest = "gbudge-held"
|
|
||||||
icon_dead = "gbudge-dead"
|
|
||||||
tt_desc = "E Melopsittacus undulatus"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/budgerigar/blue
|
|
||||||
icon_state = "bbudge"
|
|
||||||
icon_rest = "bbudge-held"
|
|
||||||
icon_dead = "bbudge-dead"
|
|
||||||
desc = "A species of parrot, they are also known as the common parakeet, or in some circles, the budgie. \
|
|
||||||
This one has a mutation which altered its color to be blue instead of green and yellow."
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/budgerigar/bluegreen
|
|
||||||
icon_state = "bgbudge"
|
|
||||||
icon_rest = "bgbudge-held"
|
|
||||||
icon_dead = "bgbudge-dead"
|
|
||||||
desc = "A species of parrot, they are also known as the common parakeet, or in some circles, the budgie. \
|
|
||||||
This one has a mutation which altered its color to be a mix of blue and green."
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel
|
|
||||||
name = "cockatiel"
|
|
||||||
desc = "A species of parrot. This one has a highly visible crest."
|
|
||||||
icon_state = "tiel"
|
|
||||||
icon_rest = "tiel-held"
|
|
||||||
icon_dead = "tiel-dead"
|
|
||||||
tt_desc = "E Nymphicus hollandicus"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/white
|
|
||||||
icon_state = "wtiel"
|
|
||||||
icon_rest = "wtiel-held"
|
|
||||||
icon_dead = "wtiel-dead"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/yellowish
|
|
||||||
icon_state = "luttiel"
|
|
||||||
icon_rest = "luttiel-held"
|
|
||||||
icon_dead = "luttiel-dead"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/grey
|
|
||||||
icon_state = "blutiel" // idk why this is blu.
|
|
||||||
icon_rest = "blutiel-held"
|
|
||||||
icon_dead = "blutiel-dead"
|
|
||||||
|
|
||||||
// This actually might be the yellow-crested cockatoo but idk.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/sulphur_cockatoo
|
|
||||||
name = "sulphur-crested cockatoo"
|
|
||||||
desc = "A species of parrot. This one has an expressive yellow crest. Their underwing and tail feathers are also yellow."
|
|
||||||
icon_state = "too"
|
|
||||||
icon_rest = "too-held"
|
|
||||||
icon_dead = "too-dead"
|
|
||||||
tt_desc = "E Cacatua galerita"
|
|
||||||
|
|
||||||
// This was originally called 'hooded_too', which might not mean the unbrella cockatoo but idk.
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/white_cockatoo
|
|
||||||
name = "white cockatoo"
|
|
||||||
desc = "A species of parrot. This one is also known as the Umbrella Cockatoo, due to the semicircular shape of its crest."
|
|
||||||
icon_state = "utoo"
|
|
||||||
icon_rest = "utoo-held"
|
|
||||||
icon_dead = "utoo-dead"
|
|
||||||
tt_desc = "E Cacatua alba"
|
|
||||||
|
|
||||||
/mob/living/simple_mob/animal/passive/bird/parrot/pink_cockatoo
|
|
||||||
name = "pink cockatoo"
|
|
||||||
desc = "A species of parrot. This one is also known as Major Mitchell's cockatoo, \
|
|
||||||
in honor of a human surveyor and explorer who existed before humans fully explored their home planet."
|
|
||||||
icon_state = "mtoo"
|
|
||||||
icon_rest = "mtoo-held"
|
|
||||||
icon_dead = "mtoo-dead"
|
|
||||||
tt_desc = "E Lophochroa leadbeateri"
|
|
||||||
|
|
||||||
|
|
||||||
// AI
|
|
||||||
/datum/ai_holder/simple_mob/passive/parrot
|
|
||||||
speak_chance = 2
|
|
||||||
base_wander_delay = 8
|
|
||||||
|
|
||||||
/datum/ai_holder/simple_mob/passive/parrot/on_hear_say(mob/living/speaker, message)
|
|
||||||
if(holder.stat || !holder.say_list || !message || speaker == holder)
|
|
||||||
return
|
|
||||||
var/datum/say_list/S = holder.say_list
|
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
S.speak |= message
|
S.speak |= message
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
// These slimes have the mechanics xenobiologists care about, such as reproduction, mutating into new colors, and being able to submit through fear.
|
// These slimes have the mechanics xenobiologists care about, such as reproduction, mutating into new colors, and being able to submit through fear.
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio
|
/mob/living/simple_mob/slime/xenobio
|
||||||
@@ -74,25 +73,25 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/examine(mob/user)
|
/mob/living/simple_mob/slime/xenobio/examine(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(hat)
|
if(hat)
|
||||||
to_chat(user, "It is wearing \a [hat].")
|
. += "It is wearing \a [hat]."
|
||||||
|
|
||||||
if(stat == DEAD)
|
if(stat == DEAD)
|
||||||
to_chat(user, "It appears to be dead.")
|
. += "It appears to be dead."
|
||||||
else if(incapacitated(INCAPACITATION_DISABLED))
|
else if(incapacitated(INCAPACITATION_DISABLED))
|
||||||
to_chat(user, "It appears to be incapacitated.")
|
. += "It appears to be incapacitated."
|
||||||
else if(harmless)
|
else if(harmless)
|
||||||
to_chat(user, "It appears to have been pacified.")
|
. += "It appears to have been pacified."
|
||||||
else
|
else
|
||||||
if(has_AI())
|
if(has_AI())
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
||||||
if(AI.rabid)
|
if(AI.rabid)
|
||||||
to_chat(user, "It seems very, very angry and upset.")
|
. += "It seems very, very angry and upset."
|
||||||
else if(AI.obedience >= 5)
|
else if(AI.obedience >= 5)
|
||||||
to_chat(user, "It looks rather obedient.")
|
. += "It looks rather obedient."
|
||||||
else if(AI.discipline)
|
else if(AI.discipline)
|
||||||
to_chat(user, "It has been subjugated by force, at least for now.")
|
. += "It has been subjugated by force, at least for now."
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/make_adult()
|
/mob/living/simple_mob/slime/xenobio/proc/make_adult()
|
||||||
if(is_adult)
|
if(is_adult)
|
||||||
@@ -277,283 +276,3 @@
|
|||||||
|
|
||||||
lines.Add(description_info)
|
lines.Add(description_info)
|
||||||
return lines.Join("\n")
|
return lines.Join("\n")
|
||||||
=======
|
|
||||||
// These slimes have the mechanics xenobiologists care about, such as reproduction, mutating into new colors, and being able to submit through fear.
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio
|
|
||||||
desc = "The most basic of slimes. The grey slime has no remarkable qualities, however it remains one of the most useful colors for scientists."
|
|
||||||
layer = MOB_LAYER + 1 // Need them on top of other mobs or it looks weird when consuming something.
|
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/xenobio_slime // This should never be changed for xenobio slimes.
|
|
||||||
var/is_adult = FALSE // Slimes turn into adults when fed enough. Adult slimes are somewhat stronger, and can reproduce if fed enough.
|
|
||||||
var/maxHealth_adult = 200
|
|
||||||
var/power_charge = 0 // Disarm attacks can shock someone if high/lucky enough.
|
|
||||||
var/mob/living/victim = null // the person the slime is currently feeding on
|
|
||||||
var/rainbow_core_candidate = TRUE // If false, rainbow cores cannot make this type randomly.
|
|
||||||
var/mutation_chance = 25 // Odds of spawning as a new color when reproducing. Can be modified by certain xenobio products. Carried across generations of slimes.
|
|
||||||
var/list/slime_mutation = list(
|
|
||||||
/mob/living/simple_mob/slime/xenobio/orange,
|
|
||||||
/mob/living/simple_mob/slime/xenobio/metal,
|
|
||||||
/mob/living/simple_mob/slime/xenobio/blue,
|
|
||||||
/mob/living/simple_mob/slime/xenobio/purple
|
|
||||||
)
|
|
||||||
var/amount_grown = 0 // controls how long the slime has been overfed, if 10, grows or reproduces
|
|
||||||
var/number = 0 // This is used to make the slime semi-unique for indentification.
|
|
||||||
var/harmless = FALSE // Set to true when pacified. Makes the slime harmless, not get hungry, and not be able to grow/reproduce.
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/Initialize(mapload, var/mob/living/simple_mob/slime/xenobio/my_predecessor)
|
|
||||||
ASSERT(ispath(ai_holder_type, /datum/ai_holder/simple_mob/xenobio_slime))
|
|
||||||
number = rand(1, 1000)
|
|
||||||
update_name()
|
|
||||||
|
|
||||||
. = ..() // This will make the AI and do the other mob constructor things. It will also return the default hint at the end.
|
|
||||||
|
|
||||||
if(my_predecessor)
|
|
||||||
inherit_information(my_predecessor)
|
|
||||||
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/Destroy()
|
|
||||||
if(victim)
|
|
||||||
stop_consumption() // Unbuckle us from our victim.
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
// Called when a slime makes another slime by splitting. The predecessor slime will be deleted shortly afterwards.
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/inherit_information(var/mob/living/simple_mob/slime/xenobio/predecessor)
|
|
||||||
if(!predecessor)
|
|
||||||
return
|
|
||||||
|
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/previous_AI = predecessor.ai_holder
|
|
||||||
ASSERT(istype(AI))
|
|
||||||
ASSERT(istype(previous_AI))
|
|
||||||
|
|
||||||
// Now to transfer the information.
|
|
||||||
// Newly made slimes are bit more rebellious than their predecessors, but they also somewhat forget the atrocities the xenobiologist may have done.
|
|
||||||
AI.discipline = max(previous_AI.discipline - 1, 0)
|
|
||||||
AI.obedience = max(previous_AI.obedience - 1, 0)
|
|
||||||
AI.resentment = max(previous_AI.resentment - 1, 0)
|
|
||||||
AI.rabid = previous_AI.rabid
|
|
||||||
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/update_icon()
|
|
||||||
icon_living = "[icon_state_override ? "[icon_state_override] slime" : "slime"] [is_adult ? "adult" : "baby"][victim ? " eating" : ""]"
|
|
||||||
icon_dead = "[icon_state_override ? "[icon_state_override] slime" : "slime"] [is_adult ? "adult" : "baby"] dead"
|
|
||||||
icon_rest = icon_dead
|
|
||||||
..() // This will apply the correct icon_state and do the other overlay-related things.
|
|
||||||
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/handle_special()
|
|
||||||
if(stat != DEAD)
|
|
||||||
handle_nutrition()
|
|
||||||
|
|
||||||
if(victim)
|
|
||||||
handle_consumption()
|
|
||||||
|
|
||||||
handle_stuttering() // ??
|
|
||||||
|
|
||||||
..()
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/examine(mob/user)
|
|
||||||
. = ..()
|
|
||||||
if(hat)
|
|
||||||
. += "It is wearing \a [hat]."
|
|
||||||
|
|
||||||
if(stat == DEAD)
|
|
||||||
. += "It appears to be dead."
|
|
||||||
else if(incapacitated(INCAPACITATION_DISABLED))
|
|
||||||
. += "It appears to be incapacitated."
|
|
||||||
else if(harmless)
|
|
||||||
. += "It appears to have been pacified."
|
|
||||||
else
|
|
||||||
if(has_AI())
|
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
|
||||||
if(AI.rabid)
|
|
||||||
. += "It seems very, very angry and upset."
|
|
||||||
else if(AI.obedience >= 5)
|
|
||||||
. += "It looks rather obedient."
|
|
||||||
else if(AI.discipline)
|
|
||||||
. += "It has been subjugated by force, at least for now."
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/make_adult()
|
|
||||||
if(is_adult)
|
|
||||||
return
|
|
||||||
|
|
||||||
is_adult = TRUE
|
|
||||||
melee_damage_lower = round(melee_damage_lower * 2) // 20
|
|
||||||
melee_damage_upper = round(melee_damage_upper * 2) // 30
|
|
||||||
maxHealth = maxHealth_adult
|
|
||||||
amount_grown = 0
|
|
||||||
update_icon()
|
|
||||||
update_name()
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/update_name()
|
|
||||||
if(harmless) // Docile slimes are generally named, so we shouldn't mess with it.
|
|
||||||
return
|
|
||||||
name = "[slime_color] [is_adult ? "adult" : "baby"] [initial(name)] ([number])"
|
|
||||||
real_name = name
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/update_mood()
|
|
||||||
var/old_mood = mood
|
|
||||||
if(incapacitated(INCAPACITATION_DISABLED))
|
|
||||||
mood = "sad"
|
|
||||||
else if(harmless)
|
|
||||||
mood = ":33"
|
|
||||||
else if(has_AI())
|
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
|
||||||
if(AI.rabid)
|
|
||||||
mood = "angry"
|
|
||||||
else if(AI.target)
|
|
||||||
mood = "mischevous"
|
|
||||||
else if(AI.discipline)
|
|
||||||
mood = "pout"
|
|
||||||
else
|
|
||||||
mood = ":3"
|
|
||||||
else
|
|
||||||
mood = ":3"
|
|
||||||
|
|
||||||
if(old_mood != mood)
|
|
||||||
update_icon()
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/enrage()
|
|
||||||
if(harmless)
|
|
||||||
return
|
|
||||||
if(has_AI())
|
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
|
||||||
AI.enrage()
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/pacify()
|
|
||||||
harmless = TRUE
|
|
||||||
if(has_AI())
|
|
||||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
|
||||||
AI.pacify()
|
|
||||||
|
|
||||||
faction = "neutral"
|
|
||||||
|
|
||||||
// If for whatever reason the mob AI (or player) decides to try to attack something anyways.
|
|
||||||
melee_damage_upper = 0
|
|
||||||
melee_damage_lower = 0
|
|
||||||
|
|
||||||
update_mood()
|
|
||||||
|
|
||||||
|
|
||||||
// These are verbs so that player slimes can evolve/split.
|
|
||||||
/mob/living/simple_mob/slime/xenobio/verb/evolve()
|
|
||||||
set category = "Slime"
|
|
||||||
set desc = "This will let you evolve from baby to adult slime."
|
|
||||||
|
|
||||||
if(stat)
|
|
||||||
to_chat(src, span("warning", "I must be conscious to do this..."))
|
|
||||||
return
|
|
||||||
|
|
||||||
if(harmless)
|
|
||||||
to_chat(src, span("warning", "I have been pacified. I cannot evolve..."))
|
|
||||||
return
|
|
||||||
|
|
||||||
if(!is_adult)
|
|
||||||
if(amount_grown >= 10)
|
|
||||||
make_adult()
|
|
||||||
else
|
|
||||||
to_chat(src, span("warning", "I am not ready to evolve yet..."))
|
|
||||||
else
|
|
||||||
to_chat(src, span("warning", "I have already evolved..."))
|
|
||||||
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/verb/reproduce()
|
|
||||||
set category = "Slime"
|
|
||||||
set desc = "This will make you split into four new slimes."
|
|
||||||
|
|
||||||
if(stat)
|
|
||||||
to_chat(src, span("warning", "I must be conscious to do this..."))
|
|
||||||
return
|
|
||||||
|
|
||||||
if(harmless)
|
|
||||||
to_chat(src, span("warning", "I have been pacified. I cannot reproduce..."))
|
|
||||||
return
|
|
||||||
|
|
||||||
if(is_adult)
|
|
||||||
if(amount_grown >= 10)
|
|
||||||
// Check if there's enough 'room' to split.
|
|
||||||
var/list/nearby_things = orange(1, src)
|
|
||||||
var/free_tiles = 0
|
|
||||||
for(var/turf/T in nearby_things)
|
|
||||||
var/free = TRUE
|
|
||||||
if(T.density) // No walls.
|
|
||||||
continue
|
|
||||||
for(var/atom/movable/AM in T)
|
|
||||||
if(AM.density)
|
|
||||||
free = FALSE
|
|
||||||
break
|
|
||||||
|
|
||||||
if(free)
|
|
||||||
free_tiles++
|
|
||||||
|
|
||||||
if(free_tiles < 3) // Three free tiles are needed, as four slimes are made and the 4th tile is from the center tile that the current slime occupies.
|
|
||||||
to_chat(src, span("warning", "It is too cramped here to reproduce..."))
|
|
||||||
return
|
|
||||||
|
|
||||||
var/list/babies = list()
|
|
||||||
for(var/i = 1 to 4)
|
|
||||||
babies.Add(make_new_slime())
|
|
||||||
|
|
||||||
var/mob/living/simple_mob/slime/new_slime = pick(babies)
|
|
||||||
new_slime.universal_speak = universal_speak
|
|
||||||
if(src.mind)
|
|
||||||
src.mind.transfer_to(new_slime)
|
|
||||||
else
|
|
||||||
new_slime.key = src.key
|
|
||||||
qdel(src)
|
|
||||||
else
|
|
||||||
to_chat(src, span("warning", "I am not ready to reproduce yet..."))
|
|
||||||
else
|
|
||||||
to_chat(src, span("warning", "I have not evolved enough to reproduce yet..."))
|
|
||||||
|
|
||||||
// Used when reproducing or dying.
|
|
||||||
/mob/living/simple_mob/slime/xenobio/proc/make_new_slime(var/desired_type)
|
|
||||||
var/t = src.type
|
|
||||||
if(desired_type)
|
|
||||||
t = desired_type
|
|
||||||
if(prob(mutation_chance / 10))
|
|
||||||
t = /mob/living/simple_mob/slime/xenobio/rainbow
|
|
||||||
else if(prob(mutation_chance) && slime_mutation.len)
|
|
||||||
t = slime_mutation[rand(1, slime_mutation.len)]
|
|
||||||
var/mob/living/simple_mob/slime/xenobio/baby = new t(loc, src)
|
|
||||||
|
|
||||||
// Handle 'inheriting' from parent slime.
|
|
||||||
baby.mutation_chance = mutation_chance
|
|
||||||
baby.power_charge = round(power_charge / 4)
|
|
||||||
|
|
||||||
if(!istype(baby, /mob/living/simple_mob/slime/xenobio/rainbow))
|
|
||||||
baby.unity = unity
|
|
||||||
baby.faction = faction
|
|
||||||
baby.friends = friends.Copy()
|
|
||||||
|
|
||||||
step_away(baby, src)
|
|
||||||
return baby
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/get_description_interaction()
|
|
||||||
var/list/results = list()
|
|
||||||
|
|
||||||
if(!stat)
|
|
||||||
results += "[desc_panel_image("slimebaton")]to stun the slime, if it's being bad."
|
|
||||||
|
|
||||||
results += ..()
|
|
||||||
|
|
||||||
return results
|
|
||||||
|
|
||||||
/mob/living/simple_mob/slime/xenobio/get_description_info()
|
|
||||||
var/list/lines = list()
|
|
||||||
var/intro_line = "Slimes are generally the test subjects of Xenobiology, with different colors having different properties. \
|
|
||||||
They can be extremely dangerous if not handled properly."
|
|
||||||
lines.Add(intro_line)
|
|
||||||
lines.Add(null) // To pad the line breaks.
|
|
||||||
|
|
||||||
var/list/rewards = list()
|
|
||||||
for(var/potential_color in slime_mutation)
|
|
||||||
var/mob/living/simple_mob/slime/S = potential_color
|
|
||||||
rewards.Add(initial(S.slime_color))
|
|
||||||
var/reward_line = "This color of slime can mutate into [english_list(rewards)] colors, when it reproduces. It will do so when it has eatten enough."
|
|
||||||
lines.Add(reward_line)
|
|
||||||
lines.Add(null)
|
|
||||||
|
|
||||||
lines.Add(description_info)
|
|
||||||
return lines.Join("\n")
|
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|||||||
@@ -69,12 +69,11 @@
|
|||||||
|
|
||||||
/mob/living/simple_mob/vore/hostile/morph/examine(mob/user)
|
/mob/living/simple_mob/vore/hostile/morph/examine(mob/user)
|
||||||
if(morphed)
|
if(morphed)
|
||||||
form.examine(user)
|
. = form.examine(user)
|
||||||
if(get_dist(user,src)<=3)
|
if(get_dist(user, src) <= 3)
|
||||||
to_chat(user, "<span class='warning'>It doesn't look quite right...</span>")
|
. += "<span class='warning'>[form] doesn't look quite right...</span>"
|
||||||
else
|
else
|
||||||
..()
|
. = ..()
|
||||||
return
|
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/hostile/morph/ShiftClickOn(atom/movable/A)
|
/mob/living/simple_mob/vore/hostile/morph/ShiftClickOn(atom/movable/A)
|
||||||
if(Adjacent(A))
|
if(Adjacent(A))
|
||||||
|
|||||||
@@ -68,15 +68,15 @@
|
|||||||
pixel_y = (dir & 3) ? (dir == NORTH ? -y_offset : y_offset) : 0
|
pixel_y = (dir & 3) ? (dir == NORTH ? -y_offset : y_offset) : 0
|
||||||
|
|
||||||
/obj/structure/construction/examine(mob/user)
|
/obj/structure/construction/examine(mob/user)
|
||||||
if(!..(user, 2))
|
. = ..()
|
||||||
return
|
if(get_dist(user, src) <= 2)
|
||||||
switch(stage)
|
switch(stage)
|
||||||
if(FRAME_UNFASTENED)
|
if(FRAME_UNFASTENED)
|
||||||
to_chat(user, "It's an empty frame.")
|
. += "It's an empty frame."
|
||||||
if(FRAME_FASTENED)
|
if(FRAME_FASTENED)
|
||||||
to_chat(user, "It's fixed to the wall.")
|
. += "It's fixed to the wall."
|
||||||
if(FRAME_WIRED)
|
if(FRAME_WIRED)
|
||||||
to_chat(user, "It's wired.")
|
. += "It's wired."
|
||||||
|
|
||||||
/obj/structure/construction/update_icon()
|
/obj/structure/construction/update_icon()
|
||||||
icon_state = "[base_icon][stage]"
|
icon_state = "[base_icon][stage]"
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
/obj/machinery/power/rtg/examine(mob/user)
|
/obj/machinery/power/rtg/examine(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(Adjacent(user, src) || isobserver(user))
|
if(Adjacent(user, src) || isobserver(user))
|
||||||
to_chat(user, "<span class='notice'>The status display reads: Power generation now at <b>[power_gen*0.001]</b>kW.</span>")
|
. += "<span class='notice'>The status display reads: Power generation now at <b>[power_gen*0.001]</b>kW.</span>"
|
||||||
|
|
||||||
/obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params)
|
/obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params)
|
||||||
if(default_deconstruction_screwdriver(user, I))
|
if(default_deconstruction_screwdriver(user, I))
|
||||||
|
|||||||
@@ -22,12 +22,12 @@
|
|||||||
var/empty_state = "kineticgun_empty"
|
var/empty_state = "kineticgun_empty"
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/kinetic_accelerator/examine(mob/user)
|
/obj/item/weapon/gun/energy/kinetic_accelerator/examine(mob/user)
|
||||||
if(..(user, 1))
|
. = ..()
|
||||||
if(max_mod_capacity)
|
if(Adjacent(user) && max_mod_capacity)
|
||||||
to_chat(user, "<b>[get_remaining_mod_capacity()]%</b> mod capacity remaining.")
|
. += "<b>[get_remaining_mod_capacity()]%</b> mod capacity remaining."
|
||||||
for(var/A in get_modkits())
|
for(var/A in get_modkits())
|
||||||
var/obj/item/borg/upgrade/modkit/M = A
|
var/obj/item/borg/upgrade/modkit/M = A
|
||||||
to_chat(user, "<span class='notice'>There is a [M.name] mod installed, using <b>[M.cost]%</b> capacity.</span>")
|
. += "<span class='notice'>There is a [M.name] mod installed, using <b>[M.cost]%</b> capacity.</span>"
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
|
/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
|
||||||
if(istype(A, /obj/item/weapon/tool/crowbar))
|
if(istype(A, /obj/item/weapon/tool/crowbar))
|
||||||
@@ -164,8 +164,9 @@
|
|||||||
var/modifier = 1 //For use in any mod kit that has numerical modifiers
|
var/modifier = 1 //For use in any mod kit that has numerical modifiers
|
||||||
|
|
||||||
/obj/item/borg/upgrade/modkit/examine(mob/user)
|
/obj/item/borg/upgrade/modkit/examine(mob/user)
|
||||||
if(..(user, 1))
|
. = ..()
|
||||||
to_chat(user, "<span class='notice'>Occupies <b>[cost]%</b> of mod capacity.</span>")
|
if(Adjacent(user))
|
||||||
|
. += "<span class='notice'>Occupies <b>[cost]%</b> of mod capacity.</span>"
|
||||||
|
|
||||||
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
|
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
|
||||||
if(istype(A, /obj/item/weapon/gun/energy/kinetic_accelerator) && !issilicon(user))
|
if(istype(A, /obj/item/weapon/gun/energy/kinetic_accelerator) && !issilicon(user))
|
||||||
|
|||||||
@@ -550,24 +550,22 @@ var/global/list/default_infomorph_software = list()
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/mob/living/silicon/infomorph/examine(mob/user)
|
/mob/living/silicon/infomorph/examine(mob/user)
|
||||||
..(user, infix = ", personal AI")
|
. = ..(user, infix = ", personal AI")
|
||||||
|
|
||||||
var/msg = ""
|
|
||||||
switch(src.stat)
|
switch(src.stat)
|
||||||
if(CONSCIOUS)
|
if(CONSCIOUS)
|
||||||
if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk
|
if(!src.client) . += "It appears to be in stand-by mode." //afk
|
||||||
if(UNCONSCIOUS) msg += "\n<span class='warning'>It doesn't seem to be responding.</span>"
|
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
||||||
if(DEAD) msg += "\n<span class='deadsay'>It looks completely unsalvageable.</span>"
|
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
||||||
msg += "\n*---------*"
|
. += "*---------*"
|
||||||
|
|
||||||
if(print_flavor_text()) msg += "\n[print_flavor_text()]\n"
|
if(print_flavor_text())
|
||||||
|
. += "[print_flavor_text()]"
|
||||||
|
|
||||||
if (pose)
|
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.
|
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||||
msg += "\nIt is [pose]"
|
. += "It is [pose]"
|
||||||
|
|
||||||
to_chat(user,msg)
|
|
||||||
|
|
||||||
/mob/living/silicon/infomorph/Life()
|
/mob/living/silicon/infomorph/Life()
|
||||||
//We're dead or EMP'd or something.
|
//We're dead or EMP'd or something.
|
||||||
|
|||||||
@@ -54,10 +54,5 @@
|
|||||||
|
|
||||||
/obj/item/weapon/shield_diffuser/examine(mob/user)
|
/obj/item/weapon/shield_diffuser/examine(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
<<<<<<< HEAD
|
|
||||||
to_chat(user, "The charge meter reads [cell ? cell.percent() : 0]%")
|
|
||||||
to_chat(user, "It is [enabled ? "enabled" : "disabled"].")
|
|
||||||
=======
|
|
||||||
. += "The charge meter reads [cell ? cell.percent() : 0]%"
|
. += "The charge meter reads [cell ? cell.percent() : 0]%"
|
||||||
. += "It is [enabled ? "enabled" : "disabled"]."
|
. += "It is [enabled ? "enabled" : "disabled"]."
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|||||||
@@ -91,8 +91,4 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
. += "It is [enabled ? "enabled" : "disabled"]."
|
. += "It is [enabled ? "enabled" : "disabled"]."
|
||||||
if(alarm)
|
if(alarm)
|
||||||
<<<<<<< HEAD
|
|
||||||
to_chat(user, "A red LED labeled \"Proximity Alarm\" is blinking on the control panel.")
|
|
||||||
=======
|
|
||||||
. += "A red LED labeled \"Proximity Alarm\" is blinking on the control panel."
|
. += "A red LED labeled \"Proximity Alarm\" is blinking on the control panel."
|
||||||
>>>>>>> 6c6644f... Rewrite examine() to pass a list around (#7038)
|
|
||||||
|
|||||||
@@ -38,8 +38,9 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/telescience/examine(mob/user)
|
/obj/machinery/computer/telescience/examine(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
to_chat(user, "There are [crystals.len ? crystals.len : "no"] bluespace crystal\s in the crystal slots.")
|
if(Adjacent(user))
|
||||||
|
. += "There are [crystals.len ? crystals.len : "no"] bluespace crystal\s in the crystal slots."
|
||||||
|
|
||||||
/obj/machinery/computer/telescience/Initialize()
|
/obj/machinery/computer/telescience/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -207,14 +207,11 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/vehicle/train/security/engine/examine(mob/user)
|
/obj/vehicle/train/security/engine/examine(mob/user)
|
||||||
if(!..(user, 1))
|
. = ..()
|
||||||
return
|
if(Adjacent(user))
|
||||||
|
. += "The power light is [on ? "on" : "off"]."
|
||||||
if(!istype(usr, /mob/living/carbon/human))
|
. += "There are[key ? "" : " no"] keys in the ignition."
|
||||||
return
|
. += "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%"
|
||||||
|
|
||||||
to_chat(user, "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition.")
|
|
||||||
to_chat(user, "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%")
|
|
||||||
|
|
||||||
/obj/vehicle/train/security/engine/verb/start_engine()
|
/obj/vehicle/train/security/engine/verb/start_engine()
|
||||||
set name = "Start engine"
|
set name = "Start engine"
|
||||||
|
|||||||
@@ -205,14 +205,11 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/vehicle/train/rover/engine/examine(mob/user)
|
/obj/vehicle/train/rover/engine/examine(mob/user)
|
||||||
if(!..(user, 1))
|
. = ..()
|
||||||
return
|
if(Adjacent(user))
|
||||||
|
. += "The power light is [on ? "on" : "off"]."
|
||||||
if(!istype(usr, /mob/living/carbon/human))
|
. += "There are[key ? "" : " no"] keys in the ignition."
|
||||||
return
|
. += "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%"
|
||||||
|
|
||||||
to_chat(user, "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition.")
|
|
||||||
to_chat(user, "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%")
|
|
||||||
|
|
||||||
/obj/vehicle/train/rover/engine/verb/start_engine()
|
/obj/vehicle/train/rover/engine/verb/start_engine()
|
||||||
set name = "Start engine"
|
set name = "Start engine"
|
||||||
|
|||||||
@@ -764,10 +764,10 @@
|
|||||||
set desc = "Switch sharp/fuzzy scaling for current mob."
|
set desc = "Switch sharp/fuzzy scaling for current mob."
|
||||||
appearance_flags ^= PIXEL_SCALE
|
appearance_flags ^= PIXEL_SCALE
|
||||||
|
|
||||||
/mob/living/examine(mob/user, distance, infix, suffix)
|
/mob/living/examine(mob/user, infix, suffix)
|
||||||
. = ..(user, distance, infix, suffix)
|
. = ..()
|
||||||
if(showvoreprefs)
|
if(showvoreprefs)
|
||||||
to_chat(user, "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>")
|
. += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>"
|
||||||
|
|
||||||
/mob/living/Topic(href, href_list) //Can't find any instances of Topic() being overridden by /mob/living in polaris' base code, even though /mob/living/carbon/human's Topic() has a ..() call
|
/mob/living/Topic(href, href_list) //Can't find any instances of Topic() being overridden by /mob/living in polaris' base code, even though /mob/living/carbon/human's Topic() has a ..() call
|
||||||
if(href_list["vore_prefs"])
|
if(href_list["vore_prefs"])
|
||||||
|
|||||||
@@ -98,13 +98,9 @@
|
|||||||
|
|
||||||
//This can go here with all the references.
|
//This can go here with all the references.
|
||||||
/obj/effect/overlay/aiholo/examine(mob/user)
|
/obj/effect/overlay/aiholo/examine(mob/user)
|
||||||
. = ..(user)
|
. = ..()
|
||||||
|
|
||||||
var/msg = "\n"
|
|
||||||
|
|
||||||
//If you need an ooc_notes copy paste, this is NOT the one to use.
|
//If you need an ooc_notes copy paste, this is NOT the one to use.
|
||||||
var/ooc_notes = master.ooc_notes
|
var/ooc_notes = master.ooc_notes
|
||||||
if(ooc_notes)
|
if(ooc_notes)
|
||||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[master];ooc_notes=1'>\[View\]</a>\n"
|
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[master];ooc_notes=1'>\[View\]</a>"
|
||||||
|
|
||||||
to_chat(user,msg)
|
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
pixel_y = 0 // Override value from parent.
|
pixel_y = 0 // Override value from parent.
|
||||||
|
|
||||||
/obj/item/weapon/holder/micro/examine(mob/user)
|
/obj/item/weapon/holder/micro/examine(mob/user)
|
||||||
|
. = list()
|
||||||
for(var/mob/living/M in contents)
|
for(var/mob/living/M in contents)
|
||||||
M.examine(user)
|
. += M.examine(user)
|
||||||
|
|
||||||
/obj/item/weapon/holder/MouseDrop(mob/M)
|
/obj/item/weapon/holder/MouseDrop(mob/M)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -49,9 +49,8 @@
|
|||||||
to_chat(usr, "<span class='notice'>You set the size to [size_select]%</span>")
|
to_chat(usr, "<span class='notice'>You set the size to [size_select]%</span>")
|
||||||
|
|
||||||
/obj/item/weapon/gun/energy/sizegun/examine(mob/user)
|
/obj/item/weapon/gun/energy/sizegun/examine(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
var/size_examine = (size_set_to*100)
|
. += "<span class='info'>It is currently set at [size_set_to*100]%</span>"
|
||||||
to_chat(user, "<span class='info'>It is currently set at [size_examine]%</span>")
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Beams for size gun
|
// Beams for size gun
|
||||||
|
|||||||
Reference in New Issue
Block a user