From 87a318a7deebf64a8e8f6acd2df5e138f2751e06 Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Sun, 3 Mar 2024 12:37:51 -0500 Subject: [PATCH] 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> --- code/__DEFINES/is_helpers.dm | 2 + code/__HELPERS/game.dm | 8 - code/_onclick/click.dm | 10 +- code/_onclick/drag_drop.dm | 2 +- code/_onclick/hud/action_button.dm | 42 ++-- code/_onclick/hud/ai_hud.dm | 98 ++++---- code/_onclick/hud/alert.dm | 220 +++++++++--------- code/_onclick/hud/alien_hud.dm | 50 ++-- code/_onclick/hud/alien_larva.dm | 16 +- code/_onclick/hud/blob_overmind.dm | 82 +++---- code/_onclick/hud/bot_hud.dm | 14 +- code/_onclick/hud/constructs_hud.dm | 14 +- code/_onclick/hud/follow_alert.dm | 28 +-- code/_onclick/hud/fullscreen.dm | 54 ++--- code/_onclick/hud/ghost_hud.dm | 48 ++-- code/_onclick/hud/guardian_hud.dm | 38 +-- code/_onclick/hud/hud_datum.dm | 40 ++-- code/_onclick/hud/human_hud.dm | 98 ++++---- code/_onclick/hud/map_popups.dm | 31 +-- code/_onclick/hud/movable_screen_objects.dm | 10 +- code/_onclick/hud/other_mobs_hud.dm | 10 +- code/_onclick/hud/parallax.dm | 58 ++--- code/_onclick/hud/picture_in_picture.dm | 36 +-- code/_onclick/hud/plane_master.dm | 40 ++-- code/_onclick/hud/plane_master_controller.dm | 18 +- code/_onclick/hud/radial.dm | 32 +-- code/_onclick/hud/robot_hud.dm | 70 +++--- code/_onclick/hud/screen_objects.dm | 166 ++++++------- code/_onclick/hud/screentip.dm | 6 +- code/_onclick/hud/slime_hud.dm | 2 +- code/controllers/subsystem/SSdebugview.dm | 8 +- code/controllers/subsystem/SSghost_spawns.dm | 4 +- code/controllers/subsystem/SSparallax.dm | 2 +- code/controllers/subsystem/SSticker.dm | 4 +- code/datums/action.dm | 8 +- code/datums/click_intercept.dm | 4 +- code/datums/keybindings/mob_keybinds.dm | 2 +- code/datums/spells/mimic.dm | 2 +- code/datums/status_effects/blob_burst.dm | 4 +- code/datums/status_effects/buffs.dm | 50 ++-- code/datums/status_effects/debuffs.dm | 34 +-- code/datums/status_effects/gas.dm | 4 +- code/datums/status_effects/magic_disguise.dm | 4 +- code/datums/status_effects/status_effect.dm | 10 +- .../demons/shadow_demon/shadow_demon.dm | 2 +- .../miniantags/guardian/types/assassin.dm | 8 +- .../miniantags/guardian/types/charger.dm | 4 +- .../miniantags/morph/spells/ambush.dm | 4 +- .../miniantags/pulsedemon/pulsedemon.dm | 8 +- code/game/gamemodes/wizard/soulstone.dm | 2 +- code/game/machinery/camera/camera.dm | 2 +- .../machinery/computer/camera_advanced.dm | 6 +- .../game/machinery/computer/camera_console.dm | 8 +- code/game/machinery/computer/law.dm | 4 +- code/game/mecha/mecha.dm | 20 +- code/game/mecha/mecha_topic.dm | 2 +- code/game/objects/buckling.dm | 2 +- .../objects/items/weapons/holy_weapons.dm | 2 +- .../objects/items/weapons/storage/belt.dm | 2 +- .../objects/items/weapons/storage/internal.dm | 6 +- .../items/weapons/storage/storage_base.dm | 10 +- .../structures/crates_lockers/closets.dm | 4 +- code/game/objects/structures/morgue.dm | 4 +- code/game/objects/structures/safe.dm | 4 +- .../stool_bed_chair_nest/alien_nests.dm | 2 +- .../modules/antagonists/vampire/vamp_datum.dm | 2 +- .../components/unary_devices/cryo.dm | 2 +- code/modules/buildmode/buildmode.dm | 18 +- code/modules/buildmode/buildmode_hud.dm | 38 +-- code/modules/client/client_defines.dm | 4 +- .../client/preference/link_processing.dm | 4 +- code/modules/events/meteors_event.dm | 6 +- code/modules/games/cards.dm | 2 +- .../hallucinations/effects/moderate.dm | 26 +-- .../modules/maptext_alerts/location_blurbs.dm | 26 +-- code/modules/maptext_alerts/text_blurbs.dm | 2 +- code/modules/martial_arts/martial.dm | 12 +- .../mining/lavaland/loot/tendril_loot.dm | 4 +- .../mob/dead/observer/observer_base.dm | 2 +- code/modules/mob/living/brain/MMI.dm | 2 +- .../mob/living/carbon/alien/alien_base.dm | 2 +- .../mob/living/carbon/alien/alien_life.dm | 2 +- .../alien/humanoid/humanoid_update_icons.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 12 +- code/modules/mob/living/carbon/carbon_life.dm | 12 +- .../mob/living/carbon/carbon_update_icons.dm | 6 +- code/modules/mob/living/carbon/give.dm | 22 +- .../mob/living/carbon/human/human_life.dm | 30 +-- .../living/carbon/human/human_update_icons.dm | 28 +-- .../carbon/human/human_update_status.dm | 2 +- .../carbon/human/species/diona_species.dm | 2 +- .../mob/living/carbon/human/species/golem.dm | 2 +- .../mob/living/carbon/human/species/shadow.dm | 6 +- code/modules/mob/living/living.dm | 6 +- code/modules/mob/living/living_defense.dm | 2 +- code/modules/mob/living/living_life.dm | 2 +- .../mob/living/living_update_status.dm | 14 +- code/modules/mob/living/silicon/ai/ai_mob.dm | 2 +- .../mob/living/silicon/robot/robot_life.dm | 12 +- .../mob/living/silicon/robot/robot_mob.dm | 16 +- .../mob/living/silicon/silicon_laws.dm | 18 +- .../modules/mob/living/silicon/silicon_mob.dm | 2 +- .../mob/living/simple_animal/constructs.dm | 2 +- .../simple_animal/friendly/diona_nymph.dm | 8 +- .../hostile/megafauna/bubblegum.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 8 +- .../living/simple_animal/slime/slime_life.dm | 2 +- .../living/simple_animal/slime/slime_mob.dm | 2 +- code/modules/mob/mob.dm | 4 +- code/modules/mob/mob_grab.dm | 6 +- code/modules/mob/mob_misc_procs.dm | 2 +- code/modules/mob/mob_movement.dm | 18 +- code/modules/mob/mob_vars.dm | 16 +- code/modules/mod/mod_control.dm | 4 +- code/modules/mod/mod_core.dm | 18 +- code/modules/mod/modules/module_kinesis.dm | 6 +- code/modules/paperwork/paperbin.dm | 2 +- code/modules/paperwork/photography.dm | 2 +- code/modules/pda/PDA.dm | 2 +- code/modules/power/apc/apc_malfunction.dm | 4 +- code/modules/recycling/disposal.dm | 2 +- .../surgery/organs/organ_datums/lung_datum.dm | 24 +- code/modules/surgery/organs/organ_external.dm | 4 +- code/modules/tooltip/tooltip.dm | 2 +- code/modules/vote/vote_presets.dm | 2 +- 125 files changed, 1036 insertions(+), 1047 deletions(-) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index cab2662a7ec..602c4e261a8 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -133,3 +133,5 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( ))) #define ispassmeteorturf(A) (is_type_in_typecache(A, GLOB.turfs_pass_meteor)) + +#define is_screen_atom(A) istype(A, /atom/movable/screen) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index ce60b238e61..e4e1b7930b5 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -345,14 +345,6 @@ return candidates -/proc/ScreenText(obj/O, maptext="", screen_loc="CENTER-7,CENTER-7", maptext_height=480, maptext_width=480) - if(!isobj(O)) O = new /obj/screen/text() - O.maptext = maptext - O.maptext_height = maptext_height - O.maptext_width = maptext_width - O.screen_loc = screen_loc - return O - /proc/remove_images_from_clients(image/I, list/show_to) for(var/client/C in show_to) C.images -= I diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 91e88936903..4369d535fce 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -463,23 +463,23 @@ else direction = WEST dir = direction -/obj/screen/click_catcher +/atom/movable/screen/click_catcher icon = 'icons/mob/screen_gen.dmi' icon_state = "catcher" plane = CLICKCATCHER_PLANE mouse_opacity = MOUSE_OPACITY_OPAQUE screen_loc = "CENTER" -/obj/screen/click_catcher/MouseEntered(location, control, params) +/atom/movable/screen/click_catcher/MouseEntered(location, control, params) return -/obj/screen/click_catcher/MouseExited(location, control, params) +/atom/movable/screen/click_catcher/MouseExited(location, control, params) return #define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / world.icon_size) #define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose. -/obj/screen/click_catcher/proc/UpdateGreed(view_size_x = 15, view_size_y = 15) +/atom/movable/screen/click_catcher/proc/UpdateGreed(view_size_x = 15, view_size_y = 15) var/icon/newicon = icon('icons/mob/screen_gen.dmi', "catcher") var/ox = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_x) var/oy = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_y) @@ -494,7 +494,7 @@ M.Scale(px/sx, py/sy) transform = M -/obj/screen/click_catcher/Click(location, control, params) +/atom/movable/screen/click_catcher/Click(location, control, params) var/list/modifiers = params2list(params) if(modifiers["middle"] && iscarbon(usr)) var/mob/living/carbon/C = usr diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index 5d7d4114332..420e9d4d9fa 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -28,7 +28,7 @@ FALSE if not return var/lagging = could_be_click_lag() drag_start = 0 - if(!(istype(over, /obj/screen) || (loc && loc == over.loc))) + if(!(is_screen_atom(over) || (loc && loc == over.loc))) if(!Adjacent(usr) || !over.Adjacent(usr)) // should stop you from dragging through windows if(lagging) usr.ClickOn(src, params) diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 2ff53932b0c..3f8812e9368 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -1,4 +1,4 @@ -/obj/screen/movable/action_button +/atom/movable/screen/movable/action_button desc = "CTRL-Shift click on this button to bind it to a hotkey." var/datum/action/linked_action var/actiontooltipstyle = "" @@ -6,7 +6,7 @@ var/ordered = TRUE var/datum/keybinding/mob/trigger_action_button/linked_keybind -/obj/screen/movable/action_button/MouseDrop(over_object) +/atom/movable/screen/movable/action_button/MouseDrop(over_object) if(locked && could_be_click_lag()) // in case something bad happend and game realised we dragged our ability instead of pressing it Click() drag_start = 0 @@ -16,8 +16,8 @@ to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") closeToolTip(usr) return - if((istype(over_object, /obj/screen/movable/action_button) && !istype(over_object, /obj/screen/movable/action_button/hide_toggle))) - var/obj/screen/movable/action_button/B = over_object + if((istype(over_object, /atom/movable/screen/movable/action_button) && !istype(over_object, /atom/movable/screen/movable/action_button/hide_toggle))) + var/atom/movable/screen/movable/action_button/B = over_object var/list/actions = usr.actions actions.Swap(actions.Find(linked_action), actions.Find(B.linked_action)) moved = FALSE @@ -26,13 +26,13 @@ B.ordered = TRUE closeToolTip(usr) usr.update_action_buttons() - else if(istype(over_object, /obj/screen/movable/action_button/hide_toggle)) + else if(istype(over_object, /atom/movable/screen/movable/action_button/hide_toggle)) closeToolTip(usr) else closeToolTip(usr) return ..() -/obj/screen/movable/action_button/Click(location,control,params) +/atom/movable/screen/movable/action_button/Click(location, control, params) var/list/modifiers = params2list(params) if(modifiers["ctrl"] && modifiers["shift"]) INVOKE_ASYNC(src, PROC_REF(set_to_keybind), usr) @@ -63,7 +63,7 @@ animate(src, transform = matrix(), time = 0.4 SECONDS, alpha = 255) return TRUE -/obj/screen/movable/action_button/proc/set_to_keybind(mob/user) +/atom/movable/screen/movable/action_button/proc/set_to_keybind(mob/user) var/keybind_to_set_to = uppertext(input(user, "What keybind do you want to set this action button to?") as text) if(keybind_to_set_to) if(linked_keybind) @@ -78,10 +78,10 @@ clean_up_keybinds(user) to_chat(user, "Your active keybinding on [src] has been cleared.") -/obj/screen/movable/action_button/AltClick(mob/user) +/atom/movable/screen/movable/action_button/AltClick(mob/user) return linked_action.AltTrigger() -/obj/screen/movable/action_button/proc/clean_up_keybinds(mob/owner) +/atom/movable/screen/movable/action_button/proc/clean_up_keybinds(mob/owner) if(linked_keybind) owner.client.active_keybindings[linked_keybind.binded_to] -= (linked_keybind) if(!length(owner.client.active_keybindings[linked_keybind.binded_to])) @@ -90,21 +90,21 @@ QDEL_NULL(linked_keybind) //Hide/Show Action Buttons ... Button -/obj/screen/movable/action_button/hide_toggle +/atom/movable/screen/movable/action_button/hide_toggle name = "Hide Buttons" desc = "Shift-click any button to reset its position, and Control-click it to lock/unlock its position. Alt-click this button to reset all buttons to their default positions." icon = 'icons/mob/actions/actions.dmi' icon_state = "bg_default" var/hidden = FALSE -/obj/screen/movable/action_button/hide_toggle/MouseDrop(over_object) - if(istype(over_object, /obj/screen/movable/action_button)) +/atom/movable/screen/movable/action_button/hide_toggle/MouseDrop(over_object) + if(istype(over_object, /atom/movable/screen/movable/action_button)) closeToolTip(usr) else closeToolTip(usr) return ..() -/obj/screen/movable/action_button/hide_toggle/Click(location,control,params) +/atom/movable/screen/movable/action_button/hide_toggle/Click(location, control, params) var/list/modifiers = params2list(params) if(modifiers["alt"]) @@ -121,17 +121,17 @@ update_icon(UPDATE_OVERLAYS) usr.update_action_buttons() -/obj/screen/movable/action_button/hide_toggle/AltClick(mob/user) +/atom/movable/screen/movable/action_button/hide_toggle/AltClick(mob/user) for(var/V in user.actions) var/datum/action/A = V - var/obj/screen/movable/action_button/B = A.button + var/atom/movable/screen/movable/action_button/B = A.button B.moved = FALSE if(moved) moved = FALSE user.update_action_buttons(TRUE) to_chat(user, "Action button positions have been reset.") -/obj/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(mob/living/user) +/atom/movable/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(mob/living/user) if(isalien(user)) icon = 'icons/mob/actions/actions.dmi' icon_state = "bg_alien" @@ -146,13 +146,13 @@ color = user.client.prefs.UI_style_color update_icon(UPDATE_OVERLAYS) -/obj/screen/movable/action_button/hide_toggle/update_overlays() +/atom/movable/screen/movable/action_button/hide_toggle/update_overlays() . = ..() var/image/img = image(initial(icon), src, hidden ? "show" : "hide") img.appearance_flags = RESET_COLOR | RESET_ALPHA . += img -/obj/screen/movable/action_button/MouseEntered(location, control, params) +/atom/movable/screen/movable/action_button/MouseEntered(location, control, params) . = ..() if(!QDELETED(src)) if(!linked_keybind) @@ -164,7 +164,7 @@ desc_information = desc_information.Join(" ") openToolTip(usr, src, params, title = name, content = desc_information, theme = actiontooltipstyle) -/obj/screen/movable/action_button/MouseExited() +/atom/movable/screen/movable/action_button/MouseExited() closeToolTip(usr) /mob/proc/update_action_buttons_icon() @@ -192,7 +192,7 @@ A.override_location() // If the action has a location override, call it A.UpdateButtonIcon() - var/obj/screen/movable/action_button/B = A.button + var/atom/movable/screen/movable/action_button/B = A.button if(B.ordered) button_number++ if(!B.moved) @@ -227,7 +227,7 @@ return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:-6" -/datum/hud/proc/SetButtonCoords(obj/screen/button,number) +/datum/hud/proc/SetButtonCoords(atom/movable/screen/button,number) var/row = round((number-1)/AB_MAX_COLUMNS) var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1 var/x_offset = 32*(col-1) + 4 + 2*col diff --git a/code/_onclick/hud/ai_hud.dm b/code/_onclick/hud/ai_hud.dm index 8579060078b..918cfa8d432 100644 --- a/code/_onclick/hud/ai_hud.dm +++ b/code/_onclick/hud/ai_hud.dm @@ -1,138 +1,138 @@ -/obj/screen/ai +/atom/movable/screen/ai icon = 'icons/mob/screen_ai.dmi' -/obj/screen/ai/aicore +/atom/movable/screen/ai/aicore name = "AI core" icon_state = "ai_core" -/obj/screen/ai/aicore/Click() +/atom/movable/screen/ai/aicore/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.view_core() -/obj/screen/ai/camera_list +/atom/movable/screen/ai/camera_list name = "Show Camera List" icon_state = "camera" -/obj/screen/ai/camera_list/Click() +/atom/movable/screen/ai/camera_list/Click() var/mob/living/silicon/ai/AI = usr var/camera = tgui_input_list(AI, "Choose which camera you want to view", "Cameras", AI.get_camera_list()) AI.ai_camera_list(camera) -/obj/screen/ai/camera_track +/atom/movable/screen/ai/camera_track name = "Track With Camera" icon_state = "track" -/obj/screen/ai/camera_track/Click() +/atom/movable/screen/ai/camera_track/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr var/target_name = tgui_input_list(AI, "Choose a target you want to track", "Tracking", AI.trackable_mobs()) if(target_name) AI.ai_camera_track(target_name) -/obj/screen/ai/camera_light +/atom/movable/screen/ai/camera_light name = "Toggle Camera Light" icon_state = "camera_light" -/obj/screen/ai/camera_light/Click() +/atom/movable/screen/ai/camera_light/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.toggle_camera_light() -/obj/screen/ai/crew_monitor +/atom/movable/screen/ai/crew_monitor name = "Crew Monitoring Console" icon_state = "crew_monitor" -/obj/screen/ai/crew_monitor/Click() +/atom/movable/screen/ai/crew_monitor/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.subsystem_crew_monitor() -/obj/screen/ai/crew_manifest +/atom/movable/screen/ai/crew_manifest name = "Crew Manifest" icon_state = "manifest" -/obj/screen/ai/crew_manifest/Click() +/atom/movable/screen/ai/crew_manifest/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_roster() -/obj/screen/ai/alerts +/atom/movable/screen/ai/alerts name = "Show Alerts" icon_state = "alerts" -/obj/screen/ai/alerts/Click() +/atom/movable/screen/ai/alerts/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_alerts() -/obj/screen/ai/announcement +/atom/movable/screen/ai/announcement name = "Make Announcement" icon_state = "announcement" -/obj/screen/ai/announcement/Click() +/atom/movable/screen/ai/announcement/Click() var/mob/living/silicon/ai/AI = usr AI.announcement() -/obj/screen/ai/call_shuttle +/atom/movable/screen/ai/call_shuttle name = "Call Emergency Shuttle" icon_state = "call_shuttle" -/obj/screen/ai/call_shuttle/Click() +/atom/movable/screen/ai/call_shuttle/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.ai_call_shuttle() -/obj/screen/ai/state_laws +/atom/movable/screen/ai/state_laws name = "Law Manager" icon_state = "state_laws" -/obj/screen/ai/state_laws/Click() +/atom/movable/screen/ai/state_laws/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.subsystem_law_manager() -/obj/screen/ai/pda_msg_send +/atom/movable/screen/ai/pda_msg_send name = "PDA - Send Message" icon_state = "pda_send" -/obj/screen/ai/pda_msg_send/Click() +/atom/movable/screen/ai/pda_msg_send/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.aiPDA.cmd_send_pdamesg() -/obj/screen/ai/pda_msg_show +/atom/movable/screen/ai/pda_msg_show name = "PDA - Show Message Log" icon_state = "pda_receive" -/obj/screen/ai/pda_msg_show/Click() +/atom/movable/screen/ai/pda_msg_show/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.aiPDA.cmd_show_message_log() -/obj/screen/ai/image_take +/atom/movable/screen/ai/image_take name = "Take Image" icon_state = "take_picture" -/obj/screen/ai/image_take/Click() +/atom/movable/screen/ai/image_take/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.aiCamera.toggle_camera_mode() -/obj/screen/ai/image_view +/atom/movable/screen/ai/image_view name = "View Images" icon_state = "view_images" -/obj/screen/ai/image_view/Click() +/atom/movable/screen/ai/image_view/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.aiCamera.viewpictures() -/obj/screen/ai/sensors +/atom/movable/screen/ai/sensors name = "Toggle Sensor Augmentation" icon_state = "ai_sensor" -/obj/screen/ai/sensors/Click() +/atom/movable/screen/ai/sensors/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.sensor_mode() @@ -147,89 +147,89 @@ /datum/hud/ai/New(mob/owner) ..() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen/language_menu + using = new /atom/movable/screen/language_menu using.screen_loc = ui_borg_lanugage_menu static_inventory += using //AI core - using = new /obj/screen/ai/aicore() + using = new /atom/movable/screen/ai/aicore() using.screen_loc = ui_ai_core static_inventory += using //Camera list - using = new /obj/screen/ai/camera_list() + using = new /atom/movable/screen/ai/camera_list() using.screen_loc = ui_ai_camera_list static_inventory += using //Track - using = new /obj/screen/ai/camera_track() + using = new /atom/movable/screen/ai/camera_track() using.screen_loc = ui_ai_track_with_camera static_inventory += using //Camera light - using = new /obj/screen/ai/camera_light() + using = new /atom/movable/screen/ai/camera_light() using.screen_loc = ui_ai_camera_light static_inventory += using //Crew Monitorting - using = new /obj/screen/ai/crew_monitor() + using = new /atom/movable/screen/ai/crew_monitor() using.screen_loc = ui_ai_crew_monitor static_inventory += using //Crew Manifest - using = new /obj/screen/ai/crew_manifest() + using = new /atom/movable/screen/ai/crew_manifest() using.screen_loc = ui_ai_crew_manifest static_inventory += using //Alerts - using = new /obj/screen/ai/alerts() + using = new /atom/movable/screen/ai/alerts() using.screen_loc = ui_ai_alerts static_inventory += using //Announcement - using = new /obj/screen/ai/announcement() + using = new /atom/movable/screen/ai/announcement() using.screen_loc = ui_ai_announcement static_inventory += using //Shuttle - using = new /obj/screen/ai/call_shuttle() + using = new /atom/movable/screen/ai/call_shuttle() using.screen_loc = ui_ai_shuttle static_inventory += using //Laws - using = new /obj/screen/ai/state_laws() + using = new /atom/movable/screen/ai/state_laws() using.screen_loc = ui_ai_state_laws static_inventory += using //PDA message - using = new /obj/screen/ai/pda_msg_send() + using = new /atom/movable/screen/ai/pda_msg_send() using.screen_loc = ui_ai_pda_send static_inventory += using //PDA log - using = new /obj/screen/ai/pda_msg_show() + using = new /atom/movable/screen/ai/pda_msg_show() using.screen_loc = ui_ai_pda_log static_inventory += using //Take image - using = new /obj/screen/ai/image_take() + using = new /atom/movable/screen/ai/image_take() using.screen_loc = ui_ai_take_picture static_inventory += using //View images - using = new /obj/screen/ai/image_view() + using = new /atom/movable/screen/ai/image_view() using.screen_loc = ui_ai_view_images static_inventory += using //Medical/Security sensors - using = new /obj/screen/ai/sensors() + using = new /atom/movable/screen/ai/sensors() using.screen_loc = ui_ai_sensor static_inventory += using //Intent - using = new /obj/screen/act_intent/robot/AI() + using = new /atom/movable/screen/act_intent/robot/AI() using.icon_state = mymob.a_intent static_inventory += using action_intent = using diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 5385f46078c..66e7af873a3 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -21,7 +21,7 @@ if(!category) return - var/obj/screen/alert/alert = LAZYACCESS(alerts, category) + var/atom/movable/screen/alert/alert = LAZYACCESS(alerts, category) if(alert) if(alert.override_alerts) return 0 @@ -75,14 +75,14 @@ var/timeout = timeout_override || alert.timeout if(timeout) - addtimer(CALLBACK(alert, TYPE_PROC_REF(/obj/screen/alert, do_timeout), src, category), timeout) + addtimer(CALLBACK(alert, TYPE_PROC_REF(/atom/movable/screen/alert, do_timeout), src, category), timeout) alert.timeout = world.time + timeout - world.tick_lag return alert // Proc to clear an existing alert. /mob/proc/clear_alert(category, clear_override = FALSE) - var/obj/screen/alert/alert = LAZYACCESS(alerts, category) + var/atom/movable/screen/alert/alert = LAZYACCESS(alerts, category) if(!alert) return 0 if(alert.override_alerts && !clear_override) @@ -94,7 +94,7 @@ client.screen -= alert qdel(alert) -/obj/screen/alert +/atom/movable/screen/alert icon = 'icons/mob/screen_alert.dmi' icon_state = "default" name = "Alert" @@ -105,16 +105,16 @@ var/alerttooltipstyle = "" var/override_alerts = FALSE //If it is overriding other alerts of the same type -/obj/screen/alert/MouseEntered(location,control,params) +/atom/movable/screen/alert/MouseEntered(location, control, params) . = ..() openToolTip(usr, src, params, title = name, content = desc, theme = alerttooltipstyle) -/obj/screen/alert/MouseExited() +/atom/movable/screen/alert/MouseExited() closeToolTip(usr) return ..() -/obj/screen/alert/proc/do_timeout(mob/M, category) +/atom/movable/screen/alert/proc/do_timeout(mob/M, category) if(!M || !M.alerts) return @@ -122,42 +122,42 @@ M.clear_alert(category) //Gas alerts -/obj/screen/alert/not_enough_oxy +/atom/movable/screen/alert/not_enough_oxy name = "Choking (No O2)" desc = "You're not getting enough oxygen. Find some good air before you pass out! The box in your backpack has an oxygen tank and breath mask in it." icon_state = "not_enough_oxy" -/obj/screen/alert/too_much_oxy +/atom/movable/screen/alert/too_much_oxy name = "Choking (O2)" desc = "There's too much oxygen in the air, and you're breathing it in! Find some good air before you pass out!" icon_state = "too_much_oxy" -/obj/screen/alert/not_enough_nitro +/atom/movable/screen/alert/not_enough_nitro name = "Choking (No N2)" desc = "You're not getting enough nitrogen. Find some good air before you pass out!" icon_state = "not_enough_nitro" -/obj/screen/alert/too_much_nitro +/atom/movable/screen/alert/too_much_nitro name = "Choking (N2)" desc = "There's too much nitrogen in the air, and you're breathing it in! Find some good air before you pass out!" icon_state = "too_much_nitro" -/obj/screen/alert/not_enough_co2 +/atom/movable/screen/alert/not_enough_co2 name = "Choking (No CO2)" desc = "You're not getting enough carbon dioxide. Find some good air before you pass out!" icon_state = "not_enough_co2" -/obj/screen/alert/too_much_co2 +/atom/movable/screen/alert/too_much_co2 name = "Choking (CO2)" desc = "There's too much carbon dioxide in the air, and you're breathing it in! Find some good air before you pass out!" icon_state = "too_much_co2" -/obj/screen/alert/not_enough_tox +/atom/movable/screen/alert/not_enough_tox name = "Choking (No Plasma)" desc = "You're not getting enough plasma. Find some good air before you pass out!" icon_state = "not_enough_tox" -/obj/screen/alert/too_much_tox +/atom/movable/screen/alert/too_much_tox name = "Choking (Plasma)" desc = "There's highly flammable, toxic plasma in the air and you're breathing it in. Find some fresh air. The box in your backpack has an oxygen tank and gas mask in it." icon_state = "too_much_tox" @@ -165,161 +165,161 @@ // Hunger alerts -/obj/screen/alert/hunger +/atom/movable/screen/alert/hunger icon = 'icons/mob/screen_hunger.dmi' -/obj/screen/alert/hunger/fat +/atom/movable/screen/alert/hunger/fat name = "Fat" desc = "You ate too much food, lardass. Run around the station and lose some weight." icon_state = "fat" -/obj/screen/alert/hunger/full +/atom/movable/screen/alert/hunger/full name = "Full" desc = "You feel full and satisfied, but you shouldn't eat much more." icon_state = "full" -/obj/screen/alert/hunger/well_fed +/atom/movable/screen/alert/hunger/well_fed name = "Well Fed" desc = "You feel quite satisfied, but you may be able to eat a bit more." icon_state = "well_fed" -/obj/screen/alert/hunger/fed +/atom/movable/screen/alert/hunger/fed name = "Fed" desc = "You feel moderately satisfied, but a bit more food may not hurt." icon_state = "fed" -/obj/screen/alert/hunger/hungry +/atom/movable/screen/alert/hunger/hungry name = "Hungry" desc = "Some food would be good right about now." icon_state = "hungry" -/obj/screen/alert/hunger/starving +/atom/movable/screen/alert/hunger/starving name = "Starving" desc = "You're severely malnourished. The hunger pains make moving around a chore." icon_state = "starving" /// Machine "hunger" -/obj/screen/alert/hunger/fat/machine +/atom/movable/screen/alert/hunger/fat/machine name = "Over Charged" desc = "Your cell has excessive charge due to electrical shocks. Run around the station and spend some energy." -/obj/screen/alert/hunger/full/machine +/atom/movable/screen/alert/hunger/full/machine name = "Full Charge" desc = "Your cell is at full charge. Might want to give APCs some space." -/obj/screen/alert/hunger/well_fed/machine +/atom/movable/screen/alert/hunger/well_fed/machine name = "High Charge" desc = "You're almost all charged, but could top up a bit more." -/obj/screen/alert/hunger/fed/machine +/atom/movable/screen/alert/hunger/fed/machine name = "Half Charge" desc = "You feel moderately charged, but a bit more juice couldn't hurt." -/obj/screen/alert/hunger/hungry/machine +/atom/movable/screen/alert/hunger/hungry/machine name = "Low Charge" desc = "Could use a little charging right about now." -/obj/screen/alert/hunger/starving/machine +/atom/movable/screen/alert/hunger/starving/machine name = "Nearly Discharged" desc = "You're almost drained. The low power makes moving around a chore." // End of Machine "hunger" ///Vampire "hunger" -/obj/screen/alert/hunger/fat/vampire +/atom/movable/screen/alert/hunger/fat/vampire desc = "You somehow drank too much blood, lardass. Run around the station and lose some weight." -/obj/screen/alert/hunger/full/vampire +/atom/movable/screen/alert/hunger/full/vampire desc = "You feel full and satisfied, but you know you will thirst for more blood soon..." -/obj/screen/alert/hunger/well_fed/vampire +/atom/movable/screen/alert/hunger/well_fed/vampire desc = "You feel quite satisfied, but you could do with a bit more blood." -/obj/screen/alert/hunger/fed/vampire +/atom/movable/screen/alert/hunger/fed/vampire desc = "You feel moderately satisfied, but a bit more blood wouldn't hurt." -/obj/screen/alert/hunger/hungry/vampire +/atom/movable/screen/alert/hunger/hungry/vampire desc = "You currently thirst for blood." -/obj/screen/alert/hunger/starving/vampire +/atom/movable/screen/alert/hunger/starving/vampire desc = "You're severely thirsty. The thirst pains make moving around a chore." //End of Vampire "hunger" -/obj/screen/alert/hot +/atom/movable/screen/alert/hot name = "Too Hot" desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit." icon_state = "hot" -/obj/screen/alert/hot/robot +/atom/movable/screen/alert/hot/robot desc = "The air around you is too hot for a humanoid. Be careful to avoid exposing them to this environment." -/obj/screen/alert/cold +/atom/movable/screen/alert/cold name = "Too Cold" desc = "You're freezing cold! Get somewhere warmer and take off any insulating clothing like a space suit." icon_state = "cold" -/obj/screen/alert/cold/drask +/atom/movable/screen/alert/cold/drask name = "Cold" desc = "You're breathing supercooled gas! It's stimulating your metabolism to regenerate damaged tissue." -/obj/screen/alert/cold/robot +/atom/movable/screen/alert/cold/robot desc = "The air around you is too cold for a humanoid. Be careful to avoid exposing them to this environment." -/obj/screen/alert/lowpressure +/atom/movable/screen/alert/lowpressure name = "Low Pressure" desc = "The air around you is hazardously thin. A space suit would protect you." icon_state = "lowpressure" -/obj/screen/alert/highpressure +/atom/movable/screen/alert/highpressure name = "High Pressure" desc = "The air around you is hazardously thick. A fire suit would protect you." icon_state = "highpressure" -/obj/screen/alert/lightexposure +/atom/movable/screen/alert/lightexposure name = "Light Exposure" desc = "You're exposed to light." icon_state = "lightexposure" -/obj/screen/alert/nolight +/atom/movable/screen/alert/nolight name = "No Light" desc = "You're not exposed to any light." icon_state = "nolight" -/obj/screen/alert/blind +/atom/movable/screen/alert/blind name = "Blind" desc = "You can't see! This may be caused by a genetic defect, eye trauma, being unconscious, \ or something covering your eyes." icon_state = "blind" -/obj/screen/alert/high +/atom/movable/screen/alert/high name = "High" desc = "Whoa man, you're tripping balls! Careful you don't get addicted... if you aren't already." icon_state = "high" -/obj/screen/alert/drunk +/atom/movable/screen/alert/drunk name = "Drunk" desc = "All that alcohol you've been drinking is impairing your speech, motor skills, and mental cognition." icon_state = "drunk" -/obj/screen/alert/embeddedobject +/atom/movable/screen/alert/embeddedobject name = "Embedded Object" desc = "Something got lodged into your flesh and is causing major bleeding. It might fall out with time, but surgery is the safest way. \ If you're feeling frisky, click yourself in help intent to pull the object out." icon_state = "embeddedobject" -/obj/screen/alert/embeddedobject/Click() +/atom/movable/screen/alert/embeddedobject/Click() if(isliving(usr)) var/mob/living/carbon/human/M = usr return M.help_shake_act(M) -/obj/screen/alert/asleep +/atom/movable/screen/alert/asleep name = "Asleep" desc = "You've fallen asleep. Wait a bit and you should wake up. Unless you don't, considering how helpless you are." icon_state = "asleep" -/obj/screen/alert/weightless +/atom/movable/screen/alert/weightless name = "Weightless" desc = "Gravity has ceased affecting you, and you're floating around aimlessly. You'll need something large and heavy, like a \ wall or lattice, to push yourself off if you want to move. A jetpack would enable free range of motion. A pair of \ @@ -327,48 +327,48 @@ magboots would let you walk around normally on the floor. Barring those, you can or shoot a gun to move around via Newton's 3rd Law of Motion." icon_state = "weightless" -/obj/screen/alert/fire +/atom/movable/screen/alert/fire name = "On Fire" desc = "You're on fire. Stop, drop and roll to put the fire out or move to a vacuum area." icon_state = "fire" -/obj/screen/alert/fire/Click() +/atom/movable/screen/alert/fire/Click() if(isliving(usr)) var/mob/living/L = usr return L.resist() -/obj/screen/alert/direction_lock +/atom/movable/screen/alert/direction_lock name = "Direction Lock" desc = "You are facing only one direction, slowing your movement down. Click here to stop the direction lock." icon_state = "direction_lock" -/obj/screen/alert/direction_lock/Click() +/atom/movable/screen/alert/direction_lock/Click() if(isliving(usr)) var/mob/living/L = usr return L.clear_forced_look() //Constructs -/obj/screen/alert/holy_fire +/atom/movable/screen/alert/holy_fire name = "Holy Fire" desc = "Your body is crumbling from the holy energies. Get out." icon_state = "fire" //ALIENS -/obj/screen/alert/alien_tox +/atom/movable/screen/alert/alien_tox name = "Plasma" desc = "There's flammable plasma in the air. If it lights up, you'll be toast." icon_state = "alien_tox" alerttooltipstyle = "alien" -/obj/screen/alert/alien_fire +/atom/movable/screen/alert/alien_fire // This alert is temporarily gonna be thrown for all hot air but one day it will be used for literally being on fire name = "Too Hot" desc = "It's too hot! Flee to space or at least away from the flames. Standing on weeds will heal you." icon_state = "alien_fire" alerttooltipstyle = "alien" -/obj/screen/alert/alien_vulnerable +/atom/movable/screen/alert/alien_vulnerable name = "Severed Matriarchy" desc = "Your queen has been killed, you will suffer movement penalties and loss of hivemind. A new queen cannot be made until you recover." icon_state = "alien_noqueen" @@ -376,7 +376,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." //BLOBS -/obj/screen/alert/nofactory +/atom/movable/screen/alert/nofactory name = "No Factory" desc = "You have no factory, and are slowly dying!" icon_state = "blobbernaut_nofactory" @@ -384,39 +384,39 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." //SILICONS -/obj/screen/alert/nocell +/atom/movable/screen/alert/nocell name = "Missing Power Cell" desc = "Unit has no power cell. No modules available until a power cell is reinstalled. Robotics may provide assistance." icon_state = "nocell" -/obj/screen/alert/emptycell +/atom/movable/screen/alert/emptycell name = "Out of Power" desc = "Unit's power cell has no charge remaining. No modules available until power cell is recharged. \ Recharging stations are available in robotics, the dormitory bathrooms, and the AI satellite." icon_state = "emptycell" -/obj/screen/alert/lowcell +/atom/movable/screen/alert/lowcell name = "Low Charge" desc = "Unit's power cell is running low. Recharging stations are available in robotics, the dormitory bathrooms, and the AI satellite." icon_state = "lowcell" //Diona Nymph -/obj/screen/alert/nymph +/atom/movable/screen/alert/nymph name = "Gestalt merge" desc = "You have merged with a diona gestalt and are now part of it's biomass. You can still wiggle yourself free though." -/obj/screen/alert/nymph/Click() +/atom/movable/screen/alert/nymph/Click() if(!usr || !usr.client) return if(isnymph(usr)) var/mob/living/simple_animal/diona/D = usr return D.resist() -/obj/screen/alert/gestalt +/atom/movable/screen/alert/gestalt name = "Merged nymph" desc = "You have merged with one or more diona nymphs. Click here to drop it (or one of them)." -/obj/screen/alert/gestalt/Click() +/atom/movable/screen/alert/gestalt/Click() if(!usr || !usr.client) return @@ -433,25 +433,25 @@ Recharging stations are available in robotics, the dormitory bathrooms, and the D.split(TRUE) //Need to cover all use cases - emag, illegal upgrade module, malf AI hack, traitor cyborg -/obj/screen/alert/hacked +/atom/movable/screen/alert/hacked name = "Hacked" desc = "Hazardous non-standard equipment detected. Please ensure any usage of this equipment is in line with unit's laws, if any." icon_state = "hacked" -/obj/screen/alert/locked +/atom/movable/screen/alert/locked name = "Locked Down" desc = "Unit has been remotely locked down. Usage of a Robotics Control Console like the one in the Research Director's \ office by your AI master or any qualified human may resolve this matter. Robotics may provide further assistance if necessary." icon_state = "locked" -/obj/screen/alert/newlaw +/atom/movable/screen/alert/newlaw name = "Law Update" desc = "Laws have potentially been uploaded to or removed from this unit. Please be aware of any changes \ so as to remain in compliance with the most up-to-date laws." icon_state = "newlaw" timeout = 300 -/obj/screen/alert/hackingapc +/atom/movable/screen/alert/hackingapc name = "Hacking APC" desc = "An Area Power Controller is being hacked. When the process is \ complete, you will have exclusive control of it, and you will gain \ @@ -460,11 +460,11 @@ so as to remain in compliance with the most up-to-date laws." timeout = 600 var/atom/target = null -/obj/screen/alert/hackingapc/Destroy() +/atom/movable/screen/alert/hackingapc/Destroy() target = null return ..() -/obj/screen/alert/hackingapc/Click() +/atom/movable/screen/alert/hackingapc/Click() if(!usr || !usr.client) return if(!target) @@ -475,22 +475,22 @@ so as to remain in compliance with the most up-to-date laws." AI.eyeobj.setLoc(T) //MECHS -/obj/screen/alert/low_mech_integrity +/atom/movable/screen/alert/low_mech_integrity name = "Mech Damaged" desc = "Mech integrity is low." icon_state = "low_mech_integrity" -/obj/screen/alert/mech_port_available +/atom/movable/screen/alert/mech_port_available name = "Connect to Port" desc = "Click here to connect to an air port and refill your oxygen!" icon_state = "mech_port" var/obj/machinery/atmospherics/unary/portables_connector/target = null -/obj/screen/alert/mech_port_available/Destroy() +/atom/movable/screen/alert/mech_port_available/Destroy() target = null return ..() -/obj/screen/alert/mech_port_available/Click() +/atom/movable/screen/alert/mech_port_available/Click() if(!usr || !usr.client) return if(!ismecha(usr.loc) || !target) @@ -501,12 +501,12 @@ so as to remain in compliance with the most up-to-date laws." else to_chat(usr, "[M] failed to connect to the port.") -/obj/screen/alert/mech_port_disconnect +/atom/movable/screen/alert/mech_port_disconnect name = "Disconnect from Port" desc = "Click here to disconnect from your air port." icon_state = "mech_port_x" -/obj/screen/alert/mech_port_disconnect/Click() +/atom/movable/screen/alert/mech_port_disconnect/Click() if(!usr || !usr.client) return if(!ismecha(usr.loc)) @@ -517,40 +517,40 @@ so as to remain in compliance with the most up-to-date laws." else to_chat(usr, "[M] is not connected to a port at the moment.") -/obj/screen/alert/mech_nocell +/atom/movable/screen/alert/mech_nocell name = "Missing Power Cell" desc = "Mech has no power cell." icon_state = "nocell" -/obj/screen/alert/mech_emptycell +/atom/movable/screen/alert/mech_emptycell name = "Out of Power" desc = "Mech is out of power." icon_state = "emptycell" -/obj/screen/alert/mech_lowcell +/atom/movable/screen/alert/mech_lowcell name = "Low Charge" desc = "Mech is running out of power." icon_state = "lowcell" -/obj/screen/alert/mech_maintenance +/atom/movable/screen/alert/mech_maintenance name = "Maintenance Protocols" desc = "Maintenance protocols are currently in effect, most actions disabled." icon_state = "locked" //GUARDIANS -/obj/screen/alert/cancharge +/atom/movable/screen/alert/cancharge name = "Charge Ready" desc = "You are ready to charge at a location!" icon_state = "guardian_charge" alerttooltipstyle = "parasite" -/obj/screen/alert/canstealth +/atom/movable/screen/alert/canstealth name = "Stealth Ready" desc = "You are ready to enter stealth!" icon_state = "guardian_canstealth" alerttooltipstyle = "parasite" -/obj/screen/alert/instealth +/atom/movable/screen/alert/instealth name = "In Stealth" desc = "You are in stealth and your next attack will do bonus damage!" icon_state = "guardian_instealth" @@ -559,32 +559,32 @@ so as to remain in compliance with the most up-to-date laws." //GHOSTS //TODO: expand this system to replace the pollCandidates/CheckAntagonist/"choose quickly"/etc Yes/No messages -/obj/screen/alert/notify_cloning +/atom/movable/screen/alert/notify_cloning name = "Revival" desc = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!" icon_state = "template" timeout = 300 -/obj/screen/alert/notify_cloning/Click() +/atom/movable/screen/alert/notify_cloning/Click() if(!usr || !usr.client) return var/mob/dead/observer/G = usr G.reenter_corpse() -/obj/screen/alert/ghost +/atom/movable/screen/alert/ghost name = "Ghost" desc = "Would you like to ghost? You will be notified when your body is removed from the nest." icon_state = "template" timeout = 5 MINUTES // longer than any infection should be -/obj/screen/alert/ghost/Initialize(mapload) +/atom/movable/screen/alert/ghost/Initialize(mapload) . = ..() var/image/I = image('icons/mob/mob.dmi', icon_state = "ghost", layer = FLOAT_LAYER, dir = SOUTH) I.layer = FLOAT_LAYER I.plane = FLOAT_PLANE overlays += I -/obj/screen/alert/ghost/Click() +/atom/movable/screen/alert/ghost/Click() var/mob/living/carbon/human/infected_user = usr if(!istype(infected_user) || infected_user.stat == DEAD) infected_user.clear_alert("ghost_nest") @@ -595,7 +595,7 @@ so as to remain in compliance with the most up-to-date laws." return infected_user.ghostize(TRUE) -/obj/screen/alert/notify_action +/atom/movable/screen/alert/notify_action name = "Body created" desc = "A body was created. You can enter it." icon_state = "template" @@ -607,7 +607,7 @@ so as to remain in compliance with the most up-to-date laws." var/image/signed_up_overlay // image showing that you're signed up var/datum/candidate_poll/poll // If set, on Click() it'll register the player as a candidate -/obj/screen/alert/notify_action/process() +/atom/movable/screen/alert/notify_action/process() if(show_time_left) var/timeleft = timeout - world.time if(timeleft <= 0) @@ -632,14 +632,14 @@ so as to remain in compliance with the most up-to-date laws." qdel(O) ..() -/obj/screen/alert/notify_action/Destroy() +/atom/movable/screen/alert/notify_action/Destroy() target = null if(signed_up_overlay) overlays -= signed_up_overlay qdel(signed_up_overlay) return ..() -/obj/screen/alert/notify_action/Click() +/atom/movable/screen/alert/notify_action/Click() if(!usr || !usr.client) return var/mob/dead/observer/G = usr @@ -672,7 +672,7 @@ so as to remain in compliance with the most up-to-date laws." return G.ManualFollow(target) -/obj/screen/alert/notify_action/Topic(href, href_list) +/atom/movable/screen/alert/notify_action/Topic(href, href_list) if(!href_list["signup"]) return if(!poll) @@ -684,7 +684,7 @@ so as to remain in compliance with the most up-to-date laws." poll.sign_up(G) update_signed_up_alert(G) -/obj/screen/alert/notify_action/proc/update_signed_up_alert(mob/user) +/atom/movable/screen/alert/notify_action/proc/update_signed_up_alert(mob/user) if(!signed_up_overlay) signed_up_overlay = image('icons/mob/screen_gen.dmi', icon_state = "selector") signed_up_overlay.layer = FLOAT_LAYER @@ -694,7 +694,7 @@ so as to remain in compliance with the most up-to-date laws." else overlays -= signed_up_overlay -/obj/screen/alert/notify_action/proc/display_stacks(stacks = 1) +/atom/movable/screen/alert/notify_action/proc/display_stacks(stacks = 1) if(stacks <= 1) return @@ -712,7 +712,7 @@ so as to remain in compliance with the most up-to-date laws." qdel(O) -/obj/screen/alert/notify_soulstone +/atom/movable/screen/alert/notify_soulstone name = "Soul Stone" desc = "Someone is trying to capture your soul in a soul stone. Click to allow it." icon_state = "template" @@ -720,7 +720,7 @@ so as to remain in compliance with the most up-to-date laws." var/obj/item/soulstone/stone = null var/stoner = null -/obj/screen/alert/notify_soulstone/Click() +/atom/movable/screen/alert/notify_soulstone/Click() if(!usr || !usr.client) return if(stone) @@ -728,39 +728,39 @@ so as to remain in compliance with the most up-to-date laws." impossible for you to get back into the game as your regular character.", "Respawn", list("No", "Yes")) == "Yes") stone?.opt_in = TRUE -/obj/screen/alert/notify_soulstone/Destroy() +/atom/movable/screen/alert/notify_soulstone/Destroy() stone = null return ..() -/obj/screen/alert/notify_mapvote +/atom/movable/screen/alert/notify_mapvote name = "Map Vote" desc = "Vote on which map you would like to play on next!" icon_state = "map_vote" -/obj/screen/alert/notify_mapvote/Click() +/atom/movable/screen/alert/notify_mapvote/Click() usr.client.vote() //OBJECT-BASED -/obj/screen/alert/restrained/buckled +/atom/movable/screen/alert/restrained/buckled name = "Buckled" desc = "You've been buckled to something. Click the alert to unbuckle unless you're handcuffed." icon_state = "buckled" -/obj/screen/alert/restrained/handcuffed +/atom/movable/screen/alert/restrained/handcuffed name = "Handcuffed" desc = "You're handcuffed and can't act. If anyone drags you, you won't be able to move. Click the alert to free yourself." -/obj/screen/alert/restrained/legcuffed +/atom/movable/screen/alert/restrained/legcuffed name = "Legcuffed" desc = "You're legcuffed, which slows you down considerably. Click the alert to free yourself." -/obj/screen/alert/restrained/Click() +/atom/movable/screen/alert/restrained/Click() if(isliving(usr)) var/mob/living/L = usr return L.resist() -/obj/screen/alert/restrained/buckled/Click() +/atom/movable/screen/alert/restrained/buckled/Click() var/mob/living/L = usr if(!istype(L) || !L.can_resist()) return @@ -780,7 +780,7 @@ so as to remain in compliance with the most up-to-date laws." mymob.client.screen -= alerts[alerts[i]] return TRUE for(var/i in 1 to alerts.len) - var/obj/screen/alert/alert = alerts[alerts[i]] + var/atom/movable/screen/alert/alert = alerts[alerts[i]] if(alert.icon_state == "template") if(!icon_pref) icon_pref = ui_style2icon(mymob.client.prefs.UI_style) @@ -802,7 +802,7 @@ so as to remain in compliance with the most up-to-date laws." mymob.client.screen |= alert return TRUE -/obj/screen/alert/Click(location, control, params) +/atom/movable/screen/alert/Click(location, control, params) if(!usr || !usr.client) return var/paramslist = params2list(params) @@ -812,7 +812,7 @@ so as to remain in compliance with the most up-to-date laws." if(master) return usr.client.Click(master, location, control, params) -/obj/screen/alert/Destroy() +/atom/movable/screen/alert/Destroy() severity = 0 master = null screen_loc = "" diff --git a/code/_onclick/hud/alien_hud.dm b/code/_onclick/hud/alien_hud.dm index a541fca8b57..c0e4a3ee097 100644 --- a/code/_onclick/hud/alien_hud.dm +++ b/code/_onclick/hud/alien_hud.dm @@ -1,20 +1,20 @@ -/obj/screen/alien +/atom/movable/screen/alien icon = 'icons/mob/screen_alien.dmi' -/obj/screen/alien/leap +/atom/movable/screen/alien/leap name = "toggle leap" icon_state = "leap_off" -/obj/screen/alien/leap/Click() +/atom/movable/screen/alien/leap/Click() if(isalienadult(usr)) var/mob/living/carbon/alien/humanoid/hunter/AH = usr AH.toggle_leap() -/obj/screen/alien/nightvision +/atom/movable/screen/alien/nightvision name = "toggle night-vision" icon_state = "nightvision1" -/obj/screen/alien/nightvision/Click() +/atom/movable/screen/alien/nightvision/Click() var/mob/living/carbon/alien/humanoid/A = usr A.night_vision_toggle() @@ -32,7 +32,7 @@ update_sight() -/obj/screen/alien/plasma_display +/atom/movable/screen/alien/plasma_display icon = 'icons/mob/screen_gen.dmi' icon_state = "power_display2" name = "plasma stored" @@ -46,20 +46,20 @@ /datum/hud/alien/New(mob/living/carbon/alien/humanoid/owner) ..() - var/obj/screen/using - var/obj/screen/inventory/inv_box + var/atom/movable/screen/using + var/atom/movable/screen/inventory/inv_box - using = new /obj/screen/language_menu + using = new /atom/movable/screen/language_menu using.screen_loc = ui_alien_language_menu static_inventory += using - using = new /obj/screen/act_intent/alien() + using = new /atom/movable/screen/act_intent/alien() using.icon_state = (mymob.a_intent == "hurt" ? INTENT_HARM : mymob.a_intent) using.screen_loc = ui_acti static_inventory += using action_intent = using - using = new /obj/screen/mov_intent() + using = new /atom/movable/screen/mov_intent() using.icon = 'icons/mob/screen_alien.dmi' using.icon_state = (mymob.m_intent == MOVE_INTENT_RUN ? "running" : "walking") using.screen_loc = ui_movi @@ -67,13 +67,13 @@ move_intent = using if(isalienhunter(mymob)) - mymob.leap_icon = new /obj/screen/alien/leap() + mymob.leap_icon = new /atom/movable/screen/alien/leap() mymob.leap_icon.icon = 'icons/mob/screen_alien.dmi' mymob.leap_icon.screen_loc = ui_alien_storage_r static_inventory += mymob.leap_icon //equippable shit - inv_box = new /obj/screen/inventory/hand() + inv_box = new /atom/movable/screen/inventory/hand() inv_box.name = "r_hand" inv_box.icon = 'icons/mob/screen_alien.dmi' inv_box.icon_state = "hand_r" @@ -81,7 +81,7 @@ inv_box.slot_id = SLOT_HUD_RIGHT_HAND static_inventory += inv_box - inv_box = new /obj/screen/inventory/hand() + inv_box = new /atom/movable/screen/inventory/hand() inv_box.name = "l_hand" inv_box.icon = 'icons/mob/screen_alien.dmi' inv_box.icon_state = "hand_l" @@ -89,14 +89,14 @@ inv_box.slot_id = SLOT_HUD_LEFT_HAND static_inventory += inv_box - using = new /obj/screen/swap_hand() + using = new /atom/movable/screen/swap_hand() using.name = "hand" using.icon = 'icons/mob/screen_alien.dmi' using.icon_state = "hand1" using.screen_loc = ui_swaphand1 static_inventory += using - using = new /obj/screen/swap_hand() + using = new /atom/movable/screen/swap_hand() using.name = "hand" using.icon = 'icons/mob/screen_alien.dmi' using.icon_state = "hand2" @@ -105,47 +105,47 @@ //end of equippable shit - using = new /obj/screen/resist() + using = new /atom/movable/screen/resist() using.name = "resist" using.icon = 'icons/mob/screen_alien.dmi' using.icon_state = "act_resist" using.screen_loc = ui_pull_resist static_inventory += using - using = new /obj/screen/drop() + using = new /atom/movable/screen/drop() using.name = "drop" using.icon = 'icons/mob/screen_alien.dmi' using.icon_state = "act_drop" using.screen_loc = ui_drop_throw static_inventory += using - mymob.throw_icon = new /obj/screen/throw_catch() + mymob.throw_icon = new /atom/movable/screen/throw_catch() mymob.throw_icon.icon = 'icons/mob/screen_alien.dmi' mymob.throw_icon.screen_loc = ui_drop_throw static_inventory += mymob.throw_icon - mymob.healths = new /obj/screen/healths/alien() + mymob.healths = new /atom/movable/screen/healths/alien() infodisplay += mymob.healths - nightvisionicon = new /obj/screen/alien/nightvision() + nightvisionicon = new /atom/movable/screen/alien/nightvision() infodisplay += nightvisionicon - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = 'icons/mob/screen_alien.dmi' mymob.pullin.hud = src mymob.pullin.update_icon(UPDATE_ICON_STATE) mymob.pullin.screen_loc = ui_pull_resist hotkeybuttons += mymob.pullin - alien_plasma_display = new /obj/screen/alien/plasma_display() + alien_plasma_display = new /atom/movable/screen/alien/plasma_display() infodisplay += alien_plasma_display - zone_select = new /obj/screen/zone_sel/alien() + zone_select = new /atom/movable/screen/zone_sel/alien() zone_select.hud = src zone_select.update_icon(UPDATE_OVERLAYS) static_inventory += zone_select - for(var/obj/screen/inventory/inv in (static_inventory + toggleable_inventory)) + for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) inv.hud = src inv_slots[inv.slot_id] = inv diff --git a/code/_onclick/hud/alien_larva.dm b/code/_onclick/hud/alien_larva.dm index f97e593d088..e911c2bb396 100644 --- a/code/_onclick/hud/alien_larva.dm +++ b/code/_onclick/hud/alien_larva.dm @@ -5,37 +5,37 @@ /datum/hud/larva/New(mob/owner) ..() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen/act_intent/alien() + using = new /atom/movable/screen/act_intent/alien() using.icon_state = mymob.a_intent static_inventory += using action_intent = using - using = new /obj/screen/mov_intent() + using = new /atom/movable/screen/mov_intent() using.icon = 'icons/mob/screen_alien.dmi' using.icon_state = (mymob.m_intent == MOVE_INTENT_RUN ? "running" : "walking") static_inventory += using move_intent = using - mymob.healths = new /obj/screen/healths/alien() + mymob.healths = new /atom/movable/screen/healths/alien() infodisplay += mymob.healths - nightvisionicon = new /obj/screen/alien/nightvision() + nightvisionicon = new /atom/movable/screen/alien/nightvision() infodisplay += nightvisionicon - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = 'icons/mob/screen_alien.dmi' mymob.pullin.hud = src mymob.pullin.update_icon(UPDATE_ICON_STATE) mymob.pullin.screen_loc = ui_pull_resist hotkeybuttons += mymob.pullin - using = new /obj/screen/language_menu + using = new /atom/movable/screen/language_menu using.screen_loc = ui_alienlarva_language_menu static_inventory += using - zone_select = new /obj/screen/zone_sel/alien() + zone_select = new /atom/movable/screen/zone_sel/alien() zone_select.hud = src zone_select.update_icon(UPDATE_OVERLAYS) static_inventory += zone_select diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm index 708978b64bc..dfb74955d1b 100644 --- a/code/_onclick/hud/blob_overmind.dm +++ b/code/_onclick/hud/blob_overmind.dm @@ -2,135 +2,135 @@ if(client && !hud_used) hud_used = new /datum/hud/blob_overmind(src) -/obj/screen/blob +/atom/movable/screen/blob icon = 'icons/mob/blob.dmi' -/obj/screen/blob/MouseEntered(location,control,params) +/atom/movable/screen/blob/MouseEntered(location, control, params) . = ..() openToolTip(usr,src,params,title = name,content = desc, theme = "blob") -/obj/screen/blob/MouseExited() +/atom/movable/screen/blob/MouseExited() closeToolTip(usr) return ..() -/obj/screen/blob/BlobHelp +/atom/movable/screen/blob/BlobHelp icon_state = "ui_help" name = "Blob Help" desc = "Help on playing blob!" -/obj/screen/blob/BlobHelp/Click() +/atom/movable/screen/blob/BlobHelp/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.blob_help() -/obj/screen/blob/JumpToNode +/atom/movable/screen/blob/JumpToNode icon_state = "ui_tonode" name = "Jump to Node" desc = "Moves your camera to a selected blob node." -/obj/screen/blob/JumpToNode/Click() +/atom/movable/screen/blob/JumpToNode/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.jump_to_node() -/obj/screen/blob/JumpToCore +/atom/movable/screen/blob/JumpToCore icon_state = "ui_tocore" name = "Jump to Core" desc = "Moves your camera to your blob core." -/obj/screen/blob/JumpToCore/MouseEntered(location,control,params) +/atom/movable/screen/blob/JumpToCore/MouseEntered(location, control, params) if(hud && hud.mymob && isovermind(hud.mymob)) name = initial(name) desc = initial(desc) return ..() -/obj/screen/blob/JumpToCore/Click() +/atom/movable/screen/blob/JumpToCore/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.transport_core() -/obj/screen/blob/Blobbernaut +/atom/movable/screen/blob/Blobbernaut icon_state = "ui_blobbernaut" name = "Produce Blobbernaut (60)" desc = "Produces a strong, intelligent blobbernaut from a factory blob for 60 resources.
The factory blob will be destroyed in the process." -/obj/screen/blob/Blobbernaut/Click() +/atom/movable/screen/blob/Blobbernaut/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.create_blobbernaut() -/obj/screen/blob/StorageBlob +/atom/movable/screen/blob/StorageBlob icon_state = "ui_storage" name = "Produce Storage Blob (40)" desc = "Produces a storage blob for 40 resources.
Storage blobs will raise your max resource cap by 50." -/obj/screen/blob/StorageBlob/Click() +/atom/movable/screen/blob/StorageBlob/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.create_storage() -/obj/screen/blob/ResourceBlob +/atom/movable/screen/blob/ResourceBlob icon_state = "ui_resource" name = "Produce Resource Blob (40)" desc = "Produces a resource blob for 40 resources.
Resource blobs will give you resources every few seconds." -/obj/screen/blob/ResourceBlob/Click() +/atom/movable/screen/blob/ResourceBlob/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.create_resource() -/obj/screen/blob/NodeBlob +/atom/movable/screen/blob/NodeBlob icon_state = "ui_node" name = "Produce Node Blob (60)" desc = "Produces a node blob for 60 resources.
Node blobs will expand and activate nearby resource and factory blobs." -/obj/screen/blob/NodeBlob/Click() +/atom/movable/screen/blob/NodeBlob/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.create_node() -/obj/screen/blob/FactoryBlob +/atom/movable/screen/blob/FactoryBlob icon_state = "ui_factory" name = "Produce Factory Blob (60)" desc = "Produces a factory blob for 60 resources.
Factory blobs will produce spores every few seconds." -/obj/screen/blob/FactoryBlob/Click() +/atom/movable/screen/blob/FactoryBlob/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.create_factory() -/obj/screen/blob/ReadaptChemical +/atom/movable/screen/blob/ReadaptChemical icon_state = "ui_chemswap" name = "Readapt Chemical (50)" desc = "Randomly rerolls your chemical for 50 resources." -/obj/screen/blob/ReadaptChemical/MouseEntered(location,control,params) +/atom/movable/screen/blob/ReadaptChemical/MouseEntered(location, control, params) if(hud && hud.mymob && isovermind(hud.mymob)) name = initial(name) desc = initial(desc) return ..() -/obj/screen/blob/ReadaptChemical/Click() +/atom/movable/screen/blob/ReadaptChemical/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.chemical_reroll() -/obj/screen/blob/RelocateCore +/atom/movable/screen/blob/RelocateCore icon_state = "ui_swap" name = "Relocate Core (80)" desc = "Swaps a node and your core for 80 resources." -/obj/screen/blob/RelocateCore/Click() +/atom/movable/screen/blob/RelocateCore/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.relocate_core() -/obj/screen/blob/Split +/atom/movable/screen/blob/Split icon_state = "ui_split" name = "Split consciousness (100)" desc = "Creates another Blob Overmind at the targeted node. One use only.
Offspring are unable to use this ability." -/obj/screen/blob/Split/Click() +/atom/movable/screen/blob/Split/Click() if(isovermind(usr)) var/mob/camera/blob/B = usr B.split_consciousness() @@ -139,9 +139,9 @@ /datum/hud/blob_overmind/New(mob/user) ..() - var/obj/screen/using + var/atom/movable/screen/using - blobpwrdisplay = new /obj/screen() + blobpwrdisplay = new /atom/movable/screen() blobpwrdisplay.name = "blob power" blobpwrdisplay.icon_state = "block" blobpwrdisplay.screen_loc = ui_health @@ -150,56 +150,56 @@ blobpwrdisplay.plane = ABOVE_HUD_PLANE static_inventory += blobpwrdisplay - blobhealthdisplay = new /obj/screen() + blobhealthdisplay = new /atom/movable/screen() blobhealthdisplay.name = "blob health" blobhealthdisplay.icon_state = "block" blobhealthdisplay.screen_loc = ui_internal static_inventory += blobhealthdisplay - using = new /obj/screen/blob/BlobHelp() + using = new /atom/movable/screen/blob/BlobHelp() using.screen_loc = "WEST:6,NORTH:-3" static_inventory += using - using = new /obj/screen/blob/JumpToNode() + using = new /atom/movable/screen/blob/JumpToNode() using.screen_loc = ui_inventory static_inventory += using - using = new /obj/screen/blob/JumpToCore() + using = new /atom/movable/screen/blob/JumpToCore() using.screen_loc = ui_zonesel using.hud = src static_inventory += using - using = new /obj/screen/blob/Blobbernaut() + using = new /atom/movable/screen/blob/Blobbernaut() using.screen_loc = ui_id static_inventory += using - using = new /obj/screen/blob/StorageBlob() + using = new /atom/movable/screen/blob/StorageBlob() using.screen_loc = ui_belt static_inventory += using - using = new /obj/screen/blob/ResourceBlob() + using = new /atom/movable/screen/blob/ResourceBlob() using.screen_loc = ui_back static_inventory += using - using = new /obj/screen/blob/NodeBlob() + using = new /atom/movable/screen/blob/NodeBlob() using.screen_loc = using.screen_loc = ui_rhand static_inventory += using - using = new /obj/screen/blob/FactoryBlob() + using = new /atom/movable/screen/blob/FactoryBlob() using.screen_loc = using.screen_loc = ui_lhand static_inventory += using - using = new /obj/screen/blob/ReadaptChemical() + using = new /atom/movable/screen/blob/ReadaptChemical() using.screen_loc = ui_storage1 using.hud = src static_inventory += using - using = new /obj/screen/blob/RelocateCore() + using = new /atom/movable/screen/blob/RelocateCore() using.screen_loc = ui_storage2 static_inventory += using var/mob/camera/blob/B = user if(!B.is_offspring) // Checks if the blob is an offspring, to not create split button if it is - using = new /obj/screen/blob/Split() + using = new /atom/movable/screen/blob/Split() using.screen_loc = ui_acti static_inventory += using diff --git a/code/_onclick/hud/bot_hud.dm b/code/_onclick/hud/bot_hud.dm index 7370454bf96..9a27937a5be 100644 --- a/code/_onclick/hud/bot_hud.dm +++ b/code/_onclick/hud/bot_hud.dm @@ -1,12 +1,12 @@ -/obj/screen/bot +/atom/movable/screen/bot icon = 'icons/mob/screen_bot.dmi' -/obj/screen/bot/radio +/atom/movable/screen/bot/radio name = "radio" icon_state = "radio" screen_loc = ui_bot_radio -/obj/screen/bot/radio/Click() +/atom/movable/screen/bot/radio/Click() if(isbot(usr)) var/mob/living/simple_animal/bot/B = usr B.Radio.interact(usr) @@ -17,16 +17,16 @@ /datum/hud/bot/New(mob/owner) ..() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen/bot/radio() + using = new /atom/movable/screen/bot/radio() static_inventory += using - mymob.healths = new /obj/screen/healths/bot() + mymob.healths = new /atom/movable/screen/healths/bot() mymob.healths.screen_loc = ui_borg_health infodisplay += mymob.healths - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = 'icons/mob/screen_bot.dmi' mymob.pullin.hud = src mymob.pullin.update_icon(UPDATE_ICON_STATE) diff --git a/code/_onclick/hud/constructs_hud.dm b/code/_onclick/hud/constructs_hud.dm index 0c3f9eaf8a4..e2dea642407 100644 --- a/code/_onclick/hud/constructs_hud.dm +++ b/code/_onclick/hud/constructs_hud.dm @@ -8,7 +8,7 @@ /datum/hud/construct/armoured/New(mob/owner) ..() - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen_construct.dmi' mymob.healths.icon_state = "juggernaut_health0" mymob.healths.name = "health" @@ -21,7 +21,7 @@ /datum/hud/construct/builder/New(mob/owner) ..() - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen_construct.dmi' mymob.healths.icon_state = "artificer_health0" mymob.healths.name = "health" @@ -34,7 +34,7 @@ /datum/hud/construct/wraith/New(mob/owner) ..() - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen_construct.dmi' mymob.healths.icon_state = "wraith_health0" mymob.healths.name = "health" @@ -47,7 +47,7 @@ /datum/hud/construct/harvester/New(mob/owner) ..() - mymob.healths = new /obj/screen() + mymob.healths = new /atom/movable/screen() mymob.healths.icon = 'icons/mob/screen_construct.dmi' mymob.healths.icon_state = "harvester_health0" mymob.healths.name = "health" @@ -56,13 +56,13 @@ /datum/hud/construct/New(mob/owner) ..() - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = 'icons/mob/screen_construct.dmi' mymob.pullin.icon_state = "pull0" mymob.pullin.name = "pull" mymob.pullin.screen_loc = ui_construct_pull - var/obj/screen/using - using = new /obj/screen/act_intent/simple_animal() + var/atom/movable/screen/using + using = new /atom/movable/screen/act_intent/simple_animal() using.icon_state = mymob.a_intent static_inventory += using action_intent = using diff --git a/code/_onclick/hud/follow_alert.dm b/code/_onclick/hud/follow_alert.dm index d8f95d06986..b3d0f10c4ad 100644 --- a/code/_onclick/hud/follow_alert.dm +++ b/code/_onclick/hud/follow_alert.dm @@ -1,4 +1,4 @@ -/obj/screen/alert/augury +/atom/movable/screen/alert/augury name = "Something interesting!" desc = "Click to follow." /// The atom being followed @@ -19,7 +19,7 @@ * * follow_target: The atom to start out following. Can be null, in which case change_targets() should be used at some point. * * alert_overlay_override: If follow_target is provided (or not), use this for the alert image. */ -/obj/screen/alert/augury/Initialize(mapload, atom/movable/follow_target, image/alert_overlay_override) +/atom/movable/screen/alert/augury/Initialize(mapload, atom/movable/follow_target, image/alert_overlay_override) . = ..() src.follow_target = follow_target @@ -37,7 +37,7 @@ alert_overlay_override.plane = FLOAT_PLANE overlays += alert_overlay_override -/obj/screen/alert/augury/Click(location, control, params) +/atom/movable/screen/alert/augury/Click(location, control, params) . = ..() if(!usr || !usr.client || !isobserver(usr)) return @@ -48,7 +48,7 @@ to_chat(usr, "You are now auto-following [thing_followed]. Click again to stop.") add_follower(usr) -/obj/screen/alert/augury/Destroy(force) +/atom/movable/screen/alert/augury/Destroy(force) for(var/atom/movable/follower in followers) // in case something was nulled follower.stop_orbit() @@ -68,7 +68,7 @@ /// Executed when the parent is deleted. /// Don't immediately kill ourselves, since it's possible that we might want to move somewhere else /// (for example, after a meteor strike) -/obj/screen/alert/augury/proc/on_following_qdel(atom/movable/A) +/atom/movable/screen/alert/augury/proc/on_following_qdel(atom/movable/A) SIGNAL_HANDLER // COMSIG_PARENT_QDELETING for(var/atom/movable/follower in followers) follower.stop_orbit() @@ -86,7 +86,7 @@ * Arguments: * * next_to - The next atom to follow. */ -/obj/screen/alert/augury/proc/change_targets(atom/movable/next_to) +/atom/movable/screen/alert/augury/proc/change_targets(atom/movable/next_to) // unregister first so we aren't bombarded when changing orbits if(isnull(next_to)) return @@ -100,15 +100,15 @@ RegisterSignal(follow_target, COMSIG_ATOM_ORBIT_STOP, PROC_REF(remove_follower_on_stop_orbit)) -/obj/screen/alert/augury/proc/add_follower(atom/movable/follower) +/atom/movable/screen/alert/augury/proc/add_follower(atom/movable/follower) followers |= follower follower.orbit(follow_target) -/obj/screen/alert/augury/proc/remove_follower(atom/movable/follower) +/atom/movable/screen/alert/augury/proc/remove_follower(atom/movable/follower) followers -= follower follower.stop_orbit() -/obj/screen/alert/augury/proc/get_next_target() +/atom/movable/screen/alert/augury/proc/get_next_target() if(!length(next_targets)) return @@ -121,27 +121,27 @@ return target /// Called when someone stops orbiting our followed object, so they can actually get out of the loop. -/obj/screen/alert/augury/proc/remove_follower_on_stop_orbit(atom/movable/followed, atom/movable/follower) +/atom/movable/screen/alert/augury/proc/remove_follower_on_stop_orbit(atom/movable/followed, atom/movable/follower) SIGNAL_HANDLER // COMSIG_ATOM_ORBIT_STOP if(locateUID(follower.orbiting_uid) != follow_target) remove_follower(follower) // don't try to stop the orbit again /// Meteor alert. /// Appears during a meteor storm and allows for auto-following of debris. -/obj/screen/alert/augury/meteor +/atom/movable/screen/alert/augury/meteor name = "Meteors incoming!" desc = "Click to automatically follow debris, and click again to stop." -/obj/screen/alert/augury/meteor/Initialize(mapload) +/atom/movable/screen/alert/augury/meteor/Initialize(mapload) var/image/meteor_img = image(icon = 'icons/obj/meteor.dmi', icon_state = "flaming") . = ..(mapload, alert_overlay_override = meteor_img) START_PROCESSING(SSfastprocess, src) -/obj/screen/alert/augury/meteor/Destroy(force) +/atom/movable/screen/alert/augury/meteor/Destroy(force) . = ..() STOP_PROCESSING(SSfastprocess, src) -/obj/screen/alert/augury/meteor/process() +/atom/movable/screen/alert/augury/meteor/process() var/overridden = FALSE for(var/obj/effect/meteor/M in GLOB.meteor_list) if(!is_station_level(M.z)) diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index ec6bde573d6..e93a0a206bd 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -1,5 +1,5 @@ /mob/proc/overlay_fullscreen(category, type, severity) - var/obj/screen/fullscreen/screen = screens[category] + var/atom/movable/screen/fullscreen/screen = screens[category] if(!screen || screen.type != type) // needs to be recreated clear_fullscreen(category, FALSE) @@ -17,7 +17,7 @@ return screen /mob/proc/clear_fullscreen(category, animated = 10) - var/obj/screen/fullscreen/screen = screens[category] + var/atom/movable/screen/fullscreen/screen = screens[category] if(!screen) return @@ -41,7 +41,7 @@ /datum/hud/proc/reload_fullscreen() if(mymob.client) - var/obj/screen/fullscreen/screen + var/atom/movable/screen/fullscreen/screen var/list/screens = mymob.screens for(var/category in screens) screen = screens[category] @@ -51,7 +51,7 @@ else mymob.client.screen -= screen -/obj/screen/fullscreen +/atom/movable/screen/fullscreen icon = 'icons/mob/screen_full.dmi' icon_state = "default" screen_loc = "CENTER-7,CENTER-7" @@ -62,66 +62,66 @@ var/severity = 0 var/show_when_dead = FALSE -/obj/screen/fullscreen/proc/update_for_view(client_view) +/atom/movable/screen/fullscreen/proc/update_for_view(client_view) if(screen_loc == "CENTER-7,CENTER-7" && view != client_view) var/list/actualview = getviewsize(client_view) view = client_view transform = matrix(actualview[1]/FULLSCREEN_OVERLAY_RESOLUTION_X, 0, 0, 0, actualview[2]/FULLSCREEN_OVERLAY_RESOLUTION_Y, 0) -/obj/screen/fullscreen/proc/should_show_to(mob/mymob) +/atom/movable/screen/fullscreen/proc/should_show_to(mob/mymob) if(!show_when_dead && mymob.stat == DEAD) return FALSE return TRUE -/obj/screen/fullscreen/Destroy() +/atom/movable/screen/fullscreen/Destroy() severity = 0 return ..() -/obj/screen/fullscreen/brute +/atom/movable/screen/fullscreen/brute icon_state = "brutedamageoverlay" layer = UI_DAMAGE_LAYER -/obj/screen/fullscreen/oxy +/atom/movable/screen/fullscreen/oxy icon_state = "oxydamageoverlay" layer = UI_DAMAGE_LAYER -/obj/screen/fullscreen/crit +/atom/movable/screen/fullscreen/crit icon_state = "passage" layer = CRIT_LAYER -/obj/screen/fullscreen/blind +/atom/movable/screen/fullscreen/blind icon_state = "blackimageoverlay" layer = BLIND_LAYER -/obj/screen/fullscreen/impaired +/atom/movable/screen/fullscreen/impaired icon_state = "impairedoverlay" -/obj/screen/fullscreen/payback +/atom/movable/screen/fullscreen/payback icon = 'icons/mob/screen_payback.dmi' icon_state = "payback" show_when_dead = TRUE -/obj/screen/fullscreen/fog +/atom/movable/screen/fullscreen/fog icon = 'icons/mob/screen_fog.dmi' icon_state = "fog" color = "#FF0000" -/obj/screen/fullscreen/flash +/atom/movable/screen/fullscreen/flash icon = 'icons/mob/screen_gen.dmi' screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "flash" -/obj/screen/fullscreen/flash/noise +/atom/movable/screen/fullscreen/flash/noise icon = 'icons/mob/screen_gen.dmi' screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "noise" -/obj/screen/fullscreen/high +/atom/movable/screen/fullscreen/high icon = 'icons/mob/screen_gen.dmi' screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "druggy" -/obj/screen/fullscreen/lighting_backdrop +/atom/movable/screen/fullscreen/lighting_backdrop icon = 'icons/mob/screen_gen.dmi' icon_state = "flash" transform = matrix(200, 0, 0, 0, 200, 0) @@ -130,18 +130,18 @@ show_when_dead = TRUE //Provides darkness to the back of the lighting plane -/obj/screen/fullscreen/lighting_backdrop/lit +/atom/movable/screen/fullscreen/lighting_backdrop/lit invisibility = INVISIBILITY_LIGHTING layer = BACKGROUND_LAYER+21 color = "#000" show_when_dead = TRUE //Provides whiteness in case you don't see lights so everything is still visible -/obj/screen/fullscreen/lighting_backdrop/unlit +/atom/movable/screen/fullscreen/lighting_backdrop/unlit layer = BACKGROUND_LAYER+20 show_when_dead = TRUE -/obj/screen/fullscreen/see_through_darkness +/atom/movable/screen/fullscreen/see_through_darkness icon_state = "nightvision" plane = LIGHTING_PLANE layer = LIGHTING_LAYER @@ -149,7 +149,7 @@ show_when_dead = TRUE /// An effect which tracks the cursor's location on the screen -/obj/screen/fullscreen/cursor_catcher +/atom/movable/screen/fullscreen/cursor_catcher icon_state = "fullscreen_blocker" // Fullscreen semi transparent icon plane = HUD_PLANE mouse_opacity = MOUSE_OPACITY_ICON @@ -167,14 +167,14 @@ var/mouse_params /// Links this up with a mob -/obj/screen/fullscreen/cursor_catcher/proc/assign_to_mob(mob/owner) +/atom/movable/screen/fullscreen/cursor_catcher/proc/assign_to_mob(mob/owner) src.owner = owner view_list = getviewsize(owner.client.view) RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) calculate_params() /// Update when the mob we're assigned to has moved -/obj/screen/fullscreen/cursor_catcher/proc/on_move(atom/source, atom/oldloc, dir, forced) +/atom/movable/screen/fullscreen/cursor_catcher/proc/on_move(atom/source, atom/oldloc, dir, forced) SIGNAL_HANDLER if(!given_turf) @@ -184,18 +184,18 @@ given_turf = locate(given_turf.x + x_offset, given_turf.y + y_offset, given_turf.z) -/obj/screen/fullscreen/cursor_catcher/MouseEntered(location, control, params) +/atom/movable/screen/fullscreen/cursor_catcher/MouseEntered(location, control, params) . = ..() MouseMove(location, control, params) if(usr == owner) calculate_params() -/obj/screen/fullscreen/cursor_catcher/MouseMove(location, control, params) +/atom/movable/screen/fullscreen/cursor_catcher/MouseMove(location, control, params) if(usr != owner) return mouse_params = params -/obj/screen/fullscreen/cursor_catcher/proc/calculate_params() +/atom/movable/screen/fullscreen/cursor_catcher/proc/calculate_params() var/list/modifiers = params2list(mouse_params) var/icon_x = text2num(LAZYACCESS(modifiers, "vis-x")) if(isnull(icon_x)) diff --git a/code/_onclick/hud/ghost_hud.dm b/code/_onclick/hud/ghost_hud.dm index ac71b9bf51c..1ea78ca1371 100644 --- a/code/_onclick/hud/ghost_hud.dm +++ b/code/_onclick/hud/ghost_hud.dm @@ -3,47 +3,47 @@ hud_used = new /datum/hud/ghost(src) SEND_SIGNAL(src, COMSIG_MOB_HUD_CREATED) -/obj/screen/ghost +/atom/movable/screen/ghost icon = 'icons/mob/screen_ghost.dmi' -/obj/screen/ghost/MouseEntered() +/atom/movable/screen/ghost/MouseEntered() . = ..() flick(icon_state + "_anim", src) -/obj/screen/ghost/orbit +/atom/movable/screen/ghost/orbit name = "Orbit" icon_state = "orbit" -/obj/screen/ghost/orbit/Click() +/atom/movable/screen/ghost/orbit/Click() var/mob/dead/observer/G = usr G.follow() -/obj/screen/ghost/reenter_corpse +/atom/movable/screen/ghost/reenter_corpse name = "Re-enter corpse" icon_state = "reenter_corpse" -/obj/screen/ghost/reenter_corpse/Click() +/atom/movable/screen/ghost/reenter_corpse/Click() var/mob/dead/observer/G = usr G.reenter_corpse() -/obj/screen/ghost/teleport +/atom/movable/screen/ghost/teleport name = "Teleport" icon_state = "teleport" -/obj/screen/ghost/teleport/Click() +/atom/movable/screen/ghost/teleport/Click() var/mob/dead/observer/G = usr G.dead_tele() -/obj/screen/ghost/respawn_list +/atom/movable/screen/ghost/respawn_list name = "Ghost spawns" icon = 'icons/mob/screen_midnight.dmi' icon_state = "template" -/obj/screen/ghost/respawn_list/Initialize(mapload) +/atom/movable/screen/ghost/respawn_list/Initialize(mapload) . = ..() update_hidden_state() -/obj/screen/ghost/respawn_list/Click() +/atom/movable/screen/ghost/respawn_list/Click() var/client/C = hud.mymob.client hud.inventory_shown = !hud.inventory_shown if(hud.inventory_shown) @@ -52,7 +52,7 @@ C.screen -= hud.toggleable_inventory update_hidden_state() -/obj/screen/ghost/respawn_list/proc/update_hidden_state() +/atom/movable/screen/ghost/respawn_list/proc/update_hidden_state() var/matrix/M = matrix(transform) M.Turn(-90) @@ -61,19 +61,19 @@ img.transform = M overlays += img -/obj/screen/ghost/respawn_mob +/atom/movable/screen/ghost/respawn_mob name = "Mob spawners" icon_state = "mob_spawner" -/obj/screen/ghost/respawn_mob/Click() +/atom/movable/screen/ghost/respawn_mob/Click() var/mob/dead/observer/G = usr G.open_spawners_menu() -/obj/screen/ghost/respawn_pai +/atom/movable/screen/ghost/respawn_pai name = "Configure pAI" icon_state = "pai" -/obj/screen/ghost/respawn_pai/Click() +/atom/movable/screen/ghost/respawn_pai/Click() var/mob/dead/observer/G = usr if(!GLOB.paiController.check_recruit(G)) to_chat(G, "You are not eligible to become a pAI.") @@ -85,34 +85,34 @@ /datum/hud/ghost/New(mob/owner) ..() - var/obj/screen/using + var/atom/movable/screen/using - using = new /obj/screen/ghost/orbit() + using = new /atom/movable/screen/ghost/orbit() using.screen_loc = ui_ghost_orbit static_inventory += using - using = new /obj/screen/ghost/reenter_corpse() + using = new /atom/movable/screen/ghost/reenter_corpse() using.screen_loc = ui_ghost_reenter_corpse static_inventory += using - using = new /obj/screen/ghost/teleport() + using = new /atom/movable/screen/ghost/teleport() using.screen_loc = ui_ghost_teleport static_inventory += using static_inventory += using - using = new /obj/screen/ghost/respawn_list() + using = new /atom/movable/screen/ghost/respawn_list() using.screen_loc = ui_ghost_respawn_list static_inventory += using - using = new /obj/screen/ghost/respawn_mob() + using = new /atom/movable/screen/ghost/respawn_mob() using.screen_loc = ui_ghost_respawn_mob toggleable_inventory += using - using = new /obj/screen/ghost/respawn_pai() + using = new /atom/movable/screen/ghost/respawn_pai() using.screen_loc = ui_ghost_respawn_pai toggleable_inventory += using - for(var/obj/screen/S in (static_inventory + toggleable_inventory)) + for(var/atom/movable/screen/S in (static_inventory + toggleable_inventory)) S.hud = src /datum/hud/ghost/show_hud() diff --git a/code/_onclick/hud/guardian_hud.dm b/code/_onclick/hud/guardian_hud.dm index d00662f0c76..122b2408c5e 100644 --- a/code/_onclick/hud/guardian_hud.dm +++ b/code/_onclick/hud/guardian_hud.dm @@ -4,49 +4,49 @@ /datum/hud/guardian/New(mob/owner) ..() - var/obj/screen/using + var/atom/movable/screen/using - guardianhealthdisplay = new /obj/screen/healths/guardian() + guardianhealthdisplay = new /atom/movable/screen/healths/guardian() infodisplay += guardianhealthdisplay - using = new /obj/screen/act_intent/guardian() + using = new /atom/movable/screen/act_intent/guardian() using.icon_state = mymob.a_intent static_inventory += using action_intent = using - using = new /obj/screen/guardian/Manifest() + using = new /atom/movable/screen/guardian/Manifest() using.screen_loc = ui_rhand static_inventory += using - using = new /obj/screen/guardian/Recall() + using = new /atom/movable/screen/guardian/Recall() using.screen_loc = ui_lhand static_inventory += using - using = new /obj/screen/guardian/ToggleMode() + using = new /atom/movable/screen/guardian/ToggleMode() using.screen_loc = ui_storage1 static_inventory += using - using = new /obj/screen/guardian/ToggleLight() + using = new /atom/movable/screen/guardian/ToggleLight() using.screen_loc = ui_inventory static_inventory += using - using = new /obj/screen/guardian/Communicate() + using = new /atom/movable/screen/guardian/Communicate() using.screen_loc = ui_back static_inventory += using //HUD BUTTONS -/obj/screen/guardian +/atom/movable/screen/guardian icon = 'icons/mob/guardian.dmi' icon_state = "base" -/obj/screen/guardian/Manifest +/atom/movable/screen/guardian/Manifest icon_state = "manifest" name = "Manifest" desc = "Spring forth into battle!" -/obj/screen/guardian/Manifest/Click() +/atom/movable/screen/guardian/Manifest/Click() if(isguardian(usr)) var/mob/living/simple_animal/hostile/guardian/G = usr var/summoner_loc = G.summoner.loc @@ -59,43 +59,43 @@ if(G.loc == G.summoner) G.Manifest() -/obj/screen/guardian/Recall +/atom/movable/screen/guardian/Recall icon_state = "recall" name = "Recall" desc = "Return to your user." -/obj/screen/guardian/Recall/Click() +/atom/movable/screen/guardian/Recall/Click() if(isguardian(usr)) var/mob/living/simple_animal/hostile/guardian/G = usr G.Recall() -/obj/screen/guardian/ToggleMode +/atom/movable/screen/guardian/ToggleMode icon_state = "toggle" name = "Toggle Mode" desc = "Switch between ability modes." -/obj/screen/guardian/ToggleMode/Click() +/atom/movable/screen/guardian/ToggleMode/Click() if(isguardian(usr)) var/mob/living/simple_animal/hostile/guardian/G = usr G.ToggleMode() -/obj/screen/guardian/Communicate +/atom/movable/screen/guardian/Communicate icon_state = "communicate" name = "Communicate" desc = "Communicate telepathically with your user." -/obj/screen/guardian/Communicate/Click() +/atom/movable/screen/guardian/Communicate/Click() if(isguardian(usr)) var/mob/living/simple_animal/hostile/guardian/G = usr G.Communicate() -/obj/screen/guardian/ToggleLight +/atom/movable/screen/guardian/ToggleLight icon_state = "light" name = "Toggle Light" desc = "Glow like star dust." -/obj/screen/guardian/ToggleLight/Click() +/atom/movable/screen/guardian/ToggleLight/Click() if(isguardian(usr)) var/mob/living/simple_animal/hostile/guardian/G = usr G.ToggleLight() diff --git a/code/_onclick/hud/hud_datum.dm b/code/_onclick/hud/hud_datum.dm index 4d65d41e8cc..6cfe661d3ac 100644 --- a/code/_onclick/hud/hud_datum.dm +++ b/code/_onclick/hud/hud_datum.dm @@ -12,36 +12,36 @@ var/inventory_shown = TRUE //the inventory var/hotkey_ui_hidden = FALSE //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons) - var/obj/screen/lingchemdisplay - var/obj/screen/lingstingdisplay + var/atom/movable/screen/lingchemdisplay + var/atom/movable/screen/lingstingdisplay - var/obj/screen/guardianhealthdisplay + var/atom/movable/screen/guardianhealthdisplay - var/obj/screen/blobpwrdisplay - var/obj/screen/blobhealthdisplay - var/obj/screen/vampire_blood_display - var/obj/screen/alien_plasma_display - var/obj/screen/nightvisionicon - var/obj/screen/action_intent - var/obj/screen/zone_select - var/obj/screen/move_intent - var/obj/screen/module_store_icon - var/obj/screen/combo/combo_display + var/atom/movable/screen/blobpwrdisplay + var/atom/movable/screen/blobhealthdisplay + var/atom/movable/screen/vampire_blood_display + var/atom/movable/screen/alien_plasma_display + var/atom/movable/screen/nightvisionicon + var/atom/movable/screen/action_intent + var/atom/movable/screen/zone_select + var/atom/movable/screen/move_intent + var/atom/movable/screen/module_store_icon + var/atom/movable/screen/combo/combo_display var/list/static_inventory = list() //the screen objects which are static var/list/toggleable_inventory = list() //the screen objects which can be hidden var/list/hotkeybuttons = list() //the buttons that can be used via hotkeys var/list/infodisplay = list() //the screen objects that display mob info (health, alien plasma, etc...) - var/list/inv_slots[SLOT_HUD_AMOUNT] // /obj/screen/inventory objects, ordered by their slot ID. + var/list/inv_slots[SLOT_HUD_AMOUNT] // /atom/movable/screen/inventory objects, ordered by their slot ID. - var/obj/screen/movable/action_button/hide_toggle/hide_actions_toggle + var/atom/movable/screen/movable/action_button/hide_toggle/hide_actions_toggle var/action_buttons_hidden = FALSE - var/list/obj/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object + var/list/atom/movable/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object ///Assoc list of controller groups, associated with key string group name with value of the plane master controller ref var/list/atom/movable/plane_master_controller/plane_master_controllers = list() ///UI for screentips that appear when you mouse over things - var/obj/screen/screentip/screentip_text + var/atom/movable/screen/screentip/screentip_text /mob/proc/create_mob_hud() if(client && !hud_used) @@ -53,8 +53,8 @@ hide_actions_toggle = new hide_actions_toggle.InitialiseIcon(mymob) - for(var/mytype in subtypesof(/obj/screen/plane_master)) - var/obj/screen/plane_master/instance = new mytype() + for(var/mytype in subtypesof(/atom/movable/screen/plane_master)) + var/atom/movable/screen/plane_master/instance = new mytype() plane_masters["[instance.plane]"] = instance instance.backdrop(mymob) @@ -181,7 +181,7 @@ /datum/hud/proc/plane_masters_update() // Plane masters are always shown to OUR mob, never to observers for(var/thing in plane_masters) - var/obj/screen/plane_master/PM = plane_masters[thing] + var/atom/movable/screen/plane_master/PM = plane_masters[thing] PM.backdrop(mymob) mymob.client.screen += PM diff --git a/code/_onclick/hud/human_hud.dm b/code/_onclick/hud/human_hud.dm index 1db2fe7cd1c..67c9e2e6621 100644 --- a/code/_onclick/hud/human_hud.dm +++ b/code/_onclick/hud/human_hud.dm @@ -1,11 +1,11 @@ -/obj/screen/human +/atom/movable/screen/human icon = 'icons/mob/screen_midnight.dmi' -/obj/screen/human/toggle +/atom/movable/screen/human/toggle name = "toggle" icon_state = "toggle" -/obj/screen/human/toggle/Click() +/atom/movable/screen/human/toggle/Click() if(usr.hud_used.inventory_shown) usr.hud_used.inventory_shown = FALSE usr.client.screen -= usr.hud_used.toggleable_inventory @@ -15,28 +15,28 @@ usr.hud_used.hidden_inventory_update() -/obj/screen/human/equip +/atom/movable/screen/human/equip name = "equip" icon_state = "act_equip" -/obj/screen/human/equip/Click() +/atom/movable/screen/human/equip/Click() if(ismecha(usr.loc)) // stops inventory actions in a mech return 1 var/mob/living/carbon/human/H = usr H.quick_equip() -/obj/screen/ling +/atom/movable/screen/ling invisibility = INVISIBILITY_ABSTRACT -/obj/screen/ling/sting +/atom/movable/screen/ling/sting name = "current sting" screen_loc = ui_lingstingdisplay -/obj/screen/ling/sting/Click() +/atom/movable/screen/ling/sting/Click() var/datum/antagonist/changeling/cling = usr.mind.has_antag_datum(/datum/antagonist/changeling) cling?.chosen_sting?.unset_sting() -/obj/screen/ling/chems +/atom/movable/screen/ling/chems name = "chemical storage" icon_state = "power_display" screen_loc = ui_lingchemdisplay @@ -58,32 +58,32 @@ /datum/hud/human/New(mob/living/carbon/human/owner, ui_style = 'icons/mob/screen_white.dmi', ui_color = "#ffffff", ui_alpha = 255) ..() - owner.overlay_fullscreen("see_through_darkness", /obj/screen/fullscreen/see_through_darkness) + owner.overlay_fullscreen("see_through_darkness", /atom/movable/screen/fullscreen/see_through_darkness) - var/obj/screen/using - var/obj/screen/inventory/inv_box + var/atom/movable/screen/using + var/atom/movable/screen/inventory/inv_box hud_alpha = ui_alpha - using = new /obj/screen/craft + using = new /atom/movable/screen/craft using.icon = ui_style using.color = ui_color using.alpha = ui_alpha static_inventory += using - using = new /obj/screen/language_menu + using = new /atom/movable/screen/language_menu using.icon = ui_style using.color = ui_color using.alpha = ui_alpha static_inventory += using - using = new /obj/screen/act_intent() + using = new /atom/movable/screen/act_intent() using.icon_state = mymob.a_intent using.alpha = ui_alpha static_inventory += using action_intent = using - using = new /obj/screen/mov_intent() + using = new /atom/movable/screen/mov_intent() using.icon = ui_style using.icon_state = (mymob.m_intent == MOVE_INTENT_RUN ? "running" : "walking") using.screen_loc = ui_movi @@ -92,14 +92,14 @@ static_inventory += using move_intent = using - using = new /obj/screen/drop() + using = new /atom/movable/screen/drop() using.icon = ui_style using.screen_loc = ui_drop_throw using.color = ui_color using.alpha = ui_alpha static_inventory += using - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "i_clothing" inv_box.icon = ui_style inv_box.slot_id = SLOT_HUD_JUMPSUIT @@ -109,7 +109,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "o_clothing" inv_box.icon = ui_style inv_box.slot_id = SLOT_HUD_OUTER_SUIT @@ -119,7 +119,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory/hand() + inv_box = new /atom/movable/screen/inventory/hand() inv_box.name = "r_hand" inv_box.icon = ui_style inv_box.icon_state = "hand_r" @@ -129,7 +129,7 @@ inv_box.slot_id = SLOT_HUD_RIGHT_HAND static_inventory += inv_box - inv_box = new /obj/screen/inventory/hand() + inv_box = new /atom/movable/screen/inventory/hand() inv_box.name = "l_hand" inv_box.icon = ui_style inv_box.icon_state = "hand_l" @@ -139,7 +139,7 @@ inv_box.slot_id = SLOT_HUD_LEFT_HAND static_inventory += inv_box - using = new /obj/screen/swap_hand() + using = new /atom/movable/screen/swap_hand() using.name = "hand" using.icon = ui_style using.icon_state = "swap_1" @@ -148,7 +148,7 @@ using.alpha = ui_alpha static_inventory += using - using = new /obj/screen/swap_hand() + using = new /atom/movable/screen/swap_hand() using.name = "hand" using.icon = ui_style using.icon_state = "swap_2" @@ -157,7 +157,7 @@ using.alpha = ui_alpha static_inventory += using - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "id" inv_box.icon = ui_style inv_box.icon_state = "id" @@ -167,7 +167,7 @@ inv_box.alpha = ui_alpha static_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "pda" inv_box.icon = ui_style inv_box.icon_state = "pda" @@ -177,7 +177,7 @@ inv_box.alpha = ui_alpha static_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "mask" inv_box.icon = ui_style inv_box.icon_state = "mask" @@ -187,7 +187,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "back" inv_box.icon = ui_style inv_box.icon_state = "back" @@ -197,7 +197,7 @@ inv_box.alpha = ui_alpha static_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "storage1" inv_box.icon = ui_style inv_box.icon_state = "pocket" @@ -207,7 +207,7 @@ inv_box.alpha = ui_alpha static_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "storage2" inv_box.icon = ui_style inv_box.icon_state = "pocket" @@ -217,7 +217,7 @@ inv_box.alpha = ui_alpha static_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "suit storage" inv_box.icon = ui_style inv_box.icon_state = "suit_storage" @@ -227,28 +227,28 @@ inv_box.slot_id = SLOT_HUD_SUIT_STORE static_inventory += inv_box - using = new /obj/screen/resist() + using = new /atom/movable/screen/resist() using.icon = ui_style using.color = ui_color using.alpha = ui_alpha using.screen_loc = ui_pull_resist hotkeybuttons += using - using = new /obj/screen/human/toggle() + using = new /atom/movable/screen/human/toggle() using.icon = ui_style using.color = ui_color using.alpha = ui_alpha using.screen_loc = ui_inventory static_inventory += using - using = new /obj/screen/human/equip() + using = new /atom/movable/screen/human/equip() using.icon = ui_style using.color = ui_color using.alpha = ui_alpha using.screen_loc = ui_equip static_inventory += using - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "gloves" inv_box.icon = ui_style inv_box.icon_state = "gloves" @@ -258,7 +258,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "eyes" inv_box.icon = ui_style inv_box.icon_state = "glasses" @@ -268,7 +268,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "l_ear" inv_box.icon = ui_style inv_box.icon_state = "ears" @@ -278,7 +278,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "r_ear" inv_box.icon = ui_style inv_box.icon_state = "ears" @@ -288,7 +288,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "head" inv_box.icon = ui_style inv_box.icon_state = "head" @@ -298,7 +298,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "shoes" inv_box.icon = ui_style inv_box.icon_state = "shoes" @@ -308,7 +308,7 @@ inv_box.alpha = ui_alpha toggleable_inventory += inv_box - inv_box = new /obj/screen/inventory() + inv_box = new /atom/movable/screen/inventory() inv_box.name = "belt" inv_box.icon = ui_style inv_box.icon_state = "belt" @@ -318,33 +318,33 @@ inv_box.alpha = ui_alpha static_inventory += inv_box - mymob.throw_icon = new /obj/screen/throw_catch() + mymob.throw_icon = new /atom/movable/screen/throw_catch() mymob.throw_icon.icon = ui_style mymob.throw_icon.screen_loc = ui_drop_throw mymob.throw_icon.color = ui_color mymob.throw_icon.alpha = ui_alpha hotkeybuttons += mymob.throw_icon - mymob.healths = new /obj/screen/healths() + mymob.healths = new /atom/movable/screen/healths() infodisplay += mymob.healths mymob.healthdoll = new() infodisplay += mymob.healthdoll - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = ui_style mymob.pullin.hud = src mymob.pullin.update_icon(UPDATE_ICON_STATE) mymob.pullin.screen_loc = ui_pull_resist static_inventory += mymob.pullin - lingchemdisplay = new /obj/screen/ling/chems() + lingchemdisplay = new /atom/movable/screen/ling/chems() infodisplay += lingchemdisplay - lingstingdisplay = new /obj/screen/ling/sting() + lingstingdisplay = new /atom/movable/screen/ling/sting() infodisplay += lingstingdisplay - zone_select = new /obj/screen/zone_sel() + zone_select = new /atom/movable/screen/zone_sel() zone_select.color = ui_color zone_select.icon = ui_style zone_select.alpha = ui_alpha @@ -357,7 +357,7 @@ combo_display = new() infodisplay += combo_display - for(var/obj/screen/inventory/inv in (static_inventory + toggleable_inventory)) + for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) inv.hud = src inv_slots[inv.slot_id] = inv @@ -372,13 +372,13 @@ if(!istype(H) || !H.dna.species) return var/datum/species/S = H.dna.species - for(var/obj/screen/inventory/inv in (static_inventory + toggleable_inventory)) + for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) if(inv.slot_id in S.no_equip) inv.alpha = hud_alpha / 2 else inv.alpha = hud_alpha - for(var/obj/screen/craft/crafting in static_inventory) + for(var/atom/movable/screen/craft/crafting in static_inventory) if(!S.can_craft) crafting.invisibility = INVISIBILITY_ABSTRACT H.handcrafting?.close(H) diff --git a/code/_onclick/hud/map_popups.dm b/code/_onclick/hud/map_popups.dm index dc9e255cba9..fc12fae313e 100644 --- a/code/_onclick/hud/map_popups.dm +++ b/code/_onclick/hud/map_popups.dm @@ -3,30 +3,15 @@ * Assoc list with all the active maps - when a screen obj is added to * a map, it's put in here as well. * - * Format: list( = list(/obj/screen)) + * Format: list( = list(/atom/movable/screen)) */ var/list/screen_maps = list() -/obj/screen - /** - * Map name assigned to this object. - * Automatically set by /client/proc/add_obj_to_map. - */ - var/assigned_map - /** - * Mark this object as garbage-collectible after you clean the map - * it was registered on. - * - * This could probably be changed to be a proc, for conditional removal. - * But for now, this works. - */ - var/del_on_map_removal = TRUE - /** * A screen object, which acts as a container for turfs and other things * you want to show on the map, which you usually attach to "vis_contents". */ -/obj/screen/map_view +/atom/movable/screen/map_view // Map view has to be on the lowest plane to enable proper lighting layer = GAME_PLANE plane = GAME_PLANE @@ -36,7 +21,7 @@ * It is also implicitly used to allocate a rectangle on the map, which will * be used for auto-scaling the map. */ -/obj/screen/background +/atom/movable/screen/background name = "background" icon = 'icons/mob/map_backgrounds.dmi' icon_state = "clear" @@ -49,7 +34,7 @@ * * If applicable, "assigned_map" has to be assigned before this proc call. */ -/obj/screen/proc/set_position(x, y, px = 0, py = 0) +/atom/movable/screen/proc/set_position(x, y, px = 0, py = 0) if(assigned_map) screen_loc = "[assigned_map]:[x]:[px],[y]:[py]" else @@ -60,7 +45,7 @@ * * If applicable, "assigned_map" has to be assigned before this proc call. */ -/obj/screen/proc/fill_rect(x1, y1, x2, y2) +/atom/movable/screen/proc/fill_rect(x1, y1, x2, y2) if(assigned_map) screen_loc = "[assigned_map]:[x1],[y1] to [x2],[y2]" else @@ -70,7 +55,7 @@ * Registers screen obj with the client, which makes it visible on the * assigned map, and becomes a part of the assigned map's lifecycle. */ -/client/proc/register_map_obj(obj/screen/screen_obj) +/client/proc/register_map_obj(atom/movable/screen/screen_obj) if(!screen_obj.assigned_map) CRASH("Can't register [screen_obj] without 'assigned_map' property.") if(!screen_maps[screen_obj.assigned_map]) @@ -92,7 +77,7 @@ /client/proc/clear_map(map_name) if(!map_name || !(map_name in screen_maps)) return FALSE - for(var/obj/screen/screen_obj in screen_maps[map_name]) + for(var/atom/movable/screen/screen_obj in screen_maps[map_name]) screen_maps[map_name] -= screen_obj if(screen_obj.del_on_map_removal) qdel(screen_obj) @@ -146,7 +131,7 @@ var/y_value = world.icon_size * tilesize * height var/map_name = create_popup(popup_name, x_value, y_value) - var/obj/screen/background/background = new + var/atom/movable/screen/background/background = new background.assigned_map = map_name background.fill_rect(1, 1, width, height) if(bg_icon) diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index 366931cea33..f43effee417 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -8,7 +8,7 @@ //Movable Screen Object //Not tied to the grid, places it's center where the cursor is -/obj/screen/movable +/atom/movable/screen/movable var/snap2grid = FALSE var/moved = FALSE var/locked = TRUE @@ -18,10 +18,10 @@ //Snap Screen Object //Tied to the grid, snaps to the nearest turf -/obj/screen/movable/snap +/atom/movable/screen/movable/snap snap2grid = TRUE -/obj/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) +/atom/movable/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) if(locked) //no! I am locked! begone! return @@ -55,7 +55,7 @@ set category = "Debug" set name = "Spawn Movable UI Object" - var/obj/screen/movable/M = new() + var/atom/movable/screen/movable/M = new() M.name = "Movable UI Object" M.icon_state = "block" M.maptext = "Movable" @@ -73,7 +73,7 @@ set category = "Debug" set name = "Spawn Snap UI Object" - var/obj/screen/movable/snap/S = new() + var/atom/movable/screen/movable/snap/S = new() S.name = "Snap UI Object" S.icon_state = "block" S.maptext = "Snap" diff --git a/code/_onclick/hud/other_mobs_hud.dm b/code/_onclick/hud/other_mobs_hud.dm index 0472a34dbef..8e87c837df2 100644 --- a/code/_onclick/hud/other_mobs_hud.dm +++ b/code/_onclick/hud/other_mobs_hud.dm @@ -4,11 +4,11 @@ /datum/hud/simple_animal/New(mob/user) ..() - mymob.healths = new /obj/screen/healths() + mymob.healths = new /atom/movable/screen/healths() infodisplay += mymob.healths - var/obj/screen/using - using = new /obj/screen/act_intent/simple_animal() + var/atom/movable/screen/using + using = new /atom/movable/screen/act_intent/simple_animal() using.icon_state = mymob.a_intent static_inventory += using action_intent = using @@ -21,10 +21,10 @@ /datum/hud/corgi/New(mob/user) ..() - mymob.healths = new /obj/screen/healths/corgi() + mymob.healths = new /atom/movable/screen/healths/corgi() infodisplay += mymob.healths - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = 'icons/mob/screen_corgi.dmi' mymob.pullin.hud = src mymob.pullin.update_icon(UPDATE_ICON_STATE) diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 75b34cfa1d3..572538a1ab3 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -1,7 +1,7 @@ /client var/list/parallax_layers var/list/parallax_layers_cached - var/static/list/parallax_static_layers_tail = newlist(/obj/screen/parallax_pmaster, /obj/screen/parallax_space_whitifier) + var/static/list/parallax_static_layers_tail = newlist(/atom/movable/screen/parallax_pmaster, /atom/movable/screen/parallax_space_whitifier) var/atom/movable/movingmob var/turf/previous_turf var/dont_animate_parallax //world.time of when we can state animate()ing parallax again @@ -16,7 +16,7 @@ if(!apply_parallax_pref()) return // this is needed so it blends properly with the space plane and blackness plane. - var/obj/screen/plane_master/space/S = plane_masters["[PLANE_SPACE]"] + var/atom/movable/screen/plane_master/space/S = plane_masters["[PLANE_SPACE]"] if(C.prefs.toggles2 & PREFTOGGLE_2_PARALLAX_IN_DARKNESS) S.color = rgb(0, 0, 0, 0) else @@ -27,16 +27,16 @@ S.appearance_flags |= NO_CLIENT_COLOR if(!length(C.parallax_layers_cached)) C.parallax_layers_cached = list() - C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_1(null, C.view) - C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_2(null, C.view) - C.parallax_layers_cached += new /obj/screen/parallax_layer/planet(null, C.view) + C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_1(null, C.view) + C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_2(null, C.view) + C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/planet(null, C.view) if(SSparallax.random_layer) C.parallax_layers_cached += new SSparallax.random_layer - C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_3(null, C.view) + C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_3(null, C.view) C.parallax_layers = C.parallax_layers_cached.Copy() - var/obj/screen/plane_master/parallax/parallax_plane_master = plane_masters["[PLANE_SPACE_PARALLAX]"] + var/atom/movable/screen/plane_master/parallax/parallax_plane_master = plane_masters["[PLANE_SPACE_PARALLAX]"] if(C.prefs.toggles2 & PREFTOGGLE_2_PARALLAX_IN_DARKNESS) parallax_plane_master.blend_mode = BLEND_ADD else @@ -51,7 +51,7 @@ var/client/C = mymob.client C.screen -= (C.parallax_layers_cached + C.parallax_static_layers_tail) C.parallax_layers = null - var/obj/screen/plane_master/space/S = plane_masters["[PLANE_SPACE]"] + var/atom/movable/screen/plane_master/space/S = plane_masters["[PLANE_SPACE]"] S.color = null S.appearance_flags &= ~NO_CLIENT_COLOR @@ -101,7 +101,7 @@ if(!new_parallax_movedir) var/animate_time = 0 for(var/thing in C.parallax_layers) - var/obj/screen/parallax_layer/L = thing + var/atom/movable/screen/parallax_layer/L = thing L.icon_state = initial(L.icon_state) L.update_o(C.view) var/T = PARALLAX_LOOP_TIME / L.speed @@ -123,7 +123,7 @@ var/shortesttimer for(var/thing in C.parallax_layers) - var/obj/screen/parallax_layer/L = thing + var/atom/movable/screen/parallax_layer/L = thing var/T = PARALLAX_LOOP_TIME / L.speed if(isnull(shortesttimer)) @@ -148,7 +148,7 @@ /datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform) C.parallax_animate_timer = FALSE for(var/thing in C.parallax_layers) - var/obj/screen/parallax_layer/L = thing + var/atom/movable/screen/parallax_layer/L = thing if(!new_parallax_movedir) animate(L) continue @@ -206,7 +206,7 @@ C.last_parallax_shift = world.time for(var/thing in C.parallax_layers) - var/obj/screen/parallax_layer/L = thing + var/atom/movable/screen/parallax_layer/L = thing L.update_status(mymob) if(L.view_sized != C.view) L.update_o(C.view) @@ -236,7 +236,7 @@ if(M && M.client && M.hud_used && length(M.client.parallax_layers)) M.hud_used.update_parallax() -/obj/screen/parallax_layer +/atom/movable/screen/parallax_layer icon = 'icons/effects/parallax.dmi' var/speed = 1 var/offset_x = 0 @@ -249,13 +249,13 @@ mouse_opacity = 0 -/obj/screen/parallax_layer/New(view) +/atom/movable/screen/parallax_layer/New(view) ..() if(!view) view = world.view update_o(view) -/obj/screen/parallax_layer/proc/update_o(view) +/atom/movable/screen/parallax_layer/proc/update_o(view) if(!view) view = world.view @@ -278,70 +278,70 @@ // Cache this view_sized = view -/obj/screen/parallax_layer/proc/update_status(mob/M) +/atom/movable/screen/parallax_layer/proc/update_status(mob/M) return -/obj/screen/parallax_layer/layer_1 +/atom/movable/screen/parallax_layer/layer_1 icon_state = "layer1" speed = 0.6 layer = 1 -/obj/screen/parallax_layer/layer_2 +/atom/movable/screen/parallax_layer/layer_2 icon_state = "layer2" speed = 1 layer = 2 -/obj/screen/parallax_layer/layer_3 +/atom/movable/screen/parallax_layer/layer_3 icon_state = "layer3" speed = 1.4 layer = 3 -/obj/screen/parallax_layer/random +/atom/movable/screen/parallax_layer/random blend_mode = BLEND_OVERLAY speed = 3 layer = 3 -/obj/screen/parallax_layer/random/space_gas +/atom/movable/screen/parallax_layer/random/space_gas icon_state = "space_gas" -/obj/screen/parallax_layer/random/space_gas/New(view) +/atom/movable/screen/parallax_layer/random/space_gas/New(view) ..() add_atom_colour(SSparallax.random_parallax_color, ADMIN_COLOUR_PRIORITY) -/obj/screen/parallax_layer/random/asteroids +/atom/movable/screen/parallax_layer/random/asteroids icon_state = "asteroids" layer = 4 -/obj/screen/parallax_layer/planet +/atom/movable/screen/parallax_layer/planet icon_state = "planet_lava" blend_mode = BLEND_OVERLAY absolute = TRUE //Status of seperation speed = 3 layer = 30 -/obj/screen/parallax_layer/planet/Initialize(mapload) +/atom/movable/screen/parallax_layer/planet/Initialize(mapload) . = ..() if(SSmapping.lavaland_theme?.planet_icon_state) icon_state = SSmapping.lavaland_theme.planet_icon_state -/obj/screen/parallax_layer/planet/update_status(mob/M) +/atom/movable/screen/parallax_layer/planet/update_status(mob/M) var/turf/T = get_turf(M) if(is_station_level(T.z)) invisibility = 0 else invisibility = INVISIBILITY_ABSTRACT -/obj/screen/parallax_layer/planet/update_o() +/atom/movable/screen/parallax_layer/planet/update_o() return //Shit wont move -/obj/screen/parallax_pmaster +/atom/movable/screen/parallax_pmaster appearance_flags = PLANE_MASTER plane = PLANE_SPACE_PARALLAX blend_mode = BLEND_MULTIPLY mouse_opacity = FALSE screen_loc = "CENTER-7,CENTER-7" -/obj/screen/parallax_space_whitifier +/atom/movable/screen/parallax_space_whitifier appearance_flags = PLANE_MASTER plane = PLANE_SPACE color = list( diff --git a/code/_onclick/hud/picture_in_picture.dm b/code/_onclick/hud/picture_in_picture.dm index eda0cc5640d..aae4ce37001 100644 --- a/code/_onclick/hud/picture_in_picture.dm +++ b/code/_onclick/hud/picture_in_picture.dm @@ -1,4 +1,4 @@ -/obj/screen/movable/pic_in_pic +/atom/movable/screen/movable/pic_in_pic name = "Picture-in-picture" screen_loc = "CENTER" plane = FLOOR_PLANE @@ -7,18 +7,18 @@ var/height = 0 var/list/shown_to = list() var/list/viewing_turfs = list() - var/obj/screen/component_button/button_x - var/obj/screen/component_button/button_expand - var/obj/screen/component_button/button_shrink + var/atom/movable/screen/component_button/button_x + var/atom/movable/screen/component_button/button_expand + var/atom/movable/screen/component_button/button_shrink var/mutable_appearance/standard_background var/const/max_dimensions = 10 -/obj/screen/movable/pic_in_pic/Initialize() +/atom/movable/screen/movable/pic_in_pic/Initialize() . = ..() make_backgrounds() -/obj/screen/movable/pic_in_pic/Destroy() +/atom/movable/screen/movable/pic_in_pic/Destroy() for(var/C in shown_to) unshow_to(C) QDEL_NULL(button_x) @@ -26,7 +26,7 @@ QDEL_NULL(button_expand) return ..() -/obj/screen/movable/pic_in_pic/component_click(obj/screen/component_button/component, params) +/atom/movable/screen/movable/pic_in_pic/component_click(atom/movable/screen/component_button/component, params) if(component == button_x) qdel(src) else if(component == button_expand) @@ -34,13 +34,13 @@ else if(component == button_shrink) set_view_size(width-1, height-1) -/obj/screen/movable/pic_in_pic/proc/make_backgrounds() +/atom/movable/screen/movable/pic_in_pic/proc/make_backgrounds() standard_background = new /mutable_appearance() standard_background.icon = 'icons/misc/pic_in_pic.dmi' standard_background.icon_state = "background" standard_background.layer = SPACE_LAYER -/obj/screen/movable/pic_in_pic/proc/add_buttons() +/atom/movable/screen/movable/pic_in_pic/proc/add_buttons() var/static/mutable_appearance/move_tab if(!move_tab) move_tab = new /mutable_appearance() @@ -55,7 +55,7 @@ overlays += move_tab if(!button_x) - button_x = new /obj/screen/component_button(null, src) + button_x = new /atom/movable/screen/component_button(null, src) var/mutable_appearance/MA = new /mutable_appearance() MA.name = "close" MA.icon = 'icons/misc/pic_in_pic.dmi' @@ -68,7 +68,7 @@ vis_contents += button_x if(!button_expand) - button_expand = new /obj/screen/component_button(null, src) + button_expand = new /atom/movable/screen/component_button(null, src) var/mutable_appearance/MA = new /mutable_appearance() MA.name = "expand" MA.icon = 'icons/misc/pic_in_pic.dmi' @@ -81,7 +81,7 @@ vis_contents += button_expand if(!button_shrink) - button_shrink = new /obj/screen/component_button(null, src) + button_shrink = new /atom/movable/screen/component_button(null, src) var/mutable_appearance/MA = new /mutable_appearance() MA.name = "shrink" MA.icon = 'icons/misc/pic_in_pic.dmi' @@ -93,7 +93,7 @@ button_shrink.transform = M vis_contents += button_shrink -/obj/screen/movable/pic_in_pic/proc/add_background() +/atom/movable/screen/movable/pic_in_pic/proc/add_background() if((width > 0) && (height > 0)) var/matrix/M = matrix() M.Scale(width + 0.5, height + 0.5) @@ -101,7 +101,7 @@ standard_background.transform = M overlays += standard_background -/obj/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE) +/atom/movable/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE) width = clamp(width, 0, max_dimensions) height = clamp(height, 0, max_dimensions) src.width = width @@ -115,12 +115,12 @@ if(do_refresh) refresh_view() -/obj/screen/movable/pic_in_pic/proc/set_view_center(atom/target, do_refresh = TRUE) +/atom/movable/screen/movable/pic_in_pic/proc/set_view_center(atom/target, do_refresh = TRUE) center = target if(do_refresh) refresh_view() -/obj/screen/movable/pic_in_pic/proc/refresh_view() +/atom/movable/screen/movable/pic_in_pic/proc/refresh_view() vis_contents -= viewing_turfs if(!width || !height) return @@ -133,12 +133,12 @@ vis_contents += viewing_turfs -/obj/screen/movable/pic_in_pic/proc/show_to(client/C) +/atom/movable/screen/movable/pic_in_pic/proc/show_to(client/C) if(C) shown_to[C] = 1 C.screen += src -/obj/screen/movable/pic_in_pic/proc/unshow_to(client/C) +/atom/movable/screen/movable/pic_in_pic/proc/unshow_to(client/C) if(C) shown_to -= C C.screen -= src diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index 8a59bb69275..d9da09946af 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -1,4 +1,4 @@ -/obj/screen/plane_master +/atom/movable/screen/plane_master screen_loc = "CENTER" icon_state = "blank" appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR @@ -6,58 +6,58 @@ var/show_alpha = 255 var/hide_alpha = 0 -/obj/screen/plane_master/proc/Show(override) +/atom/movable/screen/plane_master/proc/Show(override) alpha = override || show_alpha -/obj/screen/plane_master/proc/Hide(override) +/atom/movable/screen/plane_master/proc/Hide(override) alpha = override || hide_alpha //Why do plane masters need a backdrop sometimes? Read http://www.byond.com/forum/?post=2141928 //Trust me, you need one. Period. If you don't think you do, you're doing something extremely wrong. -/obj/screen/plane_master/proc/backdrop(mob/mymob) +/atom/movable/screen/plane_master/proc/backdrop(mob/mymob) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, add_filter), "displace", 1, displacement_map_filter(render_source = GRAVITY_PULSE_RENDER_TARGET, size = 10)), 2 SECONDS)//Why a timer vs just apply on initialize / async? I don't know. It just can't be, neither works correctly. Don't lower below 2 seconds unless you can see effects through walls with no issue. -/obj/screen/plane_master/floor +/atom/movable/screen/plane_master/floor name = "floor plane master" plane = FLOOR_PLANE appearance_flags = PLANE_MASTER blend_mode = BLEND_OVERLAY -/obj/screen/plane_master/game_world +/atom/movable/screen/plane_master/game_world name = "game world plane master" plane = GAME_PLANE appearance_flags = PLANE_MASTER blend_mode = BLEND_OVERLAY -/obj/screen/plane_master/game_world/backdrop(mob/mymob) +/atom/movable/screen/plane_master/game_world/backdrop(mob/mymob) . = ..() //if you delete it so help me god clear_filters() if(istype(mymob) && mymob.client && mymob.client.prefs && (mymob.client.prefs.toggles & PREFTOGGLE_AMBIENT_OCCLUSION)) add_filter("AO", 1, drop_shadow_filter(x = 0, y = -2, size = 4, color = "#04080FAA")) -/obj/screen/plane_master/lighting +/atom/movable/screen/plane_master/lighting name = "lighting plane master" plane = LIGHTING_PLANE appearance_flags = PLANE_MASTER blend_mode = BLEND_MULTIPLY mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/obj/screen/plane_master/lighting/backdrop(mob/mymob) +/atom/movable/screen/plane_master/lighting/backdrop(mob/mymob) . = ..() - mymob.overlay_fullscreen("lighting_backdrop_lit", /obj/screen/fullscreen/lighting_backdrop/lit) - mymob.overlay_fullscreen("lighting_backdrop_unlit", /obj/screen/fullscreen/lighting_backdrop/unlit) + mymob.overlay_fullscreen("lighting_backdrop_lit", /atom/movable/screen/fullscreen/lighting_backdrop/lit) + mymob.overlay_fullscreen("lighting_backdrop_unlit", /atom/movable/screen/fullscreen/lighting_backdrop/unlit) -/obj/screen/plane_master/lighting/Initialize() +/atom/movable/screen/plane_master/lighting/Initialize() . = ..() add_filter("emissives", 1, alpha_mask_filter(render_source = EMISSIVE_RENDER_TARGET, flags = MASK_INVERSE)) -/obj/screen/plane_master/point +/atom/movable/screen/plane_master/point name = "point plane master" plane = POINT_PLANE appearance_flags = PLANE_MASTER //should use client color blend_mode = BLEND_OVERLAY -/obj/screen/plane_master/point/backdrop(mob/mymob) +/atom/movable/screen/plane_master/point/backdrop(mob/mymob) if(istype(mymob) && mymob.client && mymob.client.prefs) alpha = (mymob.client.prefs.toggles2 & PREFTOGGLE_2_THOUGHT_BUBBLE) ? 255 : 0 @@ -67,29 +67,29 @@ * Gets masked by blocking plane. Use for things that you want blocked by * mobs, items, etc. */ -/obj/screen/plane_master/emissive +/atom/movable/screen/plane_master/emissive name = "emissive plane master" plane = EMISSIVE_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT render_target = EMISSIVE_RENDER_TARGET -/obj/screen/plane_master/emissive/Initialize() +/atom/movable/screen/plane_master/emissive/Initialize() . = ..() add_filter("em_block_masking", 1, color_matrix_filter(GLOB.em_mask_matrix)) -/obj/screen/plane_master/space +/atom/movable/screen/plane_master/space name = "space plane master" plane = PLANE_SPACE appearance_flags = PLANE_MASTER blend_mode = BLEND_OVERLAY -/obj/screen/plane_master/parallax +/atom/movable/screen/plane_master/parallax name = "parallax plane master" plane = PLANE_SPACE_PARALLAX appearance_flags = PLANE_MASTER blend_mode = BLEND_MULTIPLY -/obj/screen/plane_master/blackness +/atom/movable/screen/plane_master/blackness name = "blackness plane master" plane = BLACKNESS_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -97,7 +97,7 @@ blend_mode = BLEND_ADD appearance_flags = PLANE_MASTER | NO_CLIENT_COLOR | PIXEL_SCALE -/obj/screen/plane_master/gravpulse +/atom/movable/screen/plane_master/gravpulse name = "gravpulse plane" mouse_opacity = MOUSE_OPACITY_TRANSPARENT plane = GRAVITY_PULSE_PLANE diff --git a/code/_onclick/hud/plane_master_controller.dm b/code/_onclick/hud/plane_master_controller.dm index aa67ed35172..c5bbbb743d2 100644 --- a/code/_onclick/hud/plane_master_controller.dm +++ b/code/_onclick/hud/plane_master_controller.dm @@ -11,7 +11,7 @@ owner_hud = hud var/assoc_controlled_planes = list() for(var/i in controlled_planes) - var/obj/screen/plane_master/instance = owner_hud.plane_masters["[i]"] + var/atom/movable/screen/plane_master/instance = owner_hud.plane_masters["[i]"] assoc_controlled_planes["[i]"] = instance controlled_planes = assoc_controlled_planes @@ -19,41 +19,41 @@ /atom/movable/plane_master_controller/add_filter(name, priority, list/params) . = ..() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.add_filter(name, priority, params) ///Full override so we can just use filterrific /atom/movable/plane_master_controller/remove_filter(name_or_names) . = ..() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.remove_filter(name_or_names) /atom/movable/plane_master_controller/update_filters() . = ..() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.update_filters() ///Gets all filters for this controllers plane masters /atom/movable/plane_master_controller/proc/get_filters(name) . = list() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] . += pm_iterator.get_filter(name) ///Transitions all filters owned by this plane master controller /atom/movable/plane_master_controller/transition_filter(name, time, list/new_params, easing, loop) . = ..() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.transition_filter(name, time, new_params, easing, loop) ///Full override so we can just use filterrific /atom/movable/plane_master_controller/add_atom_colour(coloration, colour_priority) . = ..() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.add_atom_colour(coloration, colour_priority) @@ -61,14 +61,14 @@ /atom/movable/plane_master_controller/remove_atom_colour(colour_priority, coloration) . = ..() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.remove_atom_colour(colour_priority, coloration) ///Resets the atom's color to null, and then sets it to the highest priority colour available /atom/movable/plane_master_controller/update_atom_colour() for(var/i in controlled_planes) - var/obj/screen/plane_master/pm_iterator = controlled_planes[i] + var/atom/movable/screen/plane_master/pm_iterator = controlled_planes[i] pm_iterator.update_atom_colour() diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 451e4270fe7..4ffc018f2fe 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -3,51 +3,51 @@ GLOBAL_LIST_EMPTY(radial_menus) -/obj/screen/radial +/atom/movable/screen/radial icon = 'icons/mob/radial.dmi' layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE var/datum/radial_menu/parent -/obj/screen/radial/Destroy() +/atom/movable/screen/radial/Destroy() parent = null return ..() -/obj/screen/radial/slice +/atom/movable/screen/radial/slice icon_state = "radial_slice" var/choice var/next_page = FALSE -/obj/screen/radial/slice/MouseEntered(location, control, params) +/atom/movable/screen/radial/slice/MouseEntered(location, control, params) . = ..() icon_state = "radial_slice_focus" openToolTip(usr, src, params, title = name) -/obj/screen/radial/slice/MouseExited(location, control, params) +/atom/movable/screen/radial/slice/MouseExited(location, control, params) . = ..() icon_state = "radial_slice" closeToolTip(usr) -/obj/screen/radial/slice/Click(location, control, params) +/atom/movable/screen/radial/slice/Click(location, control, params) if(usr.client == parent.current_user) if(next_page) parent.next_page() else parent.element_chosen(choice,usr) -/obj/screen/radial/center +/atom/movable/screen/radial/center name = "Close Menu" icon_state = "radial_center" -/obj/screen/radial/center/Click(location, control, params) +/atom/movable/screen/radial/center/Click(location, control, params) if(usr.client == parent.current_user) parent.finished = TRUE -/obj/screen/radial/center/MouseEntered(location, control, params) +/atom/movable/screen/radial/center/MouseEntered(location, control, params) . = ..() openToolTip(usr, src, params, title = name) -/obj/screen/radial/center/MouseExited(location, control, params) +/atom/movable/screen/radial/center/MouseExited(location, control, params) . = ..() closeToolTip(usr) @@ -59,8 +59,8 @@ GLOBAL_LIST_EMPTY(radial_menus) var/selected_choice - var/list/obj/screen/elements = list() - var/obj/screen/radial/center/close_button + var/list/atom/movable/screen/elements = list() + var/atom/movable/screen/radial/center/close_button var/client/current_user var/atom/movable/anchor var/pixel_x_difference @@ -94,7 +94,7 @@ GLOBAL_LIST_EMPTY(radial_menus) if(elements.len < max_elements) var/elements_to_add = max_elements - elements.len for(var/i in 1 to elements_to_add) //Create all elements - var/obj/screen/radial/new_element = new /obj/screen/radial/slice + var/atom/movable/screen/radial/new_element = new /atom/movable/screen/radial/slice new_element.parent = src elements += new_element @@ -128,14 +128,14 @@ GLOBAL_LIST_EMPTY(radial_menus) pixel_x_difference = ((world.icon_size * anchor.x) + anchor.step_x + anchor.pixel_x) - ((world.icon_size * current_user.mob.x) + current_user.mob.step_x + current_user.mob.pixel_x) pixel_y_difference = ((world.icon_size * anchor.y) + anchor.step_y + anchor.pixel_y) - ((world.icon_size * current_user.mob.y) + current_user.mob.step_y + current_user.mob.pixel_y) for(var/i in 1 to elements.len) - var/obj/screen/radial/E = elements[i] + var/atom/movable/screen/radial/E = elements[i] var/angle = WRAP(starting_angle + (i - 1) * angle_per_element, 0, 360) if(i > page_choices.len) HideElement(E) else SetElement(E,page_choices[i], angle) -/datum/radial_menu/proc/HideElement(obj/screen/radial/slice/E) +/datum/radial_menu/proc/HideElement(atom/movable/screen/radial/slice/E) E.cut_overlays() E.alpha = 0 E.name = "None" @@ -144,7 +144,7 @@ GLOBAL_LIST_EMPTY(radial_menus) E.choice = null E.next_page = FALSE -/datum/radial_menu/proc/SetElement(obj/screen/radial/slice/E, choice_id, angle) +/datum/radial_menu/proc/SetElement(atom/movable/screen/radial/slice/E, choice_id, angle) //Position E.pixel_y = round(cos(angle) * radius) + py_shift E.pixel_x = round(sin(angle) * radius) diff --git a/code/_onclick/hud/robot_hud.dm b/code/_onclick/hud/robot_hud.dm index 1ec455d9274..c34807563c5 100644 --- a/code/_onclick/hud/robot_hud.dm +++ b/code/_onclick/hud/robot_hud.dm @@ -1,11 +1,11 @@ -/obj/screen/robot +/atom/movable/screen/robot icon = 'icons/mob/screen_robot.dmi' -/obj/screen/robot/module +/atom/movable/screen/robot/module name = "cyborg module" icon_state = "nomod" -/obj/screen/robot/module/Click() +/atom/movable/screen/robot/module/Click() if(isrobot(usr)) var/mob/living/silicon/robot/R = usr if(R.module) @@ -13,76 +13,76 @@ return 1 R.pick_module() -/obj/screen/robot/module1 +/atom/movable/screen/robot/module1 name = "module1" icon_state = "inv1" -/obj/screen/robot/module1/Click() +/atom/movable/screen/robot/module1/Click() if(isrobot(usr)) var/mob/living/silicon/robot/R = usr R.toggle_module(1) -/obj/screen/robot/module2 +/atom/movable/screen/robot/module2 name = "module2" icon_state = "inv2" -/obj/screen/robot/module2/Click() +/atom/movable/screen/robot/module2/Click() if(isrobot(usr)) var/mob/living/silicon/robot/R = usr R.toggle_module(2) -/obj/screen/robot/module3 +/atom/movable/screen/robot/module3 name = "module3" icon_state = "inv3" -/obj/screen/robot/module3/Click() +/atom/movable/screen/robot/module3/Click() if(isrobot(usr)) var/mob/living/silicon/robot/R = usr R.toggle_module(3) -/obj/screen/robot/radio +/atom/movable/screen/robot/radio name = "radio" icon_state = "radio" -/obj/screen/robot/radio/Click() +/atom/movable/screen/robot/radio/Click() if(issilicon(usr)) var/mob/living/silicon/robot/R = usr R.radio_menu() -/obj/screen/robot/store +/atom/movable/screen/robot/store name = "store" icon_state = "store" -/obj/screen/robot/store/Click() +/atom/movable/screen/robot/store/Click() if(isrobot(usr)) var/mob/living/silicon/robot/R = usr R.uneq_active() R.hud_used.update_robot_modules_display() -/obj/screen/robot/lamp +/atom/movable/screen/robot/lamp name = "Toggle Headlamp" icon_state = "lamp0" screen_loc = ui_borg_lamp -/obj/screen/robot/lamp/Click() +/atom/movable/screen/robot/lamp/Click() if(isrobot(usr)) var/mob/living/silicon/robot/R = usr R.control_headlamp() -/obj/screen/robot/thrusters +/atom/movable/screen/robot/thrusters name = "ion thrusters" icon_state = "ionpulse0" -/obj/screen/robot/thrusters/Click() +/atom/movable/screen/robot/thrusters/Click() var/mob/living/silicon/robot/R = usr R.toggle_ionpulse() -/obj/screen/robot/mov_intent +/atom/movable/screen/robot/mov_intent name = "fast/slow toggle" icon_state = "running" -/obj/screen/robot/mov_intent/Click() +/atom/movable/screen/robot/mov_intent/Click() usr.toggle_move_intent() @@ -93,31 +93,31 @@ /datum/hud/robot/New(mob/user) ..() - var/obj/screen/using + var/atom/movable/screen/using var/mob/living/silicon/robot/mymobR = mymob //Language menu - using = new /obj/screen/language_menu + using = new /atom/movable/screen/language_menu using.screen_loc = ui_borg_lanugage_menu static_inventory += using //Radio - using = new /obj/screen/robot/radio() + using = new /atom/movable/screen/robot/radio() using.screen_loc = ui_borg_radio static_inventory += using //Module select - using = new /obj/screen/robot/module1() + using = new /atom/movable/screen/robot/module1() using.screen_loc = ui_inv1 static_inventory += using mymobR.inv1 = using - using = new /obj/screen/robot/module2() + using = new /atom/movable/screen/robot/module2() using.screen_loc = ui_inv2 static_inventory += using mymobR.inv2 = using - using = new /obj/screen/robot/module3() + using = new /atom/movable/screen/robot/module3() using.screen_loc = ui_inv3 static_inventory += using mymobR.inv3 = using @@ -125,55 +125,55 @@ //End of module select //Sec/Med HUDs - using = new /obj/screen/ai/sensors() + using = new /atom/movable/screen/ai/sensors() using.screen_loc = ui_borg_sensor static_inventory += using //Intent // Attack intent - using = new /obj/screen/act_intent/robot() + using = new /atom/movable/screen/act_intent/robot() using.icon_state = mymob.a_intent static_inventory += using action_intent = using // Movement intent - using = new /obj/screen/robot/mov_intent() + using = new /atom/movable/screen/robot/mov_intent() using.icon_state = (mymob.m_intent == MOVE_INTENT_RUN ? "running" : "walking") static_inventory += using using.screen_loc = ui_movi move_intent = using //Health - mymob.healths = new /obj/screen/healths/robot() + mymob.healths = new /atom/movable/screen/healths/robot() infodisplay += mymob.healths //Installed Module - mymobR.hands = new /obj/screen/robot/module() + mymobR.hands = new /atom/movable/screen/robot/module() mymobR.hands.screen_loc = ui_borg_module static_inventory += mymobR.hands - module_store_icon = new /obj/screen/robot/store() + module_store_icon = new /atom/movable/screen/robot/store() module_store_icon.screen_loc = ui_borg_store - mymob.pullin = new /obj/screen/pull() + mymob.pullin = new /atom/movable/screen/pull() mymob.pullin.icon = 'icons/mob/screen_robot.dmi' mymob.pullin.hud = src mymob.pullin.update_icon(UPDATE_ICON_STATE) mymob.pullin.screen_loc = ui_borg_pull hotkeybuttons += mymob.pullin - zone_select = new /obj/screen/zone_sel/robot() + zone_select = new /atom/movable/screen/zone_sel/robot() zone_select.hud = src zone_select.update_icon(UPDATE_OVERLAYS) static_inventory += zone_select //Headlamp - mymobR.lamp_button = new /obj/screen/robot/lamp() + mymobR.lamp_button = new /atom/movable/screen/robot/lamp() mymobR.lamp_button.screen_loc = ui_borg_lamp static_inventory += mymobR.lamp_button //Thrusters - using = new /obj/screen/robot/thrusters() + using = new /atom/movable/screen/robot/thrusters() using.screen_loc = ui_borg_thrusters static_inventory += using mymobR.thruster_button = using diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 492e0e01cb5..c68d9c797cc 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -1,34 +1,44 @@ /* - Screen objects + Screen "objects" Todo: improve/re-implement Screen objects are only used for the hud and should not appear anywhere "in-game". + They are not actually objects, which is counterintuitive to their name. They are used with the client/screen list and the screen_loc var. For more information, see the byond documentation on the screen_loc and screen vars. */ -/obj/screen +/atom/movable/screen name = "" icon = 'icons/mob/screen_gen.dmi' layer = HUD_LAYER plane = HUD_PLANE flags = NO_SCREENTIPS - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/datum/hud/hud = null appearance_flags = NO_CLIENT_COLOR + /** + * Map name assigned to this object. + * Automatically set by /client/proc/add_obj_to_map. + */ + var/assigned_map + /** + * Mark this object as garbage-collectible after you clean the map + * it was registered on. + * + * This could probably be changed to be a proc, for conditional removal. + * But for now, this works. + */ + var/del_on_map_removal = TRUE -/obj/screen/take_damage() - return - -/obj/screen/Destroy() +/atom/movable/screen/Destroy() master = null hud = null return ..() -/obj/screen/proc/component_click(obj/screen/component_button/component, params) +/atom/movable/screen/proc/component_click(atom/movable/screen/component_button/component, params) return -/obj/screen/text +/atom/movable/screen/text icon = null icon_state = null mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -36,44 +46,44 @@ maptext_height = 480 maptext_width = 480 -/obj/screen/close +/atom/movable/screen/close name = "close" layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE -/obj/screen/close/Click() +/atom/movable/screen/close/Click() if(master) if(isstorage(master)) var/obj/item/storage/S = master S.close(usr) return 1 -/obj/screen/drop +/atom/movable/screen/drop name = "drop" icon_state = "act_drop" -/obj/screen/drop/Click() +/atom/movable/screen/drop/Click() usr.drop_item_v() -/obj/screen/grab +/atom/movable/screen/grab name = "grab" -/obj/screen/grab/Click() +/atom/movable/screen/grab/Click() var/obj/item/grab/G = master G.s_click(src) return 1 -/obj/screen/grab/attack_hand() +/atom/movable/screen/grab/attack_hand() return -/obj/screen/grab/attackby() +/atom/movable/screen/grab/attackby() return -/obj/screen/act_intent +/atom/movable/screen/act_intent name = "intent" icon_state = "help" screen_loc = ui_acti -/obj/screen/act_intent/Click(location, control, params) +/atom/movable/screen/act_intent/Click(location, control, params) if(ishuman(usr)) var/_x = text2num(params2list(params)["icon-x"]) var/_y = text2num(params2list(params)["icon-y"]) @@ -88,69 +98,69 @@ else usr.a_intent_change("right") -/obj/screen/act_intent/alien +/atom/movable/screen/act_intent/alien icon = 'icons/mob/screen_alien.dmi' screen_loc = ui_acti -/obj/screen/act_intent/robot +/atom/movable/screen/act_intent/robot icon = 'icons/mob/screen_robot.dmi' screen_loc = ui_borg_intents -/obj/screen/act_intent/robot/AI +/atom/movable/screen/act_intent/robot/AI screen_loc = "SOUTH+1:6,EAST-1:32" -/obj/screen/mov_intent +/atom/movable/screen/mov_intent name = "run/walk toggle" icon_state = "running" -/obj/screen/act_intent/simple_animal +/atom/movable/screen/act_intent/simple_animal icon = 'icons/mob/screen_simplemob.dmi' screen_loc = ui_acti -/obj/screen/act_intent/guardian +/atom/movable/screen/act_intent/guardian icon = 'icons/mob/guardian.dmi' screen_loc = ui_acti -/obj/screen/mov_intent/Click() +/atom/movable/screen/mov_intent/Click() usr.toggle_move_intent() -/obj/screen/pull +/atom/movable/screen/pull name = "stop pulling" icon_state = "pull" -/obj/screen/pull/Click() +/atom/movable/screen/pull/Click() usr.stop_pulling() -/obj/screen/pull/update_icon_state() +/atom/movable/screen/pull/update_icon_state() if(hud?.mymob?.pulling) icon_state = "pull" else icon_state = "pull0" -/obj/screen/resist +/atom/movable/screen/resist name = "resist" icon = 'icons/mob/screen_midnight.dmi' icon_state = "act_resist" -/obj/screen/resist/Click() +/atom/movable/screen/resist/Click() if(isliving(usr)) var/mob/living/L = usr L.resist() -/obj/screen/throw_catch +/atom/movable/screen/throw_catch name = "throw/catch" icon = 'icons/mob/screen_midnight.dmi' icon_state = "act_throw_off" -/obj/screen/throw_catch/Click() +/atom/movable/screen/throw_catch/Click() if(iscarbon(usr)) var/mob/living/carbon/C = usr C.toggle_throw_mode() -/obj/screen/storage +/atom/movable/screen/storage name = "storage" -/obj/screen/storage/Click(location, control, params) +/atom/movable/screen/storage/Click(location, control, params) if(world.time <= usr.next_move) return TRUE if(usr.incapacitated(ignore_restraints = TRUE)) @@ -163,7 +173,7 @@ master.attackby(I, usr, params) return TRUE -/obj/screen/storage/proc/is_item_accessible(obj/item/I, mob/user) +/atom/movable/screen/storage/proc/is_item_accessible(obj/item/I, mob/user) if(!user || !I) return FALSE @@ -180,7 +190,7 @@ return TRUE return FALSE -/obj/screen/storage/MouseDrop_T(obj/item/I, mob/user) +/atom/movable/screen/storage/MouseDrop_T(obj/item/I, mob/user) if(!user || !istype(I) || user.incapacitated(ignore_restraints = TRUE) || ismecha(user.loc) || !master) return @@ -219,7 +229,7 @@ S.attackby(I, user) return TRUE -/obj/screen/zone_sel +/atom/movable/screen/zone_sel name = "damage zone" icon_state = "zone_sel" screen_loc = ui_zonesel @@ -228,7 +238,7 @@ var/static/list/hover_overlays_cache = list() var/hovering -/obj/screen/zone_sel/Click(location, control,params) +/atom/movable/screen/zone_sel/Click(location, control,params) if(isobserver(usr)) return @@ -241,11 +251,11 @@ return set_selected_zone(choice, usr) -/obj/screen/zone_sel/MouseEntered(location, control, params) +/atom/movable/screen/zone_sel/MouseEntered(location, control, params) . = ..() MouseMove(location, control, params) -/obj/screen/zone_sel/MouseMove(location, control, params) +/atom/movable/screen/zone_sel/MouseMove(location, control, params) if(isobserver(usr)) return @@ -275,13 +285,13 @@ layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE -/obj/screen/zone_sel/MouseExited(location, control, params) +/atom/movable/screen/zone_sel/MouseExited(location, control, params) if(!isobserver(usr) && hovering) cut_overlay(hover_overlays_cache[hovering]) hovering = null return ..() -/obj/screen/zone_sel/proc/get_zone_at(icon_x, icon_y) +/atom/movable/screen/zone_sel/proc/get_zone_at(icon_x, icon_y) switch(icon_y) if(1 to 3) //Feet switch(icon_x) @@ -325,7 +335,7 @@ return "eyes" return "head" -/obj/screen/zone_sel/proc/set_selected_zone(choice) +/atom/movable/screen/zone_sel/proc/set_selected_zone(choice) if(!hud) return if(isobserver(hud.mymob)) @@ -334,58 +344,58 @@ if(choice != selecting) selecting = choice update_icon(UPDATE_OVERLAYS) - return 1 + return TRUE -/obj/screen/zone_sel/update_overlays() +/atom/movable/screen/zone_sel/update_overlays() . = ..() var/image/sel = image(overlay_file, "[selecting]") sel.appearance_flags = RESET_COLOR . += sel hud.mymob.zone_selected = selecting -/obj/screen/zone_sel/alien +/atom/movable/screen/zone_sel/alien icon = 'icons/mob/screen_alien.dmi' overlay_file = 'icons/mob/screen_alien.dmi' -/obj/screen/zone_sel/robot +/atom/movable/screen/zone_sel/robot icon = 'icons/mob/screen_robot.dmi' -/obj/screen/craft +/atom/movable/screen/craft name = "crafting menu" icon = 'icons/mob/screen_midnight.dmi' icon_state = "craft" screen_loc = ui_crafting -/obj/screen/craft/Click() +/atom/movable/screen/craft/Click() var/mob/living/M = usr M.OpenCraftingMenu() -/obj/screen/language_menu +/atom/movable/screen/language_menu name = "language menu" icon = 'icons/mob/screen_midnight.dmi' icon_state = "talk_wheel" screen_loc = ui_language_menu -/obj/screen/language_menu/Click() +/atom/movable/screen/language_menu/Click() var/mob/M = usr if(!istype(M)) return M.check_languages() -/obj/screen/inventory +/atom/movable/screen/inventory var/slot_id //The indentifier for the slot. It has nothing to do with ID cards. var/list/object_overlays = list() -/obj/screen/inventory/MouseEntered() +/atom/movable/screen/inventory/MouseEntered() . = ..() add_overlays() -/obj/screen/inventory/MouseExited() +/atom/movable/screen/inventory/MouseExited() ..() cut_overlay(object_overlays) object_overlays.Cut() -/obj/screen/inventory/proc/add_overlays() +/atom/movable/screen/inventory/proc/add_overlays() var/mob/user = hud.mymob if(hud && user && slot_id) @@ -405,7 +415,7 @@ object_overlays += item_overlay add_overlay(object_overlays) -/obj/screen/inventory/MouseDrop(atom/over) +/atom/movable/screen/inventory/MouseDrop(atom/over) cut_overlay(object_overlays) object_overlays.Cut() if(could_be_click_lag()) @@ -414,7 +424,7 @@ return return ..() -/obj/screen/inventory/Click(location, control, params) +/atom/movable/screen/inventory/Click(location, control, params) // At this point in client Click() code we have passed the 1/10 sec check and little else // We don't even know if it's a middle click if(world.time <= usr.next_move) @@ -432,14 +442,14 @@ if(usr.attack_ui(slot_id)) usr.update_inv_l_hand() usr.update_inv_r_hand() - return 1 + return TRUE -/obj/screen/inventory/hand +/atom/movable/screen/inventory/hand var/image/active_overlay var/image/handcuff_overlay var/static/mutable_appearance/blocked_overlay = mutable_appearance('icons/mob/screen_gen.dmi', "blocked") -/obj/screen/inventory/hand/update_overlays() +/atom/movable/screen/inventory/hand/update_overlays() . = ..() if(!active_overlay) active_overlay = image("icon"=icon, "icon_state"="hand_active") @@ -462,7 +472,7 @@ else if(slot_id == SLOT_HUD_RIGHT_HAND && !hud.mymob.hand) . += active_overlay -/obj/screen/inventory/hand/Click() +/atom/movable/screen/inventory/hand/Click() // At this point in client Click() code we have passed the 1/10 sec check and little else // We don't even know if it's a middle click if(world.time <= usr.next_move) @@ -479,12 +489,12 @@ M.activate_hand("r") if("left hand", "l_hand") M.activate_hand("l") - return 1 + return TRUE -/obj/screen/swap_hand +/atom/movable/screen/swap_hand name = "swap hand" -/obj/screen/swap_hand/Click() +/atom/movable/screen/swap_hand/Click() // At this point in client Click() code we have passed the 1/10 sec check and little else // We don't even know if it's a middle click if(world.time <= usr.next_move) @@ -498,57 +508,57 @@ M.swap_hand() return 1 -/obj/screen/healths +/atom/movable/screen/healths name = "health" icon_state = "health0" screen_loc = ui_health -/obj/screen/healths/alien +/atom/movable/screen/healths/alien icon = 'icons/mob/screen_alien.dmi' screen_loc = ui_alien_health -/obj/screen/healths/bot +/atom/movable/screen/healths/bot icon = 'icons/mob/screen_bot.dmi' screen_loc = ui_borg_health -/obj/screen/healths/robot +/atom/movable/screen/healths/robot icon = 'icons/mob/screen_robot.dmi' screen_loc = ui_borg_health -/obj/screen/healths/corgi +/atom/movable/screen/healths/corgi icon = 'icons/mob/screen_corgi.dmi' -/obj/screen/healths/slime +/atom/movable/screen/healths/slime icon = 'icons/mob/screen_slime.dmi' icon_state = "slime_health0" screen_loc = ui_slime_health mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/obj/screen/healths/guardian +/atom/movable/screen/healths/guardian name = "summoner health" icon = 'icons/mob/guardian.dmi' icon_state = "base" screen_loc = ui_health mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/obj/screen/healthdoll +/atom/movable/screen/healthdoll name = "health doll" icon_state = "healthdoll_DEAD" screen_loc = ui_healthdoll var/list/cached_healthdoll_overlays = list() // List of icon states (strings) for overlays -/obj/screen/healthdoll/Click() +/atom/movable/screen/healthdoll/Click() if(ishuman(usr) && !usr.is_dead()) var/mob/living/carbon/H = usr H.check_self_for_injuries() -/obj/screen/component_button - var/obj/screen/parent +/atom/movable/screen/component_button + var/atom/movable/screen/parent -/obj/screen/component_button/Initialize(mapload, obj/screen/new_parent) +/atom/movable/screen/component_button/Initialize(mapload, atom/movable/screen/new_parent) . = ..() parent = new_parent -/obj/screen/component_button/Click(params) +/atom/movable/screen/component_button/Click(params) if(parent) parent.component_click(src, params) diff --git a/code/_onclick/hud/screentip.dm b/code/_onclick/hud/screentip.dm index beb8f033b9f..542c96e626f 100644 --- a/code/_onclick/hud/screentip.dm +++ b/code/_onclick/hud/screentip.dm @@ -1,4 +1,4 @@ -/obj/screen/screentip +/atom/movable/screen/screentip icon = null mouse_opacity = MOUSE_OPACITY_TRANSPARENT screen_loc = "TOP,LEFT" @@ -7,12 +7,12 @@ maptext_y = -50 maptext = "" -/obj/screen/screentip/Initialize(mapload, _hud) +/atom/movable/screen/screentip/Initialize(mapload, _hud) . = ..() hud = _hud update_view() -/obj/screen/screentip/proc/update_view(datum/source) +/atom/movable/screen/screentip/proc/update_view(datum/source) if(!hud) //Might not have been initialized by now return maptext_width = getviewsize(hud.mymob.client.view)[1] * world.icon_size diff --git a/code/_onclick/hud/slime_hud.dm b/code/_onclick/hud/slime_hud.dm index 273991a83c8..58a579e3599 100644 --- a/code/_onclick/hud/slime_hud.dm +++ b/code/_onclick/hud/slime_hud.dm @@ -1,6 +1,6 @@ /datum/hud/slime/New(mob/living/simple_animal/slime/owner, ui_style = 'icons/mob/screen_slime.dmi') ..() - mymob.healths = new /obj/screen/healths/slime() + mymob.healths = new /atom/movable/screen/healths/slime() infodisplay += mymob.healths /mob/living/simple_animal/slime/create_mob_hud() diff --git a/code/controllers/subsystem/SSdebugview.dm b/code/controllers/subsystem/SSdebugview.dm index 0f973a5deb2..bbc2082c582 100644 --- a/code/controllers/subsystem/SSdebugview.dm +++ b/code/controllers/subsystem/SSdebugview.dm @@ -44,7 +44,7 @@ SUBSYSTEM_DEF(debugview) C.debug_text_overlay.maptext = "[out_text]" /datum/controller/subsystem/debugview/proc/start_processing(client/C) - C.debug_text_overlay = new /obj/screen/debugtextholder(null, C) + C.debug_text_overlay = new /atom/movable/screen/debugtextholder(null, C) C.screen |= C.debug_text_overlay processing |= C @@ -53,7 +53,7 @@ SUBSYSTEM_DEF(debugview) C.screen -= C.debug_text_overlay QDEL_NULL(C.debug_text_overlay) -/obj/screen/debugtextholder +/atom/movable/screen/debugtextholder icon = 'icons/mob/screen_full.dmi' icon_state = "empty" screen_loc = "TOP,LEFT" @@ -61,11 +61,11 @@ SUBSYSTEM_DEF(debugview) maptext_height = 480 // 15 * 32 (15 tiles, 32 pixels each) maptext_width = 480 // changes with prefs -/obj/screen/debugtextholder/Initialize(mapload, client/C) +/atom/movable/screen/debugtextholder/Initialize(mapload, client/C) . = ..() update_view(C) -/obj/screen/debugtextholder/proc/update_view(client/C) +/atom/movable/screen/debugtextholder/proc/update_view(client/C) var/list/viewsizes = getviewsize(C.view) maptext_width = viewsizes[1] * world.icon_size diff --git a/code/controllers/subsystem/SSghost_spawns.dm b/code/controllers/subsystem/SSghost_spawns.dm index 9811088f742..80e275ce9a1 100644 --- a/code/controllers/subsystem/SSghost_spawns.dm +++ b/code/controllers/subsystem/SSghost_spawns.dm @@ -70,7 +70,7 @@ SUBSYSTEM_DEF(ghost_spawns) // If we somehow send two polls for the same mob type, but with a duration on the second one shorter than the time left on the first one, // we need to keep the first one's timeout rather than use the shorter one - var/obj/screen/alert/notify_action/current_alert = LAZYACCESS(M.alerts, category) + var/atom/movable/screen/alert/notify_action/current_alert = LAZYACCESS(M.alerts, category) var/alert_time = poll_time var/alert_poll = P if(current_alert && current_alert.timeout > (world.time + poll_time - world.tick_lag)) @@ -78,7 +78,7 @@ SUBSYSTEM_DEF(ghost_spawns) alert_poll = current_alert.poll // Send them an on-screen alert - var/obj/screen/alert/notify_action/A = M.throw_alert(category, /obj/screen/alert/notify_action, timeout_override = alert_time, no_anim = TRUE) + var/atom/movable/screen/alert/notify_action/A = M.throw_alert(category, /atom/movable/screen/alert/notify_action, timeout_override = alert_time, no_anim = TRUE) if(!A) continue diff --git a/code/controllers/subsystem/SSparallax.dm b/code/controllers/subsystem/SSparallax.dm index c0beb503d66..99024fd0d1e 100644 --- a/code/controllers/subsystem/SSparallax.dm +++ b/code/controllers/subsystem/SSparallax.dm @@ -17,7 +17,7 @@ SUBSYSTEM_DEF(parallax) /datum/controller/subsystem/parallax/PreInit() . = ..() if(prob(70)) //70% chance to pick a special extra layer - random_layer = pick(/obj/screen/parallax_layer/random/space_gas, /obj/screen/parallax_layer/random/asteroids) + random_layer = pick(/atom/movable/screen/parallax_layer/random/space_gas, /atom/movable/screen/parallax_layer/random/asteroids) random_parallax_color = pick(COLOR_TEAL, COLOR_GREEN, COLOR_SILVER, COLOR_YELLOW, COLOR_CYAN, COLOR_ORANGE, COLOR_PURPLE) //Special color for random_layer1. Has to be done here so everyone sees the same color. planet_y_offset = rand(100, 160) planet_x_offset = rand(100, 160) diff --git a/code/controllers/subsystem/SSticker.dm b/code/controllers/subsystem/SSticker.dm index 8713ce74d49..864eca69384 100644 --- a/code/controllers/subsystem/SSticker.dm +++ b/code/controllers/subsystem/SSticker.dm @@ -54,7 +54,7 @@ SUBSYSTEM_DEF(ticker) /// Holder for inital autotransfer vote timer var/next_autotransfer = 0 /// Used for station explosion cinematic - var/obj/screen/cinematic = null + var/atom/movable/screen/cinematic = null /// Spam Prevention. Announce round end only once. var/round_end_announced = FALSE /// Is the ticker currently processing? If FALSE, roundstart is delayed @@ -364,7 +364,7 @@ SUBSYSTEM_DEF(ticker) auto_toggle_ooc(TRUE) // Turn it on //initialise our cinematic screen object - cinematic = new /obj/screen(src) + cinematic = new /atom/movable/screen(src) cinematic.icon = 'icons/effects/station_explosion.dmi' cinematic.icon_state = "station_intact" cinematic.layer = 21 diff --git a/code/datums/action.dm b/code/datums/action.dm index 0e6dc66076d..18fd4086774 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -12,7 +12,7 @@ var/desc = null var/obj/target = null var/check_flags = 0 - var/obj/screen/movable/action_button/button = null + var/atom/movable/screen/movable/action_button/button = null var/button_icon = 'icons/mob/actions/actions.dmi' var/background_icon_state = "bg_default" var/buttontooltipstyle = "" @@ -129,7 +129,7 @@ img.plane = FLOAT_PLANE + 1 button.add_overlay(img) -/datum/action/proc/ApplyIcon(obj/screen/movable/action_button/current_button) +/datum/action/proc/ApplyIcon(atom/movable/screen/movable/action_button/current_button) current_button.cut_overlays() if(icon_icon && button_icon_state) var/image/img = image(icon_icon, current_button, button_icon_state) @@ -165,7 +165,7 @@ I.ui_action_click(owner, type, left_click) return TRUE -/datum/action/item_action/ApplyIcon(obj/screen/movable/action_button/current_button) +/datum/action/item_action/ApplyIcon(atom/movable/screen/movable/action_button/current_button) if(use_itemicon) if(target) var/obj/item/I = target @@ -436,7 +436,7 @@ owner.research_scanner = FALSE ..() -/datum/action/item_action/toggle_research_scanner/ApplyIcon(obj/screen/movable/action_button/current_button) +/datum/action/item_action/toggle_research_scanner/ApplyIcon(atom/movable/screen/movable/action_button/current_button) current_button.cut_overlays() if(button_icon && button_icon_state) var/image/img = image(button_icon, current_button, "scan_mode") diff --git a/code/datums/click_intercept.dm b/code/datums/click_intercept.dm index 953e1272602..78e8c8725f7 100644 --- a/code/datums/click_intercept.dm +++ b/code/datums/click_intercept.dm @@ -8,8 +8,8 @@ /datum/click_intercept /// A reference to the client which is assigned this click intercept datum. var/client/holder = null - /// Any `obj/screen/buttons` the client is meant to receive when assigned this click intercept datum. - var/list/obj/screen/buttons = list() + /// Any `atom/movable/screen/buttons` the client is meant to receive when assigned this click intercept datum. + var/list/atom/movable/screen/buttons = list() /datum/click_intercept/New(client/C) create_buttons() diff --git a/code/datums/keybindings/mob_keybinds.dm b/code/datums/keybindings/mob_keybinds.dm index d2b3d2c9034..55122bff793 100644 --- a/code/datums/keybindings/mob_keybinds.dm +++ b/code/datums/keybindings/mob_keybinds.dm @@ -168,7 +168,7 @@ if(!C.check_has_body_select()) return - var/obj/screen/zone_sel/selector = C.mob.hud_used.zone_select + var/atom/movable/screen/zone_sel/selector = C.mob.hud_used.zone_select selector.set_selected_zone(body_part, C.mob) /datum/keybinding/mob/target/head diff --git a/code/datums/spells/mimic.dm b/code/datums/spells/mimic.dm index b7fe668761d..15c1481c8fe 100644 --- a/code/datums/spells/mimic.dm +++ b/code/datums/spells/mimic.dm @@ -19,7 +19,7 @@ var/perfect_disguise = FALSE var/static/list/black_listed_form_types = list( - /obj/screen, + /atom/movable/screen, /obj/singularity, /obj/effect, /mob/living/simple_animal/hostile/megafauna, diff --git a/code/datums/status_effects/blob_burst.dm b/code/datums/status_effects/blob_burst.dm index 37170782b93..d1381612a2c 100644 --- a/code/datums/status_effects/blob_burst.dm +++ b/code/datums/status_effects/blob_burst.dm @@ -1,5 +1,5 @@ /datum/status_effect/blob_burst - alert_type = /obj/screen/alert/status_effect/blob_burst + alert_type = /atom/movable/screen/alert/status_effect/blob_burst var/datum/callback/blob_burst_callback /datum/status_effect/blob_burst/on_creation(mob/living/new_owner, duration = 120 SECONDS, datum/callback/burst_callback) @@ -20,7 +20,7 @@ /datum/status_effect/blob_burst/on_timeout() blob_burst_callback.Invoke() -/obj/screen/alert/status_effect/blob_burst +/atom/movable/screen/alert/status_effect/blob_burst name = "Blob burst" desc = "You're about to burst into a blob, be sure to find a safe place before that you burst!" icon = 'icons/mob/blob.dmi' diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 61143bc0cca..7210c6a9cb5 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -4,18 +4,18 @@ id = "his_grace" duration = -1 tick_interval = 4 - alert_type = /obj/screen/alert/status_effect/his_grace + alert_type = /atom/movable/screen/alert/status_effect/his_grace var/bloodlust = 0 /// Attached His Grace toolbox var/obj/item/his_grace/toolbox -/obj/screen/alert/status_effect/his_grace +/atom/movable/screen/alert/status_effect/his_grace name = "His Grace" desc = "His Grace hungers, and you must feed Him." icon_state = "his_grace" alerttooltipstyle = "hisgrace" -/obj/screen/alert/status_effect/his_grace/MouseEntered(location, control, params) +/atom/movable/screen/alert/status_effect/his_grace/MouseEntered(location, control, params) desc = initial(desc) var/datum/status_effect/his_grace/HG = attached_effect desc += "
Current Bloodthirst: [HG.bloodlust]\ @@ -61,9 +61,9 @@ /datum/status_effect/shadow_mend id = "shadow_mend" duration = 3 SECONDS - alert_type = /obj/screen/alert/status_effect/shadow_mend + alert_type = /atom/movable/screen/alert/status_effect/shadow_mend -/obj/screen/alert/status_effect/shadow_mend +/atom/movable/screen/alert/status_effect/shadow_mend name = "Shadow Mend" desc = "Shadowy energies wrap around your wounds, sealing them at a price. After healing, you will slowly lose health every three seconds for thirty seconds." icon_state = "shadow_mend" @@ -88,10 +88,10 @@ duration = 30 SECONDS tick_interval = 3 SECONDS status_type = STATUS_EFFECT_REFRESH - alert_type = /obj/screen/alert/status_effect/void_price + alert_type = /atom/movable/screen/alert/status_effect/void_price var/price = 3 //This is how much hp you lose per tick. Each time the buff is refreshed, it increased by 1. Healing too much in a short period of time will cause your swift demise -/obj/screen/alert/status_effect/void_price +/atom/movable/screen/alert/status_effect/void_price name = "Void Price" desc = "Black tendrils cinch tightly against you, digging wicked barbs into your flesh." icon_state = "shadow_mend" @@ -108,10 +108,10 @@ id = "blooddrunk" duration = 10 tick_interval = 0 - alert_type = /obj/screen/alert/status_effect/blooddrunk + alert_type = /atom/movable/screen/alert/status_effect/blooddrunk var/blooddrunk_damage_mod_remove = 4 // Damage is multiplied by this at the end of the status effect. Modify this one, it changes the _add -/obj/screen/alert/status_effect/blooddrunk +/atom/movable/screen/alert/status_effect/blooddrunk name = "Blood-Drunk" desc = "You are drunk on blood! Your pulse thunders in your ears! Nothing can harm you!" //not true, and the item description mentions its actual effect icon_state = "blooddrunk" @@ -147,7 +147,7 @@ if(islist(owner.stun_absorption) && owner.stun_absorption["blooddrunk"]) owner.remove_stun_absorption("blooddrunk") -/obj/screen/alert/status_effect/dash +/atom/movable/screen/alert/status_effect/dash name = "Dash" desc = "Your have the ability to dash!" icon = 'icons/mob/actions/actions.dmi' @@ -157,16 +157,16 @@ id = "dash" duration = 5 SECONDS tick_interval = 0 - alert_type = /obj/screen/alert/status_effect/dash + alert_type = /atom/movable/screen/alert/status_effect/dash /datum/status_effect/bloodswell id = "bloodswell" duration = 30 SECONDS tick_interval = 0 - alert_type = /obj/screen/alert/status_effect/blood_swell + alert_type = /atom/movable/screen/alert/status_effect/blood_swell var/bonus_damage_applied = FALSE -/obj/screen/alert/status_effect/blood_swell +/atom/movable/screen/alert/status_effect/blood_swell name = "Blood Swell" desc = "Your body has been infused with crimson magics, your resistance to attacks has greatly increased!" icon = 'icons/mob/actions/actions.dmi' @@ -206,9 +206,9 @@ id = "vampire_gladiator" duration = 30 SECONDS tick_interval = 1 SECONDS - alert_type = /obj/screen/alert/status_effect/vampire_gladiator + alert_type = /atom/movable/screen/alert/status_effect/vampire_gladiator -/obj/screen/alert/status_effect/vampire_gladiator +/atom/movable/screen/alert/status_effect/vampire_gladiator name = "Gladiatorial Resilience" desc = "Roused by the thrill of the fight, your body has become more resistant to breaking!" icon = 'icons/mob/actions/actions.dmi' @@ -408,7 +408,7 @@ if(!heal_points) return -/obj/screen/alert/status_effect/regenerative_core +/atom/movable/screen/alert/status_effect/regenerative_core name = "Reinforcing Tendrils" desc = "You can move faster than your broken body could normally handle!" icon_state = "regenerative_core" @@ -418,7 +418,7 @@ id = "Regenerative Core" duration = 1 MINUTES status_type = STATUS_EFFECT_REPLACE - alert_type = /obj/screen/alert/status_effect/regenerative_core + alert_type = /atom/movable/screen/alert/status_effect/regenerative_core /datum/status_effect/regenerative_core/on_apply() ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, id) @@ -551,9 +551,9 @@ id = "chainsaw_slaying" duration = 5 SECONDS status_type = STATUS_EFFECT_REFRESH - alert_type = /obj/screen/alert/status_effect/chainsaw + alert_type = /atom/movable/screen/alert/status_effect/chainsaw -/obj/screen/alert/status_effect/chainsaw +/atom/movable/screen/alert/status_effect/chainsaw name = "Revved up!" desc = "... guts, huge guts! Kill them... must kill them all!" icon_state = "chainsaw" @@ -585,9 +585,9 @@ duration = -1 tick_interval = 2 SECONDS status_type = STATUS_EFFECT_UNIQUE - alert_type = /obj/screen/alert/status_effect/hope + alert_type = /atom/movable/screen/alert/status_effect/hope -/obj/screen/alert/status_effect/hope +/atom/movable/screen/alert/status_effect/hope name = "Hope." desc = "A ray of hope beyond dispair." icon_state = "hope" @@ -640,13 +640,13 @@ return ..() /datum/status_effect/drill_payback/on_apply() - owner.overlay_fullscreen("payback", /obj/screen/fullscreen/payback, 0) + owner.overlay_fullscreen("payback", /atom/movable/screen/fullscreen/payback, 0) addtimer(CALLBACK(src, PROC_REF(payback_phase_2)), 2.7 SECONDS) return TRUE /datum/status_effect/drill_payback/proc/payback_phase_2() owner.clear_fullscreen("payback") - owner.overlay_fullscreen("payback", /obj/screen/fullscreen/payback, 1) + owner.overlay_fullscreen("payback", /atom/movable/screen/fullscreen/payback, 1) /datum/status_effect/drill_payback/tick() //They are not staying down. This will be a fight. if(!drilled_successfully && (get_dist(owner, drilled) >= 9)) //We don't want someone drilling the safe at arivals then raiding bridge with the buff @@ -752,9 +752,9 @@ id = "bearserker rage" duration = 5 SECONDS status_type = STATUS_EFFECT_REFRESH - alert_type = /obj/screen/alert/status_effect/bearserker_rage + alert_type = /atom/movable/screen/alert/status_effect/bearserker_rage -/obj/screen/alert/status_effect/bearserker_rage +/atom/movable/screen/alert/status_effect/bearserker_rage name = "Bearserker Rage" desc = "Blood flows between your fingers, and Foh'Sie roars; \"MORE BLOOD!\"" icon_state = "bearserker" diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 327a8e4b3f6..efcc3c3ab28 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -5,9 +5,9 @@ id = "his_wrath" duration = -1 tick_interval = 4 - alert_type = /obj/screen/alert/status_effect/his_wrath + alert_type = /atom/movable/screen/alert/status_effect/his_wrath -/obj/screen/alert/status_effect/his_wrath +/atom/movable/screen/alert/status_effect/his_wrath name = "His Wrath" desc = "You fled from His Grace instead of feeding Him, and now you suffer." icon_state = "his_grace" @@ -188,10 +188,10 @@ id = "teleportation sickness" duration = 30 SECONDS status_type = STATUS_EFFECT_REFRESH - alert_type = /obj/screen/alert/status_effect/teleport_sickness + alert_type = /atom/movable/screen/alert/status_effect/teleport_sickness var/teleports = 1 -/obj/screen/alert/status_effect/teleport_sickness +/atom/movable/screen/alert/status_effect/teleport_sickness name = "Teleportation sickness" desc = "You feel like you are going to throw up with all this teleporting." icon_state = "bluespace" @@ -464,7 +464,7 @@ owner.Slur(actual_strength) if(!alert_thrown) alert_thrown = TRUE - owner.throw_alert("drunk", /obj/screen/alert/drunk) + owner.throw_alert("drunk", /atom/movable/screen/alert/drunk) owner.sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC // THRESHOLD_BRAWLING (60 SECONDS) if(M) @@ -1011,7 +1011,7 @@ /datum/status_effect/bubblegum_curse id = "bubblegum curse" - alert_type = /obj/screen/alert/status_effect/bubblegum_curse + alert_type = /atom/movable/screen/alert/status_effect/bubblegum_curse duration = -1 //Kill it. There is no other option. tick_interval = 1 SECONDS /// The damage the status effect does per tick. @@ -1023,7 +1023,7 @@ /datum/status_effect/bubblegum_curse/on_creation(mob/living/new_owner, mob/living/source) . = ..() source_UID = source.UID() - owner.overlay_fullscreen("Bubblegum", /obj/screen/fullscreen/fog, 1) + owner.overlay_fullscreen("Bubblegum", /atom/movable/screen/fullscreen/fog, 1) /datum/status_effect/bubblegum_curse/tick() var/mob/living/simple_animal/hostile/megafauna/bubblegum/attacker = locateUID(source_UID) @@ -1031,7 +1031,7 @@ qdel(src) if(attacker.health <= attacker.maxHealth / 2) owner.clear_fullscreen("Bubblegum") - owner.overlay_fullscreen("Bubblegum", /obj/screen/fullscreen/fog, 2) + owner.overlay_fullscreen("Bubblegum", /atom/movable/screen/fullscreen/fog, 2) if(!coward_checking) if(owner.z != attacker.z) addtimer(CALLBACK(src, PROC_REF(onstation_coward_callback)), 12 SECONDS) @@ -1123,20 +1123,20 @@ playsound(targetturf, 'sound/misc/exit_blood.ogg', 100, TRUE, -1) addtimer(CALLBACK(attacker, TYPE_PROC_REF(/mob/living/simple_animal/hostile/megafauna/bubblegum, FindTarget), list(owner), 1), 2) -/obj/screen/alert/status_effect/bubblegum_curse +/atom/movable/screen/alert/status_effect/bubblegum_curse name = "I SEE YOU" desc = "YOUR SOUL WILL BE MINE FOR YOUR INSOLENCE" icon_state = "bubblegumjumpscare" -/obj/screen/alert/status_effect/bubblegum_curse/Initialize(mapload) +/atom/movable/screen/alert/status_effect/bubblegum_curse/Initialize(mapload) . = ..() START_PROCESSING(SSobj, src) -/obj/screen/alert/status_effect/bubblegum_curse/Destroy() +/atom/movable/screen/alert/status_effect/bubblegum_curse/Destroy() STOP_PROCESSING(SSobj, src) return ..() -/obj/screen/alert/status_effect/bubblegum_curse/process() +/atom/movable/screen/alert/status_effect/bubblegum_curse/process() var/new_filter = isnull(get_filter("ray")) ray_filter_helper(1, 40,"#ce3030", 6, 20) if(new_filter) @@ -1146,10 +1146,10 @@ /datum/status_effect/abductor_cooldown id = "abductor_cooldown" - alert_type = /obj/screen/alert/status_effect/abductor_cooldown + alert_type = /atom/movable/screen/alert/status_effect/abductor_cooldown duration = 10 SECONDS -/obj/screen/alert/status_effect/abductor_cooldown +/atom/movable/screen/alert/status_effect/abductor_cooldown name = "Teleportation cooldown" desc = "Per article A-113, all experimentors must wait 10000 milliseconds between teleports in order to ensure no long term genetic or mental damage happens to experimentor or test subjects." icon_state = "bluespace" @@ -1160,7 +1160,7 @@ /// Purposebuilt for cursed slot machines. /datum/status_effect/cursed id = "cursed" - alert_type = /obj/screen/alert/status_effect/cursed + alert_type = /atom/movable/screen/alert/status_effect/cursed /// The max number of curses a target can incur with this status effect. var/max_curse_count = DEFAULT_MAX_CURSE_COUNT /// The amount of times we have been "applied" to the target. @@ -1304,12 +1304,12 @@ oxy = (curse_count * ticked_coefficient), ) -/obj/screen/alert/status_effect/cursed +/atom/movable/screen/alert/status_effect/cursed name = "Cursed!" desc = "The brand on your hand reminds you of your greed, yet you seem to be okay otherwise." icon_state = "cursed_by_slots" -/obj/screen/alert/status_effect/cursed/update_desc() +/atom/movable/screen/alert/status_effect/cursed/update_desc() . = ..() var/datum/status_effect/cursed/linked_effect = attached_effect var/curses = linked_effect.curse_count diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index 653238c6358..fa1ed6ad2af 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -2,11 +2,11 @@ id = "frozen" duration = 100 status_type = STATUS_EFFECT_UNIQUE - alert_type = /obj/screen/alert/status_effect/freon + alert_type = /atom/movable/screen/alert/status_effect/freon var/icon/cube var/can_melt = TRUE -/obj/screen/alert/status_effect/freon +/atom/movable/screen/alert/status_effect/freon name = "Frozen Solid" desc = "You're frozen inside an ice cube, and cannot move! You can still do stuff, like shooting. Resist out of the cube!" icon_state = "frozen" diff --git a/code/datums/status_effects/magic_disguise.dm b/code/datums/status_effects/magic_disguise.dm index 9da1fb8dc39..97a3640de2b 100644 --- a/code/datums/status_effects/magic_disguise.dm +++ b/code/datums/status_effects/magic_disguise.dm @@ -2,11 +2,11 @@ id = "magic_disguise" duration = -1 tick_interval = -1 - alert_type = /obj/screen/alert/status_effect/magic_disguise + alert_type = /atom/movable/screen/alert/status_effect/magic_disguise status_type = STATUS_EFFECT_REPLACE var/datum/icon_snapshot/disguise -/obj/screen/alert/status_effect/magic_disguise +/atom/movable/screen/alert/status_effect/magic_disguise name = "Disguised" desc = "You are disguised as a crewmember." icon = 'icons/mob/actions/actions.dmi' diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm index b137ffe3660..65017ada48b 100644 --- a/code/datums/status_effects/status_effect.dm +++ b/code/datums/status_effects/status_effect.dm @@ -10,8 +10,8 @@ var/status_type = STATUS_EFFECT_UNIQUE //How many of the effect can be on one mob, and what happens when you try to add another var/on_remove_on_mob_delete = FALSE //if we call on_remove() when the mob is deleted var/examine_text //If defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves - var/alert_type = /obj/screen/alert/status_effect //the alert thrown by the status effect, contains name and description - var/obj/screen/alert/status_effect/linked_alert = null //the alert itself, if it exists + var/alert_type = /atom/movable/screen/alert/status_effect //the alert thrown by the status effect, contains name and description + var/atom/movable/screen/alert/status_effect/linked_alert = null //the alert itself, if it exists /datum/status_effect/New(list/arguments) on_creation(arglist(arguments)) @@ -28,7 +28,7 @@ duration = world.time + duration tick_interval = world.time + tick_interval if(alert_type) - var/obj/screen/alert/status_effect/A = owner.throw_alert(id, alert_type) + var/atom/movable/screen/alert/status_effect/A = owner.throw_alert(id, alert_type) A.attached_effect = src //so the alert can reference us, if it needs to linked_alert = A //so we can reference the alert, if we need to if(duration > 0 || initial(tick_interval) > 0) //don't process if we don't care @@ -89,12 +89,12 @@ // ALERT HOOK // //////////////// -/obj/screen/alert/status_effect +/atom/movable/screen/alert/status_effect name = "Curse of Mundanity" desc = "You don't feel any different..." var/datum/status_effect/attached_effect -/obj/screen/alert/status_effect/Destroy() +/atom/movable/screen/alert/status_effect/Destroy() if(attached_effect) attached_effect.linked_alert = null attached_effect = null diff --git a/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm b/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm index ae03f1889da..045203e0e47 100644 --- a/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm +++ b/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm @@ -164,7 +164,7 @@ if(lum_count > 0.2) if(!thrown_alert) thrown_alert = TRUE - throw_alert("light", /obj/screen/alert/lightexposure) + throw_alert("light", /atom/movable/screen/alert/lightexposure) alpha = 255 speed = initial(speed) else diff --git a/code/game/gamemodes/miniantags/guardian/types/assassin.dm b/code/game/gamemodes/miniantags/guardian/types/assassin.dm index 33263f8fb5a..1e12643a117 100644 --- a/code/game/gamemodes/miniantags/guardian/types/assassin.dm +++ b/code/game/gamemodes/miniantags/guardian/types/assassin.dm @@ -12,8 +12,8 @@ var/toggle = FALSE var/stealthcooldown = 0 var/default_stealth_cooldown = 10 SECONDS - var/obj/screen/alert/canstealthalert - var/obj/screen/alert/instealthalert + var/atom/movable/screen/alert/canstealthalert + var/atom/movable/screen/alert/instealthalert /mob/living/simple_animal/hostile/guardian/assassin/Initialize(mapload, mob/living/host) . = ..() @@ -88,12 +88,12 @@ if(stealthcooldown <= world.time) if(toggle) if(!instealthalert) - instealthalert = throw_alert("instealth", /obj/screen/alert/instealth) + instealthalert = throw_alert("instealth", /atom/movable/screen/alert/instealth) clear_alert("canstealth") canstealthalert = null else if(!canstealthalert) - canstealthalert = throw_alert("canstealth", /obj/screen/alert/canstealth) + canstealthalert = throw_alert("canstealth", /atom/movable/screen/alert/canstealth) clear_alert("instealth") instealthalert = null else diff --git a/code/game/gamemodes/miniantags/guardian/types/charger.dm b/code/game/gamemodes/miniantags/guardian/types/charger.dm index 4e293a639d2..fd5ae62d462 100644 --- a/code/game/gamemodes/miniantags/guardian/types/charger.dm +++ b/code/game/gamemodes/miniantags/guardian/types/charger.dm @@ -11,13 +11,13 @@ tech_fluff_string = "Boot sequence complete. Charge modules loaded. Holoparasite swarm online." bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, ready to deal damage." var/charging = FALSE - var/obj/screen/alert/chargealert + var/atom/movable/screen/alert/chargealert /mob/living/simple_animal/hostile/guardian/charger/Life() . = ..() if(ranged_cooldown <= world.time) if(!chargealert) - chargealert = throw_alert("charge", /obj/screen/alert/cancharge) + chargealert = throw_alert("charge", /atom/movable/screen/alert/cancharge) else clear_alert("charge") chargealert = null diff --git a/code/game/gamemodes/miniantags/morph/spells/ambush.dm b/code/game/gamemodes/miniantags/morph/spells/ambush.dm index 2713a05beb0..36da7da9f92 100644 --- a/code/game/gamemodes/miniantags/morph/spells/ambush.dm +++ b/code/game/gamemodes/miniantags/morph/spells/ambush.dm @@ -40,7 +40,7 @@ id = "morph_ambush" duration = -1 tick_interval = MORPH_AMBUSH_PERFECTION_TIME - alert_type = /obj/screen/alert/status_effect/morph_ambush + alert_type = /atom/movable/screen/alert/status_effect/morph_ambush /datum/status_effect/morph_ambush/tick() STOP_PROCESSING(SSfastprocess, src) @@ -49,7 +49,7 @@ linked_alert.name = "Perfect Ambush!" linked_alert.desc = "You have prepared an ambush! Your disguise is flawless!" -/obj/screen/alert/status_effect/morph_ambush +/atom/movable/screen/alert/status_effect/morph_ambush name = "Ambush!" desc = "You have prepared an ambush!" icon_state = "morph_ambush" diff --git a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm index 155cb343461..b56ff367786 100644 --- a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm +++ b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm @@ -502,7 +502,7 @@ // 2 * initial_rate - upgrade_level rate += initial(health_loss_rate) adjustHealth(rate) - throw_alert(ALERT_CATEGORY_NOPOWER, /obj/screen/alert/pulse_nopower) + throw_alert(ALERT_CATEGORY_NOPOWER, /atom/movable/screen/alert/pulse_nopower) if(regen_lock > 0) if(--regen_lock == 0) @@ -704,7 +704,7 @@ return visible_message("[src] [pick("fizzles", "wails", "flails")] in anguish!") playsound(get_turf(src), pick(hurt_sounds), 30, TRUE) - throw_alert(ALERT_CATEGORY_NOREGEN, /obj/screen/alert/pulse_noregen) + throw_alert(ALERT_CATEGORY_NOREGEN, /atom/movable/screen/alert/pulse_noregen) switch(severity) if(EMP_LIGHT) adjustHealth(round(max(initial(health) / 4, round(maxHealth / 8)))) @@ -843,12 +843,12 @@ cell_location.update_icon() //update power meters and such cell_to_charge.update_icon() -/obj/screen/alert/pulse_nopower +/atom/movable/screen/alert/pulse_nopower name = "No Power" desc = "You are not connected to a cable or machine and are losing health!" icon_state = "pd_nopower" -/obj/screen/alert/pulse_noregen +/atom/movable/screen/alert/pulse_noregen name = "Regeneration Stalled" desc = "You've been EMP'd and cannot regenerate health!" icon_state = "pd_noregen" diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 74b672babc5..e983c7ed57f 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -144,7 +144,7 @@ SEND_SOUND(player_client, sound('sound/misc/notice2.ogg')) window_flash(player_client) - var/obj/screen/alert/notify_soulstone/A = player_mob.throw_alert("\ref[src]_soulstone_thingy", /obj/screen/alert/notify_soulstone) + var/atom/movable/screen/alert/notify_soulstone/A = player_mob.throw_alert("\ref[src]_soulstone_thingy", /atom/movable/screen/alert/notify_soulstone) if(player_client.prefs && player_client.prefs.UI_style) A.icon = ui_style2icon(player_client.prefs.UI_style) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index dcd66b06fba..e018440008f 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -390,7 +390,7 @@ /obj/machinery/camera/get_remote_view_fullscreens(mob/user) if(view_range == short_range) //unfocused - user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 2) + user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 2) /obj/machinery/camera/update_remote_sight(mob/living/user) if(isXRay() && isAI(user)) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 792ce397af4..bd648b91102 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -206,9 +206,9 @@ var/obj/machinery/camera/final = T[camera] playsound(origin, "terminal_type", 25, 0) if(final) - playsound(origin, 'sound/machines/terminal_prompt_confirm.ogg', 25, 0) + playsound(origin, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE) remote_eye.setLoc(get_turf(final)) - C.overlay_fullscreen("flash", /obj/screen/fullscreen/flash/noise) + C.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash/noise) C.clear_fullscreen("flash", 3) //Shorter flash than normal since it's an ~~advanced~~ console! else - playsound(origin, 'sound/machines/terminal_prompt_deny.ogg', 25, 0) + playsound(origin, 'sound/machines/terminal_prompt_deny.ogg', 25, FALSE) diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index 18cf4997b35..046d2445b44 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -15,10 +15,10 @@ // Stuff needed to render the map var/map_name var/const/default_map_size = 15 - var/obj/screen/map_view/cam_screen + var/atom/movable/screen/map_view/cam_screen /// All the plane masters that need to be applied. var/list/cam_plane_masters - var/obj/screen/background/cam_background + var/atom/movable/screen/background/cam_background // Parent object this camera is assigned to. Used for camera bugs var/atom/movable/parent @@ -39,8 +39,8 @@ cam_screen.del_on_map_removal = FALSE cam_screen.screen_loc = "[map_name]:1,1" cam_plane_masters = list() - for(var/plane in subtypesof(/obj/screen/plane_master)) - var/obj/screen/instance = new plane() + for(var/plane in subtypesof(/atom/movable/screen/plane_master)) + var/atom/movable/screen/instance = new plane() instance.assigned_map = map_name instance.del_on_map_removal = FALSE instance.screen_loc = "[map_name]:CENTER" diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 39e01428a41..211400fcef2 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -94,10 +94,10 @@ /// pushes an alert to the AI and its borgs about the law changes /obj/machinery/computer/aiupload/proc/alert_silicons() current.show_laws() - current.throw_alert("newlaw", /obj/screen/alert/newlaw) + current.throw_alert("newlaw", /atom/movable/screen/alert/newlaw) for(var/mob/living/silicon/robot/borg in current.connected_robots) borg.cmd_show_laws() - borg.throw_alert("newlaw", /obj/screen/alert/newlaw) + borg.throw_alert("newlaw", /atom/movable/screen/alert/newlaw) /obj/machinery/computer/aiupload/attack_hand(mob/user) if(stat & NOPOWER) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 3af23927e21..61045970526 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -329,7 +329,7 @@ if(move_type & (MECHAMOVE_RAND | MECHAMOVE_STEP) && occupant) var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector) in loc if(possible_port) - var/obj/screen/alert/mech_port_available/A = occupant.throw_alert("mechaport", /obj/screen/alert/mech_port_available) + var/atom/movable/screen/alert/mech_port_available/A = occupant.throw_alert("mechaport", /atom/movable/screen/alert/mech_port_available) if(A) A.target = possible_port else @@ -1059,10 +1059,10 @@ if(occupant) occupant.clear_alert("mechaport") - occupant.throw_alert("mechaport_d", /obj/screen/alert/mech_port_disconnect) + occupant.throw_alert("mechaport_d", /atom/movable/screen/alert/mech_port_disconnect) log_message("Connected to gas port.") - return 1 + return TRUE /obj/mecha/proc/disconnect() if(!connected_port) @@ -1167,9 +1167,9 @@ else if(!hasInternalDamage()) SEND_SOUND(occupant, sound(nominalsound, volume = 50)) if(state) - H.throw_alert("locked", /obj/screen/alert/mech_maintenance) + H.throw_alert("locked", /atom/movable/screen/alert/mech_maintenance) if(connected_port) - H.throw_alert("mechaport_d", /obj/screen/alert/mech_port_disconnect) + H.throw_alert("mechaport_d", /atom/movable/screen/alert/mech_port_disconnect) return TRUE else return FALSE @@ -1394,20 +1394,20 @@ if(0.75 to INFINITY) occupant.clear_alert("charge") if(0.5 to 0.75) - occupant.throw_alert("charge", /obj/screen/alert/mech_lowcell, 1) + occupant.throw_alert("charge", /atom/movable/screen/alert/mech_lowcell, 1) if(0.25 to 0.5) - occupant.throw_alert("charge", /obj/screen/alert/mech_lowcell, 2) + occupant.throw_alert("charge", /atom/movable/screen/alert/mech_lowcell, 2) if(power_warned) power_warned = FALSE if(0.01 to 0.25) - occupant.throw_alert("charge", /obj/screen/alert/mech_lowcell, 3) + occupant.throw_alert("charge", /atom/movable/screen/alert/mech_lowcell, 3) if(!power_warned) SEND_SOUND(occupant, sound(lowpowersound, volume = 50)) power_warned = TRUE else - occupant.throw_alert("charge", /obj/screen/alert/mech_emptycell) + occupant.throw_alert("charge", /atom/movable/screen/alert/mech_emptycell) else - occupant.throw_alert("charge", /obj/screen/alert/mech_nocell) + occupant.throw_alert("charge", /atom/movable/screen/alert/mech_nocell) /obj/mecha/proc/reset_icon() if(initial_icon) diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 24352468fe4..d3cb66f5e46 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -331,7 +331,7 @@ state = 1 to_chat(user, "The securing bolts are now exposed.") if(occupant) - occupant.throw_alert("locked", /obj/screen/alert/mech_maintenance) + occupant.throw_alert("locked", /atom/movable/screen/alert/mech_maintenance) else if(state==1) state = 0 to_chat(user, "The securing bolts are now hidden.") diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index d6496b0f723..9c82f3087b6 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -90,7 +90,7 @@ M.setDir(dir) buckled_mobs |= M ADD_TRAIT(M, TRAIT_IMMOBILIZED, BUCKLING_TRAIT) - M.throw_alert("buckled", /obj/screen/alert/restrained/buckled) + M.throw_alert("buckled", /atom/movable/screen/alert/restrained/buckled) post_buckle_mob(M) SEND_SIGNAL(src, COMSIG_MOVABLE_BUCKLE, M, force) return TRUE diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index c66d56f2eaa..1519d002eea 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -372,7 +372,7 @@ /datum/hud/sword/New(mob/user) ..() - mymob.healths = new /obj/screen/healths() + mymob.healths = new /atom/movable/screen/healths() infodisplay += mymob.healths /mob/living/simple_animal/shade/sword/ClickOn(atom/A, params) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index a51a93e365f..cf5b79d57c1 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -61,7 +61,7 @@ /obj/item/storage/belt/MouseDrop(obj/over_object, src_location, over_location) var/mob/M = usr - if(!istype(over_object, /obj/screen)) + if(!is_screen_atom(over_object)) return ..() playsound(loc, "rustle", 50, TRUE, -5) if(!M.restrained() && !M.stat && can_use()) diff --git a/code/game/objects/items/weapons/storage/internal.dm b/code/game/objects/items/weapons/storage/internal.dm index cd73c8b7e10..ea22a318deb 100644 --- a/code/game/objects/items/weapons/storage/internal.dm +++ b/code/game/objects/items/weapons/storage/internal.dm @@ -37,10 +37,10 @@ if(over_object == user && Adjacent(user)) // this must come before the screen objects only block open(user) - return 0 + return FALSE - if(!istype(over_object, /obj/screen)) - return 1 + if(!is_screen_atom(over_object)) + return TRUE //makes sure master_item is equipped before putting it in hand, so that we can't drag it into our hand from miles away. //there's got to be a better way of doing this... diff --git a/code/game/objects/items/weapons/storage/storage_base.dm b/code/game/objects/items/weapons/storage/storage_base.dm index b0cde0fb715..d929b202cc8 100644 --- a/code/game/objects/items/weapons/storage/storage_base.dm +++ b/code/game/objects/items/weapons/storage/storage_base.dm @@ -26,8 +26,8 @@ var/max_combined_w_class = 14 /// The number of storage slots in this container. var/storage_slots = 7 - var/obj/screen/storage/boxes = null - var/obj/screen/close/closer = null + var/atom/movable/screen/storage/boxes = null + var/atom/movable/screen/close/closer = null /// Set this to make it possible to use this item in an inverse way, so you can have the item in your hand and click items on the floor to pick them up. var/use_to_pickup = FALSE @@ -59,14 +59,14 @@ populate_contents() - boxes = new /obj/screen/storage() + boxes = new /atom/movable/screen/storage() boxes.name = "storage" boxes.master = src boxes.icon_state = "block" boxes.screen_loc = "7,7 to 10,8" boxes.layer = HUD_LAYER boxes.plane = HUD_PLANE - closer = new /obj/screen/close() + closer = new /atom/movable/screen/close() closer.master = src closer.icon_state = "backpack_close" closer.layer = ABOVE_HUD_LAYER @@ -136,7 +136,7 @@ update_icon() // For content-sensitive icons return - if(!(istype(over_object, /obj/screen))) + if(!is_screen_atom(over_object)) return ..() if(!(loc == M) || (loc && loc.loc == M)) return diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 0e5146890c7..9acb5572918 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -233,7 +233,7 @@ /obj/structure/closet/MouseDrop_T(atom/movable/O, mob/living/user) ..() - if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete + if(is_screen_atom(O)) //fix for HUD elements making their way into the world -Pete return if(O.loc == user) return @@ -371,7 +371,7 @@ /obj/structure/closet/get_remote_view_fullscreens(mob/user) if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS))) - user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1) + user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1) /obj/structure/closet/ex_act(severity) for(var/atom/A in contents) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index e7281879e28..5d80c18fe1a 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -241,7 +241,7 @@ /obj/structure/morgue/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) /* * Morgue tray @@ -534,7 +534,7 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/crematorium/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) /* * Crematorium tray diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 63eaf9932be..f3bd37e0600 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -359,13 +359,13 @@ GLOBAL_LIST_EMPTY(safes) drill.song.start_playing(driller) notify_ghosts("Security assault in progress in [get_area(src)]!", enter_link="(Click to jump to!)", source = src, action = NOTIFY_FOLLOW) for(var/mob/dead/observer/O in GLOB.player_list) - O.overlay_fullscreen("payback", /obj/screen/fullscreen/payback, 0) + O.overlay_fullscreen("payback", /atom/movable/screen/fullscreen/payback, 0) addtimer(CALLBACK(src, PROC_REF(ghost_payback_phase_2)), 2.7 SECONDS) /obj/structure/safe/proc/ghost_payback_phase_2() for(var/mob/dead/observer/O in GLOB.player_list) O.clear_fullscreen("payback") - O.overlay_fullscreen("payback", /obj/screen/fullscreen/payback, 1) + O.overlay_fullscreen("payback", /atom/movable/screen/fullscreen/payback, 1) addtimer(CALLBACK(src, PROC_REF(clear_payback)), 2 MINUTES) /obj/structure/safe/proc/clear_payback() diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index 10a43fe214d..0c3dd3edabc 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -75,7 +75,7 @@ if(istype(hugger_mask) && !hugger_mask.sterile && (locate(/obj/item/organ/internal/body_egg/alien_embryo) in buckled_mob.internal_organs)) if(user && !isalien(user)) return - buckled_mob.throw_alert("ghost_nest", /obj/screen/alert/ghost) + buckled_mob.throw_alert("ghost_nest", /atom/movable/screen/alert/ghost) to_chat(buckled_mob, "You may now ghost, you keep respawnability in this state. You will be alerted when you're removed from the nest.") /obj/structure/bed/nest/post_buckle_mob(mob/living/M) diff --git a/code/modules/antagonists/vampire/vamp_datum.dm b/code/modules/antagonists/vampire/vamp_datum.dm index 3b5b91c81a0..d5a096bcef5 100644 --- a/code/modules/antagonists/vampire/vamp_datum.dm +++ b/code/modules/antagonists/vampire/vamp_datum.dm @@ -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" diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index f35ceb6ef5d..f9867a8c621 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -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. diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index ce7fe813a6f..0035bfbb491 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -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)]" diff --git a/code/modules/buildmode/buildmode_hud.dm b/code/modules/buildmode/buildmode_hud.dm index 7c18de6be90..3c26c03be6c 100644 --- a/code/modules/buildmode/buildmode_hud.dm +++ b/code/modules/buildmode/buildmode_hud.dm @@ -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 diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 390f425611c..1cb3985bae6 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -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() diff --git a/code/modules/client/preference/link_processing.dm b/code/modules/client/preference/link_processing.dm index 89481068704..01a8dacd8fc 100644 --- a/code/modules/client/preference/link_processing.dm +++ b/code/modules/client/preference/link_processing.dm @@ -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") diff --git a/code/modules/events/meteors_event.dm b/code/modules/events/meteors_event.dm index 24ede06bf92..39a2f79c5a6 100644 --- a/code/modules/events/meteors_event.dm +++ b/code/modules/events/meteors_event.dm @@ -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 diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index eb3029bd4da..0093de60001 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -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) diff --git a/code/modules/hallucinations/effects/moderate.dm b/code/modules/hallucinations/effects/moderate.dm index 187639a5cc5..3e8a8f883e9 100644 --- a/code/modules/hallucinations/effects/moderate.dm +++ b/code/modules/hallucinations/effects/moderate.dm @@ -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( diff --git a/code/modules/maptext_alerts/location_blurbs.dm b/code/modules/maptext_alerts/location_blurbs.dm index b50b6b10130..050ca0a42ea 100644 --- a/code/modules/maptext_alerts/location_blurbs.dm +++ b/code/modules/maptext_alerts/location_blurbs.dm @@ -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 "[copytext_char(blurb_text, segment_start, segment_end)]" -/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 diff --git a/code/modules/maptext_alerts/text_blurbs.dm b/code/modules/maptext_alerts/text_blurbs.dm index 5177e2e129a..285d39693c7 100644 --- a/code/modules/maptext_alerts/text_blurbs.dm +++ b/code/modules/maptext_alerts/text_blurbs.dm @@ -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") diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 17d04d3232f..e5fa16692b2 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -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 diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 5c643f07398..fb565ec9893 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -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) diff --git a/code/modules/mob/dead/observer/observer_base.dm b/code/modules/mob/dead/observer/observer_base.dm index f766af39a43..07efb712c6f 100644 --- a/code/modules/mob/dead/observer/observer_base.dm +++ b/code/modules/mob/dead/observer/observer_base.dm @@ -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, "[message]") 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) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index e48f38e341e..817b30b0cd9 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -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 ..() diff --git a/code/modules/mob/living/carbon/alien/alien_base.dm b/code/modules/mob/living/carbon/alien/alien_base.dm index 97559889b95..c4a3b3ab08c 100644 --- a/code/modules/mob/living/carbon/alien/alien_base.dm +++ b/code/modules/mob/living/carbon/alien/alien_base.dm @@ -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) diff --git a/code/modules/mob/living/carbon/alien/alien_life.dm b/code/modules/mob/living/carbon/alien/alien_life.dm index 4c13daa7af0..962971a4b21 100644 --- a/code/modules/mob/living/carbon/alien/alien_life.dm +++ b/code/modules/mob/living/carbon/alien/alien_life.dm @@ -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 diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm index 70f37d83d21..f95bedded46 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm @@ -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) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 5a688ee701d..272b3a19001 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -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) diff --git a/code/modules/mob/living/carbon/carbon_life.dm b/code/modules/mob/living/carbon/carbon_life.dm index c5d4088cdf9..34df76d7067 100644 --- a/code/modules/mob/living/carbon/carbon_life.dm +++ b/code/modules/mob/living/carbon/carbon_life.dm @@ -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") diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index 5399f6cb059..f174dd227ca 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -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) diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index c9ccef9f1c0..d1ecf83ad18 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -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, "You offer [I] to [receiver].") 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. diff --git a/code/modules/mob/living/carbon/human/human_life.dm b/code/modules/mob/living/carbon/human/human_life.dm index f4583c0c60e..b796502eaa3 100644 --- a/code/modules/mob/living/carbon/human/human_life.dm +++ b/code/modules/mob/living/carbon/human/human_life.dm @@ -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 diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 355ddc11d8c..e0d6c8ac37f 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -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))) diff --git a/code/modules/mob/living/carbon/human/human_update_status.dm b/code/modules/mob/living/carbon/human/human_update_status.dm index 0c48d4b5fa1..855a3d39e74 100644 --- a/code/modules/mob/living/carbon/human/human_update_status.dm +++ b/code/modules/mob/living/carbon/human/human_update_status.dm @@ -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") diff --git a/code/modules/mob/living/carbon/human/species/diona_species.dm b/code/modules/mob/living/carbon/human/species/diona_species.dm index b25bfe9e191..e68698ad449 100644 --- a/code/modules/mob/living/carbon/human/species/diona_species.dm +++ b/code/modules/mob/living/carbon/human/species/diona_species.dm @@ -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) diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index 554048b09f3..ac5c1a5f8e4 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -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) diff --git a/code/modules/mob/living/carbon/human/species/shadow.dm b/code/modules/mob/living/carbon/human/species/shadow.dm index 660c0f4dafb..24ff15da201 100644 --- a/code/modules/mob/living/carbon/human/species/shadow.dm +++ b/code/modules/mob/living/carbon/human/species/shadow.dm @@ -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") ..() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9d8e832a937..bb28b7d0ab7 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -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, "You are now facing [track ? A : dir2text(forced_look)]. To cancel this, shift-middleclick yourself.") - 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. diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index c1dd773bd43..0ea4ff1bb98 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -163,7 +163,7 @@ on_fire = TRUE visible_message("[src] catches fire!", "You're set on fire!") 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 diff --git a/code/modules/mob/living/living_life.dm b/code/modules/mob/living/living_life.dm index 39f9fd35f7e..59b1b5a7c04 100644 --- a/code/modules/mob/living/living_life.dm +++ b/code/modules/mob/living/living_life.dm @@ -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") diff --git a/code/modules/mob/living/living_update_status.dm b/code/modules/mob/living/living_update_status.dm index d84ec9817c0..041d28afdf3 100644 --- a/code/modules/mob/living/living_update_status.dm +++ b/code/modules/mob/living/living_update_status.dm @@ -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") diff --git a/code/modules/mob/living/silicon/ai/ai_mob.dm b/code/modules/mob/living/silicon/ai/ai_mob.dm index d1257aaf267..e1e39b605bf 100644 --- a/code/modules/mob/living/silicon/ai/ai_mob.dm +++ b/code/modules/mob/living/silicon/ai/ai_mob.dm @@ -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 diff --git a/code/modules/mob/living/silicon/robot/robot_life.dm b/code/modules/mob/living/silicon/robot/robot_life.dm index 1a16490ed96..2b0be3f6afc 100644 --- a/code/modules/mob/living/silicon/robot/robot_life.dm +++ b/code/modules/mob/living/silicon/robot/robot_life.dm @@ -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) diff --git a/code/modules/mob/living/silicon/robot/robot_mob.dm b/code/modules/mob/living/silicon/robot/robot_mob.dm index 90e501f99ab..13a3652075c 100644 --- a/code/modules/mob/living/silicon/robot/robot_mob.dm +++ b/code/modules/mob/living/silicon/robot/robot_mob.dm @@ -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 diff --git a/code/modules/mob/living/silicon/silicon_laws.dm b/code/modules/mob/living/silicon/silicon_laws.dm index af3385c28f1..d7c9b050331 100644 --- a/code/modules/mob/living/silicon/silicon_laws.dm +++ b/code/modules/mob/living/silicon/silicon_laws.dm @@ -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, "Internal camera is currently being accessed.") /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)) diff --git a/code/modules/mob/living/silicon/silicon_mob.dm b/code/modules/mob/living/silicon/silicon_mob.dm index 9dd4a655f42..1b0a20083be 100644 --- a/code/modules/mob/living/silicon/silicon_mob.dm +++ b/code/modules/mob/living/silicon/silicon_mob.dm @@ -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 ..() diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index ea8eea9b0d7..c1187ee2682 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -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("[src] slowly crumbles to dust in this holy place!", \ "Your shell burns as you crumble to dust in this holy place!") playsound(loc, 'sound/items/welder.ogg', 150, TRUE) diff --git a/code/modules/mob/living/simple_animal/friendly/diona_nymph.dm b/code/modules/mob/living/simple_animal/friendly/diona_nymph.dm index 00099deea27..ff76eef3957 100644 --- a/code/modules/mob/living/simple_animal/friendly/diona_nymph.dm +++ b/code/modules/mob/living/simple_animal/friendly/diona_nymph.dm @@ -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("[M] playfully boops [src] on the head!", "You playfully boop [src] on the head!") @@ -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 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 55cd79a6d15..a4601d9bfff 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -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) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 767cdf87a6a..9c42fa54e10 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -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") diff --git a/code/modules/mob/living/simple_animal/slime/slime_life.dm b/code/modules/mob/living/simple_animal/slime/slime_life.dm index 8617910d8fa..67d15345bea 100644 --- a/code/modules/mob/living/simple_animal/slime/slime_life.dm +++ b/code/modules/mob/living/simple_animal/slime/slime_life.dm @@ -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,"You suddenly freeze up, you cannot move!") if(bodytemperature <= (T0C - 50)) // hurt temperature diff --git a/code/modules/mob/living/simple_animal/slime/slime_mob.dm b/code/modules/mob/living/simple_animal/slime/slime_mob.dm index 4db2674ec93..4b12a386e3e 100644 --- a/code/modules/mob/living/simple_animal/slime/slime_mob.dm +++ b/code/modules/mob/living/simple_animal/slime/slime_mob.dm @@ -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") diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index f0f5b2a4ca9..b5db7266944 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -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) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index ca1b4c9aad7..c501c3ee4d0 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -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)) diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm index 6392a3fe3c2..c388d4fc4a4 100644 --- a/code/modules/mob/mob_misc_procs.dm +++ b/code/modules/mob/mob_misc_procs.dm @@ -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) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 6de1b1b4d79..3a354a4e4c0 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -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() diff --git a/code/modules/mob/mob_vars.dm b/code/modules/mob/mob_vars.dm index cfd97814511..8a0c3c0781a 100644 --- a/code/modules/mob/mob_vars.dm +++ b/code/modules/mob/mob_vars.dm @@ -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 diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 6cd38c1bec9..1064d5f7945 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -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, "Retract parts first!") @@ -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() diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm index 62f737b3278..62a214ce072 100644 --- a/code/modules/mod/mod_core.dm +++ b/code/modules/mod/mod_core.dm @@ -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) diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index 99fea77d8b8..dcacecc1737 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -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" diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 7f5a434af85..c7339cb1585 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -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)) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 1682cab910b..0e83962a8c8 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -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)) diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index aaa3c6aeabd..38022d19e7b 100644 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -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) diff --git a/code/modules/power/apc/apc_malfunction.dm b/code/modules/power/apc/apc_malfunction.dm index 1494cef300e..6f46ae9745c 100644 --- a/code/modules/power/apc/apc_malfunction.dm +++ b/code/modules/power/apc/apc_malfunction.dm @@ -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) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 50bc20252eb..dd15c3f2a65 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -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)) diff --git a/code/modules/surgery/organs/organ_datums/lung_datum.dm b/code/modules/surgery/organs/organ_datums/lung_datum.dm index c939bbab651..2bec8cdc8d1 100644 --- a/code/modules/surgery/organs/organ_datums/lung_datum.dm +++ b/code/modules/surgery/organs/organ_datums/lung_datum.dm @@ -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 diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 4468194ed88..2f41331f7e4 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -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)) diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index d6111c01b85..f11341127f1 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -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) diff --git a/code/modules/vote/vote_presets.dm b/code/modules/vote/vote_presets.dm index 06998674628..6927fa4fea7 100644 --- a/code/modules/vote/vote_presets.dm +++ b/code/modules/vote/vote_presets.dm @@ -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.