Refactors screen objects to /atom/movable (#24068)

* introduce helper + remove unused proc

* we love compatibility

* Update code/_onclick/hud/action_button.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/action_button.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/alert.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/blob_overmind.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/blob_overmind.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/blob_overmind.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/martial_arts/martial.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mining/lavaland/loot/tendril_loot.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/species/shadow.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/species/shadow.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mob/living/living_update_status.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/internal.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/machinery/computer/camera_advanced.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/machinery/computer/camera_advanced.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/internal.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/mecha/mecha.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* deconflict

---------

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Contrabang
2024-03-03 12:37:51 -05:00
committed by GitHub
parent cc433a3794
commit 87a318a7de
125 changed files with 1036 additions and 1047 deletions
@@ -260,7 +260,7 @@
if(owner.current.hud_used)
var/datum/hud/hud = owner.current.hud_used
if(!hud.vampire_blood_display)
hud.vampire_blood_display = new /obj/screen()
hud.vampire_blood_display = new /atom/movable/screen()
hud.vampire_blood_display.name = "Usable Blood"
hud.vampire_blood_display.icon_state = "blood_display"
hud.vampire_blood_display.screen_loc = "WEST:6,CENTER-1:15"
@@ -482,7 +482,7 @@
return
/obj/machinery/atmospherics/unary/cryo_cell/get_remote_view_fullscreens(mob/user)
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1)
user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1)
/obj/machinery/atmospherics/unary/cryo_cell/update_remote_sight(mob/living/user)
return //we don't see the pipe network while inside cryo.
+9 -9
View File
@@ -12,10 +12,10 @@
var/switch_state = BM_SWITCHSTATE_NONE
var/switch_width = 5
// modeswitch UI
var/obj/screen/buildmode/mode/modebutton
var/atom/movable/screen/buildmode/mode/modebutton
var/list/modeswitch_buttons = list()
// dirswitch UI
var/obj/screen/buildmode/bdir/dirbutton
var/atom/movable/screen/buildmode/bdir/dirbutton
var/list/dirswitch_buttons = list()
/datum/click_intercept/buildmode/New()
@@ -32,23 +32,23 @@
/datum/click_intercept/buildmode/create_buttons()
// keep a reference so we can update it upon mode switch
modebutton = new /obj/screen/buildmode/mode(src)
modebutton = new /atom/movable/screen/buildmode/mode(src)
buttons += modebutton
buttons += new /obj/screen/buildmode/help(src)
buttons += new /atom/movable/screen/buildmode/help(src)
// keep a reference so we can update it upon dir switch
dirbutton = new /obj/screen/buildmode/bdir(src)
dirbutton = new /atom/movable/screen/buildmode/bdir(src)
buttons += dirbutton
buttons += new /obj/screen/buildmode/quit(src)
buttons += new /atom/movable/screen/buildmode/quit(src)
// build the list of modeswitching buttons
build_options_grid(subtypesof(/datum/buildmode_mode), modeswitch_buttons, /obj/screen/buildmode/modeswitch)
build_options_grid(list(SOUTH,EAST,WEST,NORTH,NORTHWEST), dirswitch_buttons, /obj/screen/buildmode/dirswitch)
build_options_grid(subtypesof(/datum/buildmode_mode), modeswitch_buttons, /atom/movable/screen/buildmode/modeswitch)
build_options_grid(list(SOUTH,EAST,WEST,NORTH,NORTHWEST), dirswitch_buttons, /atom/movable/screen/buildmode/dirswitch)
/datum/click_intercept/buildmode/proc/build_options_grid(list/elements, list/buttonslist, buttontype)
var/pos_idx = 0
for(var/thing in elements)
var/x = pos_idx % switch_width
var/y = FLOOR(pos_idx / switch_width, 1)
var/obj/screen/buildmode/B = new buttontype(src, thing)
var/atom/movable/screen/buildmode/B = new buttontype(src, thing)
// this stuff is equivalent to the commented out line for 511 compat
// B.screen_loc = "NORTH-[(1 + 0.5 + y*1.5)],WEST+[0.5 + x*1.5]"
B.screen_loc = "NORTH-[1 + FLOOR(0.5 + 1.5*y, 1) + ((y + 1) % 2)]:[16*((y + 1) % 2)],WEST+[FLOOR(0.5 + 1.5*x, 1)]:[16*((x + 1) % 2)]"
+19 -19
View File
@@ -1,22 +1,22 @@
/obj/screen/buildmode
/atom/movable/screen/buildmode
icon = 'icons/misc/buildmode.dmi'
var/datum/click_intercept/buildmode/bd
plane = HUD_PLANE_BUILDMODE
/obj/screen/buildmode/New(bld)
/atom/movable/screen/buildmode/New(bld)
bd = bld
return ..()
/obj/screen/buildmode/Destroy()
/atom/movable/screen/buildmode/Destroy()
bd = null
return ..()
/obj/screen/buildmode/mode
/atom/movable/screen/buildmode/mode
name = "Toggle Mode"
icon_state = "buildmode_basic"
screen_loc = "NORTH,WEST"
/obj/screen/buildmode/mode/Click(location, control, params)
/atom/movable/screen/buildmode/mode/Click(location, control, params)
var/list/pa = params2list(params)
if(pa.Find("left"))
@@ -26,64 +26,64 @@
update_icon()
return TRUE
/obj/screen/buildmode/mode/update_icon_state()
/atom/movable/screen/buildmode/mode/update_icon_state()
icon_state = bd.mode.get_button_iconstate()
/obj/screen/buildmode/help
/atom/movable/screen/buildmode/help
icon_state = "buildhelp"
screen_loc = "NORTH,WEST+1"
name = "Buildmode Help"
/obj/screen/buildmode/help/Click()
/atom/movable/screen/buildmode/help/Click()
bd.mode.show_help(usr)
return TRUE
/obj/screen/buildmode/bdir
/atom/movable/screen/buildmode/bdir
icon_state = "build"
screen_loc = "NORTH,WEST+2"
name = "Change Dir"
/obj/screen/buildmode/bdir/update_icon(updates=UPDATE_ICON_STATE)
/atom/movable/screen/buildmode/bdir/update_icon(updates=UPDATE_ICON_STATE)
dir = bd.build_dir
..()
/obj/screen/buildmode/bdir/Click()
/atom/movable/screen/buildmode/bdir/Click()
bd.toggle_dirswitch()
update_icon()
return TRUE
// used to switch between modes
/obj/screen/buildmode/modeswitch
/atom/movable/screen/buildmode/modeswitch
var/datum/buildmode_mode/modetype
/obj/screen/buildmode/modeswitch/New(bld, mt)
/atom/movable/screen/buildmode/modeswitch/New(bld, mt)
modetype = mt
icon_state = "buildmode_[initial(modetype.key)]"
name = initial(modetype.key)
return ..(bld)
/obj/screen/buildmode/modeswitch/Click()
/atom/movable/screen/buildmode/modeswitch/Click()
bd.change_mode(modetype)
return TRUE
// used to switch between dirs
/obj/screen/buildmode/dirswitch
/atom/movable/screen/buildmode/dirswitch
icon_state = "build"
/obj/screen/buildmode/dirswitch/New(bld, newdir)
/atom/movable/screen/buildmode/dirswitch/New(bld, newdir)
dir = newdir
name = dir2text(dir)
return ..(bld)
/obj/screen/buildmode/dirswitch/Click()
/atom/movable/screen/buildmode/dirswitch/Click()
bd.change_dir(dir)
return TRUE
/obj/screen/buildmode/quit
/atom/movable/screen/buildmode/quit
icon_state = "buildquit"
screen_loc = "NORTH,WEST+3"
name = "Quit Buildmode"
/obj/screen/buildmode/quit/Click()
/atom/movable/screen/buildmode/quit/Click()
bd.quit()
return TRUE
+2 -2
View File
@@ -56,7 +56,7 @@
preload_rsc = 0 // This is 0 so we can set it to an URL once the player logs in and have them download the resources from a different server.
var/obj/screen/click_catcher/void
var/atom/movable/screen/click_catcher/void
var/ip_intel = "Disabled"
@@ -66,7 +66,7 @@
var/datum/tooltip/tooltips
// Overlay for showing debug info
var/obj/screen/debugtextholder/debug_text_overlay
var/atom/movable/screen/debugtextholder/debug_text_overlay
/// Persistent storage for the flavour text of examined atoms.
var/list/description_holders = list()
@@ -1012,7 +1012,7 @@
if("thought_bubble")
toggles2 ^= PREFTOGGLE_2_THOUGHT_BUBBLE
if(length(parent?.screen))
var/obj/screen/plane_master/point/PM = locate(/obj/screen/plane_master/point) in parent.screen
var/atom/movable/screen/plane_master/point/PM = locate(/atom/movable/screen/plane_master/point) in parent.screen
PM.backdrop(parent.mob)
if("be_special")
@@ -1092,7 +1092,7 @@
if("ambientocclusion")
toggles ^= PREFTOGGLE_AMBIENT_OCCLUSION
if(length(parent?.screen))
var/obj/screen/plane_master/game_world/PM = locate(/obj/screen/plane_master/game_world) in parent.screen
var/atom/movable/screen/plane_master/game_world/PM = locate(/atom/movable/screen/plane_master/game_world) in parent.screen
PM.backdrop(parent.mob)
if("parallax")
+3 -3
View File
@@ -3,11 +3,11 @@
endWhen = 7
var/next_meteor = 6
var/waves = 1
var/obj/screen/alert/augury/meteor/screen_alert
var/atom/movable/screen/alert/augury/meteor/screen_alert
/datum/event/meteor_wave/setup()
for(var/mob/dead/observer/O in GLOB.dead_mob_list)
var/obj/screen/alert/augury/meteor/A = O.throw_alert("\ref[src]_augury", /obj/screen/alert/augury/meteor)
var/atom/movable/screen/alert/augury/meteor/A = O.throw_alert("\ref[src]_augury", /atom/movable/screen/alert/augury/meteor)
if(A)
screen_alert = A
@@ -23,7 +23,7 @@
/datum/event/meteor_wave/tick()
// keep observers updated with the alert
for(var/mob/dead/observer/O in GLOB.dead_mob_list)
O.throw_alert("\ref[src]_augury", /obj/screen/alert/augury/meteor)
O.throw_alert("\ref[src]_augury", /atom/movable/screen/alert/augury/meteor)
if(waves && activeFor >= next_meteor)
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(spawn_meteors), get_meteor_count(), get_meteors())
next_meteor += rand(15, 30) / severity
+1 -1
View File
@@ -239,7 +239,7 @@
if(!ishuman(M))
return
if(istype(over, /obj/screen))
if(is_screen_atom(over))
if(!remove_item_from_storage(get_turf(M)))
M.unEquip(src)
switch(over.name)
+13 -13
View File
@@ -15,19 +15,19 @@
duration = list(10 SECONDS, 25 SECONDS)
/// The possible alerts to be displayed. Key is alert type, value is alert category.
var/list/alerts = list(
/obj/screen/alert/not_enough_oxy = "not_enough_oxy",
/obj/screen/alert/not_enough_tox = "not_enough_tox",
/obj/screen/alert/not_enough_co2 = "not_enough_co2",
/obj/screen/alert/not_enough_nitro = "not_enough_nitro",
/obj/screen/alert/too_much_oxy = "too_much_oxy",
/obj/screen/alert/too_much_co2 = "too_much_co2",
/obj/screen/alert/too_much_tox = "too_much_tox",
/obj/screen/alert/hunger/fat = "nutrition",
/obj/screen/alert/hunger/starving = "nutrition",
/obj/screen/alert/hot = "temp",
/obj/screen/alert/cold = "temp",
/obj/screen/alert/highpressure = "pressure",
/obj/screen/alert/lowpressure = "pressure",
/atom/movable/screen/alert/not_enough_oxy = "not_enough_oxy",
/atom/movable/screen/alert/not_enough_tox = "not_enough_tox",
/atom/movable/screen/alert/not_enough_co2 = "not_enough_co2",
/atom/movable/screen/alert/not_enough_nitro = "not_enough_nitro",
/atom/movable/screen/alert/too_much_oxy = "too_much_oxy",
/atom/movable/screen/alert/too_much_co2 = "too_much_co2",
/atom/movable/screen/alert/too_much_tox = "too_much_tox",
/atom/movable/screen/alert/hunger/fat = "nutrition",
/atom/movable/screen/alert/hunger/starving = "nutrition",
/atom/movable/screen/alert/hot = "temp",
/atom/movable/screen/alert/cold = "temp",
/atom/movable/screen/alert/highpressure = "pressure",
/atom/movable/screen/alert/lowpressure = "pressure",
)
/// Alert severities. Only needed for some alerts such as temperature or pressure. Key is alert category, value is severity.
var/list/severities = list(
+13 -13
View File
@@ -1,4 +1,4 @@
/obj/screen/text/blurb
/atom/movable/screen/text/blurb
maptext_height = 64
maptext_width = 512
screen_loc = "LEFT+1,BOTTOM+2"
@@ -33,7 +33,7 @@
var/background_a = 0
/obj/screen/text/blurb/proc/show_to(list/client/viewers)
/atom/movable/screen/text/blurb/proc/show_to(list/client/viewers)
if(!blurb_text || !viewers)
return
@@ -52,12 +52,12 @@
print_text()
if(hold_for)
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/screen/text/blurb, hide_from), viewers), hold_for)
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable/screen/text/blurb, hide_from), viewers), hold_for)
else
hide_from(viewers)
/obj/screen/text/blurb/proc/get_text_style()
/atom/movable/screen/text/blurb/proc/get_text_style()
PRIVATE_PROC(TRUE)
return {"\
@@ -69,25 +69,25 @@
color: [text_color];
"}
/obj/screen/text/blurb/proc/hide_from(list/client/viewers)
/atom/movable/screen/text/blurb/proc/hide_from(list/client/viewers)
PRIVATE_PROC(TRUE)
fade()
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/screen/text/blurb, remove_from_viewers), viewers), fade_animation_duration)
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable/screen/text/blurb, remove_from_viewers), viewers), fade_animation_duration)
/obj/screen/text/blurb/proc/appear()
/atom/movable/screen/text/blurb/proc/appear()
PRIVATE_PROC(TRUE)
animate(src, alpha = 255, time = appear_animation_duration)
/obj/screen/text/blurb/proc/fade()
/atom/movable/screen/text/blurb/proc/fade()
PRIVATE_PROC(TRUE)
animate(src, alpha = 0, time = fade_animation_duration)
/obj/screen/text/blurb/proc/print_text()
/atom/movable/screen/text/blurb/proc/print_text()
PRIVATE_PROC(TRUE)
var/text_style = get_text_style()
@@ -97,10 +97,10 @@
maptext += get_formatted_text_segment(text_style, segment_start, segment_end)
sleep(interval)
/obj/screen/text/blurb/proc/get_formatted_text_segment(style, segment_start, segment_end)
/atom/movable/screen/text/blurb/proc/get_formatted_text_segment(style, segment_start, segment_end)
return "<span style=\"[style]\">[copytext_char(blurb_text, segment_start, segment_end)]</span>"
/obj/screen/text/blurb/proc/remove_from_viewers(list/client/viewers)
/atom/movable/screen/text/blurb/proc/remove_from_viewers(list/client/viewers)
PRIVATE_PROC(TRUE)
for(var/client/viewer as anything in viewers)
@@ -116,7 +116,7 @@
return
SEND_SOUND(show_blurb_to, sound('sound/machines/typewriter.ogg'))
var/obj/screen/text/blurb/location_blurb = new()
var/atom/movable/screen/text/blurb/location_blurb = new()
if(antag_check.antag_datums)
for(var/datum/antagonist/role)
if(role.custom_blurb())
@@ -146,7 +146,7 @@
if(!length(GLOB.clients))
return
var/obj/screen/text/blurb/server_restart_blurb = new()
var/atom/movable/screen/text/blurb/server_restart_blurb = new()
server_restart_blurb.text_color = COLOR_RED
server_restart_blurb.blurb_text = "Round is restarting...\n[reason]"
server_restart_blurb.hold_for = 90 SECONDS
+1 -1
View File
@@ -45,7 +45,7 @@
html_tags += list(html_tag, html_tag + 1, html_tag + 2, html_tag + 3)
html_tag = findtext(message, regex("</.>"), html_tag + 3)
var/obj/screen/text/T = new()
var/atom/movable/screen/text/T = new()
T.screen_loc = screen_position
switch(text_alignment)
if("center")
+6 -6
View File
@@ -463,25 +463,25 @@
/obj/item/bostaff/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(HAS_TRAIT(src, TRAIT_WIELDED))
return ..()
return 0
return FALSE
/obj/screen/combo
/atom/movable/screen/combo
icon_state = ""
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
screen_loc = ui_combo
layer = ABOVE_HUD_LAYER
var/streak
/obj/screen/combo/proc/clear_streak()
/atom/movable/screen/combo/proc/clear_streak()
cut_overlays()
streak = ""
icon_state = ""
/obj/screen/combo/update_icon(updates, _streak)
/atom/movable/screen/combo/update_icon(updates, _streak)
streak = _streak
return ..()
/obj/screen/combo/update_overlays()
/atom/movable/screen/combo/update_overlays()
. = list()
for(var/i in 1 to length(streak))
var/intent_text = copytext(streak, i, i + 1)
@@ -489,7 +489,7 @@
intent_icon.pixel_x = 16 * (i - 1) - 8 * length(streak)
. += intent_icon
/obj/screen/combo/update_icon_state()
/atom/movable/screen/combo/update_icon_state()
icon_state = ""
if(!streak)
return
@@ -66,9 +66,9 @@
return
if(!M.restrained() && !M.stat)
playsound(loc, "rustle", 50, 1, -5)
playsound(loc, "rustle", 50, TRUE, -5)
if(istype(over_object, /obj/screen/inventory/hand))
if(istype(over_object, /atom/movable/screen/inventory/hand))
if(!M.unEquip(src))
return
M.put_in_active_hand(src)
@@ -314,7 +314,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(message)
to_chat(src, "<span class='ghostalert'>[message]</span>")
if(source)
var/obj/screen/alert/A = throw_alert("\ref[source]_notify_cloning", /obj/screen/alert/notify_cloning)
var/atom/movable/screen/alert/A = throw_alert("\ref[source]_notify_cloning", /atom/movable/screen/alert/notify_cloning)
if(A)
if(client && client.prefs && client.prefs.UI_style)
A.icon = ui_style2icon(client.prefs.UI_style)
+1 -1
View File
@@ -200,7 +200,7 @@
mmi = null
return ..()
/datum/action/generic/configure_mmi_radio/ApplyIcon(obj/screen/movable/action_button/current_button)
/datum/action/generic/configure_mmi_radio/ApplyIcon(atom/movable/screen/movable/action_button/current_button)
icon_icon = mmi.icon
button_icon_state = mmi.icon_state
..()
@@ -91,7 +91,7 @@
// +/- 50 degrees from 310.15K is the 'safe' zone, where no damage is dealt.
if(bodytemperature > 360.15)
//Body temperature is too hot.
throw_alert("alien_fire", /obj/screen/alert/alien_fire)
throw_alert("alien_fire", /atom/movable/screen/alert/alien_fire)
switch(bodytemperature)
if(360 to 400)
apply_damage(HEAT_DAMAGE_LEVEL_1, BURN)
@@ -15,7 +15,7 @@
if(Toxins_pp > tox_detect_threshold) // Detect toxins in air
add_plasma(breath.toxins * 250)
throw_alert("alien_tox", /obj/screen/alert/alien_tox)
throw_alert("alien_tox", /atom/movable/screen/alert/alien_tox)
toxins_used = breath.toxins
@@ -72,7 +72,7 @@
/mob/living/carbon/alien/humanoid/update_inv_wear_suit()
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_OUTER_SUIT]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_OUTER_SUIT]
inv.update_icon()
if(wear_suit)
+6 -6
View File
@@ -361,7 +361,7 @@
if((E && (E.status & ORGAN_DEAD)) || !.)
return FALSE
/mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /obj/screen/fullscreen/flash)
/mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /atom/movable/screen/fullscreen/flash)
//Parent proc checks if a mob can_be_flashed()
. = ..()
@@ -658,7 +658,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
return
/mob/living/carbon/throw_item(atom/target)
if(!target || !isturf(loc) || istype(target, /obj/screen))
if(!target || !isturf(loc) || is_screen_atom(target))
throw_mode_off()
return
@@ -745,7 +745,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
clear_alert("legcuffed")
if(!legcuffed)
return
throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed)
throw_alert("legcuffed", /atom/movable/screen/alert/restrained/legcuffed, new_master = legcuffed)
if(m_intent != MOVE_INTENT_WALK)
m_intent = MOVE_INTENT_WALK
if(hud_used?.move_intent)
@@ -1052,7 +1052,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
drop_r_hand()
drop_l_hand()
stop_pulling()
throw_alert("handcuffed", /obj/screen/alert/restrained/handcuffed, new_master = handcuffed)
throw_alert("handcuffed", /atom/movable/screen/alert/restrained/handcuffed, new_master = handcuffed)
ADD_TRAIT(src, TRAIT_RESTRAINED, "handcuffed")
else
REMOVE_TRAIT(src, TRAIT_RESTRAINED, "handcuffed")
@@ -1275,9 +1275,9 @@ so that different stomachs can handle things in different ways VB*/
/mob/living/carbon/proc/update_tint()
var/tinttotal = get_total_tint()
if(tinttotal >= TINT_BLIND)
overlay_fullscreen("tint", /obj/screen/fullscreen/blind)
overlay_fullscreen("tint", /atom/movable/screen/fullscreen/blind)
else if(tinttotal >= TINT_IMPAIR)
overlay_fullscreen("tint", /obj/screen/fullscreen/impaired, 2)
overlay_fullscreen("tint", /atom/movable/screen/fullscreen/impaired, 2)
else
clear_fullscreen("tint", 0)
@@ -112,7 +112,7 @@
//CRIT
if(!breath || (breath.total_moles() == 0) || !lungs)
adjustOxyLoss(1)
throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
return FALSE
var/safe_oxy_min = 16
@@ -138,7 +138,7 @@
oxygen_used = breath.oxygen*ratio
else
adjustOxyLoss(3)
throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
else //Enough oxygen
adjustOxyLoss(-5)
@@ -167,7 +167,7 @@
if(Toxins_partialpressure > safe_tox_max)
var/ratio = (breath.toxins/safe_tox_max) * 10
adjustToxLoss(clamp(ratio, MIN_TOXIC_GAS_DAMAGE, MAX_TOXIC_GAS_DAMAGE))
throw_alert("too_much_tox", /obj/screen/alert/too_much_tox)
throw_alert("too_much_tox", /atom/movable/screen/alert/too_much_tox)
else
clear_alert("too_much_tox")
@@ -315,7 +315,7 @@
severity = 9
if(-INFINITY to -95)
severity = 10
overlay_fullscreen("crit", /obj/screen/fullscreen/crit, severity)
overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit, severity)
else if(stat == CONSCIOUS)
if(check_death_method())
clear_fullscreen("crit")
@@ -336,7 +336,7 @@
severity = 6
if(45 to INFINITY)
severity = 7
overlay_fullscreen("oxy", /obj/screen/fullscreen/oxy, severity)
overlay_fullscreen("oxy", /atom/movable/screen/fullscreen/oxy, severity)
else
clear_fullscreen("oxy")
@@ -352,7 +352,7 @@
if(45 to 70) severity = 4
if(70 to 85) severity = 5
if(85 to INFINITY) severity = 6
overlay_fullscreen("brute", /obj/screen/fullscreen/brute, severity)
overlay_fullscreen("brute", /atom/movable/screen/fullscreen/brute, severity)
else
clear_fullscreen("brute")
@@ -35,9 +35,9 @@
/mob/living/carbon/proc/update_hands_hud()
if(!hud_used)
return
var/obj/screen/inventory/R = hud_used.inv_slots[SLOT_HUD_RIGHT_HAND]
var/atom/movable/screen/inventory/R = hud_used.inv_slots[SLOT_HUD_RIGHT_HAND]
R?.update_icon()
var/obj/screen/inventory/L = hud_used.inv_slots[SLOT_HUD_LEFT_HAND]
var/atom/movable/screen/inventory/L = hud_used.inv_slots[SLOT_HUD_LEFT_HAND]
L?.update_icon()
/mob/living/carbon/update_inv_r_hand(ignore_cuffs)
@@ -64,7 +64,7 @@
/mob/living/carbon/update_inv_back()
if(client && hud_used && hud_used.inv_slots[SLOT_HUD_BACK])
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_BACK]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_BACK]
inv.update_icon()
if(back)
+11 -11
View File
@@ -32,16 +32,16 @@
/datum/status_effect/offering_item
id = "offering item"
duration = 10 SECONDS
alert_type = /obj/screen/alert/status_effect/offering_item
alert_type = /atom/movable/screen/alert/status_effect/offering_item
/datum/status_effect/offering_item/on_creation(mob/living/new_owner, receiver_UID, item_UID)
. = ..()
var/obj/screen/alert/status_effect/offering_item/offer = linked_alert
var/atom/movable/screen/alert/status_effect/offering_item/offer = linked_alert
offer.item_UID = item_UID
offer.receiver_UID = receiver_UID
/obj/screen/alert/status_effect/offering_item
/atom/movable/screen/alert/status_effect/offering_item
name = "Offering Item"
desc = "You're currently offering an item someone. Make sure to keep the item in your hand so they can accept it! Click to stop offering your item."
icon_state = "offering_item"
@@ -50,7 +50,7 @@
/// UID of the item being given.
var/item_UID
/obj/screen/alert/status_effect/offering_item/Click(location, control, params)
/atom/movable/screen/alert/status_effect/offering_item/Click(location, control, params)
var/mob/living/carbon/receiver = locateUID(receiver_UID)
var/mob/living/carbon/giver = attached_effect.owner
var/obj/item/I = locateUID(item_UID)
@@ -99,7 +99,7 @@
return
// We use UID() here so that the receiver can have more then one give request at one time.
// Otherwise, throwing a new "take item" alert would override any current one also named "take item".
receiver.throw_alert("take item [I.UID()]", /obj/screen/alert/take_item, alert_args = list(user, receiver, I))
receiver.throw_alert("take item [I.UID()]", /atom/movable/screen/alert/take_item, alert_args = list(user, receiver, I))
item_offered = TRUE // TRUE so we don't give them the default chat message in Destroy.
to_chat(user, "<span class='info'>You offer [I] to [receiver].</span>")
qdel(src)
@@ -111,7 +111,7 @@
* Alert which appears for a user when another player is attempting to offer them an item.
* The user can click the alert to accept, or simply do nothing to not take the item.
*/
/obj/screen/alert/take_item
/atom/movable/screen/alert/take_item
name = "Take Item"
desc = "someone wants to hand you an item!"
icon_state = "template"
@@ -124,7 +124,7 @@
var/item_UID
/obj/screen/alert/take_item/Initialize(mapload, mob/living/giver, mob/living/receiver, obj/item/I)
/atom/movable/screen/alert/take_item/Initialize(mapload, mob/living/giver, mob/living/receiver, obj/item/I)
. = ..()
desc = "[giver] wants to hand you \a [I]. Click here to accept it!"
giver_UID = giver.UID()
@@ -138,13 +138,13 @@
RegisterSignal(giver, list(COMSIG_PARENT_QDELETING, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), PROC_REF(cancel_give))
/obj/screen/alert/take_item/Destroy()
/atom/movable/screen/alert/take_item/Destroy()
var/mob/living/giver = locateUID(giver_UID)
giver.remove_status_effect(STATUS_EFFECT_OFFERING_ITEM)
return ..()
/obj/screen/alert/take_item/proc/cancel_give()
/atom/movable/screen/alert/take_item/proc/cancel_give()
SIGNAL_HANDLER
var/mob/living/giver = locateUID(giver_UID)
var/mob/living/receiver = locateUID(receiver_UID)
@@ -153,7 +153,7 @@
receiver.clear_alert("take item [item_UID]")
/obj/screen/alert/take_item/Click(location, control, params)
/atom/movable/screen/alert/take_item/Click(location, control, params)
var/mob/living/receiver = locateUID(receiver_UID)
if(receiver.stat != CONSCIOUS)
return
@@ -178,7 +178,7 @@
receiver.clear_alert("take item [item_UID]")
/obj/screen/alert/take_item/do_timeout(mob/M, category)
/atom/movable/screen/alert/take_item/do_timeout(mob/M, category)
var/mob/living/giver = locateUID(giver_UID)
var/mob/living/receiver = locateUID(receiver_UID)
// Make sure we're still nearby. We don't want to show a message if the giver not near us.
@@ -148,13 +148,13 @@
switch(S.breathid)
if("o2")
throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
if("tox")
throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox)
throw_alert("not_enough_tox", /atom/movable/screen/alert/not_enough_tox)
if("co2") // currently unused
throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2)
throw_alert("not_enough_co2", /atom/movable/screen/alert/not_enough_co2)
if("n2")
throw_alert("not_enough_nitro", /obj/screen/alert/not_enough_nitro)
throw_alert("not_enough_nitro", /atom/movable/screen/alert/not_enough_nitro)
return FALSE
// USED IN DEATHWHISPERS
@@ -217,13 +217,13 @@
var/mult = dna.species.heatmod * physiology.heat_mod
if(bodytemperature >= dna.species.heat_level_1 && bodytemperature <= dna.species.heat_level_2)
throw_alert("temp", /obj/screen/alert/hot, 1)
throw_alert("temp", /atom/movable/screen/alert/hot, 1)
take_overall_damage(burn=mult*HEAT_DAMAGE_LEVEL_1, updating_health = TRUE, used_weapon = "High Body Temperature")
if(bodytemperature > dna.species.heat_level_2 && bodytemperature <= dna.species.heat_level_3)
throw_alert("temp", /obj/screen/alert/hot, 2)
throw_alert("temp", /atom/movable/screen/alert/hot, 2)
take_overall_damage(burn=mult*HEAT_DAMAGE_LEVEL_2, updating_health = TRUE, used_weapon = "High Body Temperature")
if(bodytemperature > dna.species.heat_level_3 && bodytemperature < INFINITY)
throw_alert("temp", /obj/screen/alert/hot, 3)
throw_alert("temp", /atom/movable/screen/alert/hot, 3)
if(on_fire)
take_overall_damage(burn=mult*HEAT_DAMAGE_LEVEL_3, updating_health = TRUE, used_weapon = "Fire")
else
@@ -238,13 +238,13 @@
if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell) && !(HAS_TRAIT(src, TRAIT_RESISTCOLD)))
var/mult = dna.species.coldmod * physiology.cold_mod
if(bodytemperature >= dna.species.cold_level_2 && bodytemperature <= dna.species.cold_level_1)
throw_alert("temp", /obj/screen/alert/cold, 1)
throw_alert("temp", /atom/movable/screen/alert/cold, 1)
take_overall_damage(burn=mult*COLD_DAMAGE_LEVEL_1, updating_health = TRUE, used_weapon = "Low Body Temperature")
if(bodytemperature >= dna.species.cold_level_3 && bodytemperature < dna.species.cold_level_2)
throw_alert("temp", /obj/screen/alert/cold, 2)
throw_alert("temp", /atom/movable/screen/alert/cold, 2)
take_overall_damage(burn=mult*COLD_DAMAGE_LEVEL_2, updating_health = TRUE, used_weapon = "Low Body Temperature")
if(bodytemperature > -INFINITY && bodytemperature < dna.species.cold_level_3)
throw_alert("temp", /obj/screen/alert/cold, 3)
throw_alert("temp", /atom/movable/screen/alert/cold, 3)
take_overall_damage(burn=mult*COLD_DAMAGE_LEVEL_3, updating_health = TRUE, used_weapon = "Low Body Temperature")
else
clear_alert("temp")
@@ -262,21 +262,21 @@
if(!HAS_TRAIT(src, TRAIT_RESISTHIGHPRESSURE))
var/pressure_damage = min(((adjusted_pressure / dna.species.hazard_high_pressure) - 1) * PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) * physiology.pressure_mod
take_overall_damage(brute=pressure_damage, updating_health = TRUE, used_weapon = "High Pressure")
throw_alert("pressure", /obj/screen/alert/highpressure, 2)
throw_alert("pressure", /atom/movable/screen/alert/highpressure, 2)
else
clear_alert("pressure")
else if(adjusted_pressure >= dna.species.warning_high_pressure)
throw_alert("pressure", /obj/screen/alert/highpressure, 1)
throw_alert("pressure", /atom/movable/screen/alert/highpressure, 1)
else if(adjusted_pressure >= dna.species.warning_low_pressure)
clear_alert("pressure")
else if(adjusted_pressure >= dna.species.hazard_low_pressure)
throw_alert("pressure", /obj/screen/alert/lowpressure, 1)
throw_alert("pressure", /atom/movable/screen/alert/lowpressure, 1)
else
if(HAS_TRAIT(src, TRAIT_RESISTLOWPRESSURE))
clear_alert("pressure")
else
take_overall_damage(brute = LOW_PRESSURE_DAMAGE * physiology.pressure_mod, updating_health = TRUE, used_weapon = "Low Pressure")
throw_alert("pressure", /obj/screen/alert/lowpressure, 2)
throw_alert("pressure", /atom/movable/screen/alert/lowpressure, 2)
///FIRE CODE
@@ -685,7 +685,7 @@
new_hunger += "/[dna.species.hunger_type]"
if(dna.species.hunger_level != new_hunger)
dna.species.hunger_level = new_hunger
throw_alert("nutrition", "/obj/screen/alert/hunger/[new_hunger]", icon_override = dna.species.hunger_icon)
throw_alert("nutrition", "/atom/movable/screen/alert/hunger/[new_hunger]", icon_override = dna.species.hunger_icon)
/mob/living/carbon/human/handle_random_events()
// Puke if toxloss is too high
@@ -573,7 +573,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_w_uniform()
remove_overlay(UNIFORM_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_JUMPSUIT]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_JUMPSUIT]
if(inv)
inv.update_icon()
@@ -650,7 +650,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_wear_id()
remove_overlay(ID_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_WEAR_ID]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_WEAR_ID]
if(inv)
inv.update_icon()
@@ -666,7 +666,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_gloves()
remove_overlay(GLOVES_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_GLOVES]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_GLOVES]
if(inv)
inv.update_icon()
@@ -706,7 +706,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
remove_overlay(OVER_MASK_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_GLASSES]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_GLASSES]
if(inv)
inv.update_icon()
@@ -744,12 +744,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_ears()
remove_overlay(EARS_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_LEFT_EAR]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_LEFT_EAR]
if(inv)
inv.update_icon()
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_RIGHT_EAR]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_RIGHT_EAR]
if(inv)
inv.update_icon()
@@ -792,7 +792,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_shoes()
remove_overlay(SHOES_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_SHOES]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_SHOES]
if(inv)
inv.update_icon()
@@ -828,7 +828,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_s_store()
remove_overlay(SUIT_STORE_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_SUIT_STORE]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_SUIT_STORE]
if(inv)
inv.update_icon()
@@ -850,7 +850,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
..()
remove_overlay(HEAD_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_HEAD]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_HEAD]
if(inv)
inv.update_icon()
@@ -879,7 +879,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_belt()
remove_overlay(BELT_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_BELT]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_BELT]
if(inv)
inv.update_icon()
@@ -905,7 +905,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_wear_suit()
remove_overlay(SUIT_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_OUTER_SUIT]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_OUTER_SUIT]
if(inv)
inv.update_icon()
@@ -949,7 +949,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_pockets()
if(client && hud_used)
var/obj/screen/inventory/inv
var/atom/movable/screen/inventory/inv
inv = hud_used.inv_slots[SLOT_HUD_LEFT_STORE]
if(inv)
@@ -970,7 +970,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/update_inv_wear_pda()
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_WEAR_PDA]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_WEAR_PDA]
if(inv)
inv.update_icon()
@@ -982,7 +982,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
..()
remove_overlay(FACEMASK_LAYER)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_WEAR_MASK]
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[SLOT_HUD_WEAR_MASK]
if(inv)
inv.update_icon()
if(wear_mask && (istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/accessory)))
@@ -13,7 +13,7 @@
/mob/living/carbon/human/update_nearsighted_effects()
var/obj/item/clothing/glasses/G = glasses
if(HAS_TRAIT(src, TRAIT_NEARSIGHT) && (!istype(G) || !G.prescription))
overlay_fullscreen("nearsighted", /obj/screen/fullscreen/impaired, 1)
overlay_fullscreen("nearsighted", /atom/movable/screen/fullscreen/impaired, 1)
else
clear_fullscreen("nearsighted")
@@ -93,7 +93,7 @@
if(light_amount > 0)
H.clear_alert("nolight")
else
H.throw_alert("nolight", /obj/screen/alert/nolight)
H.throw_alert("nolight", /atom/movable/screen/alert/nolight)
if(!is_vamp)
H.adjust_nutrition(light_amount * 10)
@@ -313,7 +313,7 @@
if(light_amount > 0)
H.clear_alert("nolight")
else
H.throw_alert("nolight", /obj/screen/alert/nolight)
H.throw_alert("nolight", /atom/movable/screen/alert/nolight)
H.adjust_nutrition(light_amount * 10)
if(H.nutrition > NUTRITION_LEVEL_ALMOST_FULL)
H.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL)
@@ -34,9 +34,9 @@
light_amount = T.get_lumcount() * 10
if(light_amount > 2) //if there's enough light, start dying
H.take_overall_damage(1,1)
H.throw_alert("lightexposure", /obj/screen/alert/lightexposure)
H.take_overall_damage(1, 1)
H.throw_alert("lightexposure", /atom/movable/screen/alert/lightexposure)
else if(light_amount < 2) //heal in the dark
H.heal_overall_damage(1,1)
H.heal_overall_damage(1, 1)
H.clear_alert("lightexposure")
..()
+3 -3
View File
@@ -799,7 +799,7 @@
if(has_gravity)
clear_alert("weightless")
else
throw_alert("weightless", /obj/screen/alert/weightless)
throw_alert("weightless", /atom/movable/screen/alert/weightless)
if(!flying)
float(!has_gravity)
@@ -829,7 +829,7 @@
return TRUE
//called when the mob receives a bright flash
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /obj/screen/fullscreen/flash)
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /atom/movable/screen/fullscreen/flash)
if(can_be_flashed(intensity, override_blindness_check))
overlay_fullscreen("flash", type)
addtimer(CALLBACK(src, PROC_REF(clear_fullscreen), "flash", 25), 25)
@@ -1146,7 +1146,7 @@
/mob/living/proc/set_forced_look(atom/A, track = FALSE)
forced_look = track ? A.UID() : get_cardinal_dir(src, A)
to_chat(src, "<span class='userdanger'>You are now facing [track ? A : dir2text(forced_look)]. To cancel this, shift-middleclick yourself.</span>")
throw_alert("direction_lock", /obj/screen/alert/direction_lock)
throw_alert("direction_lock", /atom/movable/screen/alert/direction_lock)
/**
* Clears the mob's direction lock if enabled.
+1 -1
View File
@@ -163,7 +163,7 @@
on_fire = TRUE
visible_message("<span class='warning'>[src] catches fire!</span>", "<span class='userdanger'>You're set on fire!</span>")
set_light(light_range + 3,l_color = "#ED9200")
throw_alert("fire", /obj/screen/alert/fire)
throw_alert("fire", /atom/movable/screen/alert/fire)
update_fire()
SEND_SIGNAL(src, COMSIG_LIVING_IGNITED)
return TRUE
+1 -1
View File
@@ -173,6 +173,6 @@
healths.icon_state = "health7"
severity = 6
if(severity > 0)
overlay_fullscreen("brute", /obj/screen/fullscreen/brute, severity)
overlay_fullscreen("brute", /atom/movable/screen/fullscreen/brute, severity)
else
clear_fullscreen("brute")
@@ -1,8 +1,8 @@
/mob/living/update_blind_effects()
if(!has_vision(information_only=TRUE))
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
throw_alert("blind", /obj/screen/alert/blind)
return 1
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
throw_alert("blind", /atom/movable/screen/alert/blind)
return TRUE
else
clear_fullscreen("blind")
clear_alert("blind")
@@ -19,8 +19,8 @@
/mob/living/update_druggy_effects()
if(AmountDruggy())
overlay_fullscreen("high", /obj/screen/fullscreen/high)
throw_alert("high", /obj/screen/alert/high)
overlay_fullscreen("high", /atom/movable/screen/fullscreen/high)
throw_alert("high", /atom/movable/screen/alert/high)
sound_environment_override = SOUND_ENVIRONMENT_DRUGGED
else
clear_fullscreen("high")
@@ -29,14 +29,14 @@
/mob/living/update_nearsighted_effects()
if(HAS_TRAIT(src, TRAIT_NEARSIGHT))
overlay_fullscreen("nearsighted", /obj/screen/fullscreen/impaired, 1)
overlay_fullscreen("nearsighted", /atom/movable/screen/fullscreen/impaired, 1)
else
clear_fullscreen("nearsighted")
/mob/living/update_sleeping_effects(no_alert = FALSE)
if(IsSleeping())
if(!no_alert)
throw_alert("asleep", /obj/screen/alert/asleep)
throw_alert("asleep", /atom/movable/screen/alert/asleep)
else
clear_alert("asleep")
+1 -1
View File
@@ -1539,7 +1539,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
SEND_SOUND(src, sound('sound/machines/ai_start.ogg'))
var/obj/screen/text/blurb/location_blurb = new()
var/atom/movable/screen/text/blurb/location_blurb = new()
location_blurb.maptext_x = 80
location_blurb.maptext_y = 16
location_blurb.maptext_width = 480
@@ -63,7 +63,7 @@
emagged = new_state
update_icons()
if(emagged)
throw_alert("hacked", /obj/screen/alert/hacked)
throw_alert("hacked", /atom/movable/screen/alert/hacked)
else
clear_alert("hacked")
@@ -98,15 +98,15 @@
if(0.75 to INFINITY)
clear_alert("charge")
if(0.5 to 0.75)
throw_alert("charge", /obj/screen/alert/lowcell, 1)
throw_alert("charge", /atom/movable/screen/alert/lowcell, 1)
if(0.25 to 0.5)
throw_alert("charge", /obj/screen/alert/lowcell, 2)
throw_alert("charge", /atom/movable/screen/alert/lowcell, 2)
if(0.01 to 0.25)
throw_alert("charge", /obj/screen/alert/lowcell, 3)
throw_alert("charge", /atom/movable/screen/alert/lowcell, 3)
else
throw_alert("charge", /obj/screen/alert/emptycell)
throw_alert("charge", /atom/movable/screen/alert/emptycell)
else
throw_alert("charge", /obj/screen/alert/nocell)
throw_alert("charge", /atom/movable/screen/alert/nocell)
@@ -19,15 +19,15 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
var/custom_sprite = FALSE //Due to all the sprites involved, a var for our custom borgs may be best
//Hud stuff
var/obj/screen/hands = null
var/obj/screen/inv1 = null
var/obj/screen/inv2 = null
var/obj/screen/inv3 = null
var/obj/screen/lamp_button = null
var/obj/screen/thruster_button = null
var/atom/movable/screen/hands = null
var/atom/movable/screen/inv1 = null
var/atom/movable/screen/inv2 = null
var/atom/movable/screen/inv3 = null
var/atom/movable/screen/lamp_button = null
var/atom/movable/screen/thruster_button = null
var/shown_robot_modules = FALSE //Used to determine whether they have the module menu shown or not
var/obj/screen/robot_modules_background
var/atom/movable/screen/robot_modules_background
//3 Modules can be activated at any one time.
var/obj/item/robot_module/module = null
@@ -1296,7 +1296,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
if(wires.is_cut(WIRE_BORG_LOCKED))
state = 1
if(state)
throw_alert("locked", /obj/screen/alert/locked)
throw_alert("locked", /atom/movable/screen/alert/locked)
else
clear_alert("locked")
lockcharge = state
@@ -10,7 +10,7 @@
return laws.zeroth_law != null
/mob/living/silicon/proc/set_zeroth_law(law, law_borg)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.set_zeroth_law(law, law_borg)
if(!isnull(usr) && law)
@@ -22,56 +22,56 @@
to_chat(src, "<span class='warning'>Internal camera is currently being accessed.</span>")
/mob/living/silicon/proc/add_ion_law(law)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.add_ion_law(law)
if(!isnull(usr) && law)
log_and_message_admins("has given [src] the ion law: [law]")
/mob/living/silicon/proc/add_inherent_law(law)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.add_inherent_law(law)
if(!isnull(usr) && law)
log_and_message_admins("has given [src] the inherent law: [law]")
/mob/living/silicon/proc/add_supplied_law(number, law)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.add_supplied_law(number, law)
if(!isnull(usr) && law)
log_and_message_admins("has given [src] the supplied law: [law]")
/mob/living/silicon/proc/delete_law(datum/ai_law/law)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.delete_law(law)
if(!isnull(usr) && law)
log_and_message_admins("has deleted a law belonging to [src]: [law.law]")
/mob/living/silicon/proc/clear_inherent_laws(silent = 0)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.clear_inherent_laws()
if(!silent && !isnull(usr))
log_and_message_admins("cleared the inherent laws of [src]")
/mob/living/silicon/proc/clear_ion_laws(silent = 0)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.clear_ion_laws()
if(!silent && !isnull(usr))
log_and_message_admins("cleared the ion laws of [src]")
/mob/living/silicon/proc/clear_supplied_laws(silent = 0)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.clear_supplied_laws()
if(!silent && !isnull(usr))
log_and_message_admins("cleared the supplied laws of [src]")
/mob/living/silicon/proc/clear_zeroth_law(silent = FALSE)
throw_alert("newlaw", /obj/screen/alert/newlaw)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
laws_sanity_check()
laws.clear_zeroth_laws()
if(!silent && !isnull(usr))
@@ -409,7 +409,7 @@
/mob/living/silicon/get_access()
return IGNORE_ACCESS //silicons always have access
/mob/living/silicon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash/noise)
/mob/living/silicon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/screen/fullscreen/flash/noise)
if(affect_silicon)
return ..()
@@ -123,7 +123,7 @@
/mob/living/simple_animal/hostile/construct/Life(seconds, times_fired)
if(holy_check(src))
throw_alert("holy_fire", /obj/screen/alert/holy_fire, override = TRUE)
throw_alert("holy_fire", /atom/movable/screen/alert/holy_fire, override = TRUE)
visible_message("<span class='danger'>[src] slowly crumbles to dust in this holy place!</span>", \
"<span class='danger'>Your shell burns as you crumble to dust in this holy place!</span>")
playsound(loc, 'sound/items/welder.ogg', 150, TRUE)
@@ -107,8 +107,8 @@
if(isdiona(M))
to_chat(M, "You feel your being twine with that of [src] as it merges with your biomass.")
to_chat(src, "You feel your being twine with that of [M] as you merge with its biomass.")
throw_alert(GESTALT_ALERT, /obj/screen/alert/nymph, new_master = src) //adds a screen alert that can call resist
M.throw_alert(NYMPH_ALERT, /obj/screen/alert/gestalt, new_master = src)
throw_alert(GESTALT_ALERT, /atom/movable/screen/alert/nymph, new_master = src) //adds a screen alert that can call resist
M.throw_alert(NYMPH_ALERT, /atom/movable/screen/alert/gestalt, new_master = src)
forceMove(M)
else if(isrobot(M))
M.visible_message("<span class='notice'>[M] playfully boops [src] on the head!</span>", "<span class='notice'>You playfully boop [src] on the head!</span>")
@@ -141,8 +141,8 @@
M.status_flags |= PASSEMOTES
to_chat(src, "You feel your being twine with that of [M] as you merge with its biomass.")
forceMove(M)
throw_alert(GESTALT_ALERT, /obj/screen/alert/nymph, new_master = src) //adds a screen alert that can call resist
M.throw_alert(NYMPH_ALERT, /obj/screen/alert/gestalt, new_master = src)
throw_alert(GESTALT_ALERT, /atom/movable/screen/alert/nymph, new_master = src) //adds a screen alert that can call resist
M.throw_alert(NYMPH_ALERT, /atom/movable/screen/alert/gestalt, new_master = src)
return TRUE
else
return FALSE
@@ -141,7 +141,7 @@ Difficulty: Hard
H.apply_status_effect(STATUS_EFFECT_BUBBLEGUM_CURSE, src)
if(second_life)
H.clear_fullscreen("Bubblegum")
H.overlay_fullscreen("Bubblegum", /obj/screen/fullscreen/fog, 2)
H.overlay_fullscreen("Bubblegum", /atom/movable/screen/fullscreen/fog, 2)
/mob/living/simple_animal/hostile/megafauna/bubblegum/death(gibbed)
@@ -305,20 +305,20 @@
if(atmos_requirements["min_oxy"] && oxy < atmos_requirements["min_oxy"])
atmos_suitable = 0
throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
else if(atmos_requirements["max_oxy"] && oxy > atmos_requirements["max_oxy"])
atmos_suitable = 0
throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy)
throw_alert("too_much_oxy", /atom/movable/screen/alert/too_much_oxy)
else
clear_alert("not_enough_oxy")
clear_alert("too_much_oxy")
if(atmos_requirements["min_tox"] && tox < atmos_requirements["min_tox"])
atmos_suitable = 0
throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox)
throw_alert("not_enough_tox", /atom/movable/screen/alert/not_enough_tox)
else if(atmos_requirements["max_tox"] && tox > atmos_requirements["max_tox"])
atmos_suitable = 0
throw_alert("too_much_tox", /obj/screen/alert/too_much_tox)
throw_alert("too_much_tox", /atom/movable/screen/alert/too_much_tox)
else
clear_alert("too_much_tox")
clear_alert("not_enough_tox")
@@ -114,7 +114,7 @@
if(bodytemperature < (T0C + 5)) // start calculating temperature damage etc
if(bodytemperature <= (T0C - 40)) // stun temperature
Tempstun = TRUE
throw_alert("temp", /obj/screen/alert/cold, 3)
throw_alert("temp", /atom/movable/screen/alert/cold, 3)
to_chat(src,"<span class='userdanger'>You suddenly freeze up, you cannot move!</span>")
if(bodytemperature <= (T0C - 50)) // hurt temperature
@@ -193,7 +193,7 @@
healths.icon_state = "slime_health7"
severity = 6
if(severity > 0)
overlay_fullscreen("brute", /obj/screen/fullscreen/brute, severity)
overlay_fullscreen("brute", /atom/movable/screen/fullscreen/brute, severity)
else
clear_fullscreen("brute")
+2 -2
View File
@@ -1490,14 +1490,14 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
/mob/proc/sync_lighting_plane_alpha()
if(hud_used)
var/obj/screen/plane_master/lighting/L = hud_used.plane_masters["[LIGHTING_PLANE]"]
var/atom/movable/screen/plane_master/lighting/L = hud_used.plane_masters["[LIGHTING_PLANE]"]
if(L)
L.alpha = lighting_alpha
sync_nightvision_screen() //Sync up the overlay used for nightvision to the amount of see_in_dark a mob has. This needs to be called everywhere sync_lighting_plane_alpha() is.
/mob/proc/sync_nightvision_screen()
var/obj/screen/fullscreen/see_through_darkness/S = screens["see_through_darkness"]
var/atom/movable/screen/fullscreen/see_through_darkness/S = screens["see_through_darkness"]
if(S)
var/suffix = ""
switch(see_in_dark)
+3 -3
View File
@@ -11,7 +11,7 @@
/obj/item/grab
name = "grab"
flags = NOBLUDGEON | ABSTRACT | DROPDEL
var/obj/screen/grab/hud = null
var/atom/movable/screen/grab/hud = null
var/mob/living/affecting = null
var/mob/living/assailant = null
var/state = GRAB_PASSIVE
@@ -48,7 +48,7 @@
RegisterSignal(affecting, COMSIG_MOVABLE_MOVED, PROC_REF(grab_moved))
RegisterSignal(assailant, COMSIG_MOVABLE_MOVED, PROC_REF(pull_grabbed))
hud = new /obj/screen/grab(src)
hud = new /atom/movable/screen/grab(src)
hud.icon_state = "reinforce"
icon_state = "grabbed"
hud.name = "reinforce grab"
@@ -291,7 +291,7 @@
if(EAST)
animate(affecting, pixel_x =-shift, pixel_y = 0, 5, 1, LINEAR_EASING)
/obj/item/grab/proc/s_click(obj/screen/S)
/obj/item/grab/proc/s_click(atom/movable/screen/S)
if(!affecting)
return
if(state >= GRAB_AGGRESSIVE && HAS_TRAIT(assailant, TRAIT_PACIFISM))
+1 -1
View File
@@ -554,7 +554,7 @@
if(flashwindow)
window_flash(O.client)
if(source)
var/obj/screen/alert/notify_action/A = O.throw_alert("\ref[source]_notify_action", /obj/screen/alert/notify_action)
var/atom/movable/screen/alert/notify_action/A = O.throw_alert("\ref[source]_notify_action", /atom/movable/screen/alert/notify_action)
if(A)
if(O.client.prefs && O.client.prefs.UI_style)
A.icon = ui_style2icon(O.client.prefs.UI_style)
+9 -9
View File
@@ -383,7 +383,7 @@
return
/client/proc/check_has_body_select()
return mob && mob.hud_used && mob.hud_used.zone_select && istype(mob.hud_used.zone_select, /obj/screen/zone_sel)
return mob && mob.hud_used && mob.hud_used.zone_select && istype(mob.hud_used.zone_select, /atom/movable/screen/zone_sel)
/client/verb/body_toggle_head()
set name = "body-toggle-head"
@@ -401,7 +401,7 @@
else
next_in_line = BODY_ZONE_HEAD
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(next_in_line, mob)
/client/verb/body_r_arm()
@@ -416,7 +416,7 @@
else
next_in_line = BODY_ZONE_R_ARM
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(next_in_line, mob)
/client/verb/body_chest()
@@ -426,7 +426,7 @@
if(!check_has_body_select())
return
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(BODY_ZONE_CHEST, mob)
/client/verb/body_l_arm()
@@ -442,7 +442,7 @@
else
next_in_line = BODY_ZONE_L_ARM
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(next_in_line, mob)
/client/verb/body_r_leg()
@@ -458,7 +458,7 @@
else
next_in_line = BODY_ZONE_R_LEG
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(next_in_line, mob)
/client/verb/body_groin()
@@ -468,7 +468,7 @@
if(!check_has_body_select())
return
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(BODY_ZONE_PRECISE_GROIN, mob)
/client/verb/body_l_leg()
@@ -484,7 +484,7 @@
else
next_in_line = BODY_ZONE_L_LEG
var/obj/screen/zone_sel/selector = mob.hud_used.zone_select
var/atom/movable/screen/zone_sel/selector = mob.hud_used.zone_select
selector.set_selected_zone(next_in_line, mob)
/client/verb/toggle_walk_run()
@@ -513,5 +513,5 @@
if(hud_used && hud_used.move_intent && hud_used.static_inventory)
hud_used.move_intent.icon_state = icon_toggle
for(var/obj/screen/mov_intent/selector in hud_used.static_inventory)
for(var/atom/movable/screen/mov_intent/selector in hud_used.static_inventory)
selector.update_icon()
+8 -8
View File
@@ -13,11 +13,11 @@
/// The zone this mob is currently targeting
var/zone_selected = null
var/obj/screen/pullin = null
var/obj/screen/i_select = null
var/obj/screen/m_select = null
var/obj/screen/healths = null
var/obj/screen/throw_icon = null
var/atom/movable/screen/pullin = null
var/atom/movable/screen/i_select = null
var/atom/movable/screen/m_select = null
var/atom/movable/screen/healths = null
var/atom/movable/screen/throw_icon = null
/*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob.
A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such.
@@ -25,8 +25,8 @@
I'll make some notes on where certain variable defines should probably go.
Changing this around would probably require a good look-over the pre-existing code.
*/
var/obj/screen/leap_icon = null
var/obj/screen/healthdoll/healthdoll = null
var/atom/movable/screen/leap_icon = null
var/atom/movable/screen/healthdoll/healthdoll = null
var/use_me = TRUE //Allows all mobs to use the me verb by default, will have to manually specify they cannot
var/damageoverlaytemp = 0
@@ -215,7 +215,7 @@
var/suiciding = FALSE
/// Used for some screen objects, such as
var/list/screens = list()
/// lazy list. contains /obj/screen/alert only, On /mob so clientless mobs will throw alerts properly
/// lazy list. contains /atom/movable/screen/alert only, On /mob so clientless mobs will throw alerts properly
var/list/alerts
/// Makes items bloody if you touch them
var/bloody_hands = 0
+2 -2
View File
@@ -268,7 +268,7 @@
if(!M.restrained() && !M.stat)
playsound(loc, "rustle", 50, TRUE, -5)
if(istype(over_object, /obj/screen/inventory/hand))
if(istype(over_object, /atom/movable/screen/inventory/hand))
for(var/obj/item/part as anything in mod_parts)
if(part.loc != src)
to_chat(wearer, "<span class='warning'>Retract parts first!</span>")
@@ -657,7 +657,7 @@
if(!wearer)
return
if(!core)
wearer.throw_alert("mod_charge", /obj/screen/alert/nocell)
wearer.throw_alert("mod_charge", /atom/movable/screen/alert/nocell)
return
core.update_charge_alert()
+9 -9
View File
@@ -131,20 +131,20 @@
/obj/item/mod/core/standard/update_charge_alert()
var/obj/item/stock_parts/cell/charge_source = charge_source()
if(!charge_source)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/nocell)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/nocell)
return
var/remaining_cell = charge_amount() / max_charge_amount()
switch(remaining_cell)
if(0.75 to INFINITY)
mod.wearer.clear_alert("mod_charge")
if(0.5 to 0.75)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/lowcell, 1)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 1)
if(0.25 to 0.5)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/lowcell, 2)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 2)
if(0.01 to 0.25)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/lowcell, 3)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 3)
else
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/emptycell)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/emptycell)
/obj/item/mod/core/standard/emp_act(severity)
cell?.emp_act(severity)
@@ -276,13 +276,13 @@
if(0.75 to INFINITY)
mod.wearer.clear_alert("mod_charge")
if(0.5 to 0.75)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/lowcell, 1)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 1)
if(0.25 to 0.5)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/lowcell, 2)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 2)
if(0.01 to 0.25)
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/lowcell, 3)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 3)
else
mod.wearer.throw_alert("mod_charge", /obj/screen/alert/emptycell)
mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/emptycell)
/obj/item/mod/core/plasma/on_attackby(obj/item/attacking_item, mob/user, params)
charge_plasma(attacking_item, user)
+3 -3
View File
@@ -30,7 +30,7 @@
/// Overlay we add to each grabbed atom.
var/image/kinesis_icon
/// Our mouse movement catcher.
var/obj/screen/fullscreen/cursor_catcher/kinesis/kinesis_catcher
var/atom/movable/screen/fullscreen/cursor_catcher/kinesis/kinesis_catcher
/// The sounds playing while we grabbed an object.
var/datum/looping_sound/kinesis/soundloop
///The pixel_X of whatever we were grabbing before hand.
@@ -83,7 +83,7 @@
pre_pixel_x = grabbed_atom.pixel_x
pre_pixel_y = grabbed_atom.pixel_y
beam.chain = beam.Beam(grabbed_atom, icon_state = "kinesis", icon='icons/effects/beam.dmi', time = 100 SECONDS, maxdistance = 15, beam_type = /obj/effect/ebeam, beam_sleep_time = 3)
kinesis_catcher = mod.wearer.overlay_fullscreen("kinesis", /obj/screen/fullscreen/cursor_catcher/kinesis, 0)
kinesis_catcher = mod.wearer.overlay_fullscreen("kinesis", /atom/movable/screen/fullscreen/cursor_catcher/kinesis, 0)
kinesis_catcher.assign_to_mob(mod.wearer)
soundloop.start()
START_PROCESSING(SSfastprocess, src)
@@ -249,7 +249,7 @@
complexity = 0
use_power_cost = DEFAULT_CHARGE_DRAIN * 5
/obj/screen/fullscreen/cursor_catcher/kinesis
/atom/movable/screen/fullscreen/cursor_catcher/kinesis
icon = 'icons/mob/screen_kinesis.dmi'
icon_state = "kinesis"
+1 -1
View File
@@ -39,7 +39,7 @@
M.unEquip(src)
M.put_in_hands(src)
else if(istype(over_object, /obj/screen))
else if(is_screen_atom(over_object))
switch(over_object.name)
if("r_hand")
if(!remove_item_from_storage(M))
+1 -1
View File
@@ -142,7 +142,7 @@
if(ishuman(usr))
var/mob/M = usr
if(!istype(over_object, /obj/screen))
if(!is_screen_atom(over_object))
return ..()
playsound(loc, "rustle", 50, 1, -5)
if((!M.restrained() && !M.stat && M.back == src))
+1 -1
View File
@@ -123,7 +123,7 @@ GLOBAL_LIST_EMPTY(PDAs)
/obj/item/pda/MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
if((!istype(over_object, /obj/screen)) && can_use())
if((!is_screen_atom(over_object)) && can_use())
return attack_self(M)
/obj/item/pda/attack_self(mob/user as mob)
+2 -2
View File
@@ -18,8 +18,8 @@
to_chat(malf, "Beginning override of APC systems. This takes some time, and you can only hack one APC at a time.")
malf.malfhack = src
malf.malfhacking = addtimer(CALLBACK(malf, TYPE_PROC_REF(/mob/living/silicon/ai, malfhacked), src), 600, TIMER_STOPPABLE)
var/obj/screen/alert/hackingapc/A
A = malf.throw_alert("hackingapc", /obj/screen/alert/hackingapc)
var/atom/movable/screen/alert/hackingapc/A
A = malf.throw_alert("hackingapc", /atom/movable/screen/alert/hackingapc)
A.target = src
/obj/machinery/power/apc/proc/malfoccupy(mob/living/silicon/ai/malf)
+1 -1
View File
@@ -547,7 +547,7 @@
/obj/machinery/disposal/get_remote_view_fullscreens(mob/user)
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 2)
user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 2)
/obj/machinery/disposal/force_eject_occupant(mob/target)
target.forceMove(get_turf(src))
@@ -65,13 +65,13 @@
H.adjustOxyLoss(5)
if(safe_oxygen_min)
H.throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
H.throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
else if(safe_toxins_min)
H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox)
H.throw_alert("not_enough_tox", /atom/movable/screen/alert/not_enough_tox)
else if(safe_co2_min)
H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2)
H.throw_alert("not_enough_co2", /atom/movable/screen/alert/not_enough_co2)
else if(safe_nitro_min)
H.throw_alert("not_enough_nitro", /obj/screen/alert/not_enough_nitro)
H.throw_alert("not_enough_nitro", /atom/movable/screen/alert/not_enough_nitro)
return FALSE
@@ -95,7 +95,7 @@
if(O2_pp > safe_oxygen_max)
var/ratio = (breath.oxygen / safe_oxygen_max / safe_oxygen_max) * 10
H.apply_damage_type(clamp(ratio, oxy_breath_dam_min, oxy_breath_dam_max), oxy_damage_type)
H.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy)
H.throw_alert("too_much_oxy", /atom/movable/screen/alert/too_much_oxy)
else
H.clear_alert("too_much_oxy")
@@ -103,7 +103,7 @@
if(safe_oxygen_min)
if(O2_pp < safe_oxygen_min)
gas_breathed = handle_too_little_breath(H, O2_pp, safe_oxygen_min, breath.oxygen)
H.throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy)
H.throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
else
H.adjustOxyLoss(-HUMAN_MAX_OXYLOSS)
gas_breathed = breath.oxygen
@@ -121,7 +121,7 @@
if(N2_pp > safe_nitro_max)
var/ratio = (breath.nitrogen / safe_nitro_max) * 10
H.apply_damage_type(clamp(ratio, nitro_breath_dam_min, nitro_breath_dam_max), nitro_damage_type)
H.throw_alert("too_much_nitro", /obj/screen/alert/too_much_nitro)
H.throw_alert("too_much_nitro", /atom/movable/screen/alert/too_much_nitro)
else
H.clear_alert("too_much_nitro")
@@ -129,7 +129,7 @@
if(safe_nitro_min)
if(N2_pp < safe_nitro_min)
gas_breathed = handle_too_little_breath(H, N2_pp, safe_nitro_min, breath.nitrogen)
H.throw_alert("not_enough_nitro", /obj/screen/alert/not_enough_nitro)
H.throw_alert("not_enough_nitro", /atom/movable/screen/alert/not_enough_nitro)
else
H.adjustOxyLoss(-HUMAN_MAX_OXYLOSS)
gas_breathed = breath.nitrogen
@@ -152,7 +152,7 @@
H.apply_damage_type(HUMAN_MAX_OXYLOSS, co2_damage_type) // Lets hurt em a little, let them know we mean business
if(world.time - H.co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good!
H.apply_damage_type(15, co2_damage_type)
H.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2)
H.throw_alert("too_much_co2", /atom/movable/screen/alert/too_much_co2)
if(prob(20)) // Lets give them some chance to know somethings not right though I guess.
H.emote("cough")
@@ -164,7 +164,7 @@
if(safe_co2_min)
if(CO2_pp < safe_co2_min)
gas_breathed = handle_too_little_breath(H, CO2_pp, safe_co2_min, breath.carbon_dioxide)
H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2)
H.throw_alert("not_enough_co2", /atom/movable/screen/alert/not_enough_co2)
else
H.adjustOxyLoss(-HUMAN_MAX_OXYLOSS)
gas_breathed = breath.carbon_dioxide
@@ -183,7 +183,7 @@
if(Toxins_pp > safe_toxins_max)
var/ratio = (breath.toxins / safe_toxins_max) * 10
H.apply_damage_type(clamp(ratio, tox_breath_dam_min, tox_breath_dam_max), tox_damage_type)
H.throw_alert("too_much_tox", /obj/screen/alert/too_much_tox)
H.throw_alert("too_much_tox", /atom/movable/screen/alert/too_much_tox)
else
H.clear_alert("too_much_tox")
@@ -192,7 +192,7 @@
if(safe_toxins_min)
if(Toxins_pp < safe_toxins_min)
gas_breathed = handle_too_little_breath(H, Toxins_pp, safe_toxins_min, breath.toxins)
H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox)
H.throw_alert("not_enough_tox", /atom/movable/screen/alert/not_enough_tox)
else
H.adjustOxyLoss(-HUMAN_MAX_OXYLOSS)
gas_breathed = breath.toxins
@@ -207,7 +207,7 @@
parent.children.Add(src)
if(owner.has_embedded_objects())
owner.throw_alert("embeddedobject", /obj/screen/alert/embeddedobject)
owner.throw_alert("embeddedobject", /atom/movable/screen/alert/embeddedobject)
/obj/item/organ/external/attempt_become_organ(obj/item/organ/external/parent,mob/living/carbon/human/H)
if(parent_organ != parent.limb_name)
@@ -926,7 +926,7 @@ Note that amputating the affected organ does in fact remove the infection from t
forceMove(T)
/obj/item/organ/external/proc/add_embedded_object(obj/item/I)
owner.throw_alert("embeddedobject", /obj/screen/alert/embeddedobject)
owner.throw_alert("embeddedobject", /atom/movable/screen/alert/embeddedobject)
embedded_objects += I
I.forceMove(owner)
RegisterSignal(I, COMSIG_MOVABLE_MOVED, PROC_REF(remove_embedded_object))
+1 -1
View File
@@ -13,7 +13,7 @@ Configuration:
Usage:
- Define mouse event procs on your (probably HUD) object and simply call the show and hide procs respectively:
/obj/screen/hud
/atom/movable/screen/hud
MouseEntered(location, control, params)
usr.client.tooltip.show(params, title = src.name, content = src.desc)
+1 -1
View File
@@ -35,7 +35,7 @@
/datum/vote/map/announce()
..()
for(var/mob/M in GLOB.player_list)
M.throw_alert("Map Vote", /obj/screen/alert/notify_mapvote, timeout_override = GLOB.configuration.vote.vote_time)
M.throw_alert("Map Vote", /atom/movable/screen/alert/notify_mapvote, timeout_override = GLOB.configuration.vote.vote_time)
/datum/vote/map/handle_result(result)
// Find target map.