mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-30 15:38:02 +01:00
obj screen to atom movable screen (#18434)
* obj screen to atom movable screen * .
This commit is contained in:
@@ -197,7 +197,7 @@
|
||||
|
||||
if("adspam")
|
||||
if(target.client)
|
||||
target.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 15)
|
||||
target.client.create_fake_ad_popup_multiple(/atom/movable/screen/popup/default, 15)
|
||||
|
||||
if("peppernade")
|
||||
var/obj/item/grenade/chem_grenade/teargas/grenade = new /obj/item/grenade/chem_grenade/teargas
|
||||
@@ -322,7 +322,7 @@
|
||||
if("elder_smite")
|
||||
if(!target.ckey)
|
||||
return
|
||||
target.overlay_fullscreen("scrolls", /obj/screen/fullscreen/scrolls, 1)
|
||||
target.overlay_fullscreen("scrolls", /atom/movable/screen/fullscreen/scrolls, 1)
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, clear_fullscreen), "scrolls"), 20 SECONDS)
|
||||
|
||||
////////MEDICAL//////////////
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
|
||||
if(SMITE_AD_SPAM)
|
||||
if(target.client)
|
||||
target.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 15)
|
||||
target.client.create_fake_ad_popup_multiple(/atom/movable/screen/popup/default, 15)
|
||||
|
||||
if(SMITE_PEPPERNADE)
|
||||
var/obj/item/grenade/chem_grenade/teargas/grenade = new /obj/item/grenade/chem_grenade/teargas
|
||||
@@ -319,7 +319,7 @@ var/redspace_abduction_z
|
||||
var/tip = pick(bad_tips)
|
||||
to_chat(target, "<span class='notice' style='font: small-caps bold large monospace!important'>Tip of the day:</span><br><span class='notice'>[tip]</span>")
|
||||
|
||||
var/obj/screen/loader = new(target)
|
||||
var/atom/movable/screen/loader = new(target)
|
||||
loader.name = "Autosaving..."
|
||||
loader.desc = "A disc icon that represents your game autosaving. Please wait."
|
||||
loader.icon = 'icons/obj/discs_vr.dmi'
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
preload_rsc = PRELOAD_RSC
|
||||
|
||||
var/global/obj/screen/click_catcher/void
|
||||
var/global/atom/movable/screen/click_catcher/void
|
||||
|
||||
// List of all asset filenames sent to this client by the asset cache, along with their assoicated md5s
|
||||
var/list/sent_assets = list()
|
||||
|
||||
@@ -54,7 +54,7 @@ var/list/preferences_datums = list()
|
||||
var/antag_vis = "Hidden" //How visible antag association is to others.
|
||||
|
||||
//Mob preview
|
||||
var/list/char_render_holders //Should only be a key-value list of north/south/east/west = obj/screen.
|
||||
var/list/char_render_holders //Should only be a key-value list of north/south/east/west = atom/movable/screen.
|
||||
var/static/list/preview_screen_locs = list(
|
||||
"1" = "character_preview_map:2,7",
|
||||
"2" = "character_preview_map:2,5",
|
||||
@@ -195,14 +195,14 @@ var/list/preferences_datums = list()
|
||||
if(!client)
|
||||
return
|
||||
|
||||
var/obj/screen/setup_preview/pm_helper/PMH = LAZYACCESS(char_render_holders, "PMH")
|
||||
var/atom/movable/screen/setup_preview/pm_helper/PMH = LAZYACCESS(char_render_holders, "PMH")
|
||||
if(!PMH)
|
||||
PMH = new
|
||||
LAZYSET(char_render_holders, "PMH", PMH)
|
||||
client.screen |= PMH
|
||||
PMH.screen_loc = preview_screen_locs["PMH"]
|
||||
|
||||
var/obj/screen/setup_preview/bg/BG = LAZYACCESS(char_render_holders, "BG")
|
||||
var/atom/movable/screen/setup_preview/bg/BG = LAZYACCESS(char_render_holders, "BG")
|
||||
if(!BG)
|
||||
BG = new
|
||||
BG.plane = TURF_PLANE
|
||||
@@ -214,7 +214,7 @@ var/list/preferences_datums = list()
|
||||
BG.screen_loc = preview_screen_locs["BG"]
|
||||
|
||||
for(var/D in GLOB.cardinal)
|
||||
var/obj/screen/setup_preview/O = LAZYACCESS(char_render_holders, "[D]")
|
||||
var/atom/movable/screen/setup_preview/O = LAZYACCESS(char_render_holders, "[D]")
|
||||
if(!O)
|
||||
O = new
|
||||
O.pref = src
|
||||
@@ -235,7 +235,7 @@ var/list/preferences_datums = list()
|
||||
|
||||
/datum/preferences/proc/clear_character_previews()
|
||||
for(var/index in char_render_holders)
|
||||
var/obj/screen/S = char_render_holders[index]
|
||||
var/atom/movable/screen/S = char_render_holders[index]
|
||||
client?.screen -= S
|
||||
qdel(S)
|
||||
char_render_holders = null
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
/datum/preferences/proc/jiggle_map()
|
||||
// Fix for weird byond bug, jiggles the map around a little
|
||||
var/obj/screen/setup_preview/pm_helper/PMH = LAZYACCESS(char_render_holders, "PMH")
|
||||
var/atom/movable/screen/setup_preview/pm_helper/PMH = LAZYACCESS(char_render_holders, "PMH")
|
||||
sleep(0.1 SECONDS)
|
||||
PMH.screen_loc = LAZYACCESS(preview_screen_locs, "PMHjiggle")
|
||||
sleep(0.1 SECONDS)
|
||||
|
||||
@@ -25,7 +25,7 @@ BLIND // can't see anything
|
||||
var/off_state = "degoggles"
|
||||
var/active = 1
|
||||
var/activation_sound = 'sound/items/goggles_charge.ogg'
|
||||
var/obj/screen/overlay = null
|
||||
var/atom/movable/screen/overlay = null
|
||||
var/list/away_planes //Holder for disabled planes
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
pickup_sound = 'sound/items/pickup/accessory.ogg'
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
|
||||
var/obj/machinery/computer/shuttle_control/web/shuttle_comp
|
||||
var/obj/screen/pilot_hud
|
||||
var/atom/movable/screen/pilot_hud
|
||||
var/list/images
|
||||
var/list/raw_images
|
||||
var/last_status
|
||||
|
||||
@@ -296,8 +296,8 @@
|
||||
var/seal_target = !canremove
|
||||
var/failed_to_seal
|
||||
|
||||
var/obj/screen/rig_booting/booting_L = new
|
||||
var/obj/screen/rig_booting/booting_R = new
|
||||
var/atom/movable/screen/rig_booting/booting_L = new
|
||||
var/atom/movable/screen/rig_booting/booting_R = new
|
||||
|
||||
if(!seal_target)
|
||||
booting_L.icon_state = "boot_left"
|
||||
@@ -1038,7 +1038,7 @@
|
||||
return null
|
||||
|
||||
//Boot animation screen objects
|
||||
/obj/screen/rig_booting
|
||||
/atom/movable/screen/rig_booting
|
||||
screen_loc = "1,1"
|
||||
icon = 'icons/obj/rig_boot.dmi'
|
||||
icon_state = ""
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
var/pinging = FALSE
|
||||
var/updating = FALSE
|
||||
var/global/icon/mask_icon
|
||||
var/obj/screen/mapper/extras_holder/extras_holder
|
||||
var/atom/movable/screen/mapper/extras_holder/extras_holder
|
||||
var/hud_frame_hint
|
||||
|
||||
var/datum/mini_hud/mapper/hud_datum
|
||||
var/obj/screen/movable/mapper_holder/hud_item
|
||||
var/atom/movable/screen/movable/mapper_holder/hud_item
|
||||
|
||||
var/obj/item/cell/cell
|
||||
var/cell_type = /obj/item/cell/device
|
||||
@@ -90,13 +90,13 @@
|
||||
|
||||
extras_holder = new()
|
||||
|
||||
var/obj/screen/mapper/marker/mark = new()
|
||||
var/atom/movable/screen/mapper/marker/mark = new()
|
||||
mark.icon = 'icons/effects/64x64.dmi'
|
||||
mark.icon_state = "mapper_none"
|
||||
mark.layer = 10
|
||||
icon_image_cache["bad"] = mark
|
||||
|
||||
var/obj/screen/mapper/map/tmp = new()
|
||||
var/atom/movable/screen/mapper/map/tmp = new()
|
||||
var/icon/canvas = icon(HOLOMAP_ICON, "blank")
|
||||
canvas.Crop(1,1,world.maxx,world.maxy)
|
||||
canvas.DrawBox("#A7BE97",1,1,world.maxx,world.maxy)
|
||||
@@ -235,7 +235,7 @@
|
||||
var/T_y = T.y
|
||||
var/T_z = T.z
|
||||
|
||||
var/obj/screen/mapper/map/bgmap
|
||||
var/atom/movable/screen/mapper/map/bgmap
|
||||
var/list/extras = list()
|
||||
|
||||
var/map_cache_key = "[T_z]"
|
||||
@@ -253,7 +253,7 @@
|
||||
map_app.color = map_color
|
||||
|
||||
if(!SSholomaps.holoMiniMaps[T_z])
|
||||
var/obj/screen/mapper/map/baddo = map_image_cache["bad"]
|
||||
var/atom/movable/screen/mapper/map/baddo = map_image_cache["bad"]
|
||||
map_app.icon = icon(baddo.icon)
|
||||
badmap = TRUE
|
||||
// SSholomaps did map it and we're allowed to see it
|
||||
@@ -272,7 +272,7 @@
|
||||
markerImage.pixel_y = holomarker.y+holomarker.offset_y
|
||||
map_app.add_overlay(markerImage)
|
||||
|
||||
var/obj/screen/mapper/map/tmp = new()
|
||||
var/atom/movable/screen/mapper/map/tmp = new()
|
||||
tmp.appearance = map_app
|
||||
map_image_cache[map_cache_key] = tmp
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
var/marker_cache_key = "\ref[HC]_[HC.marker_prefix]_[mob_indicator]"
|
||||
|
||||
if(!(marker_cache_key in icon_image_cache))
|
||||
var/obj/screen/mapper/marker/mark = new()
|
||||
var/atom/movable/screen/mapper/marker/mark = new()
|
||||
mark.icon_state = "[HC.marker_prefix][mob_indicator]"
|
||||
icon_image_cache[marker_cache_key] = mark
|
||||
switch(mob_indicator)
|
||||
@@ -339,7 +339,7 @@
|
||||
else
|
||||
mark.layer = 1
|
||||
|
||||
var/obj/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
var/atom/movable/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
handle_marker(mark,TU.x,TU.y)
|
||||
extras += mark
|
||||
|
||||
@@ -355,12 +355,12 @@
|
||||
|
||||
var/marker_cache_key = "\ref[HB]_marker"
|
||||
if(!(marker_cache_key in icon_image_cache))
|
||||
var/obj/screen/mapper/marker/mark = new()
|
||||
var/atom/movable/screen/mapper/marker/mark = new()
|
||||
mark.icon_state = "beacon"
|
||||
mark.layer = 1
|
||||
icon_image_cache[marker_cache_key] = mark
|
||||
|
||||
var/obj/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
var/atom/movable/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
handle_marker(mark,TB.x,TB.y)
|
||||
extras += mark
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
if("crash")
|
||||
// intentional TGUI crash, amazingly awful
|
||||
if(issilicon(ui.user) && ui.user.client)
|
||||
ui.user.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, rand(4,10))
|
||||
ui.user.client.create_fake_ad_popup_multiple(/atom/movable/screen/popup/default, rand(4,10))
|
||||
if(!crash)
|
||||
crash = TRUE
|
||||
// crashes till it fixes itself
|
||||
|
||||
@@ -997,7 +997,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
if(message)
|
||||
to_chat(src, span_ghostalert(span_huge("[message]")))
|
||||
if(source)
|
||||
throw_alert("\ref[source]_notify_revive", /obj/screen/alert/notify_cloning, new_master = source)
|
||||
throw_alert("\ref[source]_notify_revive", /atom/movable/screen/alert/notify_cloning, new_master = source)
|
||||
to_chat(src, span_ghostalert("<a href='byond://?src=[REF(src)];reenter=1'>(Click to re-enter)</a>"))
|
||||
if(sound)
|
||||
SEND_SOUND(src, sound(sound))
|
||||
|
||||
@@ -126,12 +126,12 @@
|
||||
|
||||
if ( stat != 2)
|
||||
if ((blinded))
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
else
|
||||
clear_fullscreen("blind")
|
||||
set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /obj/screen/fullscreen/high)
|
||||
set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /atom/movable/screen/fullscreen/high)
|
||||
if(machine)
|
||||
if(machine.check_eye(src) < 0)
|
||||
reset_view(null)
|
||||
@@ -148,7 +148,7 @@
|
||||
|
||||
if(environment.temperature > (T0C+66))
|
||||
adjustFireLoss((environment.temperature - (T0C+66))/5) // Might be too high, check in testing.
|
||||
throw_alert("alien_fire", /obj/screen/alert/alien_fire)
|
||||
throw_alert("alien_fire", /atom/movable/screen/alert/alien_fire)
|
||||
if(prob(20))
|
||||
to_chat(src, span_red("You feel a searing heat!"))
|
||||
else
|
||||
|
||||
@@ -200,12 +200,12 @@
|
||||
|
||||
if (stat != 2)
|
||||
if ((blinded))
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
else
|
||||
clear_fullscreen("blind")
|
||||
set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /obj/screen/fullscreen/high)
|
||||
set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /atom/movable/screen/fullscreen/high)
|
||||
|
||||
if (machine)
|
||||
if (!( machine.check_eye(src) ))
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
/mob/living/carbon/proc/eyecheck()
|
||||
return 0
|
||||
|
||||
/mob/living/carbon/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
|
||||
/mob/living/carbon/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /atom/movable/screen/fullscreen/flash)
|
||||
if(eyecheck() < intensity || override_blindness_check)
|
||||
return ..()
|
||||
|
||||
@@ -436,7 +436,7 @@
|
||||
drop_l_hand()
|
||||
drop_r_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)
|
||||
else
|
||||
clear_alert("handcuffed")
|
||||
update_mob_action_buttons() //some of our action buttons might be unusable when we're handcuffed.
|
||||
|
||||
@@ -791,7 +791,7 @@
|
||||
I.additional_flash_effects(number)
|
||||
return number
|
||||
|
||||
/mob/living/carbon/human/flash_eyes(var/intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
|
||||
/mob/living/carbon/human/flash_eyes(var/intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /atom/movable/screen/fullscreen/flash)
|
||||
if(internal_organs_by_name[O_EYES]) // Eyes are fucked, not a 'weak point'.
|
||||
var/obj/item/organ/internal/eyes/I = internal_organs_by_name[O_EYES]
|
||||
I.additional_flash_effects(intensity)
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
if(!L.is_bruised())
|
||||
rupture_lung(TRUE)
|
||||
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_atmos)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_atmos)
|
||||
return 0
|
||||
else
|
||||
clear_alert("oxy")
|
||||
@@ -637,19 +637,19 @@
|
||||
|
||||
switch(breath_type)
|
||||
if(GAS_O2)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_oxy)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_oxy)
|
||||
if(GAS_PHORON)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_tox)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_tox)
|
||||
if(GAS_N2)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_nitro)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_nitro)
|
||||
if(GAS_CO2)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_co2)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_co2)
|
||||
if(GAS_CH4)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_methane)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_methane)
|
||||
if(GAS_VOLATILE_FUEL)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_fuel)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_fuel)
|
||||
if(GAS_N2O)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_n2o)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_n2o)
|
||||
|
||||
else
|
||||
// We're in safe limits
|
||||
@@ -700,7 +700,7 @@
|
||||
if(reagents)
|
||||
reagents.add_reagent(REAGENT_ID_TOXIN, CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE))
|
||||
breath.adjust_gas(poison_type, -poison_toxin/6, update = 0) //update after
|
||||
throw_alert("tox_in_air", /obj/screen/alert/tox_in_air)
|
||||
throw_alert("tox_in_air", /atom/movable/screen/alert/tox_in_air)
|
||||
else
|
||||
clear_alert("tox_in_air")
|
||||
|
||||
@@ -717,7 +717,7 @@
|
||||
emote("gasp")
|
||||
breath.adjust_gas(GAS_CH4, -poison_methane/6, update = 0) //update after
|
||||
breath.adjust_gas(GAS_CH4, -breath.gas[GAS_CH4]/6, update = 0) //update after
|
||||
throw_alert("methane_in_air", /obj/screen/alert/methane_in_air)
|
||||
throw_alert("methane_in_air", /atom/movable/screen/alert/methane_in_air)
|
||||
else
|
||||
clear_alert("methane_in_air")
|
||||
|
||||
@@ -742,9 +742,9 @@
|
||||
breath.adjust_gas(GAS_N2O, -breath.gas[GAS_N2O]/6, update = 0) //update after
|
||||
|
||||
if(get_hallucination_component()?.get_hud_state() == HUD_HALLUCINATION_OXY)
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_atmos)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_atmos)
|
||||
else if(get_hallucination_component()?.get_hud_state() == HUD_HALLUCINATION_TOXIN)
|
||||
throw_alert("tox_in_air", /obj/screen/alert/tox_in_air)
|
||||
throw_alert("tox_in_air", /atom/movable/screen/alert/tox_in_air)
|
||||
|
||||
// Were we able to breathe?
|
||||
if (failed_inhale || failed_exhale)
|
||||
@@ -779,15 +779,15 @@
|
||||
|
||||
if(breath.temperature >= species.breath_heat_level_3)
|
||||
apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD)
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
else if(breath.temperature >= species.breath_heat_level_2)
|
||||
apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD)
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
else if(breath.temperature >= species.breath_heat_level_1)
|
||||
apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD)
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
|
||||
else if(species.get_environment_discomfort(src, ENVIRONMENT_COMFORT_MARKER_HOT))
|
||||
throw_alert("temp", /obj/screen/alert/warm, HOT_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/warm, HOT_ALERT_SEVERITY_LOW)
|
||||
else
|
||||
clear_alert("temp")
|
||||
|
||||
@@ -795,15 +795,15 @@
|
||||
|
||||
if(breath.temperature <= species.breath_cold_level_3)
|
||||
apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD)
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
|
||||
else if(breath.temperature <= species.breath_cold_level_2)
|
||||
apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD)
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_MODERATE)
|
||||
else if(breath.temperature <= species.breath_cold_level_1)
|
||||
apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD)
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_LOW)
|
||||
else if(species.get_environment_discomfort(src, ENVIRONMENT_COMFORT_MARKER_COLD))
|
||||
throw_alert("temp", /obj/screen/alert/chilly, COLD_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/chilly, COLD_ALERT_SEVERITY_LOW)
|
||||
else
|
||||
clear_alert("temp")
|
||||
|
||||
@@ -920,15 +920,15 @@
|
||||
if(b.bellytemperature >= species.heat_level_2)
|
||||
if(b.bellytemperature >= species.heat_level_3)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_3
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_2
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_1
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
|
||||
else
|
||||
throw_alert("temp", /obj/screen/alert/warm, HOT_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/warm, HOT_ALERT_SEVERITY_LOW)
|
||||
if(digestable && b.temperature_damage)
|
||||
take_overall_damage(burn=burn_dam, used_weapon = "High Body Temperature")
|
||||
else if(b.bellytemperature <= species.cold_discomfort_level)
|
||||
@@ -937,15 +937,15 @@
|
||||
if(b.bellytemperature <= species.cold_level_2)
|
||||
if(b.bellytemperature <= species.cold_level_3)
|
||||
cold_dam = COLD_DAMAGE_LEVEL_3
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
|
||||
else
|
||||
cold_dam = COLD_DAMAGE_LEVEL_2
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_MODERATE)
|
||||
else
|
||||
cold_dam = COLD_DAMAGE_LEVEL_1
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_LOW)
|
||||
else
|
||||
throw_alert("temp", /obj/screen/alert/chilly, COLD_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/chilly, COLD_ALERT_SEVERITY_LOW)
|
||||
if(digestable && b.temperature_damage)
|
||||
take_overall_damage(burn=cold_dam, used_weapon = "Low Body Temperature")
|
||||
else clear_alert("temp")
|
||||
@@ -963,13 +963,13 @@
|
||||
if(bodytemperature >= species.heat_level_2)
|
||||
if(bodytemperature >= species.heat_level_3)
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_3
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_2
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
else
|
||||
burn_dam = HEAT_DAMAGE_LEVEL_1
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
|
||||
|
||||
take_overall_damage(burn=burn_dam, used_weapon = "High Body Temperature")
|
||||
|
||||
@@ -1005,13 +1005,13 @@
|
||||
if(stat==DEAD)
|
||||
pressure_damage = pressure_damage/2
|
||||
take_overall_damage(brute=pressure_damage, used_weapon = "High Pressure")
|
||||
throw_alert("pressure", /obj/screen/alert/highpressure, 2)
|
||||
throw_alert("pressure", /atom/movable/screen/alert/highpressure, 2)
|
||||
else if(adjusted_pressure >= 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 >= species.warning_low_pressure)
|
||||
clear_alert("pressure")
|
||||
else if(adjusted_pressure >= species.hazard_low_pressure)
|
||||
throw_alert("pressure", /obj/screen/alert/lowpressure, 1)
|
||||
throw_alert("pressure", /atom/movable/screen/alert/lowpressure, 1)
|
||||
else
|
||||
if( !(COLD_RESISTANCE in mutations))
|
||||
if(!isSynthetic() || !nif || !nif.flag_check(NIF_O_PRESSURESEAL,NIF_FLAGS_OTHER))
|
||||
@@ -1032,7 +1032,7 @@
|
||||
// Firesuits (Min protection = 0.2 atmospheres) decrease oxyloss to 1/5
|
||||
|
||||
adjustOxyLoss(pressure_dam)
|
||||
throw_alert("pressure", /obj/screen/alert/lowpressure, 2)
|
||||
throw_alert("pressure", /atom/movable/screen/alert/lowpressure, 2)
|
||||
else
|
||||
clear_alert("pressure")
|
||||
|
||||
@@ -1379,19 +1379,19 @@
|
||||
SetBlinded(1)
|
||||
blinded = 1
|
||||
eye_blurry = 1
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
else //You have the requisite organs
|
||||
if(sdisabilities & BLIND) // Disabled-blind, doesn't get better on its own
|
||||
blinded = 1
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
else if(eye_blind) // Blindness, heals slowly over time
|
||||
AdjustBlinded(-1)
|
||||
blinded = 1
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
else if(istype(glasses, /obj/item/clothing/glasses/sunglasses/blindfold)) //resting your eyes with a blindfold heals blurry eyes faster
|
||||
eye_blurry = max(eye_blurry-3, 0)
|
||||
blinded = 1
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
|
||||
//blurry sight
|
||||
if(vision.is_bruised()) // Vision organs impaired? Permablurry.
|
||||
@@ -1476,7 +1476,7 @@
|
||||
if(-90 to -80) severity = 8
|
||||
if(-95 to -90) 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 //Alive
|
||||
clear_fullscreen("crit")
|
||||
//Oxygen damage overlay
|
||||
@@ -1490,7 +1490,7 @@
|
||||
if(35 to 40) severity = 5
|
||||
if(40 to 45) 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")
|
||||
|
||||
@@ -1506,7 +1506,7 @@
|
||||
if(55 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")
|
||||
|
||||
@@ -1521,7 +1521,7 @@
|
||||
if(60 to 75) severity = 5
|
||||
if(75 to 90) severity = 6
|
||||
if(90 to INFINITY) severity = 7
|
||||
overlay_fullscreen("tired", /obj/screen/fullscreen/oxy, severity)
|
||||
overlay_fullscreen("tired", /atom/movable/screen/fullscreen/oxy, severity)
|
||||
else
|
||||
clear_fullscreen("tired")
|
||||
|
||||
@@ -1534,7 +1534,7 @@
|
||||
if(50 to 70) severity = 4
|
||||
if(70 to 90) severity = 5
|
||||
if(90 to INFINITY) severity = 6
|
||||
overlay_fullscreen("fear", /obj/screen/fullscreen/fear, severity)
|
||||
overlay_fullscreen("fear", /atom/movable/screen/fullscreen/fear, severity)
|
||||
else
|
||||
clear_fullscreen("fear")
|
||||
|
||||
@@ -1580,20 +1580,20 @@
|
||||
healths.appearance = healths_ma
|
||||
|
||||
|
||||
var/fat_alert = /obj/screen/alert/fat
|
||||
var/hungry_alert = /obj/screen/alert/hungry
|
||||
var/starving_alert = /obj/screen/alert/starving
|
||||
var/fat_alert = /atom/movable/screen/alert/fat
|
||||
var/hungry_alert = /atom/movable/screen/alert/hungry
|
||||
var/starving_alert = /atom/movable/screen/alert/starving
|
||||
|
||||
if(isSynthetic())
|
||||
fat_alert = /obj/screen/alert/fat/synth
|
||||
hungry_alert = /obj/screen/alert/hungry/synth
|
||||
starving_alert = /obj/screen/alert/starving/synth
|
||||
fat_alert = /atom/movable/screen/alert/fat/synth
|
||||
hungry_alert = /atom/movable/screen/alert/hungry/synth
|
||||
starving_alert = /atom/movable/screen/alert/starving/synth
|
||||
else if(get_species() in list(SPECIES_CUSTOM, SPECIES_HANNER))
|
||||
var/datum/species/custom/C = species
|
||||
if(/datum/trait/neutral/bloodsucker in C.traits)
|
||||
fat_alert = /obj/screen/alert/fat/vampire
|
||||
hungry_alert = /obj/screen/alert/hungry/vampire
|
||||
starving_alert = /obj/screen/alert/starving/vampire
|
||||
fat_alert = /atom/movable/screen/alert/fat/vampire
|
||||
hungry_alert = /atom/movable/screen/alert/hungry/vampire
|
||||
starving_alert = /atom/movable/screen/alert/starving/vampire
|
||||
|
||||
switch(nutrition)
|
||||
if(450 to INFINITY)
|
||||
@@ -1608,8 +1608,8 @@
|
||||
throw_alert("nutrition", starving_alert)
|
||||
|
||||
if(blinded)
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
else
|
||||
clear_fullscreen("blind")
|
||||
clear_alert("blind")
|
||||
@@ -1626,12 +1626,12 @@
|
||||
if(nif && nif.flag_check(NIF_V_CORRECTIVE, NIF_FLAGS_VISION))
|
||||
apply_nearsighted_overlay = FALSE
|
||||
|
||||
set_fullscreen(apply_nearsighted_overlay, "nearsighted", /obj/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(apply_nearsighted_overlay, "nearsighted", /atom/movable/screen/fullscreen/impaired, 1)
|
||||
|
||||
set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /obj/screen/fullscreen/high)
|
||||
set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /atom/movable/screen/fullscreen/high)
|
||||
if(druggy)
|
||||
throw_alert("high", /obj/screen/alert/high)
|
||||
throw_alert("high", /atom/movable/screen/alert/high)
|
||||
else
|
||||
clear_alert("high")
|
||||
|
||||
|
||||
@@ -112,9 +112,9 @@
|
||||
lleill_ability_datums.Add(LP)
|
||||
|
||||
/datum/species/shapeshifter/hanner/proc/add_lleill_abilities(var/mob/living/carbon/human/H)
|
||||
if(!H.ability_master || !istype(H.ability_master, /obj/screen/movable/ability_master/lleill))
|
||||
if(!H.ability_master || !istype(H.ability_master, /atom/movable/screen/movable/ability_master/lleill))
|
||||
H.ability_master = null
|
||||
H.ability_master = new /obj/screen/movable/ability_master/lleill(H)
|
||||
H.ability_master = new /atom/movable/screen/movable/ability_master/lleill(H)
|
||||
for(var/datum/power/lleill/P in lleill_ability_datums)
|
||||
if(!(P.verbpath in H.verbs))
|
||||
add_verb(H, P.verbpath)
|
||||
|
||||
@@ -202,9 +202,9 @@
|
||||
lleill_ability_datums.Add(LP)
|
||||
|
||||
/datum/species/lleill/proc/add_lleill_abilities(var/mob/living/carbon/human/H)
|
||||
if(!H.ability_master || !istype(H.ability_master, /obj/screen/movable/ability_master/lleill))
|
||||
if(!H.ability_master || !istype(H.ability_master, /atom/movable/screen/movable/ability_master/lleill))
|
||||
H.ability_master = null
|
||||
H.ability_master = new /obj/screen/movable/ability_master/lleill(H)
|
||||
H.ability_master = new /atom/movable/screen/movable/ability_master/lleill(H)
|
||||
for(var/datum/power/lleill/P in lleill_ability_datums)
|
||||
if(!(P.verbpath in H.verbs))
|
||||
add_verb(H, P.verbpath)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/obj/screen/lleill
|
||||
/atom/movable/screen/lleill
|
||||
name = "glamour"
|
||||
icon = 'icons/mob/lleill_hud.dmi'
|
||||
invisibility = INVISIBILITY_ABSTRACT
|
||||
|
||||
|
||||
/obj/screen/movable/ability_master/lleill
|
||||
/atom/movable/screen/movable/ability_master/lleill
|
||||
name = "Lleill Abilities"
|
||||
icon = 'icons/mob/screen_spells.dmi'
|
||||
icon_state = "grey_spell_ready"
|
||||
@@ -16,26 +16,26 @@
|
||||
|
||||
screen_loc = ui_spell_master
|
||||
|
||||
/obj/screen/movable/ability_master/lleill/update_abilities(forced = 0, mob/user) //Different proc to prevent indexing
|
||||
/atom/movable/screen/movable/ability_master/lleill/update_abilities(forced = 0, mob/user) //Different proc to prevent indexing
|
||||
update_icon()
|
||||
if(user && user.client)
|
||||
if(!(src in user.client.screen))
|
||||
user.client.screen += src
|
||||
for(var/obj/screen/ability/ability in ability_objects)
|
||||
for(var/atom/movable/screen/ability/ability in ability_objects)
|
||||
ability.update_icon(forced)
|
||||
|
||||
/obj/screen/ability/verb_based/lleill
|
||||
/atom/movable/screen/ability/verb_based/lleill
|
||||
icon_state = "grey_spell_base"
|
||||
background_base_state = "grey"
|
||||
|
||||
/obj/screen/movable/ability_master/proc/add_lleill_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
|
||||
/atom/movable/screen/movable/ability_master/proc/add_lleill_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
|
||||
if(!object_given)
|
||||
message_admins("ERROR: add_lleill_ability() was not given an object in its arguments.")
|
||||
if(!verb_given)
|
||||
message_admins("ERROR: add_lleill_ability() was not given a verb/proc in its arguments.")
|
||||
if(get_ability_by_proc_ref(verb_given))
|
||||
return // Duplicate
|
||||
var/obj/screen/ability/verb_based/lleill/A = new /obj/screen/ability/verb_based/lleill()
|
||||
var/atom/movable/screen/ability/verb_based/lleill/A = new /atom/movable/screen/ability/verb_based/lleill()
|
||||
A.ability_master = src
|
||||
A.object_used = object_given
|
||||
A.verb_to_call = verb_given
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/obj/screen/shadekin
|
||||
/atom/movable/screen/shadekin
|
||||
name = "shadekin status"
|
||||
icon = 'icons/mob/shadekin_hud.dmi'
|
||||
invisibility = INVISIBILITY_ABSTRACT
|
||||
|
||||
/obj/screen/movable/ability_master/shadekin
|
||||
/atom/movable/screen/movable/ability_master/shadekin
|
||||
name = "Shadekin Abilities"
|
||||
icon = 'icons/mob/screen_spells.dmi'
|
||||
icon_state = "grey_spell_ready"
|
||||
@@ -15,27 +15,27 @@
|
||||
|
||||
screen_loc = ui_spell_master
|
||||
|
||||
/obj/screen/movable/ability_master/shadekin/update_abilities(forced = 0, mob/user) //Different proc to prevent indexing
|
||||
/atom/movable/screen/movable/ability_master/shadekin/update_abilities(forced = 0, mob/user) //Different proc to prevent indexing
|
||||
update_icon()
|
||||
if(user && user.client)
|
||||
if(!(src in user.client.screen))
|
||||
user.client.screen += src
|
||||
for(var/obj/screen/ability/ability in ability_objects)
|
||||
for(var/atom/movable/screen/ability/ability in ability_objects)
|
||||
ability.update_icon(forced)
|
||||
|
||||
/obj/screen/ability/verb_based/shadekin
|
||||
/atom/movable/screen/ability/verb_based/shadekin
|
||||
icon_state = "grey_spell_base"
|
||||
background_base_state = "grey"
|
||||
icon = 'icons/mob/shadekin_abilities.dmi'
|
||||
|
||||
/obj/screen/movable/ability_master/proc/add_shadekin_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
|
||||
/atom/movable/screen/movable/ability_master/proc/add_shadekin_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
|
||||
if(!object_given)
|
||||
message_admins("ERROR: add_shadekin_ability() was not given an object in its arguments.")
|
||||
if(!verb_given)
|
||||
message_admins("ERROR: add_shadekin_ability() was not given a verb/proc in its arguments.")
|
||||
if(get_ability_by_proc_ref(verb_given))
|
||||
return // Duplicate
|
||||
var/obj/screen/ability/verb_based/shadekin/A = new /obj/screen/ability/verb_based/shadekin()
|
||||
var/atom/movable/screen/ability/verb_based/shadekin/A = new /atom/movable/screen/ability/verb_based/shadekin()
|
||||
A.ability_master = src
|
||||
A.object_used = object_given
|
||||
A.verb_to_call = verb_given
|
||||
@@ -48,12 +48,12 @@
|
||||
toggle_open(2) //forces the icons to refresh on screen
|
||||
|
||||
|
||||
/obj/screen/movable/ability_master/proc/remove_shadekin_ability(var/object_given, var/verb_given, var/arguments)
|
||||
/atom/movable/screen/movable/ability_master/proc/remove_shadekin_ability(var/object_given, var/verb_given, var/arguments)
|
||||
if(!object_given)
|
||||
message_admins("ERROR: remove_shadekin_ability() was not given an object in its arguments.")
|
||||
if(!verb_given)
|
||||
message_admins("ERROR: remove_shadekin_ability() was not given a verb/proc in its arguments.")
|
||||
var/obj/screen/ability/verb_based/shadekin/A = get_ability_by_proc_ref(verb_given)
|
||||
var/atom/movable/screen/ability/verb_based/shadekin/A = get_ability_by_proc_ref(verb_given)
|
||||
if(!A)
|
||||
return // We don't have the ability, so ignore it.
|
||||
ability_objects.Remove(A)
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
else
|
||||
H.adjustOxyLoss(ALRAUNE_CRIT_MAX_OXYLOSS)
|
||||
|
||||
H.throw_alert("pressure", /obj/screen/alert/lowpressure)
|
||||
H.throw_alert("pressure", /atom/movable/screen/alert/lowpressure)
|
||||
|
||||
return ..() // skip air processing if there's no air
|
||||
else
|
||||
@@ -188,7 +188,7 @@
|
||||
H.adjustOxyLoss(max(ALRAUNE_MAX_OXYLOSS*(1-ratio), 0))
|
||||
failed_inhale = 1
|
||||
|
||||
H.throw_alert("oxy", /obj/screen/alert/not_enough_co2)
|
||||
H.throw_alert("oxy", /atom/movable/screen/alert/not_enough_co2)
|
||||
else
|
||||
// We're in safe limits
|
||||
H.clear_alert("oxy")
|
||||
@@ -199,7 +199,7 @@
|
||||
|
||||
//Now we handle CO2.
|
||||
if(inhale_pp > safe_exhaled_max * 0.7) // For a human, this would be too much exhaled gas in the air. But plants don't care.
|
||||
H.throw_alert("co2", /obj/screen/alert/too_much_co2/plant) // Give them the alert on the HUD. They'll be aware when the good stuff is present.
|
||||
H.throw_alert("co2", /atom/movable/screen/alert/too_much_co2/plant) // Give them the alert on the HUD. They'll be aware when the good stuff is present.
|
||||
else
|
||||
H.clear_alert("co2")
|
||||
|
||||
@@ -224,7 +224,7 @@
|
||||
if(H.reagents)
|
||||
H.reagents.add_reagent(REAGENT_ID_TOXIN, CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE))
|
||||
breath.adjust_gas(poison_type, -poison/6, update = 0) //update after
|
||||
H.throw_alert("tox_in_air", /obj/screen/alert/tox_in_air)
|
||||
H.throw_alert("tox_in_air", /atom/movable/screen/alert/tox_in_air)
|
||||
else
|
||||
H.clear_alert("tox_in_air")
|
||||
|
||||
|
||||
@@ -609,7 +609,7 @@
|
||||
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech. why?
|
||||
return
|
||||
|
||||
if (!( istype(over_object, /obj/screen) ))
|
||||
if (!( istype(over_object, /atom/movable/screen) ))
|
||||
return ..()
|
||||
|
||||
if (!(src.loc == usr) || (src.loc && src.loc.loc == usr))
|
||||
@@ -618,7 +618,7 @@
|
||||
if (( usr.restrained() ) || ( usr.stat ))
|
||||
return
|
||||
|
||||
if ((src.loc == usr) && !(istype(over_object, /obj/screen)) && !usr.unEquip(src))
|
||||
if ((src.loc == usr) && !(istype(over_object, /atom/movable/screen)) && !usr.unEquip(src))
|
||||
return
|
||||
|
||||
switch(over_object.name)
|
||||
|
||||
@@ -950,7 +950,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
|
||||
if(!legcuffed)
|
||||
return //Not legcuffed, why bother.
|
||||
|
||||
throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed)
|
||||
throw_alert("legcuffed", /atom/movable/screen/alert/restrained/legcuffed, new_master = legcuffed)
|
||||
|
||||
overlays_standing[LEGCUFF_LAYER] = legcuffed.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_legcuffed_str, default_icon = INV_LCUFF_DEF_ICON, default_layer = LEGCUFF_LAYER)
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
/mob/living/proc/handle_stunned()
|
||||
if(stunned)
|
||||
AdjustStunned(-1)
|
||||
throw_alert("stunned", /obj/screen/alert/stunned)
|
||||
throw_alert("stunned", /atom/movable/screen/alert/stunned)
|
||||
else
|
||||
clear_alert("stunned")
|
||||
return stunned
|
||||
@@ -156,7 +156,7 @@
|
||||
/mob/living/proc/handle_weakened()
|
||||
if(weakened)
|
||||
AdjustWeakened(-1)
|
||||
throw_alert("weakened", /obj/screen/alert/weakened)
|
||||
throw_alert("weakened", /atom/movable/screen/alert/weakened)
|
||||
else
|
||||
clear_alert("weakened")
|
||||
return weakened
|
||||
@@ -174,7 +174,7 @@
|
||||
/mob/living/proc/handle_drugged()
|
||||
if(druggy)
|
||||
druggy = max(druggy-1, 0)
|
||||
throw_alert("high", /obj/screen/alert/high)
|
||||
throw_alert("high", /atom/movable/screen/alert/high)
|
||||
else
|
||||
clear_alert("high")
|
||||
return druggy
|
||||
@@ -187,7 +187,7 @@
|
||||
/mob/living/proc/handle_paralysed()
|
||||
if(paralysis)
|
||||
AdjustParalysis(-1)
|
||||
throw_alert("paralyzed", /obj/screen/alert/paralyzed)
|
||||
throw_alert("paralyzed", /atom/movable/screen/alert/paralyzed)
|
||||
else
|
||||
clear_alert("paralyzed")
|
||||
return paralysis
|
||||
@@ -195,7 +195,7 @@
|
||||
/mob/living/proc/handle_confused()
|
||||
if(confused)
|
||||
AdjustConfused(-1)
|
||||
throw_alert("confused", /obj/screen/alert/confused)
|
||||
throw_alert("confused", /atom/movable/screen/alert/confused)
|
||||
else
|
||||
clear_alert("confused")
|
||||
return confused
|
||||
@@ -205,10 +205,10 @@
|
||||
//Eyes
|
||||
if(sdisabilities & BLIND || stat) //blindness from disability or unconsciousness doesn't get better on its own
|
||||
SetBlinded(1)
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
else if(eye_blind) //blindness, heals slowly over time
|
||||
AdjustBlinded(-1)
|
||||
throw_alert("blind", /obj/screen/alert/blind)
|
||||
throw_alert("blind", /atom/movable/screen/alert/blind)
|
||||
else
|
||||
clear_alert("blind")
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
Sleeping(2)
|
||||
if(sleeping)
|
||||
AdjustSleeping(-1)
|
||||
throw_alert("asleep", /obj/screen/alert/asleep)
|
||||
throw_alert("asleep", /atom/movable/screen/alert/asleep)
|
||||
else
|
||||
clear_alert("asleep")
|
||||
return sleeping
|
||||
|
||||
@@ -887,7 +887,7 @@
|
||||
update_canmove()
|
||||
|
||||
//called when the mob receives a bright flash
|
||||
/mob/living/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
|
||||
/mob/living/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /atom/movable/screen/fullscreen/flash)
|
||||
if(override_blindness_check || !(disabilities & BLIND))
|
||||
overlay_fullscreen("flash", type)
|
||||
spawn(25)
|
||||
@@ -1288,7 +1288,7 @@
|
||||
swap_hand()
|
||||
|
||||
/mob/living/throw_item(atom/target)
|
||||
if(incapacitated() || !target || istype(target, /obj/screen) || is_incorporeal())
|
||||
if(incapacitated() || !target || istype(target, /atom/movable/screen) || is_incorporeal())
|
||||
return FALSE
|
||||
|
||||
var/atom/movable/item = src.get_active_hand()
|
||||
@@ -1434,7 +1434,7 @@
|
||||
if(has_gravity)
|
||||
clear_alert("weightless")
|
||||
else
|
||||
throw_alert("weightless", /obj/screen/alert/weightless)
|
||||
throw_alert("weightless", /atom/movable/screen/alert/weightless)
|
||||
|
||||
// Tries to turn off things that let you see through walls, like mesons.
|
||||
// Each mob does vision a bit differently so this is just for inheritence and also so overrided procs can make the vision apply instantly if they call `..()`.
|
||||
@@ -1445,7 +1445,7 @@
|
||||
* Small helper component to manage the character setup HUD icon
|
||||
*/
|
||||
/datum/component/character_setup
|
||||
var/obj/screen/character_setup/screen_icon
|
||||
var/atom/movable/screen/character_setup/screen_icon
|
||||
|
||||
/datum/component/character_setup/Initialize()
|
||||
if(!ismob(parent))
|
||||
@@ -1493,7 +1493,7 @@
|
||||
/**
|
||||
* Screen object for vore panel
|
||||
*/
|
||||
/obj/screen/character_setup
|
||||
/atom/movable/screen/character_setup
|
||||
name = "character setup"
|
||||
icon = 'icons/mob/screen/midnight.dmi'
|
||||
icon_state = "character"
|
||||
|
||||
@@ -370,7 +370,7 @@
|
||||
O.loc = src
|
||||
src.embedded += O
|
||||
add_verb(src, /mob/proc/yank_out_object)
|
||||
throw_alert("embeddedobject", /obj/screen/alert/embeddedobject)
|
||||
throw_alert("embeddedobject", /atom/movable/screen/alert/embeddedobject)
|
||||
|
||||
//This is called when the mob is thrown into a dense turf
|
||||
/mob/living/proc/turf_collision(var/turf/T, var/speed)
|
||||
|
||||
@@ -91,7 +91,7 @@ var/list/ai_verbs_default = list(
|
||||
// Multicam Vars
|
||||
var/multicam_allowed = TRUE
|
||||
var/multicam_on = FALSE
|
||||
var/obj/screen/movable/pic_in_pic/ai/master_multicam
|
||||
var/atom/movable/screen/movable/pic_in_pic/ai/master_multicam
|
||||
var/list/multicam_screens = list()
|
||||
var/list/all_eyes = list()
|
||||
var/max_multicams = 6
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
//Blind the AI
|
||||
update_icon()
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
src.sight = src.sight&~SEE_TURFS
|
||||
src.sight = src.sight&~SEE_MOBS
|
||||
src.sight = src.sight&~SEE_OBJS
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
//Picture in picture
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai
|
||||
/atom/movable/screen/movable/pic_in_pic/ai
|
||||
var/mob/living/silicon/ai/ai
|
||||
var/mutable_appearance/highlighted_background
|
||||
var/highlighted = FALSE
|
||||
var/mob/observer/eye/aiEye/pic_in_pic/aiEye
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/Initialize(mapload)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/Initialize(mapload)
|
||||
. = ..()
|
||||
aiEye = new /mob/observer/eye/aiEye/pic_in_pic()
|
||||
aiEye.screen = src
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/Destroy()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/Destroy()
|
||||
. = ..()
|
||||
if(!QDELETED(aiEye))
|
||||
QDEL_NULL(aiEye)
|
||||
@@ -19,12 +19,12 @@
|
||||
aiEye = null
|
||||
set_ai(null)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/Click()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/Click()
|
||||
..()
|
||||
if(ai)
|
||||
ai.select_main_multicam_window(src)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/make_backgrounds()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/make_backgrounds()
|
||||
..()
|
||||
highlighted_background = new /mutable_appearance()
|
||||
highlighted_background.icon = 'icons/hud/pic_in_pic.dmi'
|
||||
@@ -33,7 +33,7 @@
|
||||
highlighted_background.plane = PLATING_PLANE
|
||||
highlighted_background.appearance_flags = PIXEL_SCALE
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/add_background()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/add_background()
|
||||
if((width > 0) && (height > 0))
|
||||
var/matrix/M = matrix()
|
||||
M.Scale(width + 0.5, height + 0.5)
|
||||
@@ -42,7 +42,7 @@
|
||||
standard_background.transform = M
|
||||
add_overlay(highlighted ? highlighted_background : standard_background)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/set_view_size(width, height, do_refresh = TRUE)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/set_view_size(width, height, do_refresh = TRUE)
|
||||
if(!aiEye) // Exploit fix
|
||||
qdel(src)
|
||||
return
|
||||
@@ -51,35 +51,35 @@
|
||||
ai.camera_visibility(aiEye)
|
||||
..()
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/set_view_center(atom/target, do_refresh = TRUE)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/set_view_center(atom/target, do_refresh = TRUE)
|
||||
..()
|
||||
if(!aiEye) // Exploit Fix
|
||||
qdel(src)
|
||||
return
|
||||
aiEye.setLoc(get_turf(target))
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/refresh_view()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/refresh_view()
|
||||
..()
|
||||
if(!aiEye) // Exploit Fix
|
||||
qdel(src)
|
||||
return
|
||||
aiEye.setLoc(get_turf(center))
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/proc/highlight()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/proc/highlight()
|
||||
if(highlighted)
|
||||
return
|
||||
highlighted = TRUE
|
||||
cut_overlay(standard_background)
|
||||
add_overlay(highlighted_background)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/proc/unhighlight()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/proc/unhighlight()
|
||||
if(!highlighted)
|
||||
return
|
||||
highlighted = FALSE
|
||||
cut_overlay(highlighted_background)
|
||||
add_overlay(standard_background)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/proc/set_ai(mob/living/silicon/ai/new_ai)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/proc/set_ai(mob/living/silicon/ai/new_ai)
|
||||
if(!aiEye && !QDELETED(src))
|
||||
if(new_ai)
|
||||
to_chat(new_ai, span_danger("<h2>You've run into a unfixable bug with AI eye code. \
|
||||
@@ -140,7 +140,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
|
||||
/mob/observer/eye/aiEye/pic_in_pic
|
||||
name = "Secondary AI Eye"
|
||||
var/obj/screen/movable/pic_in_pic/ai/screen
|
||||
var/atom/movable/screen/movable/pic_in_pic/ai/screen
|
||||
var/list/cameras_telegraphed = list()
|
||||
var/telegraph_cameras = TRUE
|
||||
var/telegraph_range = 7
|
||||
@@ -218,7 +218,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
if(!silent)
|
||||
to_chat(src, span_warning("Cannot place more than [max_multicams] multicamera windows."))
|
||||
return
|
||||
var/obj/screen/movable/pic_in_pic/ai/C = new /obj/screen/movable/pic_in_pic/ai()
|
||||
var/atom/movable/screen/movable/pic_in_pic/ai/C = new /atom/movable/screen/movable/pic_in_pic/ai()
|
||||
C.set_view_size(3, 3, FALSE)
|
||||
C.set_view_center(get_turf(eyeobj))
|
||||
C.set_ai(src)
|
||||
@@ -248,7 +248,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
/mob/living/silicon/ai/proc/refresh_multicam()
|
||||
reset_view(GLOB.ai_camera_room_landmark)
|
||||
if(client)
|
||||
for(var/obj/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
for(var/atom/movable/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
P.show_to(client)
|
||||
|
||||
/mob/living/silicon/ai/proc/end_multicam()
|
||||
@@ -257,13 +257,13 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
multicam_on = FALSE
|
||||
select_main_multicam_window(null)
|
||||
if(client)
|
||||
for(var/obj/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
for(var/atom/movable/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
P.unshow_to(client)
|
||||
reset_view()
|
||||
to_chat(src, span_notice("Multiple-camera viewing mode deactivated."))
|
||||
|
||||
|
||||
/mob/living/silicon/ai/proc/select_main_multicam_window(obj/screen/movable/pic_in_pic/ai/P)
|
||||
/mob/living/silicon/ai/proc/select_main_multicam_window(atom/movable/screen/movable/pic_in_pic/ai/P)
|
||||
if(master_multicam == P)
|
||||
return
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
return laws.zeroth_law != null
|
||||
|
||||
/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg, notify = TRUE)
|
||||
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(notify)
|
||||
@@ -77,7 +77,7 @@
|
||||
log_and_message_admins("cleared the supplied laws of [src]")
|
||||
|
||||
/mob/living/silicon/proc/notify_of_law_change(message)
|
||||
throw_alert("newlaw", /obj/screen/alert/newlaw)
|
||||
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
|
||||
if((last_law_notification + 1 SECOND) > world.time)
|
||||
return
|
||||
last_law_notification = world.time
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/mob/living/silicon/pai
|
||||
var/obj/screen/pai/pai_fold_display = null
|
||||
var/atom/movable/screen/pai/pai_fold_display = null
|
||||
|
||||
/obj/screen/pai
|
||||
/atom/movable/screen/pai
|
||||
icon = 'icons/mob/pai_hud.dmi'
|
||||
var/base_state
|
||||
|
||||
/obj/screen/pai/Click_vr(location, control, params)
|
||||
/atom/movable/screen/pai/Click_vr(location, control, params)
|
||||
if(!usr) return 1
|
||||
if(!ispAI(usr)) return 1
|
||||
var/mob/living/silicon/pai/p = usr
|
||||
@@ -72,7 +72,7 @@
|
||||
if("death alarm")
|
||||
p.death_alarm()
|
||||
|
||||
/obj/screen/pai/pai_fold_display
|
||||
/atom/movable/screen/pai/pai_fold_display
|
||||
name = "fold/unfold"
|
||||
icon = 'icons/mob/pai_hud.dmi'
|
||||
|
||||
@@ -97,11 +97,11 @@
|
||||
HUD.hotkeybuttons = hotkeybuttons
|
||||
HUD.hud_elements = hud_elements
|
||||
|
||||
var/obj/screen/pai/using
|
||||
var/atom/movable/screen/pai/using
|
||||
|
||||
//Small intent quarters
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_HELP
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_help-s"
|
||||
@@ -111,7 +111,7 @@
|
||||
HUD.adding += using
|
||||
HUD.help_intent = using
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_DISARM
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_disarm-n"
|
||||
@@ -121,7 +121,7 @@
|
||||
HUD.adding += using
|
||||
HUD.disarm_intent = using
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_GRAB
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_grab-n"
|
||||
@@ -131,7 +131,7 @@
|
||||
HUD.adding += using
|
||||
HUD.grab_intent = using
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_HURT
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_harm-n"
|
||||
@@ -142,7 +142,7 @@
|
||||
HUD.hurt_intent = using
|
||||
|
||||
//Move intent (walk/run)
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "mov_intent"
|
||||
using.icon = ui_style
|
||||
using.icon_state = (m_intent == I_RUN ? "running" : "walking")
|
||||
@@ -153,7 +153,7 @@
|
||||
HUD.move_intent = using
|
||||
|
||||
//Resist button
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "resist"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "act_resist"
|
||||
@@ -163,7 +163,7 @@
|
||||
HUD.hotkeybuttons += using
|
||||
|
||||
//Pull button
|
||||
pullin = new /obj/screen()
|
||||
pullin = new /atom/movable/screen()
|
||||
pullin.icon = ui_style
|
||||
pullin.icon_state = "pull0"
|
||||
pullin.name = "pull"
|
||||
@@ -172,16 +172,16 @@
|
||||
HUD.hud_elements |= pullin
|
||||
|
||||
//Health status
|
||||
healths = new /obj/screen()
|
||||
healths = new /atom/movable/screen()
|
||||
healths.icon = ui_style
|
||||
healths.icon_state = "health0"
|
||||
healths.name = "health"
|
||||
healths.screen_loc = ui_health
|
||||
HUD.hud_elements |= healths
|
||||
|
||||
pain = new /obj/screen( null )
|
||||
pain = new /atom/movable/screen( null )
|
||||
|
||||
zone_sel = new /obj/screen/zone_sel( null )
|
||||
zone_sel = new /atom/movable/screen/zone_sel( null )
|
||||
zone_sel.icon = ui_style
|
||||
zone_sel.color = ui_color
|
||||
zone_sel.alpha = ui_alpha
|
||||
@@ -189,13 +189,13 @@
|
||||
zone_sel.update_icon()
|
||||
HUD.hud_elements |= zone_sel
|
||||
|
||||
pai_fold_display = new /obj/screen/pai/pai_fold_display()
|
||||
pai_fold_display = new /atom/movable/screen/pai/pai_fold_display()
|
||||
pai_fold_display.screen_loc = ui_health
|
||||
pai_fold_display.icon_state = "folded"
|
||||
HUD.hud_elements |= pai_fold_display
|
||||
|
||||
//Choose chassis button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "choose chassis"
|
||||
using.icon_state = "choose_chassis"
|
||||
using.screen_loc = ui_movi
|
||||
@@ -204,7 +204,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Software interface button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "software interface"
|
||||
using.icon_state = "software_interface"
|
||||
using.screen_loc = ui_acti
|
||||
@@ -213,7 +213,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Radio configuration button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "radio configuration"
|
||||
using.icon_state = "radio_configuration"
|
||||
using.screen_loc = ui_acti
|
||||
@@ -222,7 +222,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//PDA button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "pda"
|
||||
using.icon_state = "pda"
|
||||
using.screen_loc = ui_pai_comms
|
||||
@@ -231,7 +231,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Communicator button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "communicator"
|
||||
using.icon_state = "communicator"
|
||||
using.screen_loc = ui_pai_comms
|
||||
@@ -240,7 +240,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Language button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "known languages"
|
||||
using.icon_state = "language"
|
||||
using.screen_loc = ui_acti
|
||||
@@ -248,7 +248,7 @@
|
||||
using.alpha = ui_alpha
|
||||
hud_elements |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "software toggle"
|
||||
using.icon_state = "software"
|
||||
using.screen_loc = ui_inventory
|
||||
@@ -256,7 +256,7 @@
|
||||
using.alpha = ui_alpha
|
||||
hud_elements |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "directives"
|
||||
using.icon_state = "directives"
|
||||
using.screen_loc = "WEST:6,SOUTH:18"
|
||||
@@ -264,7 +264,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "crew manifest"
|
||||
using.icon_state = "manifest"
|
||||
using.screen_loc = "WEST:6,SOUTH+1:2"
|
||||
@@ -272,7 +272,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "medical records"
|
||||
using.base_state = "med_records"
|
||||
using.screen_loc = "WEST:6,SOUTH+1:18"
|
||||
@@ -280,7 +280,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "security records"
|
||||
using.base_state = "sec_records"
|
||||
using.screen_loc = "WEST:6,SOUTH+2:2"
|
||||
@@ -288,7 +288,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "atmosphere sensor"
|
||||
using.base_state = "atmos_sensor"
|
||||
using.screen_loc = "WEST:6,SOUTH+2:18"
|
||||
@@ -296,7 +296,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "remote signaler"
|
||||
using.base_state = "signaller"
|
||||
using.screen_loc = "WEST:6,SOUTH+3:2"
|
||||
@@ -304,7 +304,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "universal translator"
|
||||
using.base_state = "translator"
|
||||
using.screen_loc = "WEST:6,SOUTH+3:18"
|
||||
@@ -312,7 +312,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "door jack"
|
||||
using.base_state = "door_jack"
|
||||
using.screen_loc = "WEST:6,SOUTH+4:2"
|
||||
@@ -320,7 +320,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "ar hud"
|
||||
using.base_state = "ar_hud"
|
||||
using.screen_loc = "WEST:6,SOUTH+4:18"
|
||||
@@ -328,7 +328,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "death alarm"
|
||||
using.base_state = "death_alarm"
|
||||
using.screen_loc = "WEST:6,SOUTH+5:2"
|
||||
@@ -336,42 +336,42 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
autowhisper_display = new /obj/screen()
|
||||
autowhisper_display = new /atom/movable/screen()
|
||||
autowhisper_display.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
autowhisper_display.icon_state = "autowhisper"
|
||||
autowhisper_display.name = "autowhisper"
|
||||
autowhisper_display.screen_loc = "EAST-1:28,CENTER-2:13"
|
||||
hud_elements |= autowhisper_display
|
||||
|
||||
var/obj/screen/aw = new /obj/screen()
|
||||
var/atom/movable/screen/aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "aw-select"
|
||||
aw.name = "autowhisper mode"
|
||||
aw.screen_loc = "EAST-1:28,CENTER-2:13"
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "lang"
|
||||
aw.name = "check known languages"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "pose"
|
||||
aw.name = "set pose"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "up"
|
||||
aw.name = "move upwards"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "down"
|
||||
aw.name = "move downwards"
|
||||
|
||||
@@ -543,7 +543,7 @@
|
||||
soft_si = TRUE
|
||||
if(istype(soft,/datum/pai_software/deathalarm))
|
||||
soft_da = TRUE
|
||||
for(var/obj/screen/pai/button in hud_used.other)
|
||||
for(var/atom/movable/screen/pai/button in hud_used.other)
|
||||
if(button.name == "medical records")
|
||||
if(soft_mr)
|
||||
button.icon_state = "[button.base_state]"
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
add_language(LANGUAGE_SWARMBOT, 1)
|
||||
|
||||
for(var/spell in spell_setup)
|
||||
src.add_spell(new spell, "nano_spell_ready", /obj/screen/movable/spell_master/swarm)
|
||||
src.add_spell(new spell, "nano_spell_ready", /atom/movable/screen/movable/spell_master/swarm)
|
||||
|
||||
/mob/living/silicon/robot/drone/swarm/init()
|
||||
..()
|
||||
|
||||
@@ -269,15 +269,15 @@
|
||||
if(environment)
|
||||
switch(environment.temperature) //310.055 optimal body temp
|
||||
if(400 to INFINITY)
|
||||
throw_alert("temp", /obj/screen/alert/hot/robot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot/robot, HOT_ALERT_SEVERITY_MODERATE)
|
||||
if(360 to 400)
|
||||
throw_alert("temp", /obj/screen/alert/hot/robot, HOT_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot/robot, HOT_ALERT_SEVERITY_LOW)
|
||||
if(260 to 360)
|
||||
clear_alert("temp")
|
||||
if(200 to 260)
|
||||
throw_alert("temp", /obj/screen/alert/cold/robot, COLD_ALERT_SEVERITY_LOW)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold/robot, COLD_ALERT_SEVERITY_LOW)
|
||||
else
|
||||
throw_alert("temp", /obj/screen/alert/cold/robot, COLD_ALERT_SEVERITY_MODERATE)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold/robot, COLD_ALERT_SEVERITY_MODERATE)
|
||||
|
||||
//Oxygen and fire does nothing yet!!
|
||||
// if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]"
|
||||
@@ -285,12 +285,12 @@
|
||||
|
||||
if(stat != 2)
|
||||
if(blinded)
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
else
|
||||
clear_fullscreen("blind")
|
||||
set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /obj/screen/fullscreen/high)
|
||||
set_fullscreen(disabilities & NEARSIGHTED, "impaired", /atom/movable/screen/fullscreen/impaired, 1)
|
||||
set_fullscreen(eye_blurry, "blurry", /atom/movable/screen/fullscreen/blurry)
|
||||
set_fullscreen(druggy, "high", /atom/movable/screen/fullscreen/high)
|
||||
|
||||
if (machine)
|
||||
if (machine.check_eye(src) < 0)
|
||||
@@ -300,7 +300,7 @@
|
||||
reset_view(null)
|
||||
|
||||
if(emagged)
|
||||
throw_alert("hacked", /obj/screen/alert/hacked)
|
||||
throw_alert("hacked", /atom/movable/screen/alert/hacked)
|
||||
else
|
||||
clear_alert("hacked")
|
||||
|
||||
@@ -313,15 +313,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)
|
||||
|
||||
|
||||
/mob/living/silicon/robot/proc/update_items()
|
||||
|
||||
@@ -43,12 +43,12 @@
|
||||
|
||||
//Hud stuff
|
||||
|
||||
var/obj/screen/inv1 = null
|
||||
var/obj/screen/inv2 = null
|
||||
var/obj/screen/inv3 = null
|
||||
var/atom/movable/screen/inv1 = null
|
||||
var/atom/movable/screen/inv2 = null
|
||||
var/atom/movable/screen/inv3 = null
|
||||
|
||||
var/shown_robot_modules = 0 //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
|
||||
|
||||
var/ui_theme
|
||||
var/selecting_module = FALSE
|
||||
@@ -1179,7 +1179,7 @@
|
||||
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")
|
||||
lockdown = state
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
if(cameraFollow)
|
||||
cameraFollow = null
|
||||
|
||||
/mob/living/silicon/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
|
||||
/mob/living/silicon/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /atom/movable/screen/fullscreen/flash)
|
||||
if(affect_silicon)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -66,9 +66,9 @@
|
||||
if(90 to INFINITY)
|
||||
clear_alert("nutrition")
|
||||
if(50 to 90)
|
||||
throw_alert("nutrition", /obj/screen/alert/hungry)
|
||||
throw_alert("nutrition", /atom/movable/screen/alert/hungry)
|
||||
if(-INFINITY to 50)
|
||||
throw_alert("nutrition", /obj/screen/alert/starving)
|
||||
throw_alert("nutrition", /atom/movable/screen/alert/starving)
|
||||
|
||||
//VOREStation ADD START - I made this for catslugs but tbh it's probably cool to give to everything.
|
||||
//Gives all simplemobs passive healing as long as they can find food.
|
||||
@@ -127,56 +127,56 @@
|
||||
|
||||
if(min_oxy && Environment.gas[GAS_O2] < min_oxy)
|
||||
atmos_unsuitable = 1
|
||||
throw_alert("oxy", /obj/screen/alert/not_enough_oxy)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/not_enough_oxy)
|
||||
else if(max_oxy && Environment.gas[GAS_O2] > max_oxy)
|
||||
atmos_unsuitable = 1
|
||||
throw_alert("oxy", /obj/screen/alert/too_much_oxy)
|
||||
throw_alert("oxy", /atom/movable/screen/alert/too_much_oxy)
|
||||
else
|
||||
clear_alert("oxy")
|
||||
|
||||
if(min_tox && Environment.gas[GAS_PHORON] < min_tox)
|
||||
atmos_unsuitable = 2
|
||||
throw_alert("tox_in_air", /obj/screen/alert/not_enough_tox)
|
||||
throw_alert("tox_in_air", /atom/movable/screen/alert/not_enough_tox)
|
||||
else if(max_tox && Environment.gas[GAS_PHORON] > max_tox)
|
||||
atmos_unsuitable = 2
|
||||
throw_alert("tox_in_air", /obj/screen/alert/tox_in_air)
|
||||
throw_alert("tox_in_air", /atom/movable/screen/alert/tox_in_air)
|
||||
else
|
||||
clear_alert("tox_in_air")
|
||||
|
||||
if(min_n2 && Environment.gas[GAS_N2] < min_n2)
|
||||
atmos_unsuitable = 1
|
||||
throw_alert("n2o", /obj/screen/alert/not_enough_nitro)
|
||||
throw_alert("n2o", /atom/movable/screen/alert/not_enough_nitro)
|
||||
else if(max_n2 && Environment.gas[GAS_N2] > max_n2)
|
||||
atmos_unsuitable = 1
|
||||
throw_alert("n2o", /obj/screen/alert/too_much_nitro)
|
||||
throw_alert("n2o", /atom/movable/screen/alert/too_much_nitro)
|
||||
else
|
||||
clear_alert("n2o")
|
||||
|
||||
if(min_co2 && Environment.gas[GAS_CO2] < min_co2)
|
||||
atmos_unsuitable = 1
|
||||
throw_alert("co2", /obj/screen/alert/not_enough_co2)
|
||||
throw_alert("co2", /atom/movable/screen/alert/not_enough_co2)
|
||||
else if(max_co2 && Environment.gas[GAS_CO2] > max_co2)
|
||||
atmos_unsuitable = 1
|
||||
throw_alert("co2", /obj/screen/alert/too_much_co2)
|
||||
throw_alert("co2", /atom/movable/screen/alert/too_much_co2)
|
||||
else
|
||||
clear_alert("co2")
|
||||
|
||||
if(min_ch4 && Environment.gas[GAS_CH4] < min_ch4)
|
||||
atmos_unsuitable = 2
|
||||
throw_alert("methane_in_air", /obj/screen/alert/not_enough_methane)
|
||||
throw_alert("methane_in_air", /atom/movable/screen/alert/not_enough_methane)
|
||||
else if(max_tox && Environment.gas[GAS_CH4] > max_ch4)
|
||||
atmos_unsuitable = 2
|
||||
throw_alert("methane_in_air", /obj/screen/alert/methane_in_air)
|
||||
throw_alert("methane_in_air", /atom/movable/screen/alert/methane_in_air)
|
||||
else
|
||||
clear_alert("methane_in_air")
|
||||
|
||||
//Atmos effect
|
||||
if(bodytemperature < minbodytemp)
|
||||
adjustFireLoss(cold_damage_per_tick)
|
||||
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
|
||||
else if(bodytemperature > maxbodytemp)
|
||||
adjustFireLoss(heat_damage_per_tick)
|
||||
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
throw_alert("temp", /atom/movable/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
|
||||
else
|
||||
clear_alert("temp")
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
HUD.hotkeybuttons = hotkeybuttons
|
||||
|
||||
var/list/hud_elements = list()
|
||||
var/obj/screen/using
|
||||
var/obj/screen/inventory/inv_box
|
||||
var/atom/movable/screen/using
|
||||
var/atom/movable/screen/inventory/inv_box
|
||||
|
||||
var/has_hidden_gear
|
||||
if(LAZYLEN(hud_gears))
|
||||
for(var/gear_slot in hud_gears)
|
||||
inv_box = new /obj/screen/inventory()
|
||||
inv_box = new /atom/movable/screen/inventory()
|
||||
inv_box.icon = ui_style
|
||||
inv_box.color = ui_color
|
||||
inv_box.alpha = ui_alpha
|
||||
@@ -46,7 +46,7 @@
|
||||
adding += inv_box
|
||||
|
||||
if(has_hidden_gear)
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "toggle"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "other"
|
||||
@@ -57,7 +57,7 @@
|
||||
adding += using
|
||||
|
||||
//Intent Backdrop
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "act_intent"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_"+a_intent
|
||||
@@ -75,7 +75,7 @@
|
||||
ico = new(ui_style, "black")
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height())
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_HELP
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
@@ -87,7 +87,7 @@
|
||||
ico = new(ui_style, "black")
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height())
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_DISARM
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
@@ -99,7 +99,7 @@
|
||||
ico = new(ui_style, "black")
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2)
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_GRAB
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
@@ -111,7 +111,7 @@
|
||||
ico = new(ui_style, "black")
|
||||
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
|
||||
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_HURT
|
||||
using.icon = ico
|
||||
using.screen_loc = ui_acti
|
||||
@@ -121,7 +121,7 @@
|
||||
HUD.hurt_intent = using
|
||||
|
||||
//Move intent (walk/run)
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "mov_intent"
|
||||
using.icon = ui_style
|
||||
using.icon_state = (m_intent == I_RUN ? "running" : "walking")
|
||||
@@ -132,7 +132,7 @@
|
||||
HUD.move_intent = using
|
||||
|
||||
//Resist button
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "resist"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "act_resist"
|
||||
@@ -142,7 +142,7 @@
|
||||
HUD.hotkeybuttons += using
|
||||
|
||||
//Pull button
|
||||
pullin = new /obj/screen()
|
||||
pullin = new /atom/movable/screen()
|
||||
pullin.icon = ui_style
|
||||
pullin.icon_state = "pull0"
|
||||
pullin.name = "pull"
|
||||
@@ -151,51 +151,51 @@
|
||||
hud_elements |= pullin
|
||||
|
||||
//Health status
|
||||
healths = new /obj/screen()
|
||||
healths = new /atom/movable/screen()
|
||||
healths.icon = ui_style
|
||||
healths.icon_state = "health0"
|
||||
healths.name = "health"
|
||||
healths.screen_loc = ui_health
|
||||
hud_elements |= healths
|
||||
|
||||
autowhisper_display = new /obj/screen()
|
||||
autowhisper_display = new /atom/movable/screen()
|
||||
autowhisper_display.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
autowhisper_display.icon_state = "autowhisper"
|
||||
autowhisper_display.name = "autowhisper"
|
||||
autowhisper_display.screen_loc = "EAST-1:28,CENTER-2:13"
|
||||
hud_elements |= autowhisper_display
|
||||
|
||||
var/obj/screen/aw = new /obj/screen()
|
||||
var/atom/movable/screen/aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "aw-select"
|
||||
aw.name = "autowhisper mode"
|
||||
aw.screen_loc = "EAST-1:28,CENTER-2:13"
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "lang"
|
||||
aw.name = "check known languages"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "up"
|
||||
aw.name = "move upwards"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "down"
|
||||
aw.name = "move downwards"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
pain = new /obj/screen( null )
|
||||
pain = new /atom/movable/screen( null )
|
||||
|
||||
zone_sel = new /obj/screen/zone_sel( null )
|
||||
zone_sel = new /atom/movable/screen/zone_sel( null )
|
||||
zone_sel.icon = ui_style
|
||||
zone_sel.color = ui_color
|
||||
zone_sel.alpha = ui_alpha
|
||||
@@ -211,7 +211,7 @@
|
||||
//Hand things
|
||||
if(has_hands)
|
||||
//Drop button
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "drop"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "act_drop"
|
||||
@@ -221,7 +221,7 @@
|
||||
HUD.hotkeybuttons += using
|
||||
|
||||
//Equip detail
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "equip"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "act_equip"
|
||||
@@ -231,7 +231,7 @@
|
||||
HUD.adding += using
|
||||
|
||||
//Hand slots themselves
|
||||
inv_box = new /obj/screen/inventory/hand()
|
||||
inv_box = new /atom/movable/screen/inventory/hand()
|
||||
inv_box.hud = HUD
|
||||
inv_box.name = "r_hand"
|
||||
inv_box.icon = ui_style
|
||||
@@ -246,7 +246,7 @@
|
||||
HUD.adding += inv_box
|
||||
slot_info["[slot_r_hand]"] = inv_box.screen_loc
|
||||
|
||||
inv_box = new /obj/screen/inventory/hand()
|
||||
inv_box = new /atom/movable/screen/inventory/hand()
|
||||
inv_box.hud = HUD
|
||||
inv_box.name = "l_hand"
|
||||
inv_box.icon = ui_style
|
||||
@@ -262,7 +262,7 @@
|
||||
slot_info["[slot_l_hand]"] = inv_box.screen_loc
|
||||
|
||||
//Swaphand titlebar
|
||||
using = new /obj/screen/inventory()
|
||||
using = new /atom/movable/screen/inventory()
|
||||
using.name = "hand"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "hand1"
|
||||
@@ -271,7 +271,7 @@
|
||||
using.alpha = ui_alpha
|
||||
HUD.adding += using
|
||||
|
||||
using = new /obj/screen/inventory()
|
||||
using = new /atom/movable/screen/inventory()
|
||||
using.name = "hand"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "hand2"
|
||||
@@ -281,7 +281,7 @@
|
||||
HUD.adding += using
|
||||
|
||||
//Throw button
|
||||
throw_icon = new /obj/screen()
|
||||
throw_icon = new /atom/movable/screen()
|
||||
throw_icon.icon = ui_style
|
||||
throw_icon.icon_state = "act_throw_off"
|
||||
throw_icon.name = "throw"
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
/obj/machinery/camera,
|
||||
/obj/belly,
|
||||
/obj/soulgem,
|
||||
/obj/screen,
|
||||
/atom/movable/screen,
|
||||
/atom/movable/emissive_blocker,
|
||||
/obj/item/material,
|
||||
/obj/item/melee,
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
var/mob/target = pick(potential_targets)
|
||||
potential_targets -= target
|
||||
if(target.client)
|
||||
target.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 5)
|
||||
target.client.create_fake_ad_popup_multiple(/atom/movable/screen/popup/default, 5)
|
||||
|
||||
/mob/living/simple_mob/glitch_boss/proc/bombardment(atom/A)
|
||||
var/list/potential_targets = ai_holder.list_targets()
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
var/original_ckey
|
||||
var/chosen_color
|
||||
var/static/list/blacklist_typecache = typecacheof(list(
|
||||
/obj/screen,
|
||||
/atom/movable/screen,
|
||||
/obj/singularity,
|
||||
/mob/living/simple_mob/vore/morph,
|
||||
/obj/effect))
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
for(var/datum/alternate_appearance/AA in viewing_alternate_appearances)
|
||||
AA.display_to(list(src))
|
||||
|
||||
var/obj/screen/plane_master/augmented/aug = plane_holder.plane_masters[VIS_AUGMENTED]
|
||||
var/atom/movable/screen/plane_master/augmented/aug = plane_holder.plane_masters[VIS_AUGMENTED]
|
||||
aug.apply()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
unset_machine()
|
||||
clear_fullscreen()
|
||||
if(client)
|
||||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters)
|
||||
for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters)
|
||||
qdel(spell_master)
|
||||
remove_screen_obj_references()
|
||||
client.screen = list()
|
||||
@@ -1189,7 +1189,7 @@
|
||||
|
||||
|
||||
/client/proc/check_has_body_select()
|
||||
return mob && mob.hud_used && istype(mob.zone_sel, /obj/screen/zone_sel)
|
||||
return mob && mob.hud_used && istype(mob.zone_sel, /atom/movable/screen/zone_sel)
|
||||
|
||||
/client/verb/body_toggle_head()
|
||||
set name = "body-toggle-head"
|
||||
@@ -1229,7 +1229,7 @@
|
||||
/client/proc/toggle_zone_sel(list/zones)
|
||||
if(!check_has_body_select())
|
||||
return
|
||||
var/obj/screen/zone_sel/selector = mob.zone_sel
|
||||
var/atom/movable/screen/zone_sel/selector = mob.zone_sel
|
||||
selector.set_selected_zone(next_in_list(mob.zone_sel.selecting,zones))
|
||||
|
||||
// This handles setting the client's color variable, which makes everything look a specific color.
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
blocks_emissive = EMISSIVE_BLOCK_GENERIC
|
||||
///when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace.
|
||||
vis_flags = VIS_INHERIT_PLANE
|
||||
unacidable = FALSE
|
||||
|
||||
/// It's like a client, but persists! Persistent clients will stick to a mob until the client in question is logged into a different mob.
|
||||
var/datum/persistent_client/persistent_client
|
||||
@@ -26,32 +27,32 @@
|
||||
//Not in use yet
|
||||
var/obj/effect/organstructure/organStructure = null
|
||||
|
||||
var/obj/screen/hands = null
|
||||
var/obj/screen/pullin = null
|
||||
var/obj/screen/purged = null
|
||||
var/obj/screen/internals = 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/obj/screen/pain = null
|
||||
var/obj/screen/gun/item/item_use_icon = null
|
||||
var/obj/screen/gun/radio/radio_use_icon = null
|
||||
var/obj/screen/gun/move/gun_move_icon = null
|
||||
var/obj/screen/gun/run/gun_run_icon = null
|
||||
var/obj/screen/gun/mode/gun_setting_icon = null
|
||||
var/obj/screen/ling/chems/ling_chem_display = null
|
||||
var/obj/screen/wizard/energy/wiz_energy_display = null
|
||||
var/obj/screen/wizard/instability/wiz_instability_display = null
|
||||
var/obj/screen/autowhisper_display = null
|
||||
var/atom/movable/screen/hands = null
|
||||
var/atom/movable/screen/pullin = null
|
||||
var/atom/movable/screen/purged = null
|
||||
var/atom/movable/screen/internals = 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
|
||||
var/atom/movable/screen/pain = null
|
||||
var/atom/movable/screen/gun/item/item_use_icon = null
|
||||
var/atom/movable/screen/gun/radio/radio_use_icon = null
|
||||
var/atom/movable/screen/gun/move/gun_move_icon = null
|
||||
var/atom/movable/screen/gun/run/gun_run_icon = null
|
||||
var/atom/movable/screen/gun/mode/gun_setting_icon = null
|
||||
var/atom/movable/screen/ling/chems/ling_chem_display = null
|
||||
var/atom/movable/screen/wizard/energy/wiz_energy_display = null
|
||||
var/atom/movable/screen/wizard/instability/wiz_instability_display = null
|
||||
var/atom/movable/screen/autowhisper_display = null
|
||||
|
||||
var/datum/plane_holder/plane_holder = null
|
||||
var/list/vis_enabled = null // List of vision planes that should be graphically visible (list of their VIS_ indexes).
|
||||
var/list/planes_visible = null // List of atom planes that are logically visible/interactable (list of actual plane numbers).
|
||||
|
||||
//spells hud icons - this interacts with add_spell and remove_spell
|
||||
var/list/obj/screen/movable/spell_master/spell_masters = null
|
||||
var/obj/screen/movable/ability_master/ability_master = null
|
||||
var/list/atom/movable/screen/movable/spell_master/spell_masters = null
|
||||
var/atom/movable/screen/movable/ability_master/ability_master = 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.
|
||||
@@ -59,7 +60,7 @@
|
||||
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/zone_sel/zone_sel = null
|
||||
var/atom/movable/screen/zone_sel/zone_sel = null
|
||||
|
||||
var/use_me = 1 //Allows all mobs to use the me verb by default, will have to manually specify they cannot
|
||||
var/damageoverlaytemp = 0
|
||||
@@ -106,7 +107,6 @@
|
||||
var/canmove = 1
|
||||
//Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
|
||||
var/incorporeal_move = 0 //0 is off, 1 is normal, 2 is for ninjas.
|
||||
var/unacidable = FALSE
|
||||
var/list/pinned = list() // List of things pinning this creature to walls (see living_defense.dm)
|
||||
var/list/embedded = list() // Embedded items, since simple mobs don't have organs.
|
||||
var/list/languages = list() // For speaking/listening.
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
var/disconnect_time = null //Time of client loss, set by Logout(), for timekeeping
|
||||
|
||||
var/obj/screen/shadekin/shadekin_display = null
|
||||
var/obj/screen/shadekin/lleill_display = null
|
||||
var/obj/screen/xenochimera/danger_level/xenochimera_danger_display = null
|
||||
var/atom/movable/screen/shadekin/shadekin_display = null
|
||||
var/atom/movable/screen/shadekin/lleill_display = null
|
||||
var/atom/movable/screen/xenochimera/danger_level/xenochimera_danger_display = null
|
||||
|
||||
var/size_multiplier = 1 //multiplier for the mob's icon size
|
||||
var/accumulated_rads = 0 // For radiation stuff.
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
icon = 'icons/mob/screen1.dmi'
|
||||
icon_state = "reinforce"
|
||||
item_flags = DROPDEL | NOSTRIP
|
||||
var/obj/screen/grab/hud = null
|
||||
var/atom/movable/screen/grab/hud = null
|
||||
var/mob/living/affecting = null
|
||||
var/mob/living/carbon/human/assailant = null
|
||||
var/state = GRAB_PASSIVE
|
||||
@@ -47,7 +47,7 @@
|
||||
affecting.reveal(span_warning("You are revealed as [assailant] grabs you."))
|
||||
assailant.reveal(span_warning("You reveal yourself as you grab [affecting]."))
|
||||
|
||||
hud = new /obj/screen/grab(src)
|
||||
hud = new /atom/movable/screen/grab(src)
|
||||
hud.icon_state = "reinforce"
|
||||
icon_state = "grabbed"
|
||||
hud.name = "reinforce grab"
|
||||
@@ -230,7 +230,7 @@
|
||||
if(EAST)
|
||||
animate(affecting, pixel_x =-shift, pixel_y = initial(affecting.pixel_y), 5, 1, LINEAR_EASING)
|
||||
|
||||
/obj/item/grab/proc/s_click(obj/screen/S)
|
||||
/obj/item/grab/proc/s_click(atom/movable/screen/S)
|
||||
if(QDELETED(src))
|
||||
return
|
||||
if(!affecting)
|
||||
|
||||
@@ -705,7 +705,7 @@ var/list/global/organ_rel_size = list(
|
||||
BP_R_FOOT = 10,
|
||||
)
|
||||
|
||||
/mob/proc/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /obj/screen/fullscreen/flash)
|
||||
/mob/proc/flash_eyes(intensity = FLASH_PROTECTION_MODERATE, override_blindness_check = FALSE, affect_silicon = FALSE, visual = FALSE, type = /atom/movable/screen/fullscreen/flash)
|
||||
return
|
||||
|
||||
//Recalculates what planes this mob can see using their plane_holder, for humans this is checking slots, for others, could be whatever.
|
||||
|
||||
@@ -14,45 +14,45 @@
|
||||
//Note, if you're adding a new plane master, please update code\modules\tgui\modules\camera.dm.
|
||||
|
||||
// 'Utility' planes
|
||||
plane_masters[VIS_FULLBRIGHT] = new /obj/screen/plane_master/fullbright //Lighting system (lighting_overlay objects)
|
||||
plane_masters[VIS_LIGHTING] = new /obj/screen/plane_master/lighting //Lighting system (but different!)
|
||||
plane_masters[VIS_O_LIGHT] = new /obj/screen/plane_master/o_light_visual //Object lighting (using masks)
|
||||
plane_masters[VIS_EMISSIVE] = new /obj/screen/plane_master/emissive //Emissive overlays
|
||||
plane_masters[VIS_OPENSPACE] = new /obj/screen/plane_master/openspace //Openspace drop shadows mostly
|
||||
plane_masters[VIS_GHOSTS] = new /obj/screen/plane_master/ghosts //Ghosts!
|
||||
plane_masters[VIS_AI_EYE] = new /obj/screen/plane_master{plane = PLANE_AI_EYE} //AI Eye!
|
||||
plane_masters[VIS_FULLBRIGHT] = new /atom/movable/screen/plane_master/fullbright //Lighting system (lighting_overlay objects)
|
||||
plane_masters[VIS_LIGHTING] = new /atom/movable/screen/plane_master/lighting //Lighting system (but different!)
|
||||
plane_masters[VIS_O_LIGHT] = new /atom/movable/screen/plane_master/o_light_visual //Object lighting (using masks)
|
||||
plane_masters[VIS_EMISSIVE] = new /atom/movable/screen/plane_master/emissive //Emissive overlays
|
||||
plane_masters[VIS_OPENSPACE] = new /atom/movable/screen/plane_master/openspace //Openspace drop shadows mostly
|
||||
plane_masters[VIS_GHOSTS] = new /atom/movable/screen/plane_master/ghosts //Ghosts!
|
||||
plane_masters[VIS_AI_EYE] = new /atom/movable/screen/plane_master{plane = PLANE_AI_EYE} //AI Eye!
|
||||
|
||||
plane_masters[VIS_CH_STATUS] = new /obj/screen/plane_master{plane = PLANE_CH_STATUS} //Status is the synth/human icon left side of medhuds
|
||||
plane_masters[VIS_CH_HEALTH] = new /obj/screen/plane_master{plane = PLANE_CH_HEALTH} //Health bar
|
||||
plane_masters[VIS_CH_LIFE] = new /obj/screen/plane_master{plane = PLANE_CH_LIFE} //Alive-or-not icon
|
||||
plane_masters[VIS_CH_ID] = new /obj/screen/plane_master{plane = PLANE_CH_ID} //Job ID icon
|
||||
plane_masters[VIS_CH_WANTED] = new /obj/screen/plane_master{plane = PLANE_CH_WANTED} //Wanted status
|
||||
plane_masters[VIS_CH_IMPLOYAL] = new /obj/screen/plane_master{plane = PLANE_CH_IMPLOYAL} //Loyalty implants
|
||||
plane_masters[VIS_CH_IMPTRACK] = new /obj/screen/plane_master{plane = PLANE_CH_IMPTRACK} //Tracking implants
|
||||
plane_masters[VIS_CH_IMPCHEM] = new /obj/screen/plane_master{plane = PLANE_CH_IMPCHEM} //Chemical implants
|
||||
plane_masters[VIS_CH_SPECIAL] = new /obj/screen/plane_master{plane = PLANE_CH_SPECIAL} //"Special" role stuff
|
||||
plane_masters[VIS_CH_STATUS_OOC]= new /obj/screen/plane_master{plane = PLANE_CH_STATUS_OOC} //OOC status HUD
|
||||
plane_masters[VIS_CH_STATUS] = new /atom/movable/screen/plane_master{plane = PLANE_CH_STATUS} //Status is the synth/human icon left side of medhuds
|
||||
plane_masters[VIS_CH_HEALTH] = new /atom/movable/screen/plane_master{plane = PLANE_CH_HEALTH} //Health bar
|
||||
plane_masters[VIS_CH_LIFE] = new /atom/movable/screen/plane_master{plane = PLANE_CH_LIFE} //Alive-or-not icon
|
||||
plane_masters[VIS_CH_ID] = new /atom/movable/screen/plane_master{plane = PLANE_CH_ID} //Job ID icon
|
||||
plane_masters[VIS_CH_WANTED] = new /atom/movable/screen/plane_master{plane = PLANE_CH_WANTED} //Wanted status
|
||||
plane_masters[VIS_CH_IMPLOYAL] = new /atom/movable/screen/plane_master{plane = PLANE_CH_IMPLOYAL} //Loyalty implants
|
||||
plane_masters[VIS_CH_IMPTRACK] = new /atom/movable/screen/plane_master{plane = PLANE_CH_IMPTRACK} //Tracking implants
|
||||
plane_masters[VIS_CH_IMPCHEM] = new /atom/movable/screen/plane_master{plane = PLANE_CH_IMPCHEM} //Chemical implants
|
||||
plane_masters[VIS_CH_SPECIAL] = new /atom/movable/screen/plane_master{plane = PLANE_CH_SPECIAL} //"Special" role stuff
|
||||
plane_masters[VIS_CH_STATUS_OOC]= new /atom/movable/screen/plane_master{plane = PLANE_CH_STATUS_OOC} //OOC status HUD
|
||||
|
||||
plane_masters[VIS_STATUS] = new /obj/screen/plane_master{plane = PLANE_STATUS} //Status indicators that show over mob heads.
|
||||
plane_masters[VIS_STATUS] = new /atom/movable/screen/plane_master{plane = PLANE_STATUS} //Status indicators that show over mob heads.
|
||||
|
||||
plane_masters[VIS_ADMIN1] = new /obj/screen/plane_master{plane = PLANE_ADMIN1} //For admin use
|
||||
plane_masters[VIS_ADMIN2] = new /obj/screen/plane_master{plane = PLANE_ADMIN2} //For admin use
|
||||
plane_masters[VIS_ADMIN3] = new /obj/screen/plane_master{plane = PLANE_ADMIN3} //For admin use
|
||||
plane_masters[VIS_ADMIN1] = new /atom/movable/screen/plane_master{plane = PLANE_ADMIN1} //For admin use
|
||||
plane_masters[VIS_ADMIN2] = new /atom/movable/screen/plane_master{plane = PLANE_ADMIN2} //For admin use
|
||||
plane_masters[VIS_ADMIN3] = new /atom/movable/screen/plane_master{plane = PLANE_ADMIN3} //For admin use
|
||||
|
||||
plane_masters[VIS_MESONS] = new /obj/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
|
||||
plane_masters[VIS_JANHUD] = new /obj/screen/plane_master{plane = PLANE_JANHUD} //Meson-specific things like open ceilings.
|
||||
plane_masters[VIS_MESONS] = new /atom/movable/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
|
||||
plane_masters[VIS_JANHUD] = new /atom/movable/screen/plane_master{plane = PLANE_JANHUD} //Meson-specific things like open ceilings.
|
||||
|
||||
plane_masters[VIS_BUILDMODE] = new /obj/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
|
||||
plane_masters[VIS_BUILDMODE] = new /atom/movable/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
|
||||
|
||||
// Real tangible stuff planes
|
||||
plane_masters[VIS_TURFS] = new /obj/screen/plane_master/main{plane = TURF_PLANE}
|
||||
plane_masters[VIS_OBJS] = new /obj/screen/plane_master/main{plane = OBJ_PLANE}
|
||||
plane_masters[VIS_MOBS] = new /obj/screen/plane_master/main{plane = MOB_PLANE}
|
||||
plane_masters[VIS_CLOAKED] = new /obj/screen/plane_master/cloaked //Cloaked atoms!
|
||||
plane_masters[VIS_TURFS] = new /atom/movable/screen/plane_master/main{plane = TURF_PLANE}
|
||||
plane_masters[VIS_OBJS] = new /atom/movable/screen/plane_master/main{plane = OBJ_PLANE}
|
||||
plane_masters[VIS_MOBS] = new /atom/movable/screen/plane_master/main{plane = MOB_PLANE}
|
||||
plane_masters[VIS_CLOAKED] = new /atom/movable/screen/plane_master/cloaked //Cloaked atoms!
|
||||
|
||||
..()
|
||||
|
||||
for(var/obj/screen/plane_master/PM as anything in plane_masters)
|
||||
for(var/atom/movable/screen/plane_master/PM as anything in plane_masters)
|
||||
PM.backdrop(my_mob)
|
||||
|
||||
/datum/plane_holder/Destroy()
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
/datum/plane_holder/proc/set_vis(var/which = null, var/state = FALSE)
|
||||
ASSERT(which)
|
||||
var/obj/screen/plane_master/PM = plane_masters[which]
|
||||
var/atom/movable/screen/plane_master/PM = plane_masters[which]
|
||||
if(!PM)
|
||||
stack_trace("Tried to alter [which] in plane_holder on [my_mob]!")
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
/datum/plane_holder/proc/set_desired_alpha(var/which = null, var/new_alpha)
|
||||
ASSERT(which)
|
||||
var/obj/screen/plane_master/PM = plane_masters[which]
|
||||
var/atom/movable/screen/plane_master/PM = plane_masters[which]
|
||||
if(!PM)
|
||||
stack_trace("Tried to alter [which] in plane_holder on [my_mob]!")
|
||||
PM.set_desired_alpha(new_alpha)
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
/datum/plane_holder/proc/set_ao(var/which = null, var/enabled = FALSE)
|
||||
ASSERT(which)
|
||||
var/obj/screen/plane_master/PM = plane_masters[which]
|
||||
var/atom/movable/screen/plane_master/PM = plane_masters[which]
|
||||
if(!PM)
|
||||
stack_trace("Tried to set_ao [which] in plane_holder on [my_mob]!")
|
||||
PM.set_ambient_occlusion(enabled)
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
/datum/plane_holder/proc/alter_values(var/which = null, var/list/values = null)
|
||||
ASSERT(which)
|
||||
var/obj/screen/plane_master/PM = plane_masters[which]
|
||||
var/atom/movable/screen/plane_master/PM = plane_masters[which]
|
||||
if(!PM)
|
||||
stack_trace("Tried to alter [which] in plane_holder on [my_mob]!")
|
||||
PM.alter_plane_values(arglist(values))
|
||||
@@ -119,7 +119,7 @@
|
||||
////////////////////
|
||||
// The Plane Master
|
||||
////////////////////
|
||||
/obj/screen/plane_master
|
||||
/atom/movable/screen/plane_master
|
||||
screen_loc = "CENTER"
|
||||
plane = -100 //Dodge just in case someone instantiates one of these accidentally, don't end up on 0 with plane_master
|
||||
appearance_flags = PLANE_MASTER
|
||||
@@ -130,16 +130,16 @@
|
||||
var/invis_toggle = FALSE
|
||||
var/list/sub_planes
|
||||
|
||||
/obj/screen/plane_master/proc/backdrop(mob/mymob)
|
||||
/atom/movable/screen/plane_master/proc/backdrop(mob/mymob)
|
||||
return
|
||||
|
||||
/obj/screen/plane_master/proc/set_desired_alpha(var/new_alpha)
|
||||
/atom/movable/screen/plane_master/proc/set_desired_alpha(var/new_alpha)
|
||||
if(new_alpha != alpha && new_alpha > 0 && new_alpha <= 255)
|
||||
desired_alpha = new_alpha
|
||||
if(alpha) //If we're already visible, update it now.
|
||||
alpha = new_alpha
|
||||
|
||||
/obj/screen/plane_master/proc/set_visibility(var/want = FALSE)
|
||||
/atom/movable/screen/plane_master/proc/set_visibility(var/want = FALSE)
|
||||
//Invisibility-managed
|
||||
if(invis_toggle)
|
||||
if(want && invisibility)
|
||||
@@ -155,17 +155,17 @@
|
||||
alpha = 0
|
||||
mouse_opacity = 0
|
||||
|
||||
/obj/screen/plane_master/proc/set_alpha(var/new_alpha = 255)
|
||||
/atom/movable/screen/plane_master/proc/set_alpha(var/new_alpha = 255)
|
||||
if(new_alpha != alpha)
|
||||
new_alpha = sanitize_integer(new_alpha, 0, 255, 255)
|
||||
alpha = new_alpha
|
||||
|
||||
/obj/screen/plane_master/proc/set_ambient_occlusion(var/enabled = FALSE)
|
||||
/atom/movable/screen/plane_master/proc/set_ambient_occlusion(var/enabled = FALSE)
|
||||
filters -= AMBIENT_OCCLUSION
|
||||
if(enabled)
|
||||
filters += AMBIENT_OCCLUSION
|
||||
|
||||
/obj/screen/plane_master/proc/alter_plane_values()
|
||||
/atom/movable/screen/plane_master/proc/alter_plane_values()
|
||||
return //Stub
|
||||
|
||||
////////////////////
|
||||
@@ -174,7 +174,7 @@
|
||||
|
||||
/////////////////
|
||||
//Lighting is weird and has matrix shenanigans. Think of this as turning on/off darkness.
|
||||
/obj/screen/plane_master/fullbright
|
||||
/atom/movable/screen/plane_master/fullbright
|
||||
plane = PLANE_LIGHTING
|
||||
layer = LAYER_HUD_BASE+1 // This MUST be above the lighting plane_master
|
||||
color = null //To break lighting when visible (this is sorta backwards)
|
||||
@@ -182,15 +182,15 @@
|
||||
invisibility = INVISIBILITY_ABSTRACT
|
||||
invis_toggle = TRUE
|
||||
|
||||
/obj/screen/plane_master/lighting
|
||||
/atom/movable/screen/plane_master/lighting
|
||||
plane = PLANE_LIGHTING
|
||||
blend_mode = BLEND_MULTIPLY
|
||||
alpha = 255
|
||||
|
||||
/obj/screen/plane_master/lighting/backdrop(mob/mymob)
|
||||
/atom/movable/screen/plane_master/lighting/backdrop(mob/mymob)
|
||||
/* I'm unconvinced.
|
||||
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)
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -204,35 +204,35 @@
|
||||
* This is then used to alpha mask the lighting plane.
|
||||
*/
|
||||
|
||||
/obj/screen/plane_master/lighting/Initialize(mapload)
|
||||
/atom/movable/screen/plane_master/lighting/Initialize(mapload)
|
||||
. = ..()
|
||||
add_filter("emissives", 1, alpha_mask_filter(render_source = EMISSIVE_RENDER_TARGET, flags = MASK_INVERSE))
|
||||
add_filter("object_lighting", 2, alpha_mask_filter(render_source = O_LIGHTING_VISUAL_RENDER_TARGET, flags = MASK_INVERSE))
|
||||
|
||||
/obj/screen/plane_master/o_light_visual
|
||||
/atom/movable/screen/plane_master/o_light_visual
|
||||
plane = PLANE_O_LIGHTING_VISUAL
|
||||
render_target = O_LIGHTING_VISUAL_RENDER_TARGET
|
||||
blend_mode = BLEND_MULTIPLY
|
||||
alpha = 255
|
||||
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR // NO_CLIENT_COLOR because it has some naughty interactions with colorblindness that I can't figure out. Byond bug?
|
||||
|
||||
/obj/screen/plane_master/emissive
|
||||
/atom/movable/screen/plane_master/emissive
|
||||
plane = PLANE_EMISSIVE
|
||||
render_target = EMISSIVE_RENDER_TARGET
|
||||
alpha = 255
|
||||
|
||||
/obj/screen/plane_master/emissive/Initialize(mapload)
|
||||
/atom/movable/screen/plane_master/emissive/Initialize(mapload)
|
||||
. = ..()
|
||||
add_filter("em_block_masking", 1, color_matrix_filter(GLOB.em_mask_matrix))
|
||||
|
||||
/////////////////
|
||||
//Openspace gets some magic filters for layers
|
||||
/obj/screen/plane_master/openspace
|
||||
/atom/movable/screen/plane_master/openspace
|
||||
plane = OPENSPACE_BACKDROP_PLANE
|
||||
blend_mode = BLEND_MULTIPLY
|
||||
alpha = 255
|
||||
|
||||
/obj/screen/plane_master/openspace/Initialize(mapload)
|
||||
/atom/movable/screen/plane_master/openspace/Initialize(mapload)
|
||||
. = ..()
|
||||
//add_filter("multiz_lighting_mask", 1, alpha_mask_filter(render_source = O_LIGHTING_VISUAL_RENDER_TARGET, flags = MASK_INVERSE)) // Makes fake planet lights not work right
|
||||
add_filter("first_stage_openspace", 2, drop_shadow_filter(color = "#04080FAA", size = -10))
|
||||
@@ -241,19 +241,19 @@
|
||||
|
||||
/////////////////
|
||||
//Ghosts has a special alpha level
|
||||
/obj/screen/plane_master/ghosts
|
||||
/atom/movable/screen/plane_master/ghosts
|
||||
plane = PLANE_GHOSTS
|
||||
desired_alpha = 127 //When enabled, they're like half-transparent
|
||||
|
||||
/////////////////
|
||||
//Cloaked atoms are visible to ghosts (or for other reasons?)
|
||||
/obj/screen/plane_master/cloaked
|
||||
/atom/movable/screen/plane_master/cloaked
|
||||
plane = CLOAKED_PLANE
|
||||
desired_alpha = 80
|
||||
color = "#0000FF"
|
||||
|
||||
/////////////////
|
||||
//The main game planes start normal and visible
|
||||
/obj/screen/plane_master/main
|
||||
/atom/movable/screen/plane_master/main
|
||||
alpha = 255
|
||||
mouse_opacity = 1
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
/datum/plane_holder/New(mob/this_guy)
|
||||
my_mob = this_guy
|
||||
plane_masters[VIS_CH_STATUS_R] = new /obj/screen/plane_master{plane = PLANE_CH_STATUS_R} //Right-side status icon
|
||||
plane_masters[VIS_CH_HEALTH_VR] = new /obj/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
|
||||
plane_masters[VIS_CH_BACKUP] = new /obj/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
|
||||
plane_masters[VIS_CH_VANTAG] = new /obj/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
|
||||
plane_masters[VIS_CH_STOMACH] = new /obj/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomach
|
||||
plane_masters[VIS_SOULCATCHER] = new /obj/screen/plane_master{plane = PLANE_SOULCATCHER} // Soulcatcher
|
||||
plane_masters[VIS_EVENT_INVIS] = new /obj/screen/plane_master{plane = PLANE_INVIS_EVENT} //Things only specific players can see at any time.
|
||||
plane_masters[VIS_CH_STATUS_R] = new /atom/movable/screen/plane_master{plane = PLANE_CH_STATUS_R} //Right-side status icon
|
||||
plane_masters[VIS_CH_HEALTH_VR] = new /atom/movable/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
|
||||
plane_masters[VIS_CH_BACKUP] = new /atom/movable/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
|
||||
plane_masters[VIS_CH_VANTAG] = new /atom/movable/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
|
||||
plane_masters[VIS_CH_STOMACH] = new /atom/movable/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomach
|
||||
plane_masters[VIS_SOULCATCHER] = new /atom/movable/screen/plane_master{plane = PLANE_SOULCATCHER} // Soulcatcher
|
||||
plane_masters[VIS_EVENT_INVIS] = new /atom/movable/screen/plane_master{plane = PLANE_INVIS_EVENT} //Things only specific players can see at any time.
|
||||
|
||||
plane_masters[VIS_AUGMENTED] = new /obj/screen/plane_master/augmented(null, my_mob) //Augmented reality
|
||||
plane_masters[VIS_AUGMENTED] = new /atom/movable/screen/plane_master/augmented(null, my_mob) //Augmented reality
|
||||
..()
|
||||
|
||||
/////////////////
|
||||
//AR planemaster does some special image handling
|
||||
/obj/screen/plane_master/augmented
|
||||
/atom/movable/screen/plane_master/augmented
|
||||
plane = PLANE_AUGMENTED
|
||||
var/state = FALSE //Saves cost with the lists
|
||||
var/mob/my_mob
|
||||
|
||||
/obj/screen/plane_master/augmented/Initialize(mapload, var/mob/M)
|
||||
/atom/movable/screen/plane_master/augmented/Initialize(mapload, var/mob/M)
|
||||
. = ..()
|
||||
my_mob = M
|
||||
|
||||
/obj/screen/plane_master/augmented/Destroy()
|
||||
/atom/movable/screen/plane_master/augmented/Destroy()
|
||||
GLOB.entopic_users -= my_mob
|
||||
my_mob = null
|
||||
. = ..()
|
||||
|
||||
/obj/screen/plane_master/augmented/set_visibility(var/want = FALSE)
|
||||
/atom/movable/screen/plane_master/augmented/set_visibility(var/want = FALSE)
|
||||
. = ..()
|
||||
state = want
|
||||
apply()
|
||||
|
||||
/obj/screen/plane_master/augmented/proc/apply()
|
||||
/atom/movable/screen/plane_master/augmented/proc/apply()
|
||||
if(!my_mob.client)
|
||||
return
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
* Small helper component to manage the HUD icon
|
||||
*/
|
||||
/datum/component/nif_menu
|
||||
var/obj/screen/nif/screen_icon
|
||||
var/atom/movable/screen/nif/screen_icon
|
||||
|
||||
/datum/component/nif_menu/Initialize()
|
||||
if(!ismob(parent))
|
||||
@@ -72,7 +72,7 @@
|
||||
/**
|
||||
* Screen object for NIF menu access
|
||||
*/
|
||||
/obj/screen/nif
|
||||
/atom/movable/screen/nif
|
||||
name = "nif menu"
|
||||
icon = 'icons/mob/screen/midnight.dmi'
|
||||
icon_state = "nif"
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
if(ext_blind)
|
||||
eye_blind = 5
|
||||
client.screen.Remove(GLOB.global_hud.whitense)
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
else
|
||||
eye_blind = 0
|
||||
clear_fullscreens()
|
||||
|
||||
@@ -198,4 +198,4 @@
|
||||
if((. = ..()))
|
||||
if(nif.human.client && world.time - last_ads > rand(10 MINUTES, 15 MINUTES) && prob(1))
|
||||
last_ads = world.time
|
||||
nif.human.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 5)
|
||||
nif.human.client.create_fake_ad_popup_multiple(/atom/movable/screen/popup/default, 5)
|
||||
|
||||
@@ -1299,7 +1299,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
implants += W
|
||||
owner.embedded_flag = 1
|
||||
add_verb(owner, /mob/proc/yank_out_object)
|
||||
owner.throw_alert("embeddedobject", /obj/screen/alert/embeddedobject)
|
||||
owner.throw_alert("embeddedobject", /atom/movable/screen/alert/embeddedobject)
|
||||
W.add_blood(owner)
|
||||
if(ismob(W.loc))
|
||||
var/mob/living/H = W.loc
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
|
||||
// Stuff needed to render the map
|
||||
var/map_name
|
||||
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
|
||||
|
||||
/obj/effect/overmap/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
cam_plane_masters = get_tgui_plane_masters()
|
||||
|
||||
for(var/obj/screen/instance as anything in cam_plane_masters)
|
||||
for(var/atom/movable/screen/instance as anything in cam_plane_masters)
|
||||
instance.assigned_map = map_name
|
||||
instance.del_on_map_removal = FALSE
|
||||
instance.screen_loc = "[map_name]:CENTER"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
/obj/item/clipboard/MouseDrop(obj/over_object as obj) //Quick clipboard fix. -Agouri
|
||||
if(ishuman(usr))
|
||||
var/mob/M = usr
|
||||
if(!(istype(over_object, /obj/screen) ))
|
||||
if(!(istype(over_object, /atom/movable/screen) ))
|
||||
return ..()
|
||||
|
||||
if(!M.restrained() && !M.stat)
|
||||
|
||||
@@ -97,7 +97,7 @@ GLOBAL_VAR_INIT(photo_count, 0)
|
||||
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/M = usr
|
||||
if(!( istype(over_object, /obj/screen) ))
|
||||
if(!( istype(over_object, /atom/movable/screen) ))
|
||||
return ..()
|
||||
playsound(src, "rustle", 50, 1, -5)
|
||||
if((!( M.restrained() ) && !( M.stat ) && M.back == src))
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
|
||||
/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(usr))
|
||||
if((!istype(over_object, /atom/movable/screen)) && can_use(usr))
|
||||
return attack_self(M)
|
||||
return
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
var/wielded_item_state
|
||||
var/one_handed_penalty = 0 // Penalty applied if someone fires a two-handed gun with one hand.
|
||||
var/obj/screen/auto_target/auto_target
|
||||
var/atom/movable/screen/auto_target/auto_target
|
||||
var/shooting = 0
|
||||
var/next_fire_time = 0
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
auto_target.delay_del = 1//And reset the del so its like they got a new one and doesnt instantly vanish
|
||||
to_chat(user, span_notice("You ready \the [src]! Click and drag the target around to shoot."))
|
||||
else//Otherwise just make a new one
|
||||
auto_target = new/obj/screen/auto_target(get_turf(A), src)
|
||||
auto_target = new/atom/movable/screen/auto_target(get_turf(A), src)
|
||||
visible_message(span_danger("\The [user] readies the [src]!"))
|
||||
playsound(src, 'sound/weapons/targeton.ogg', 50, 1)
|
||||
to_chat(user, span_notice("You ready \the [src]! Click and drag the target around to shoot."))
|
||||
@@ -334,7 +334,7 @@
|
||||
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech. why?
|
||||
return
|
||||
|
||||
if (!( istype(over_object, /obj/screen) ))
|
||||
if (!( istype(over_object, /atom/movable/screen) ))
|
||||
return ..()
|
||||
|
||||
//makes sure that the thing is equipped, so that we can't drag it into our hand from miles away.
|
||||
@@ -345,7 +345,7 @@
|
||||
if (( usr.restrained() ) || ( usr.stat ))
|
||||
return
|
||||
|
||||
if ((src.loc == usr) && !(istype(over_object, /obj/screen)) && !usr.unEquip(src))
|
||||
if ((src.loc == usr) && !(istype(over_object, /atom/movable/screen)) && !usr.unEquip(src))
|
||||
return
|
||||
|
||||
switch(over_object.name)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
//A significant portion of this code was donated by Mport from SS:CM
|
||||
|
||||
//This is used by guns shooting in automatic mode
|
||||
/obj/screen/auto_target
|
||||
/atom/movable/screen/auto_target
|
||||
name = "targeter"
|
||||
icon = null//We dont want people to see this guy
|
||||
density = FALSE
|
||||
@@ -14,18 +14,18 @@
|
||||
var/active = 0//Just tells us that it was clicked on so we should start shooting
|
||||
var/delay_del = 0//Delays the del if we retarget without shooting
|
||||
|
||||
/obj/screen/auto_target/Initialize(mapload, var/obj/item/gun/G)
|
||||
/atom/movable/screen/auto_target/Initialize(mapload, var/obj/item/gun/G)
|
||||
. = ..()
|
||||
gun = G
|
||||
var/image/I = image('icons/effects/Targeted.dmi', src, "locked")
|
||||
I.override = 1
|
||||
usr << I
|
||||
|
||||
/obj/screen/auto_target/CanPass()//Everything should ignore this guy and just pass by
|
||||
/atom/movable/screen/auto_target/CanPass()//Everything should ignore this guy and just pass by
|
||||
return 1
|
||||
|
||||
//Used to get rid of this if they target but dont actually shoot or stop shooting (no ammo) yet are still dragging us around
|
||||
/obj/screen/auto_target/proc/autodel()
|
||||
/atom/movable/screen/auto_target/proc/autodel()
|
||||
set waitfor=0
|
||||
if(active == 1)
|
||||
return
|
||||
@@ -42,7 +42,7 @@
|
||||
return
|
||||
|
||||
//When the player clicks on the target it will disable the autodel and tell the gun to shoot
|
||||
/obj/screen/auto_target/MouseDown(location,control,params)
|
||||
/atom/movable/screen/auto_target/MouseDown(location,control,params)
|
||||
active += 1//Tell the autodel that we are actually using this now
|
||||
if(gun.shooting == 0)//If we are not shooting start shooting, we need this here or they have to drag to a new turf before it starts shooting, felt weird
|
||||
gun.Fire(loc, usr, params)
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
//Called when they drag the object somewhere else
|
||||
//If its not already shooting (should be though due to the above, but this does let it click at you when it runs dry) then start shooting,
|
||||
/obj/screen/auto_target/MouseDrag(over_object,src_location,over_location,src_control,over_control,params)
|
||||
/atom/movable/screen/auto_target/MouseDrag(over_object,src_location,over_location,src_control,over_control,params)
|
||||
if(gun.shooting == 0)//If we are not shooting start shooting
|
||||
gun.Fire(loc, usr, params)
|
||||
if(over_location != loc)//This updates the loc to our new location when we drag it to a new turf
|
||||
@@ -59,11 +59,11 @@
|
||||
qdel(src)
|
||||
|
||||
//This gets rid of us when they let go of the click, but only after they actually drag the target to a new turf which is why the below also has to exist
|
||||
/obj/screen/auto_target/MouseDrop(over_object,src_location,over_location,src_control,over_control,params)
|
||||
/atom/movable/screen/auto_target/MouseDrop(over_object,src_location,over_location,src_control,over_control,params)
|
||||
qdel(src)
|
||||
return
|
||||
//This is needed so if they just MouseDown and then let go it will stop shooting, otherwise we stick around till they run out of bullets
|
||||
/obj/screen/auto_target/MouseUp(object,location,control,params)
|
||||
/atom/movable/screen/auto_target/MouseUp(object,location,control,params)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now
|
||||
var/hud_state = "" //name of the icon used in generating the spell hud object
|
||||
var/override_base = ""
|
||||
|
||||
var/obj/screen/connected_button
|
||||
var/atom/movable/screen/connected_button
|
||||
|
||||
///////////////////////
|
||||
///SETUP AND PROCESS///
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
/mob/Life()
|
||||
..()
|
||||
if(spell_masters && spell_masters.len)
|
||||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters)
|
||||
for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters)
|
||||
spell_master.update_spells(0, src)
|
||||
|
||||
/mob/Login()
|
||||
..()
|
||||
if(spell_masters)
|
||||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters)
|
||||
for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters)
|
||||
spell_master.toggle_open()
|
||||
client.screen -= spell_master
|
||||
|
||||
@@ -34,18 +34,18 @@
|
||||
for(var/spell/spell_to_add in H.mind.learned_spells)
|
||||
H.add_spell(spell_to_add)
|
||||
|
||||
/mob/proc/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /obj/screen/movable/spell_master)
|
||||
/mob/proc/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready", var/master_type = /atom/movable/screen/movable/spell_master)
|
||||
if(!spell_masters)
|
||||
spell_masters = list()
|
||||
|
||||
if(spell_masters.len)
|
||||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters)
|
||||
for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters)
|
||||
if(spell_master.type == master_type)
|
||||
spell_list.Add(spell_to_add)
|
||||
spell_master.add_spell(spell_to_add)
|
||||
return 1
|
||||
|
||||
var/obj/screen/movable/spell_master/new_spell_master = new master_type //we're here because either we didn't find our type, or we have no spell masters to attach to
|
||||
var/atom/movable/screen/movable/spell_master/new_spell_master = new master_type //we're here because either we didn't find our type, or we have no spell masters to attach to
|
||||
if(client)
|
||||
src.client.screen += new_spell_master
|
||||
new_spell_master.spell_holder = src
|
||||
@@ -74,7 +74,7 @@
|
||||
if(mind && mind.learned_spells)
|
||||
mind.learned_spells.Remove(spell_to_remove)
|
||||
spell_list.Remove(spell_to_remove)
|
||||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters)
|
||||
for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters)
|
||||
spell_master.remove_spell(spell_to_remove)
|
||||
return 1
|
||||
|
||||
@@ -85,5 +85,5 @@
|
||||
if(!spell_masters || !spell_masters.len)
|
||||
return
|
||||
|
||||
for(var/obj/screen/movable/spell_master/spell_master in spell_masters)
|
||||
for(var/atom/movable/screen/movable/spell_master/spell_master in spell_masters)
|
||||
spell_master.silence_spells(amount)
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
|
||||
// Stuff needed to render the map
|
||||
var/map_name
|
||||
var/obj/screen/map_view/cam_screen
|
||||
var/atom/movable/screen/map_view/cam_screen
|
||||
var/list/cam_plane_masters
|
||||
var/obj/screen/background/cam_background
|
||||
var/obj/screen/skybox/local_skybox
|
||||
var/atom/movable/screen/background/cam_background
|
||||
var/atom/movable/screen/skybox/local_skybox
|
||||
// Stuff for moving cameras
|
||||
var/turf/last_camera_turf
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
cam_plane_masters = get_tgui_plane_masters()
|
||||
|
||||
for(var/obj/screen/instance as anything in cam_plane_masters)
|
||||
for(var/atom/movable/screen/instance as anything in cam_plane_masters)
|
||||
instance.assigned_map = map_name
|
||||
instance.del_on_map_removal = FALSE
|
||||
instance.screen_loc = "[map_name]:CENTER"
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
#define DEFAULT_MAP_SIZE 15
|
||||
|
||||
/obj/screen/map_view_tg/camera
|
||||
var/obj/screen/background/cam_background
|
||||
var/obj/screen/background/cam_foreground
|
||||
var/obj/screen/skybox/local_skybox
|
||||
/atom/movable/screen/map_view_tg/camera
|
||||
var/atom/movable/screen/background/cam_background
|
||||
var/atom/movable/screen/background/cam_foreground
|
||||
var/atom/movable/screen/skybox/local_skybox
|
||||
|
||||
/obj/screen/map_view_tg/camera/Destroy()
|
||||
/atom/movable/screen/map_view_tg/camera/Destroy()
|
||||
QDEL_NULL(cam_background)
|
||||
QDEL_NULL(cam_foreground)
|
||||
QDEL_NULL(local_skybox)
|
||||
return ..()
|
||||
|
||||
/obj/screen/map_view_tg/camera/generate_view(map_key)
|
||||
/atom/movable/screen/map_view_tg/camera/generate_view(map_key)
|
||||
. = ..()
|
||||
cam_background = new()
|
||||
cam_background.del_on_map_removal = FALSE
|
||||
@@ -37,13 +37,13 @@
|
||||
cam_foreground.add_overlay(scanlines)
|
||||
cam_foreground.add_overlay(noise)
|
||||
|
||||
/obj/screen/map_view_tg/camera/display_to_client(client/show_to)
|
||||
/atom/movable/screen/map_view_tg/camera/display_to_client(client/show_to)
|
||||
show_to.register_map_obj(cam_background)
|
||||
show_to.register_map_obj(cam_foreground)
|
||||
show_to.register_map_obj(local_skybox)
|
||||
. = ..()
|
||||
|
||||
/obj/screen/map_view_tg/camera/proc/show_camera(list/visible_turfs, turf/newturf, size_x, size_y)
|
||||
/atom/movable/screen/map_view_tg/camera/proc/show_camera(list/visible_turfs, turf/newturf, size_x, size_y)
|
||||
vis_contents = visible_turfs
|
||||
cam_background.icon_state = "clear"
|
||||
cam_background.fill_rect(1, 1, size_x, size_y)
|
||||
@@ -55,7 +55,7 @@
|
||||
local_skybox.scale_to_view(size_x)
|
||||
local_skybox.set_position("CENTER", "CENTER", (world.maxx>>1) - newturf.x, (world.maxy>>1) - newturf.y)
|
||||
|
||||
/obj/screen/map_view_tg/camera/proc/show_camera_static()
|
||||
/atom/movable/screen/map_view_tg/camera/proc/show_camera_static()
|
||||
vis_contents.Cut()
|
||||
cam_background.icon_state = "scanline2"
|
||||
cam_background.fill_rect(1, 1, DEFAULT_MAP_SIZE, DEFAULT_MAP_SIZE)
|
||||
@@ -76,7 +76,7 @@
|
||||
// Stuff needed to render the map
|
||||
var/map_name
|
||||
|
||||
var/obj/screen/map_view_tg/camera/cam_screen_tg
|
||||
var/atom/movable/screen/map_view_tg/camera/cam_screen_tg
|
||||
|
||||
// Stuff for moving cameras
|
||||
var/turf/last_camera_turf
|
||||
|
||||
@@ -241,11 +241,11 @@
|
||||
if(!M.client)
|
||||
return
|
||||
if(WEAKREF(M) in viewers)
|
||||
M.overlay_fullscreen("fishbed",/obj/screen/fullscreen/fishbed)
|
||||
M.overlay_fullscreen("scanlines",/obj/screen/fullscreen/scanline)
|
||||
M.overlay_fullscreen("fishbed",/atom/movable/screen/fullscreen/fishbed)
|
||||
M.overlay_fullscreen("scanlines",/atom/movable/screen/fullscreen/scanline)
|
||||
|
||||
if(signal_strength <= 1)
|
||||
M.overlay_fullscreen("whitenoise",/obj/screen/fullscreen/noise)
|
||||
M.overlay_fullscreen("whitenoise",/atom/movable/screen/fullscreen/noise)
|
||||
else
|
||||
M.clear_fullscreen("whitenoise", 0)
|
||||
else
|
||||
|
||||
@@ -163,7 +163,7 @@ GLOBAL_DATUM_INIT(tickets, /datum/tickets, new)
|
||||
if(!only_alert)
|
||||
C.current_ticket.AddInteraction("Client reconnected.")
|
||||
C.current_ticket.initiator = C
|
||||
C.current_ticket.initiator.mob?.throw_alert("open ticket", /obj/screen/alert/open_ticket)
|
||||
C.current_ticket.initiator.mob?.throw_alert("open ticket", /atom/movable/screen/alert/open_ticket)
|
||||
|
||||
//Dissasociate ticket
|
||||
/datum/tickets/proc/ClientLogout(client/C)
|
||||
@@ -342,7 +342,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick/ticket_list)
|
||||
//TC.T = src
|
||||
//TC.tgui_interact(C.mob)
|
||||
|
||||
C.mob.throw_alert("open ticket", /obj/screen/alert/open_ticket)
|
||||
C.mob.throw_alert("open ticket", /atom/movable/screen/alert/open_ticket)
|
||||
|
||||
/datum/ticket/Destroy()
|
||||
RemoveActive()
|
||||
@@ -474,7 +474,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick/ticket_list)
|
||||
message_admins(msg)
|
||||
log_admin(msg)
|
||||
feedback_inc("ticket_reopen")
|
||||
initiator.mob.throw_alert("open ticket", /obj/screen/alert/open_ticket)
|
||||
initiator.mob.throw_alert("open ticket", /atom/movable/screen/alert/open_ticket)
|
||||
//TicketPanel() //can only be done from here, so refresh it
|
||||
|
||||
SSwebhooks.send(
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
/datum/ticket_chat/tgui_close(mob/user)
|
||||
. = ..()
|
||||
if(user.client?.current_ticket)
|
||||
user.throw_alert("open ticket", /obj/screen/alert/open_ticket)
|
||||
user.throw_alert("open ticket", /atom/movable/screen/alert/open_ticket)
|
||||
|
||||
/datum/ticket_chat/tgui_state(mob/user)
|
||||
return GLOB.tgui_ticket_state
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ var/list/ventcrawl_machinery = list(
|
||||
/obj/machinery/camera,
|
||||
/obj/belly,
|
||||
/obj/soulgem,
|
||||
/obj/screen,
|
||||
/atom/movable/screen,
|
||||
/atom/movable/emissive_blocker,
|
||||
/obj/item/rig/protean
|
||||
)
|
||||
|
||||
@@ -671,7 +671,7 @@
|
||||
L.clear_fullscreen("belly")
|
||||
if(belly_fullscreen)
|
||||
if(colorization_enabled)
|
||||
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly, severity) // preserving save data
|
||||
var/atom/movable/screen/fullscreen/F = L.overlay_fullscreen("belly", /atom/movable/screen/fullscreen/belly, severity) // preserving save data
|
||||
var/datum/belly_overlays/lookup_belly_path = text2path("/datum/belly_overlays/[lowertext(belly_fullscreen)]")
|
||||
if(!lookup_belly_path)
|
||||
var/used_fullscreen = belly_fullscreen
|
||||
@@ -749,7 +749,7 @@
|
||||
F.add_overlay(I)
|
||||
F.update_for_view(L.client.view)
|
||||
else
|
||||
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly/fixed, severity) //preserving save data
|
||||
var/atom/movable/screen/fullscreen/F = L.overlay_fullscreen("belly", /atom/movable/screen/fullscreen/belly/fixed, severity) //preserving save data
|
||||
F.icon = 'icons/mob/screen_full_vore.dmi'
|
||||
F.cut_overlays()
|
||||
F.add_overlay(image(F.icon, belly_fullscreen))
|
||||
|
||||
@@ -647,7 +647,7 @@
|
||||
log_and_message_admins("used the OOC escape button to get out of a food item.", src)
|
||||
|
||||
else if(alerts && alerts["leashed"])
|
||||
var/obj/screen/alert/leash_pet/pet_alert = src.alerts["leashed"]
|
||||
var/atom/movable/screen/alert/leash_pet/pet_alert = src.alerts["leashed"]
|
||||
var/obj/item/leash/owner = pet_alert.master
|
||||
owner.clear_leash()
|
||||
log_and_message_admins("used the OOC escape button to get out of a leash.", src)
|
||||
@@ -1097,10 +1097,10 @@
|
||||
popup.open()
|
||||
|
||||
// Full screen belly overlays!
|
||||
/obj/screen/fullscreen/belly
|
||||
/atom/movable/screen/fullscreen/belly
|
||||
icon = 'icons/mob/vore_fullscreens/screen_full_vore_list.dmi'
|
||||
|
||||
/obj/screen/fullscreen/belly/fixed
|
||||
/atom/movable/screen/fullscreen/belly/fixed
|
||||
icon = 'icons/mob/screen_full_vore.dmi'
|
||||
icon_state = ""
|
||||
|
||||
@@ -1256,7 +1256,7 @@
|
||||
* Small helper component to manage the vore panel HUD icon
|
||||
*/
|
||||
/datum/component/vore_panel
|
||||
var/obj/screen/vore_panel/screen_icon
|
||||
var/atom/movable/screen/vore_panel/screen_icon
|
||||
|
||||
/datum/component/vore_panel/Initialize()
|
||||
if(!isliving(parent))
|
||||
@@ -1308,7 +1308,7 @@
|
||||
/**
|
||||
* Screen object for vore panel
|
||||
*/
|
||||
/obj/screen/vore_panel
|
||||
/atom/movable/screen/vore_panel
|
||||
name = "vore panel"
|
||||
icon = 'icons/mob/screen/midnight.dmi'
|
||||
icon_state = "vore"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
if(ext_blind)
|
||||
eye_blind = 5
|
||||
client.screen.Remove(GLOB.global_hud.whitense)
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
else
|
||||
eye_blind = 0
|
||||
clear_fullscreen("blind")
|
||||
|
||||
Reference in New Issue
Block a user