[MIRROR] obj screen to atom movable screen (#11719)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-09-22 01:04:35 +02:00
committed by GitHub
co-authored by Kashargul
parent fd68853af6
commit 303e88c0b2
141 changed files with 1307 additions and 1386 deletions
+10 -25
View File
@@ -11760,7 +11760,6 @@
/turf/simulated/shuttle/plating,
/area/template_noop)
"irG" = (
/obj/screen/alert/highpressure,
/obj/machinery/r_n_d/destructive_analyzer,
/turf/simulated/shuttle/floor/purple,
/area/survivalpod/superpose/ScienceShip)
@@ -17817,10 +17816,6 @@
},
/turf/simulated/floor/outdoors/grass/heavy,
/area/survivalpod/superpose/LoneHome)
"mEi" = (
/obj/screen/alert/highpressure,
/turf/simulated/shuttle/wall/hard_corner,
/area/survivalpod/superpose/ScienceShip)
"mEk" = (
/obj/structure/toilet/prison{
name = "toilet";
@@ -19429,7 +19424,6 @@
/turf/simulated/floor/outdoors/dirt,
/area/survivalpod/superpose/Dinner)
"nMu" = (
/obj/screen/alert/highpressure,
/obj/machinery/computer/rdconsole/core{
dir = 4
},
@@ -26051,10 +26045,6 @@
/obj/item/storage/pill_bottle/dice,
/turf/simulated/shuttle/floor/voidcraft,
/area/template_noop)
"rlL" = (
/obj/screen/alert/highpressure,
/turf/template_noop,
/area/template_noop)
"rmo" = (
/obj/effect/floor_decal/techfloor{
dir = 4
@@ -30338,10 +30328,6 @@
/obj/item/taperoll/medical,
/turf/simulated/mineral/floor/ignore_mapgen,
/area/survivalpod/superpose/CrashedQurantineShip)
"uDN" = (
/obj/screen/alert/highpressure,
/turf/simulated/shuttle/wall,
/area/survivalpod/superpose/ScienceShip)
"uDS" = (
/turf/simulated/floor/tiled/techfloor/grid,
/area/template_noop)
@@ -34988,7 +34974,6 @@
/area/survivalpod/superpose/WoodenCamp)
"xZI" = (
/obj/machinery/r_n_d/protolathe,
/obj/screen/alert/highpressure,
/turf/simulated/shuttle/floor/purple,
/area/survivalpod/superpose/ScienceShip)
"yaE" = (
@@ -70068,14 +70053,14 @@ ktQ
ktQ
ktQ
ktQ
rlL
uDN
ktQ
bej
xmO
xmO
xmO
uDN
rlL
rlL
bej
ktQ
ktQ
ktQ
ktQ
ktQ
@@ -70326,14 +70311,14 @@ ktQ
ktQ
bej
xmO
mEi
iLe
xZI
irG
nMu
mEi
iLe
xmO
uDN
rlL
bej
ktQ
ktQ
ktQ
ktQ
@@ -70590,7 +70575,7 @@ qyr
gDg
qBE
bej
rlL
ktQ
ktQ
ktQ
ktQ
+10 -25
View File
@@ -1127,7 +1127,6 @@
/turf/simulated/floor/plating,
/area/space)
"aRk" = (
/obj/screen/alert/highpressure,
/obj/machinery/r_n_d/destructive_analyzer,
/turf/simulated/shuttle/floor/purple,
/area/space)
@@ -6864,10 +6863,6 @@
/obj/structure/bed/chair/comfy/black,
/turf/simulated/floor/carpet/bcarpet,
/area/space)
"eKu" = (
/obj/screen/alert/highpressure,
/turf/simulated/shuttle/wall/hard_corner,
/area/space)
"eKV" = (
/obj/structure/extinguisher_cabinet{
pixel_y = 30
@@ -9826,7 +9821,6 @@
/turf/simulated/shuttle/floor/yellow,
/area/space)
"gPK" = (
/obj/screen/alert/highpressure,
/obj/machinery/computer/rdconsole/core{
dir = 4
},
@@ -14536,7 +14530,6 @@
/area/space)
"jWp" = (
/obj/machinery/r_n_d/protolathe,
/obj/screen/alert/highpressure,
/turf/simulated/shuttle/floor/purple,
/area/space)
"jWW" = (
@@ -24838,10 +24831,6 @@
/obj/item/storage/box/flare,
/turf/simulated/shuttle/floor/voidcraft/light,
/area/space)
"qGy" = (
/obj/screen/alert/highpressure,
/turf/simulated/shuttle/wall,
/area/space)
"qGE" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/shuttle/wall/voidcraft/green,
@@ -30425,10 +30414,6 @@
},
/turf/template_noop,
/area/space)
"uiZ" = (
/obj/screen/alert/highpressure,
/turf/template_noop,
/area/space)
"ujr" = (
/obj/effect/floor_decal/techfloor,
/turf/simulated/floor/tiled/techmaint,
@@ -61547,14 +61532,14 @@ nwG
nwG
nwG
nwG
uiZ
qGy
nwG
git
pmh
pmh
pmh
qGy
uiZ
uiZ
git
nwG
nwG
nwG
nwG
nwG
@@ -61806,14 +61791,14 @@ nwG
nwG
git
pmh
eKu
dTV
jWp
aRk
gPK
eKu
dTV
pmh
qGy
uiZ
git
nwG
nwG
nwG
nwG
@@ -62071,7 +62056,7 @@ gfe
sof
lYv
git
uiZ
nwG
nwG
nwG
nwG
+1 -1
View File
@@ -464,7 +464,7 @@
return candidates
/proc/ScreenText(obj/O, maptext="", screen_loc="CENTER-7,CENTER-7", maptext_height=480, maptext_width=480)
if(!isobj(O)) O = new /obj/screen/text()
if(!isobj(O)) O = new /atom/movable/screen/text()
O.maptext = maptext
O.maptext_height = maptext_height
O.maptext_width = maptext_width
+33 -33
View File
@@ -1515,47 +1515,47 @@ var/mob/dview/dview_mob
/proc/get_tgui_plane_masters()
. = list()
// 'Utility' planes
. += new /obj/screen/plane_master/fullbright //Lighting system (lighting_overlay objects)
. += new /obj/screen/plane_master/lighting //Lighting system (but different!)
. += new /obj/screen/plane_master/o_light_visual //Object lighting (using masks)
. += new /obj/screen/plane_master/emissive //Emissive overlays
. += new /atom/movable/screen/plane_master/fullbright //Lighting system (lighting_overlay objects)
. += new /atom/movable/screen/plane_master/lighting //Lighting system (but different!)
. += new /atom/movable/screen/plane_master/o_light_visual //Object lighting (using masks)
. += new /atom/movable/screen/plane_master/emissive //Emissive overlays
. += new /obj/screen/plane_master/ghosts //Ghosts!
. += new /obj/screen/plane_master{plane = PLANE_AI_EYE} //AI Eye!
. += new /atom/movable/screen/plane_master/ghosts //Ghosts!
. += new /atom/movable/screen/plane_master{plane = PLANE_AI_EYE} //AI Eye!
. += new /obj/screen/plane_master{plane = PLANE_CH_STATUS} //Status is the synth/human icon left side of medhuds
. += new /obj/screen/plane_master{plane = PLANE_CH_HEALTH} //Health bar
. += new /obj/screen/plane_master{plane = PLANE_CH_LIFE} //Alive-or-not icon
. += new /obj/screen/plane_master{plane = PLANE_CH_ID} //Job ID icon
. += new /obj/screen/plane_master{plane = PLANE_CH_WANTED} //Wanted status
. += new /obj/screen/plane_master{plane = PLANE_CH_IMPLOYAL} //Loyalty implants
. += new /obj/screen/plane_master{plane = PLANE_CH_IMPTRACK} //Tracking implants
. += new /obj/screen/plane_master{plane = PLANE_CH_IMPCHEM} //Chemical implants
. += new /obj/screen/plane_master{plane = PLANE_CH_SPECIAL} //"Special" role stuff
. += new /obj/screen/plane_master{plane = PLANE_CH_STATUS_OOC} //OOC status HUD
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_STATUS} //Status is the synth/human icon left side of medhuds
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_HEALTH} //Health bar
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_LIFE} //Alive-or-not icon
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_ID} //Job ID icon
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_WANTED} //Wanted status
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_IMPLOYAL} //Loyalty implants
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_IMPTRACK} //Tracking implants
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_IMPCHEM} //Chemical implants
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_SPECIAL} //"Special" role stuff
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_STATUS_OOC} //OOC status HUD
. += new /obj/screen/plane_master{plane = PLANE_ADMIN1} //For admin use
. += new /obj/screen/plane_master{plane = PLANE_ADMIN2} //For admin use
. += new /obj/screen/plane_master{plane = PLANE_ADMIN3} //For admin use
. += new /atom/movable/screen/plane_master{plane = PLANE_ADMIN1} //For admin use
. += new /atom/movable/screen/plane_master{plane = PLANE_ADMIN2} //For admin use
. += new /atom/movable/screen/plane_master{plane = PLANE_ADMIN3} //For admin use
. += new /obj/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
. += new /obj/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
. += new /obj/screen/plane_master{plane = PLANE_JANHUD}
. += new /atom/movable/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings.
. += new /atom/movable/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode
. += new /atom/movable/screen/plane_master{plane = PLANE_JANHUD}
// Real tangible stuff planes
. += new /obj/screen/plane_master/main{plane = TURF_PLANE}
. += new /obj/screen/plane_master/main{plane = OBJ_PLANE}
. += new /obj/screen/plane_master/main{plane = MOB_PLANE}
. += new /obj/screen/plane_master/cloaked //Cloaked atoms!
. += new /atom/movable/screen/plane_master/main{plane = TURF_PLANE}
. += new /atom/movable/screen/plane_master/main{plane = OBJ_PLANE}
. += new /atom/movable/screen/plane_master/main{plane = MOB_PLANE}
. += new /atom/movable/screen/plane_master/cloaked //Cloaked atoms!
//VOREStation Add - Random other plane masters
. += new /obj/screen/plane_master{plane = PLANE_CH_STATUS_R} //Right-side status icon
. += new /obj/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
. += new /obj/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
. += new /obj/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
. += new /obj/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomachs
. += new /obj/screen/plane_master{plane = PLANE_AUGMENTED} //Augmented reality
. += new /obj/screen/plane_master{plane = PLANE_SOULCATCHER} //Soulcatcher
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_STATUS_R} //Right-side status icon
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
. += new /atom/movable/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomachs
. += new /atom/movable/screen/plane_master{plane = PLANE_AUGMENTED} //Augmented reality
. += new /atom/movable/screen/plane_master{plane = PLANE_SOULCATCHER} //Soulcatcher
//VOREStation Add End
/proc/CallAsync(datum/source, proctype, list/arguments)
set waitfor = FALSE
+1 -1
View File
@@ -35,7 +35,7 @@
if(multicam_on)
var/turf/T = get_turf(A)
if(T)
for(var/obj/screen/movable/pic_in_pic/ai/P in T.vis_locs)
for(var/atom/movable/screen/movable/pic_in_pic/ai/P in T.vis_locs)
if(P.ai == src)
P.Click(params)
break
+3 -3
View File
@@ -386,7 +386,7 @@
if(direction != dir)
facedir(direction)
/obj/screen/click_catcher
/atom/movable/screen/click_catcher
name = "" // Empty string names don't show up in context menu clicks
icon = 'icons/mob/screen_gen.dmi'
icon_state = "click_catcher"
@@ -395,11 +395,11 @@
mouse_opacity = 2
screen_loc = "SOUTHWEST to NORTHEAST"
/obj/screen/click_catcher/Initialize(mapload, ...)
/atom/movable/screen/click_catcher/Initialize(mapload, ...)
. = ..()
verbs.Cut()
/obj/screen/click_catcher/Click(location, control, params)
/atom/movable/screen/click_catcher/Click(location, control, params)
var/list/modifiers = params2list(params)
if(modifiers["middle"] && istype(usr, /mob/living/carbon))
var/mob/living/carbon/C = usr
+48 -48
View File
@@ -1,8 +1,8 @@
/obj/screen/movable/ability_master
/atom/movable/screen/movable/ability_master
name = "Abilities"
icon = 'icons/mob/screen_spells.dmi'
icon_state = "grey_spell_ready"
var/list/obj/screen/ability/ability_objects = list()
var/list/atom/movable/screen/ability/ability_objects = list()
var/showing = 0 // If we're 'open' or not.
var/open_state = "master_open" // What the button looks like when it's 'open', showing the other buttons.
@@ -12,7 +12,7 @@
var/mob/my_mob = null // The mob that possesses this hud object.
/obj/screen/movable/ability_master/Initialize(mapload)
/atom/movable/screen/movable/ability_master/Initialize(mapload)
. = ..()
if(ismob(loc))
my_mob = loc
@@ -21,7 +21,7 @@
else
message_admins("ERROR: ability_master's New() was not given an owner argument. This is a bug.")
/obj/screen/movable/ability_master/Destroy()
/atom/movable/screen/movable/ability_master/Destroy()
. = ..()
//Get rid of the ability objects.
remove_all_abilities()
@@ -34,22 +34,22 @@
my_mob.client.screen -= src
my_mob = null
/obj/screen/movable/ability_master/MouseDrop()
/atom/movable/screen/movable/ability_master/MouseDrop()
if(showing)
return
return ..()
/obj/screen/movable/ability_master/Click()
/atom/movable/screen/movable/ability_master/Click()
if(!ability_objects.len) // If we're empty for some reason.
// qdel(src)
return
toggle_open()
/obj/screen/movable/ability_master/proc/toggle_open(var/forced_state = 0)
/atom/movable/screen/movable/ability_master/proc/toggle_open(var/forced_state = 0)
if(showing && (forced_state != 2)) // We are closing the ability master, hide the abilities.
for(var/obj/screen/ability/O in ability_objects)
for(var/atom/movable/screen/ability/O in ability_objects)
if(my_mob && my_mob.client)
my_mob.client.screen -= O
// O.handle_icon_updates = 0
@@ -64,7 +64,7 @@
overlays.Add(open_state)
update_icon()
/obj/screen/movable/ability_master/proc/open_ability_master()
/atom/movable/screen/movable/ability_master/proc/open_ability_master()
var/list/screen_loc_xy = splittext(screen_loc,",")
//Create list of X offsets
@@ -78,7 +78,7 @@
var/y_pix = screen_loc_Y[2]
for(var/i = 1; i <= ability_objects.len; i++)
var/obj/screen/ability/A = ability_objects[i]
var/atom/movable/screen/ability/A = ability_objects[i]
var/xpos = x_position + (x_position < 8 ? 1 : -1)*(i%7)
var/ypos = y_position + (y_position < 8 ? round(i/7) : -round(i/7))
A.screen_loc = "[encode_screen_X(xpos)]:[x_pix],[encode_screen_Y(ypos)]:[y_pix]"
@@ -87,25 +87,25 @@
my_mob.client.screen |= src
// A.handle_icon_updates = 1
/obj/screen/movable/ability_master/proc/update_abilities(forced = 0, mob/user)
/atom/movable/screen/movable/ability_master/proc/update_abilities(forced = 0, mob/user)
update_icon()
if(user && user.client)
if(!(src in user.client.screen))
user.client.screen += src
var/i = 1
for(var/obj/screen/ability/ability in ability_objects)
for(var/atom/movable/screen/ability/ability in ability_objects)
ability.update_icon(forced)
ability.index = i
ability.maptext = "[ability.index]" // Slot number
i++
/obj/screen/movable/ability_master/update_icon()
/atom/movable/screen/movable/ability_master/update_icon()
if(ability_objects.len)
invisibility = INVISIBILITY_NONE
else
invisibility = INVISIBILITY_ABSTRACT
/obj/screen/movable/ability_master/proc/add_ability(var/name_given)
/atom/movable/screen/movable/ability_master/proc/add_ability(var/name_given)
if(!name) return
// if(spell.connected_button) //we have one already, for some reason
@@ -120,7 +120,7 @@
// if(spell.spell_flags & NO_BUTTON) //no button to add if we don't get one
// return
var/obj/screen/ability/new_button = new /obj/screen/ability
var/atom/movable/screen/ability/new_button = new /atom/movable/screen/ability
new_button.ability_master = src
// new_button.spell = spell
@@ -140,7 +140,7 @@
if(my_mob.client)
toggle_open(2) //forces the icons to refresh on screen
/obj/screen/movable/ability_master/proc/remove_ability(var/obj/screen/ability/ability)
/atom/movable/screen/movable/ability_master/proc/remove_ability(var/atom/movable/screen/ability/ability)
if(!ability)
return
ability_objects.Remove(ability)
@@ -153,24 +153,24 @@
// else
// qdel(src)
/obj/screen/movable/ability_master/proc/remove_all_abilities()
for(var/obj/screen/ability/A in ability_objects)
/atom/movable/screen/movable/ability_master/proc/remove_all_abilities()
for(var/atom/movable/screen/ability/A in ability_objects)
remove_ability(A)
/obj/screen/movable/ability_master/proc/get_ability_by_name(name_to_search)
for(var/obj/screen/ability/A in ability_objects)
/atom/movable/screen/movable/ability_master/proc/get_ability_by_name(name_to_search)
for(var/atom/movable/screen/ability/A in ability_objects)
if(A.name == name_to_search)
return A
return null
/obj/screen/movable/ability_master/proc/get_ability_by_proc_ref(proc_ref)
for(var/obj/screen/ability/verb_based/V in ability_objects)
/atom/movable/screen/movable/ability_master/proc/get_ability_by_proc_ref(proc_ref)
for(var/atom/movable/screen/ability/verb_based/V in ability_objects)
if(V.verb_to_call == proc_ref)
return V
return null
/obj/screen/movable/ability_master/proc/get_ability_by_instance(var/obj/instance/)
for(var/obj/screen/ability/obj_based/O in ability_objects)
/atom/movable/screen/movable/ability_master/proc/get_ability_by_instance(var/obj/instance/)
for(var/atom/movable/screen/ability/obj_based/O in ability_objects)
if(O.object == instance)
return O
return null
@@ -184,12 +184,12 @@
/mob/Initialize(mapload)
. = ..()
if(!ability_master)
ability_master = new /obj/screen/movable/ability_master(src)
ability_master = new /atom/movable/screen/movable/ability_master(src)
///////////ACTUAL ABILITIES////////////
//This is what you click to do things//
///////////////////////////////////////
/obj/screen/ability
/atom/movable/screen/ability
icon = 'icons/mob/screen_spells.dmi'
icon_state = "grey_spell_base"
maptext_x = 3
@@ -198,11 +198,11 @@
var/index = 0
// var/spell/spell = null
var/obj/screen/movable/ability_master/ability_master
var/atom/movable/screen/movable/ability_master/ability_master
// var/icon/last_charged_icon
/obj/screen/ability/Destroy()
/atom/movable/screen/ability/Destroy()
if(ability_master)
ability_master.ability_objects -= src
if(ability_master.my_mob && ability_master.my_mob.client)
@@ -213,7 +213,7 @@
ability_master = null
. = ..()
/obj/screen/ability/update_icon()
/atom/movable/screen/ability/update_icon()
// if(!spell)
// qdel(src)
// return
@@ -253,7 +253,7 @@
// if(spell.silenced)
// add_overlay("silence")
/obj/screen/ability/Click()
/atom/movable/screen/ability/Click()
if(!usr)
// qdel(src)
return
@@ -261,23 +261,23 @@
// spell.perform(usr)
activate()
/obj/screen/ability/MouseDrop(var/atom/A)
/atom/movable/screen/ability/MouseDrop(var/atom/A)
if(!A || A == src)
return
if(istype(A, /obj/screen/ability))
var/obj/screen/ability/ability = A
if(istype(A, /atom/movable/screen/ability))
var/atom/movable/screen/ability/ability = A
if(ability.ability_master && ability.ability_master == src.ability_master)
ability_master.ability_objects.Swap(src.index, ability.index)
ability_master.toggle_open(2) // To update the UI.
// Makes the ability be triggered. The subclasses of this are responsible for carrying it out in whatever way it needs to.
/obj/screen/ability/proc/activate()
/atom/movable/screen/ability/proc/activate()
to_chat(world, "[src] had activate() called.")
return
// This checks if the ability can be used.
/obj/screen/ability/proc/can_activate()
/atom/movable/screen/ability/proc/can_activate()
return 1
/client/verb/activate_ability(var/slot as num)
@@ -292,19 +292,19 @@
return // No abilities.
if(slot > mob.ability_master.ability_objects.len || slot <= 0)
return // Out of bounds.
var/obj/screen/ability/A = mob.ability_master.ability_objects[slot]
var/atom/movable/screen/ability/A = mob.ability_master.ability_objects[slot]
A.activate()
//////////Verb Abilities//////////
//Buttons to trigger verbs/procs//
//////////////////////////////////
/obj/screen/ability/verb_based
/atom/movable/screen/ability/verb_based
var/verb_to_call = null
var/object_used = null
var/arguments_to_use = list()
/obj/screen/ability/verb_based/activate()
/atom/movable/screen/ability/verb_based/activate()
if(object_used && verb_to_call)
call(object_used,verb_to_call)(arguments_to_use)
// call(object_used,verb_to_call)(arguments_to_use)
@@ -314,14 +314,14 @@
// else
// message_admins("ERROR: activate() on [ability_master.my_mob]'s [src] failed the hascall([object_used],[verb_to_call]) check.")
/obj/screen/movable/ability_master/proc/add_verb_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
/atom/movable/screen/movable/ability_master/proc/add_verb_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
if(!object_given)
message_admins("ERROR: add_verb_ability() was not given an object in its arguments.")
if(!verb_given)
message_admins("ERROR: add_verb_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/A = new /obj/screen/ability/verb_based()
var/atom/movable/screen/ability/verb_based/A = new /atom/movable/screen/ability/verb_based()
A.ability_master = src
A.object_used = object_given
A.verb_to_call = verb_given
@@ -334,18 +334,18 @@
toggle_open(2) //forces the icons to refresh on screen
//Changeling Abilities
/obj/screen/ability/verb_based/changeling
/atom/movable/screen/ability/verb_based/changeling
icon_state = "ling_spell_base"
background_base_state = "ling"
/obj/screen/movable/ability_master/proc/add_ling_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
/atom/movable/screen/movable/ability_master/proc/add_ling_ability(var/object_given, var/verb_given, var/name_given, var/ability_icon_given, var/arguments)
if(!object_given)
message_admins("ERROR: add_ling_ability() was not given an object in its arguments.")
if(!verb_given)
message_admins("ERROR: add_ling_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/changeling/A = new /obj/screen/ability/verb_based/changeling()
var/atom/movable/screen/ability/verb_based/changeling/A = new /atom/movable/screen/ability/verb_based/changeling()
A.ability_master = src
A.object_used = object_given
A.verb_to_call = verb_given
@@ -362,24 +362,24 @@
//Buttons to trigger objects//
//////////////////////////////
/obj/screen/ability/obj_based
/atom/movable/screen/ability/obj_based
var/obj/object = null
/obj/screen/ability/obj_based/activate()
/atom/movable/screen/ability/obj_based/activate()
if(object)
object.Click()
// Technomancer
/obj/screen/ability/obj_based/technomancer
/atom/movable/screen/ability/obj_based/technomancer
icon_state = "wiz_spell_base"
background_base_state = "wiz"
/obj/screen/movable/ability_master/proc/add_technomancer_ability(var/obj/object_given, var/ability_icon_given)
/atom/movable/screen/movable/ability_master/proc/add_technomancer_ability(var/obj/object_given, var/ability_icon_given)
if(!object_given)
message_admins("ERROR: add_technomancer_ability() was not given an object in its arguments.")
if(get_ability_by_instance(object_given))
return // Duplicate
var/obj/screen/ability/obj_based/technomancer/A = new /obj/screen/ability/obj_based/technomancer()
var/atom/movable/screen/ability/obj_based/technomancer/A = new /atom/movable/screen/ability/obj_based/technomancer()
A.ability_master = src
A.object = object_given
A.ability_icon_state = ability_icon_given
+12 -12
View File
@@ -159,7 +159,7 @@
* button - which button we are modifying the icon of
* force - whether we're forcing a full update
*/
/datum/action/proc/build_button_icon(obj/screen/movable/action_button/button, update_flags = ALL, force = FALSE)
/datum/action/proc/build_button_icon(atom/movable/screen/movable/action_button/button, update_flags = ALL, force = FALSE)
if(!button)
return
@@ -184,7 +184,7 @@
* current_button - what button are we editing?
* force - whether an update is forced regardless of existing status
*/
/datum/action/proc/update_button_name(obj/screen/movable/action_button/button, force = FALSE)
/datum/action/proc/update_button_name(atom/movable/screen/movable/action_button/button, force = FALSE)
button.name = name
if(desc)
button.desc = desc
@@ -195,7 +195,7 @@
* current_button - what button are we editing?
* force - whether an update is forced regardless of existing status
*/
/datum/action/proc/apply_button_background(obj/screen/movable/action_button/current_button, force = FALSE)
/datum/action/proc/apply_button_background(atom/movable/screen/movable/action_button/current_button, force = FALSE)
if(!background_icon || !background_icon_state || (current_button.active_underlay_icon_state == background_icon_state && !force))
return
@@ -227,7 +227,7 @@
* current_button - what button are we editing?
* force - whether an update is forced regardless of existing status
*/
/datum/action/proc/apply_button_icon(obj/screen/movable/action_button/current_button, force = FALSE)
/datum/action/proc/apply_button_icon(atom/movable/screen/movable/action_button/current_button, force = FALSE)
if(!button_icon || !button_icon_state || (current_button.icon_state == button_icon_state && !force))
return
@@ -240,7 +240,7 @@
* current_button - what button are we editing?
* force - whether an update is forced regardless of existing status
*/
/datum/action/proc/apply_button_overlay(obj/screen/movable/action_button/current_button, force = FALSE)
/datum/action/proc/apply_button_overlay(atom/movable/screen/movable/action_button/current_button, force = FALSE)
SEND_SIGNAL(src, COMSIG_ACTION_OVERLAY_APPLY, current_button, force)
if(!overlay_icon || !overlay_icon_state || (current_button.active_overlay_icon_state == overlay_icon_state && !force))
@@ -258,7 +258,7 @@
* current_button - what button are we editing?
* force - whether an update is forced regardless of existing status
*/
/datum/action/proc/update_button_status(obj/screen/movable/action_button/current_button, force = FALSE)
/datum/action/proc/update_button_status(atom/movable/screen/movable/action_button/current_button, force = FALSE)
if(IsAvailable())
current_button.color = rgb(255,255,255,255)
else
@@ -280,7 +280,7 @@
if(!our_hud || viewers[our_hud]) // There's no point in this if you have no hud in the first place
return
var/obj/screen/movable/action_button/button = create_button()
var/atom/movable/screen/movable/action_button/button = create_button()
SetId(button, viewer)
button.our_hud = our_hud
@@ -294,25 +294,25 @@
/// Removes our action from the passed viewer.
/datum/action/proc/HideFrom(mob/viewer)
var/datum/hud/our_hud = viewer.hud_used
var/obj/screen/movable/action_button/button = viewers[our_hud]
var/atom/movable/screen/movable/action_button/button = viewers[our_hud]
LAZYREMOVE(viewer.actions, src)
if(button)
qdel(button)
/// Creates an action button movable for the passed mob, and returns it.
/datum/action/proc/create_button()
var/obj/screen/movable/action_button/button = new()
var/atom/movable/screen/movable/action_button/button = new()
button.linked_action = src
build_button_icon(button, ALL, TRUE)
return button
/datum/action/proc/SetId(obj/screen/movable/action_button/our_button, mob/owner)
/datum/action/proc/SetId(atom/movable/screen/movable/action_button/our_button, mob/owner)
//button id generation
var/bitfield = 0
for(var/datum/action/action in owner.actions)
if(action == src) // This could be us, which is dumb
continue
var/obj/screen/movable/action_button/button = action.viewers[owner.hud_used]
var/atom/movable/screen/movable/action_button/button = action.viewers[owner.hud_used]
if(action.name == name && button.id)
bitfield |= button.id
@@ -344,5 +344,5 @@
build_all_button_icons(update_flag, forced)
/// Checks if our action is actively selected. Used for selecting icons primarily.
/datum/action/proc/is_action_active(obj/screen/movable/action_button/current_button)
/datum/action/proc/is_action_active(atom/movable/screen/movable/action_button/current_button)
return FALSE
+14 -14
View File
@@ -2,7 +2,7 @@
/// The hud we're owned by
var/datum/hud/owner
/// The actions we're managing
var/list/obj/screen/movable/action_button/actions
var/list/atom/movable/screen/movable/action_button/actions
/// The initial vertical offset of our action buttons
var/north_offset = 0
/// The pixel vertical offset of our action buttons
@@ -19,7 +19,7 @@
/// The screen location we go by
var/location
/// Our landing screen object
var/obj/screen/action_landing/landing
var/atom/movable/screen/action_landing/landing
/datum/action_group/New(datum/hud/owner)
..()
@@ -32,7 +32,7 @@
QDEL_LIST(actions)
return ..()
/datum/action_group/proc/insert_action(obj/screen/action, index)
/datum/action_group/proc/insert_action(atom/movable/screen/action, index)
if(action in actions)
if(actions[index] == action)
return
@@ -43,7 +43,7 @@
actions.Insert(index, action)
refresh_actions()
/datum/action_group/proc/remove_action(obj/screen/action)
/datum/action_group/proc/remove_action(atom/movable/screen/action)
actions -= action
if(!QDELING(src))
refresh_actions()
@@ -55,7 +55,7 @@
row_offset = clamp(row_offset, 0, total_rows) // You're not allowed to offset so far that we have a row of blank space
var/button_number = 0
for(var/obj/screen/button as anything in actions)
for(var/atom/movable/screen/button as anything in actions)
var/postion = ButtonNumberToScreenCoords(button_number )
button.screen_loc = postion
button_number++
@@ -122,7 +122,7 @@
amount += 1
return amount
/datum/action_group/proc/index_of(obj/screen/get_location)
/datum/action_group/proc/index_of(atom/movable/screen/get_location)
return actions.Find(get_location)
/// Generates a landing object that can be dropped on to join this group
@@ -152,22 +152,22 @@
max_rows = 3
location = SCRN_OBJ_IN_PALETTE
/datum/action_group/palette/insert_action(obj/screen/action, index)
/datum/action_group/palette/insert_action(atom/movable/screen/action, index)
. = ..()
var/obj/screen/button_palette/palette = owner.toggle_palette
var/atom/movable/screen/button_palette/palette = owner.toggle_palette
palette.play_item_added()
/datum/action_group/palette/remove_action(obj/screen/action)
/datum/action_group/palette/remove_action(atom/movable/screen/action)
. = ..()
var/obj/screen/button_palette/palette = owner.toggle_palette
var/atom/movable/screen/button_palette/palette = owner.toggle_palette
palette.play_item_removed()
if(!length(actions))
palette.set_expanded(FALSE)
/datum/action_group/palette/refresh_actions()
var/obj/screen/button_palette/palette = owner.toggle_palette
var/obj/screen/palette_scroll/scroll_down = owner.palette_down
var/obj/screen/palette_scroll/scroll_up = owner.palette_up
var/atom/movable/screen/button_palette/palette = owner.toggle_palette
var/atom/movable/screen/palette_scroll/scroll_down = owner.palette_down
var/atom/movable/screen/palette_scroll/scroll_up = owner.palette_up
if(!palette || !scroll_down || !scroll_up)
return
@@ -190,7 +190,7 @@
return ..()
/datum/action_group/palette/ButtonNumberToScreenCoords(number, landing)
var/obj/screen/button_palette/palette = owner.toggle_palette
var/atom/movable/screen/button_palette/palette = owner.toggle_palette
if(palette.expanded)
return ..()
@@ -1,5 +1,5 @@
/// Generates visual landings for all groups that the button is not a memeber of
/datum/hud/proc/generate_landings(obj/screen/movable/action_button/button)
/datum/hud/proc/generate_landings(atom/movable/screen/movable/action_button/button)
listed_actions.generate_landing()
palette_actions.generate_landing()
@@ -23,7 +23,7 @@
return
listed_actions.check_against_view()
palette_actions.check_against_view()
for(var/obj/screen/movable/action_button/floating_button as anything in floating_actions)
for(var/atom/movable/screen/movable/action_button/floating_button as anything in floating_actions)
var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc)
// We set the view arg here, so the output will be properly hemm'd in by our new view
floating_button.screen_loc = offset_to_screen_loc(current_offsets[1], current_offsets[2], view = our_view)
@@ -34,7 +34,7 @@
palette_actions = new(src)
floating_actions = list()
for(var/datum/action/action as anything in mymob.actions)
var/obj/screen/movable/action_button/button = action.viewers[src]
var/atom/movable/screen/movable/action_button/button = action.viewers[src]
if(!button)
action.ShowTo(mymob)
button = action.viewers[src]
@@ -44,7 +44,7 @@
parent_action.build_all_button_icons(UPDATE_BUTTON_OVERLAY)
/// Signal proc for [COMSIG_ACTION_OVERLAY_APPLY], applies the item appearance if possible.
/datum/component/action_item_overlay/proc/on_overlays_applied(datum/action/source, obj/screen/movable/action_button/current_button, force)
/datum/component/action_item_overlay/proc/on_overlays_applied(datum/action/source, atom/movable/screen/movable/action_button/current_button, force)
SIGNAL_HANDLER
// We're in the middle of being removed / deleted, remove our associated overlay
@@ -1,4 +1,4 @@
/obj/screen/movable/action_button
/atom/movable/screen/movable/action_button
var/datum/action/linked_action
var/datum/hud/our_hud
var/actiontooltipstyle = ""
@@ -20,7 +20,7 @@
/// God I hate how dragging works
var/datum/weakref/last_hovored_ref
/obj/screen/movable/action_button/Destroy()
/atom/movable/screen/movable/action_button/Destroy()
if(our_hud)
var/mob/viewer = our_hud.mymob
our_hud.hide_action(src)
@@ -31,7 +31,7 @@
linked_action = null
return ..()
/obj/screen/movable/action_button/proc/can_use(mob/user)
/atom/movable/screen/movable/action_button/proc/can_use(mob/user)
// if(isobserver(user))
// var/mob/dead/observer/dead_mob = user
// if(dead_mob.observetarget) // Observers can only click on action buttons if they're not observing something
@@ -44,7 +44,7 @@
return TRUE
/obj/screen/movable/action_button/Click(location,control,params)
/atom/movable/screen/movable/action_button/Click(location,control,params)
if(!can_use(usr))
return
@@ -64,7 +64,7 @@
// Entered and Exited won't fire while you're dragging something, because you're still "holding" it
// Very much byond logic, but I want nice behavior, so we fake it with drag
/obj/screen/movable/action_button/MouseDrag(atom/over_object, src_location, over_location, src_control, over_control, params)
/atom/movable/screen/movable/action_button/MouseDrag(atom/over_object, src_location, over_location, src_control, over_control, params)
. = ..()
if(!can_use(usr))
return
@@ -85,16 +85,16 @@
last_hovored_ref = WEAKREF(over_object)
over_object?.MouseEntered(over_location, over_control, params)
/obj/screen/movable/action_button/MouseEntered(location, control, params)
/atom/movable/screen/movable/action_button/MouseEntered(location, control, params)
. = ..()
if(!QDELETED(src))
openToolTip(usr, src, params, title = name, content = desc, theme = actiontooltipstyle)
/obj/screen/movable/action_button/MouseExited(location, control, params)
/atom/movable/screen/movable/action_button/MouseExited(location, control, params)
closeToolTip(usr)
return ..()
/obj/screen/movable/action_button/MouseDrop(over_object)
/atom/movable/screen/movable/action_button/MouseDrop(over_object)
last_hovored_ref = null
if(!can_use(usr))
return
@@ -102,20 +102,20 @@
if(over_object == src)
our_hud.hide_landings()
return
if(istype(over_object, /obj/screen/action_landing))
var/obj/screen/action_landing/reserve = over_object
if(istype(over_object, /atom/movable/screen/action_landing))
var/atom/movable/screen/action_landing/reserve = over_object
reserve.hit_by(src)
our_hud.hide_landings()
save_position()
return
our_hud.hide_landings()
if(istype(over_object, /obj/screen/button_palette) || istype(over_object, /obj/screen/palette_scroll))
if(istype(over_object, /atom/movable/screen/button_palette) || istype(over_object, /atom/movable/screen/palette_scroll))
our_hud.position_action(src, SCRN_OBJ_IN_PALETTE)
save_position()
return
if(istype(over_object, /obj/screen/movable/action_button))
var/obj/screen/movable/action_button/button = over_object
if(istype(over_object, /atom/movable/screen/movable/action_button))
var/atom/movable/screen/movable/action_button/button = over_object
our_hud.position_action_relative(src, button)
save_position()
return
@@ -123,7 +123,7 @@
our_hud.position_action(src, screen_loc)
save_position()
/obj/screen/movable/action_button/proc/save_position()
/atom/movable/screen/movable/action_button/proc/save_position()
var/mob/user = our_hud.mymob
if(!user?.client)
return
@@ -138,14 +138,14 @@
LAZYSET(user.client.prefs.action_button_screen_locs, "[name]_[id]", position_info)
/obj/screen/movable/action_button/proc/load_position()
/atom/movable/screen/movable/action_button/proc/load_position()
var/mob/user = our_hud.mymob
if(!user)
return
var/position_info = LAZYACCESS(user.client?.prefs?.action_button_screen_locs, "[name]_[id]") || SCRN_OBJ_DEFAULT
user.hud_used.position_action(src, position_info)
/obj/screen/movable/action_button/proc/dump_save()
/atom/movable/screen/movable/action_button/proc/dump_save()
var/mob/user = our_hud.mymob
if(!user?.client?.prefs)
return
@@ -191,7 +191,7 @@
return
for(var/datum/action/action as anything in actions)
var/obj/screen/movable/action_button/button = action.viewers[hud_used]
var/atom/movable/screen/movable/action_button/button = action.viewers[hud_used]
action.build_all_button_icons()
if(reload_screen)
client.screen += button
@@ -246,7 +246,7 @@
// Button Palette
// A new way to interact with actions
/obj/screen/button_palette
/atom/movable/screen/button_palette
desc = "<b>Drag</b> buttons to move them<br><b>Shift-click</b> any button to reset it<br><b>Alt-click</b> this to reset all buttons"
icon = 'icons/hud/64x16_actions.dmi'
icon_state = "screen_gen_palette"
@@ -256,31 +256,31 @@
/// Id of any currently running timers that set our color matrix
var/color_timer_id
/obj/screen/button_palette/Destroy()
/atom/movable/screen/button_palette/Destroy()
if(our_hud)
our_hud.mymob?.client?.screen -= src
our_hud.toggle_palette = null
our_hud = null
return ..()
/obj/screen/button_palette/Initialize(mapload)
/atom/movable/screen/button_palette/Initialize(mapload)
. = ..()
// update_appearance()
update_name()
/obj/screen/button_palette/proc/set_hud(datum/hud/our_hud)
/atom/movable/screen/button_palette/proc/set_hud(datum/hud/our_hud)
src.our_hud = our_hud
refresh_owner()
// /obj/screen/button_palette/update_name(updates)
/obj/screen/button_palette/proc/update_name()
// /atom/movable/screen/button_palette/update_name(updates)
/atom/movable/screen/button_palette/proc/update_name()
// . = ..()
if(expanded)
name = "Hide Buttons"
else
name = "Show Buttons"
/obj/screen/button_palette/proc/refresh_owner()
/atom/movable/screen/button_palette/proc/refresh_owner()
var/mob/viewer = our_hud.mymob
if(viewer.client)
viewer.client.screen |= src
@@ -293,46 +293,46 @@
// icon_state = "[ui_name]_palette"
/obj/screen/button_palette/MouseEntered(location, control, params)
/atom/movable/screen/button_palette/MouseEntered(location, control, params)
. = ..()
if(QDELETED(src))
return
show_tooltip(params)
/obj/screen/button_palette/MouseExited()
/atom/movable/screen/button_palette/MouseExited()
closeToolTip(usr)
return ..()
/obj/screen/button_palette/proc/show_tooltip(params)
/atom/movable/screen/button_palette/proc/show_tooltip(params)
openToolTip(usr, src, params, title = name, content = desc)
GLOBAL_LIST_INIT(palette_added_matrix, list(0.4,0.5,0.2,0, 0,1.4,0,0, 0,0.4,0.6,0, 0,0,0,1, 0,0,0,0))
GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,0, 0,0,0,1, 0,0,0,0))
/obj/screen/button_palette/proc/play_item_added()
/atom/movable/screen/button_palette/proc/play_item_added()
color_for_now(GLOB.palette_added_matrix)
/obj/screen/button_palette/proc/play_item_removed()
/atom/movable/screen/button_palette/proc/play_item_removed()
color_for_now(GLOB.palette_removed_matrix)
/obj/screen/button_palette/proc/color_for_now(list/color)
/atom/movable/screen/button_palette/proc/color_for_now(list/color)
if(color_timer_id)
return
add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) //We unfortunately cannot animate matrix colors. Curse you lummy it would be ~~non~~trivial to interpolate between the two valuessssssssss
color_timer_id = addtimer(CALLBACK(src, PROC_REF(remove_color), color), 2 SECONDS)
/obj/screen/button_palette/proc/remove_color(list/to_remove)
/atom/movable/screen/button_palette/proc/remove_color(list/to_remove)
color_timer_id = null
remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, to_remove)
/obj/screen/button_palette/proc/can_use(mob/user)
/atom/movable/screen/button_palette/proc/can_use(mob/user)
if(isobserver(user))
// var/mob/dead/observer/O = user
// return !O.observetarget
return TRUE
return TRUE
/obj/screen/button_palette/Click(location, control, params)
/atom/movable/screen/button_palette/Click(location, control, params)
if(!can_use(usr))
return
@@ -341,22 +341,22 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
if(LAZYACCESS(modifiers, ALT_CLICK))
for(var/datum/action/action as anything in usr.actions) // Reset action positions to default
for(var/datum/hud/hud as anything in action.viewers)
var/obj/screen/movable/action_button/button = action.viewers[hud]
var/atom/movable/screen/movable/action_button/button = action.viewers[hud]
hud.position_action(button, SCRN_OBJ_DEFAULT)
to_chat(usr, span_notice("Action button positions have been reset."))
return TRUE
set_expanded(!expanded)
/obj/screen/button_palette/proc/clicked_while_open(datum/source, atom/target, atom/location, control, params, mob/user)
/atom/movable/screen/button_palette/proc/clicked_while_open(datum/source, atom/target, atom/location, control, params, mob/user)
SIGNAL_HANDLER
if(istype(target, /obj/screen/movable/action_button) || istype(target, /obj/screen/palette_scroll) || target == src) // If you're clicking on an action button, or us, you can live
if(istype(target, /atom/movable/screen/movable/action_button) || istype(target, /atom/movable/screen/palette_scroll) || target == src) // If you're clicking on an action button, or us, you can live
return
set_expanded(FALSE)
if(source)
UnregisterSignal(source, COMSIG_CLIENT_CLICK)
/obj/screen/button_palette/proc/set_expanded(new_expanded)
/atom/movable/screen/button_palette/proc/set_expanded(new_expanded)
var/datum/action_group/our_group = our_hud.palette_actions
if(!length(our_group.actions)) //Looks dumb, trust me lad
new_expanded = FALSE
@@ -378,7 +378,7 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
closeToolTip(usr) //Our tooltips are now invalid, can't seem to update them in one frame, so here, just close them
/obj/screen/palette_scroll
/atom/movable/screen/palette_scroll
icon = 'icons/hud/screen_gen.dmi'
screen_loc = ui_palette_scroll
/// How should we move the palette's actions?
@@ -386,18 +386,18 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
var/scroll_direction = 0
var/datum/hud/our_hud
/obj/screen/palette_scroll/proc/can_use(mob/user)
/atom/movable/screen/palette_scroll/proc/can_use(mob/user)
if(isobserver(user))
// var/mob/dead/observer/O = user
// return !O.observetarget
return TRUE
return TRUE
/obj/screen/palette_scroll/proc/set_hud(datum/hud/our_hud)
/atom/movable/screen/palette_scroll/proc/set_hud(datum/hud/our_hud)
src.our_hud = our_hud
refresh_owner()
/obj/screen/palette_scroll/proc/refresh_owner()
/atom/movable/screen/palette_scroll/proc/refresh_owner()
var/mob/viewer = our_hud.mymob
if(viewer.client)
viewer.client.screen |= src
@@ -405,41 +405,41 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
// var/list/settings = our_hud.get_action_buttons_icons()
// icon = settings["bg_icon"]
/obj/screen/palette_scroll/Click(location, control, params)
/atom/movable/screen/palette_scroll/Click(location, control, params)
if(!can_use(usr))
return
our_hud.palette_actions.scroll(scroll_direction)
/obj/screen/palette_scroll/MouseEntered(location, control, params)
/atom/movable/screen/palette_scroll/MouseEntered(location, control, params)
. = ..()
if(QDELETED(src))
return
openToolTip(usr, src, params, title = name, content = desc)
/obj/screen/palette_scroll/MouseExited()
/atom/movable/screen/palette_scroll/MouseExited()
closeToolTip(usr)
return ..()
/obj/screen/palette_scroll/down
/atom/movable/screen/palette_scroll/down
name = "Scroll Down"
desc = "<b>Click</b> on this to scroll the actions above down"
icon_state = "scroll_down"
scroll_direction = 1
/obj/screen/palette_scroll/down/Destroy()
/atom/movable/screen/palette_scroll/down/Destroy()
if(our_hud)
our_hud.mymob?.client?.screen -= src
our_hud.palette_down = null
our_hud = null
return ..()
/obj/screen/palette_scroll/up
/atom/movable/screen/palette_scroll/up
name = "Scroll Up"
desc = "<b>Click</b> on this to scroll the actions above up"
icon_state = "scroll_up"
scroll_direction = -1
/obj/screen/palette_scroll/up/Destroy()
/atom/movable/screen/palette_scroll/up/Destroy()
if(our_hud)
our_hud.mymob?.client?.screen -= src
our_hud.palette_up = null
@@ -447,7 +447,7 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
return ..()
/// Exists so you have a place to put your buttons when you move them around
/obj/screen/action_landing
/atom/movable/screen/action_landing
name = "Button Space"
desc = "<b>Drag and drop</b> a button into this spot<br>to add it to the group"
icon = 'icons/hud/screen_gen.dmi'
@@ -456,7 +456,7 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
mouse_opacity = MOUSE_OPACITY_OPAQUE
var/datum/action_group/owner
/obj/screen/action_landing/Destroy()
/atom/movable/screen/action_landing/Destroy()
if(owner)
owner.landing = null
owner?.owner?.mymob?.client?.screen -= src
@@ -464,11 +464,11 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
owner = null
return ..()
/obj/screen/action_landing/proc/set_owner(datum/action_group/owner)
/atom/movable/screen/action_landing/proc/set_owner(datum/action_group/owner)
src.owner = owner
refresh_owner()
/obj/screen/action_landing/proc/refresh_owner()
/atom/movable/screen/action_landing/proc/refresh_owner()
var/datum/hud/our_hud = owner.owner
var/mob/viewer = our_hud.mymob
if(viewer.client)
@@ -478,6 +478,6 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
// icon = settings["bg_icon"]
/// Reacts to having a button dropped on it
/obj/screen/action_landing/proc/hit_by(obj/screen/movable/action_button/button)
/atom/movable/screen/action_landing/proc/hit_by(atom/movable/screen/movable/action_button/button)
var/datum/hud/our_hud = owner.owner
our_hud.position_action(button, owner.location)
+3 -3
View File
@@ -1,4 +1,4 @@
/datum/hud/proc/position_action(obj/screen/movable/action_button/button, position)
/datum/hud/proc/position_action(atom/movable/screen/movable/action_button/button, position)
if(button.location != SCRN_OBJ_DEFAULT)
hide_action(button)
switch(position)
@@ -17,7 +17,7 @@
button.location = position
/datum/hud/proc/position_action_relative(obj/screen/movable/action_button/button, obj/screen/movable/action_button/relative_to)
/datum/hud/proc/position_action_relative(atom/movable/screen/movable/action_button/button, atom/movable/screen/movable/action_button/relative_to)
if(button.location != SCRN_OBJ_DEFAULT)
hide_action(button)
switch(relative_to.location)
@@ -36,7 +36,7 @@
button.location = relative_to.location
/// Removes the passed in action from its current position on the screen
/datum/hud/proc/hide_action(obj/screen/movable/action_button/button)
/datum/hud/proc/hide_action(atom/movable/screen/movable/action_button/button)
switch(button.location)
if(SCRN_OBJ_DEFAULT) // Invalid
CRASH("We just tried to hide an action buttion that somehow has the default position as its location, you done fucked up")
+23 -23
View File
@@ -1,20 +1,20 @@
/obj/screen/ai/multicam/Click()
/atom/movable/screen/ai/multicam/Click()
if(..())
return
var/mob/living/silicon/ai/ai_user = usr
ai_user.toggle_multicam()
/obj/screen/ai/add_multicam/Click()
/atom/movable/screen/ai/add_multicam/Click()
if(..())
return
var/mob/living/silicon/ai/ai_user = usr
ai_user.drop_new_multicam()
/obj/screen/ai/up/Click()
/atom/movable/screen/ai/up/Click()
var/mob/living/silicon/ai/ai_user = usr
ai_user.zMove(UP)
/obj/screen/ai/down/Click()
/atom/movable/screen/ai/down/Click()
var/mob/living/silicon/ai/ai_user = usr
ai_user.zMove(DOWN)
@@ -26,10 +26,10 @@
HUD.adding = list()
HUD.other = list()
var/obj/screen/using
var/atom/movable/screen/using
//AI core
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "AI Core"
using.icon = HUD.ui_style
using.icon_state = "ai_core"
@@ -38,7 +38,7 @@
HUD.adding += using
//Camera list
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Show Camera List"
using.icon = HUD.ui_style
using.icon_state = "camera"
@@ -47,7 +47,7 @@
HUD.adding += using
//Track
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Track With Camera"
using.icon = HUD.ui_style
using.icon_state = "track"
@@ -56,7 +56,7 @@
HUD.adding += using
//Camera light
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Toggle Camera Light"
using.icon = HUD.ui_style
using.icon_state = "camera_light"
@@ -65,7 +65,7 @@
HUD.adding += using
//Crew Monitoring
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Crew Monitoring"
using.icon = HUD.ui_style
using.icon_state = "crew_monitor"
@@ -74,7 +74,7 @@
HUD.adding += using
//Crew Manifest
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Show Crew Manifest"
using.icon = HUD.ui_style
using.icon_state = "manifest"
@@ -83,7 +83,7 @@
HUD.adding += using
//Alerts
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Show Alerts"
using.icon = HUD.ui_style
using.icon_state = "alerts"
@@ -92,7 +92,7 @@
HUD.adding += using
//Announcement
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Announcement"
using.icon = HUD.ui_style
using.icon_state = "announcement"
@@ -101,7 +101,7 @@
HUD.adding += using
//Shuttle
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Call Emergency Shuttle"
using.icon = HUD.ui_style
using.icon_state = "call_shuttle"
@@ -110,7 +110,7 @@
HUD.adding += using
//Laws
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "State Laws"
using.icon = HUD.ui_style
using.icon_state = "state_laws"
@@ -119,7 +119,7 @@
HUD.adding += using
//PDA message
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "PDA - Send Message"
using.icon = HUD.ui_style
using.icon_state = "pda_send"
@@ -128,7 +128,7 @@
HUD.adding += using
//PDA log
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "PDA - Show Message Log"
using.icon = HUD.ui_style
using.icon_state = "pda_receive"
@@ -137,7 +137,7 @@
HUD.adding += using
//Take image
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "Take Image"
using.icon = HUD.ui_style
using.icon_state = "take_picture"
@@ -146,7 +146,7 @@
HUD.adding += using
//View images
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "View Images"
using.icon = HUD.ui_style
using.icon_state = "view_images"
@@ -155,7 +155,7 @@
HUD.adding += using
//Multicamera mode
using = new /obj/screen/ai/multicam() // special
using = new /atom/movable/screen/ai/multicam() // special
using.name = "Multicamera Mode"
using.icon = HUD.ui_style
using.icon_state = "multicam"
@@ -164,7 +164,7 @@
HUD.adding += using
//Add multicamera camera
using = new /obj/screen/ai/add_multicam() // special
using = new /atom/movable/screen/ai/add_multicam() // special
using.name = "New Camera"
using.icon = HUD.ui_style
using.icon_state = "new_cam"
@@ -173,7 +173,7 @@
HUD.adding += using
//Up and Down
using = new /obj/screen/ai/up() // special
using = new /atom/movable/screen/ai/up() // special
using.name = "Move Upwards"
using.icon = HUD.ui_style
using.icon_state = "up"
@@ -181,7 +181,7 @@
using.layer = SCREEN_LAYER
HUD.adding += using
using = new /obj/screen/ai/down() // special
using = new /atom/movable/screen/ai/down() // special
using.name = "Move Downwards"
using.icon = HUD.ui_style
using.icon_state = "down"
+78 -76
View File
@@ -14,7 +14,7 @@
if(!category)
return
var/obj/screen/alert/alert
var/atom/movable/screen/alert/alert
if(LAZYACCESS(alerts, category))
alert = alerts[category]
if(new_master && new_master != alert.master)
@@ -55,13 +55,13 @@
alert.timeout = world.time + alert.timeout - world.tick_lag
return alert
/mob/proc/alert_timeout(obj/screen/alert/alert, category)
/mob/proc/alert_timeout(atom/movable/screen/alert/alert, category)
if(alert.timeout && LAZYACCESS(alerts, category) == alert && world.time >= alert.timeout)
clear_alert(category)
// Proc to clear an existing alert.
/mob/proc/clear_alert(category)
var/obj/screen/alert/alert = LAZYACCESS(alerts, category)
var/atom/movable/screen/alert/alert = LAZYACCESS(alerts, category)
if(!alert)
return 0
@@ -71,7 +71,7 @@
client.screen -= alert
qdel(alert)
/obj/screen/alert
/atom/movable/screen/alert
icon = 'icons/mob/screen_alert.dmi'
icon_state = "default"
name = "Alert"
@@ -83,213 +83,215 @@
var/no_underlay // Don't underlay the UI style's blank template icon under this
/obj/screen/alert/MouseEntered(location,control,params)
/atom/movable/screen/alert/MouseEntered(location,control,params)
openToolTip(usr, src, params, title = name, content = desc, theme = alerttooltipstyle)
/obj/screen/alert/MouseExited()
/atom/movable/screen/alert/MouseExited()
closeToolTip(usr)
//Gas alerts
/obj/screen/alert/not_enough_oxy
/atom/movable/screen/alert/not_enough_oxy
name = "Choking (No O2)"
desc = "You're not getting enough oxygen. Find some good air before you pass out! \
The box in your backpack has an oxygen tank and breath mask in it."
icon_state = "not_enough_oxy"
/obj/screen/alert/too_much_oxy
/atom/movable/screen/alert/too_much_oxy
name = "Choking (O2)"
desc = "There's too much oxygen in the air, and you're breathing it in! Find some good air before you pass out!"
icon_state = "too_much_oxy"
/obj/screen/alert/not_enough_nitro
/atom/movable/screen/alert/not_enough_nitro
name = "Choking (No N)"
desc = "You're not getting enough nitrogen. Find some good air before you pass out!"
icon_state = "not_enough_nitro"
/obj/screen/alert/too_much_nitro
/atom/movable/screen/alert/too_much_nitro
name = "Choking (N)"
desc = "There's too much nitrogen in the air, and you're breathing it in! Find some good air before you pass out!"
icon_state = "too_much_nitro"
/obj/screen/alert/not_enough_co2
/atom/movable/screen/alert/not_enough_co2
name = "Choking (No CO2)"
desc = "You're not getting enough carbon dioxide. Find some good air before you pass out!"
icon_state = "not_enough_co2"
/obj/screen/alert/too_much_co2
/atom/movable/screen/alert/too_much_co2
name = "Choking (CO2)"
desc = "There's too much carbon dioxide in the air, and you're breathing it in! Find some good air before you pass out!"
icon_state = "too_much_co2"
/obj/screen/alert/too_much_co2/plant
/atom/movable/screen/alert/too_much_co2/plant
name = "Livin' the good life"
desc = "There's so much carbon dioxide in the air, you're in fucking heaven. Watch out for passed out fleshies, though."
icon_state = "too_much_co2"
/obj/screen/alert/not_enough_tox
/atom/movable/screen/alert/not_enough_tox
name = "Choking (No Phoron)"
desc = "You're not getting enough phoron. Find some good air before you pass out!"
icon_state = "not_enough_tox"
/obj/screen/alert/tox_in_air // CHOMP EDIT : Oxygen is toxic to phoron breathers and nitrogen breathers. I'm tired of seeing "You're choking on phoron!" when it's not phoron.
name = "Choking (Toxic)" // CHOMP EDIT
// CHOMPEdit Start Oxygen is toxic to phoron breathers and nitrogen breathers. I'm tired of seeing "You're choking on phoron!" when it's not phoron.
/atom/movable/screen/alert/tox_in_air
name = "Choking (Toxic)"
desc = "There's a dangerous toxin in the air and you're breathing it in. Find some fresh air. \
Your emergency supply kit should have an air tank and gas mask in it!" // CHOMP EDIT
Your emergency supply kit should have an air tank and gas mask in it!"
icon_state = "too_much_tox"
// CHOMPEdit End
/obj/screen/alert/not_enough_fuel
/atom/movable/screen/alert/not_enough_fuel
name = "Choking (No Volatile fuel)"
desc = "You're not getting enough volatile fuel. Find some good air before you pass out!"
icon_state = "not_enough_tox"
/obj/screen/alert/not_enough_n2o
/atom/movable/screen/alert/not_enough_n2o
name = "Choking (No Sleeping Gas)"
desc = "You're not getting enough sleeping gas. Find some good air before you pass out!"
icon_state = "not_enough_tox"
/obj/screen/alert/not_enough_atmos
/atom/movable/screen/alert/not_enough_atmos
name = "Choking (No Breath)"
desc = "The atmosphere around you lacks any form of breathable air! Find some good air before you pass out!"
icon_state = "not_enough_oxy"
/obj/screen/alert/methane_in_air
/atom/movable/screen/alert/methane_in_air
name = "Choking (Methane)"
desc = "There's highly flammable methane in the air, making it hard to breathe. Find some fresh air. \
The box in your backpack has an oxygen tank and gas mask in it."
icon_state = "not_enough_oxy"
/obj/screen/alert/not_enough_methane
/atom/movable/screen/alert/not_enough_methane
name = "Choking (No Methane)"
desc = "You're not getting enough methane. Find some good air before you pass out!"
icon_state = "not_enough_tox"
//End gas alerts
/obj/screen/alert/fat
/atom/movable/screen/alert/fat
name = "Full"
desc = "You've eaten more than you can handle, maybe you should slow down?"
icon_state = "fat"
/obj/screen/alert/fat/vampire
/atom/movable/screen/alert/fat/vampire
desc = "You've had more than enough blood, for now."
icon_state = "v_fat"
/obj/screen/alert/fat/synth
/atom/movable/screen/alert/fat/synth
desc = "Your battery is full! Don't overvolt it."
icon_state = "c_fat"
/obj/screen/alert/hungry
/atom/movable/screen/alert/hungry
name = "Hungry"
desc = "Some food would be good right about now."
icon_state = "hungry"
/obj/screen/alert/hungry/vampire
/atom/movable/screen/alert/hungry/vampire
desc = "You could go for a bite right now..."
icon_state = "v_hungry"
/obj/screen/alert/hungry/synth
/atom/movable/screen/alert/hungry/synth
desc = "Battery's running a bit low, could use a topoff."
icon_state = "c_hungry"
/obj/screen/alert/starving
/atom/movable/screen/alert/starving
name = "Very Hungry"
desc = "You're starving. You barely have enough energy to move around."
icon_state = "starving"
/obj/screen/alert/starving/vampire
/atom/movable/screen/alert/starving/vampire
desc = "You *need* blood; go rip out someone's throat already!"
icon_state = "v_starving"
/obj/screen/alert/starving/synth
/atom/movable/screen/alert/starving/synth
desc = "Your battery is about to die! Charge it ASAP!"
icon_state = "c_starving"
/obj/screen/alert/warm
/atom/movable/screen/alert/warm
name = "Too Warm"
desc = "You're uncomfortably warm. Take off some clothes or tweak the thermostat a few degrees cooler."
icon_state = "mildhot"
/obj/screen/alert/hot
/atom/movable/screen/alert/hot
name = "Too Hot"
desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit."
icon_state = "hot"
/obj/screen/alert/hot/robot
/atom/movable/screen/alert/hot/robot
desc = "The air around you is too hot for a humanoid. Be careful to avoid exposing them to this enviroment."
/obj/screen/alert/chilly
/atom/movable/screen/alert/chilly
name = "Too Chilly"
desc = "You're uncomfortably cold. Rug up or tweak the thermostat a few degrees higher."
icon_state = "mildcold"
/obj/screen/alert/cold
/atom/movable/screen/alert/cold
name = "Too Cold"
desc = "You're freezing cold! Get somewhere warmer and take off any insulating clothing like a space suit."
icon_state = "cold"
/obj/screen/alert/cold/robot
/atom/movable/screen/alert/cold/robot
desc = "The air around you is too cold for a humanoid. Be careful to avoid exposing them to this enviroment."
/obj/screen/alert/lowpressure
/atom/movable/screen/alert/lowpressure
name = "Low Pressure"
desc = "The air around you is hazardously thin. A space suit would protect you."
icon_state = "lowpressure"
/obj/screen/alert/highpressure
/atom/movable/screen/alert/highpressure
name = "High Pressure"
desc = "The air around you is hazardously thick. A fire suit would protect you."
icon_state = "highpressure"
/obj/screen/alert/blind
/atom/movable/screen/alert/blind
name = "Blind"
desc = "You can't see! This may be caused by a genetic defect, eye trauma, being unconscious, \
or something covering your eyes."
icon_state = "blind"
/obj/screen/alert/stunned
/atom/movable/screen/alert/stunned
name = "Stunned"
desc = "You're temporarily stunned! You'll have trouble moving or performing actions, but it should clear up on it's own."
icon_state = "stun"
/obj/screen/alert/paralyzed
/atom/movable/screen/alert/paralyzed
name = "Paralyzed"
desc = "You're paralyzed! This could be due to drugs or serious injury. You'll be unable to move or perform actions."
icon_state = "paralysis"
/obj/screen/alert/weakened
/atom/movable/screen/alert/weakened
name = "Weakened"
desc = "You're weakened! This could be a temporary issue due to injury or the result of drugs or drinking."
icon_state = "weaken"
/obj/screen/alert/confused
/atom/movable/screen/alert/confused
name = "Confused"
desc = "You're confused, and may stumble into things! This may be from concussive effects, drugs, or dizzyness. Walking will help reduce incidents."
icon_state = "confused"
/obj/screen/alert/high
/atom/movable/screen/alert/high
name = "High"
desc = "Whoa, you're tripping balls!"
icon_state = "high"
/obj/screen/alert/embeddedobject
/atom/movable/screen/alert/embeddedobject
name = "Embedded Object"
desc = "Something got lodged into your flesh and is causing major bleeding. It might fall out with time, but surgery is the safest way. \
If you're feeling frisky, right click on yourself and select \"Remove embedded object\" to pull the object out."
icon_state = "embeddedobject"
/obj/screen/alert/embeddedobject/Click()
/atom/movable/screen/alert/embeddedobject/Click()
if(isliving(usr))
var/mob/living/carbon/human/M = usr
return M.help_shake_act(M)
/obj/screen/alert/asleep
/atom/movable/screen/alert/asleep
name = "Asleep"
desc = "You've fallen asleep. Wait a bit and you should wake up. Unless you don't, considering how helpless you are."
icon_state = "asleep"
/obj/screen/alert/weightless
/atom/movable/screen/alert/weightless
name = "Weightless"
desc = "Gravity has ceased affecting you, and you're floating around aimlessly. You'll need something large and heavy, like a \
wall or lattice, to push yourself off if you want to move. A jetpack would enable free range of motion. A pair of \
@@ -297,12 +299,12 @@ magboots would let you walk around normally on the floor. Barring those, you can
or shoot a gun to move around via Newton's 3rd Law of Motion."
icon_state = "weightless"
/obj/screen/alert/fire
/atom/movable/screen/alert/fire
name = "On Fire"
desc = "You're on fire. Stop, drop and roll to put the fire out or move to a vacuum area."
icon_state = "fire"
/obj/screen/alert/fire/Click()
/atom/movable/screen/alert/fire/Click()
if(isliving(usr))
var/mob/living/L = usr
return L.resist()
@@ -310,20 +312,20 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
//ALIENS
/obj/screen/alert/alien_tox
/atom/movable/screen/alert/alien_tox
name = "Phoron"
desc = "There's flammable phoron in the air. If it lights up, you'll be toast."
icon_state = "alien_tox"
alerttooltipstyle = "alien"
/obj/screen/alert/alien_fire
/atom/movable/screen/alert/alien_fire
// This alert is temporarily gonna be thrown for all hot air but one day it will be used for literally being on fire
name = "Too Hot"
desc = "It's too hot! Flee to space or at least away from the flames. Standing on weeds will heal you."
icon_state = "alien_fire"
alerttooltipstyle = "alien"
/obj/screen/alert/alien_vulnerable
/atom/movable/screen/alert/alien_vulnerable
name = "Severed Matriarchy"
desc = "Your queen has been killed, you will suffer movement penalties and loss of hivemind. A new queen cannot be made until you recover."
icon_state = "alien_noqueen"
@@ -331,7 +333,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
//BLOBS
/obj/screen/alert/nofactory
/atom/movable/screen/alert/nofactory
name = "No Factory"
desc = "You have no factory, and are slowly dying!"
icon_state = "blobbernaut_nofactory"
@@ -339,37 +341,37 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
//SILICONS
/obj/screen/alert/nocell
/atom/movable/screen/alert/nocell
name = "Missing Power Cell"
desc = "Unit has no power cell. No modules available until a power cell is reinstalled. Robotics may provide assistance."
icon_state = "nocell"
/obj/screen/alert/emptycell
/atom/movable/screen/alert/emptycell
name = "Out of Power"
desc = "Unit's power cell has no charge remaining. No modules available until power cell is recharged. \
Recharging stations are available in robotics, the dormitory bathrooms, and the AI satellite."
icon_state = "emptycell"
/obj/screen/alert/lowcell
/atom/movable/screen/alert/lowcell
name = "Low Charge"
desc = "Unit's power cell is running low. Recharging stations are available in robotics, the dormitory bathrooms, and the AI satellite."
icon_state = "lowcell"
//Need to cover all use cases - emag, illegal upgrade module, malf AI hack, traitor cyborg
/obj/screen/alert/hacked
/atom/movable/screen/alert/hacked
name = "Hacked"
desc = "Hazardous non-standard equipment detected. Please ensure any usage of this equipment is in line with unit's laws, if any."
icon_state = "hacked"
no_underlay = TRUE
/obj/screen/alert/locked
/atom/movable/screen/alert/locked
name = "Locked Down"
desc = "Unit has been remotely locked down. Usage of a Robotics Control Console like the one in the " + JOB_RESEARCH_DIRECTOR + "'s \
office by your AI master or any qualified human may resolve this matter. Robotics may provide further assistance if necessary."
icon_state = "locked"
no_underlay = TRUE
/obj/screen/alert/newlaw
/atom/movable/screen/alert/newlaw
name = "Law Update"
desc = "Laws have potentially been uploaded to or removed from this unit. Please be aware of any changes \
so as to remain in compliance with the most up-to-date laws."
@@ -379,7 +381,7 @@ so as to remain in compliance with the most up-to-date laws."
//MECHS
/obj/screen/alert/low_mech_integrity
/atom/movable/screen/alert/low_mech_integrity
name = "Mech Damaged"
desc = "Mech integrity is low."
icon_state = "low_mech_integrity"
@@ -387,18 +389,18 @@ so as to remain in compliance with the most up-to-date laws."
//GHOSTS
//TODO: expand this system to replace the pollCandidates/CheckAntagonist/"choose quickly"/etc Yes/No messages
/obj/screen/alert/notify_cloning
/atom/movable/screen/alert/notify_cloning
name = "Revival"
desc = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!"
icon_state = "template"
timeout = 300
/obj/screen/alert/notify_cloning/Click()
/atom/movable/screen/alert/notify_cloning/Click()
if(!usr || !usr.client) return
var/mob/observer/dead/G = usr
G.reenter_corpse()
// /obj/screen/alert/notify_jump
// /atom/movable/screen/alert/notify_jump
// name = "Body created"
// desc = "A body was created. You can enter it."
// icon_state = "template"
@@ -406,7 +408,7 @@ so as to remain in compliance with the most up-to-date laws."
// var/atom/jump_target = null
// var/attack_not_jump = null
// /obj/screen/alert/notify_jump/Click()
// /atom/movable/screen/alert/notify_jump/Click()
// if(!usr || !usr.client) return
// if(!jump_target) return
// var/mob/dead/observer/G = usr
@@ -420,32 +422,32 @@ so as to remain in compliance with the most up-to-date laws."
//OBJECT-BASED
/obj/screen/alert/restrained/buckled
/atom/movable/screen/alert/restrained/buckled
name = "Buckled"
desc = "You've been buckled to something. Click the alert to unbuckle unless you're handcuffed."
/obj/screen/alert/restrained/handcuffed
/atom/movable/screen/alert/restrained/handcuffed
name = "Handcuffed"
desc = "You're handcuffed and can't act. If anyone drags you, you won't be able to move. Click the alert to free yourself."
/obj/screen/alert/restrained/legcuffed
/atom/movable/screen/alert/restrained/legcuffed
name = "Legcuffed"
desc = "You're legcuffed, which slows you down considerably. Click the alert to free yourself."
/obj/screen/alert/restrained/Click()
/atom/movable/screen/alert/restrained/Click()
if(isliving(usr))
var/mob/living/L = usr
return L.resist()
// TICKETS
/obj/screen/alert/open_ticket
/atom/movable/screen/alert/open_ticket
icon = 'icons/logo.dmi'
name = "Admin Chat Request"
desc = "A Administrator would like to chat with you. \
Click here to begin."
icon_state = "nt_logo"
/obj/screen/alert/open_ticket/Click()
/atom/movable/screen/alert/open_ticket/Click()
if(!usr || !usr.client) return
// Open a new chat with the user
@@ -463,7 +465,7 @@ so as to remain in compliance with the most up-to-date laws."
mymob?.client?.screen -= alerts[alerts[i]]
return TRUE
for(var/i in 1 to length(alerts))
var/obj/screen/alert/alert = alerts[alerts[i]]
var/atom/movable/screen/alert/alert = alerts[alerts[i]]
if(icon_exists(ui_style, alert.icon_state))
alert.icon = ui_style
@@ -492,9 +494,9 @@ so as to remain in compliance with the most up-to-date laws."
return 1
/mob
var/list/alerts = null // contains /obj/screen/alert only // On /mob so clientless mobs will throw alerts properly
var/list/alerts = null // contains /atom/movable/screen/alert only // On /mob so clientless mobs will throw alerts properly
/obj/screen/alert/Click(location, control, params)
/atom/movable/screen/alert/Click(location, control, params)
if(!usr || !usr.client)
return
var/paramslist = params2list(params)
@@ -505,7 +507,7 @@ so as to remain in compliance with the most up-to-date laws."
return usr.client.Click(master, location, control, params)
..() // VOREStation Edit: Pass through to click_vr
/obj/screen/alert/Destroy()
/atom/movable/screen/alert/Destroy()
..()
severity = 0
master = null
+12 -12
View File
@@ -1,36 +1,36 @@
/obj/screen/alert/fat
/atom/movable/screen/alert/fat
name = "Full"
desc = "You overate! If you don't exercise soon, you might find yourself gaining weight."
/obj/screen/alert/fat/vampire
/atom/movable/screen/alert/fat/vampire
desc = "You overdrank! If you don't exercise soon, you might find yourself gaining weight."
/obj/screen/alert/fat/synth
/atom/movable/screen/alert/fat/synth
name = "Overcharged"
/obj/screen/alert/hungry/vampire
/atom/movable/screen/alert/hungry/vampire
desc = "You could use a bloodpack or two."
/obj/screen/alert/hungry/synth
/atom/movable/screen/alert/hungry/synth
name = "Undercharged"
/obj/screen/alert/starving
/atom/movable/screen/alert/starving
desc = "You're extremely hungry. The hunger pains make moving around a chore."
/obj/screen/alert/starving/vampire
/atom/movable/screen/alert/starving/vampire
desc = "You are starving! Without some blood, moving around is a pain."
/obj/screen/alert/starving/synth
/atom/movable/screen/alert/starving/synth
name = "Low Power"
desc = "Your battery is very low! Low power mode makes all movements slower."
/obj/screen/alert/xenochimera/reconstitution
/atom/movable/screen/alert/xenochimera/reconstitution
name = "Reconstructing Form"
desc = "You're still rebuilding your body! Click the alert to find out how long you have left."
icon_state = "regenerating"
/* // Commenting this out for now, will revisit later once I can figure out how to override Click() appropriately.
/obj/screen/alert/xenochimera/reconstitution/Click(mob/usr)
/atom/movable/screen/alert/xenochimera/reconstitution/Click(mob/usr)
var/mob/living/carbon/human/H = usr
var/datum/component/xenochimera/xc = H.get_xenochimera_component()
if(xc) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert.
@@ -40,13 +40,13 @@
to_chat(usr, "You should have a notification + alert for this! Bug report that this is still here!")
*/
/obj/screen/alert/xenochimera/readytohatch
/atom/movable/screen/alert/xenochimera/readytohatch
name = "Ready to Hatch"
desc = "You're done reconstructing your cells! Click me to Hatch!"
icon_state = "hatch_ready"
/* // Commenting this out for now, will revisit later once I can figure out how to override Click() appropriately.
/obj/screen/alert/xenochimera/readytohatch/Click(mob/usr)
/atom/movable/screen/alert/xenochimera/readytohatch/Click(mob/usr)
var/mob/living/carbon/human/H = usr
if(H.get_xenochimera_component()) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert.
if(H.revive_ready == REVIVING_DONE) // Sanity check.
+3 -3
View File
@@ -6,9 +6,9 @@
HUD.adding = list()
HUD.other = list()
var/obj/screen/using
var/atom/movable/screen/using
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "mov_intent"
using.set_dir(SOUTHWEST)
using.icon = HUD.ui_style
@@ -18,7 +18,7 @@
HUD.adding += using
HUD.move_intent = using
healths = new /obj/screen()
healths = new /atom/movable/screen()
healths.icon = HUD.ui_style
healths.icon_state = "health0"
healths.name = "health"
+24 -24
View File
@@ -5,7 +5,7 @@
condition ? overlay_fullscreen(screen_name, screen_type, arg) : clear_fullscreen(screen_name)
/mob/proc/overlay_fullscreen(category, type, severity)
var/obj/screen/fullscreen/screen = LAZYACCESS(screens, category)
var/atom/movable/screen/fullscreen/screen = LAZYACCESS(screens, category)
if (!screen || screen.type != type)
// needs to be recreated
clear_fullscreen(category, FALSE)
@@ -24,7 +24,7 @@
return screen
/mob/proc/clear_fullscreen(category, animated = 10)
var/obj/screen/fullscreen/screen = LAZYACCESS(screens, category)
var/atom/movable/screen/fullscreen/screen = LAZYACCESS(screens, category)
if(!screen)
return
@@ -56,7 +56,7 @@
for(var/category in screens)
client.screen |= screens[category]
/obj/screen/fullscreen
/atom/movable/screen/fullscreen
icon = 'icons/mob/screen_full.dmi'
icon_state = "default"
screen_loc = "CENTER-7,CENTER-7"
@@ -67,83 +67,83 @@
var/severity = 0
var/show_when_dead = FALSE
/obj/screen/fullscreen/Destroy()
/atom/movable/screen/fullscreen/Destroy()
severity = 0
return ..()
/obj/screen/fullscreen/proc/update_for_view(client_view)
/atom/movable/screen/fullscreen/proc/update_for_view(client_view)
if (screen_loc == "CENTER-7,CENTER-7" && view != client_view)
var/list/actualview = getviewsize(client_view)
view = client_view
transform = matrix(actualview[1]/15, 0, 0, 0, actualview[2]/15, 0)
/obj/screen/fullscreen/proc/should_show_to(mob/mymob)
/atom/movable/screen/fullscreen/proc/should_show_to(mob/mymob)
if(!show_when_dead && mymob.stat == DEAD)
return FALSE
return TRUE
/obj/screen/fullscreen/brute
/atom/movable/screen/fullscreen/brute
icon_state = "brutedamageoverlay"
layer = DAMAGE_LAYER
/obj/screen/fullscreen/oxy
/atom/movable/screen/fullscreen/oxy
icon_state = "oxydamageoverlay"
layer = DAMAGE_LAYER
/obj/screen/fullscreen/crit
/atom/movable/screen/fullscreen/crit
icon_state = "passage"
layer = CRIT_LAYER
/obj/screen/fullscreen/blind
/atom/movable/screen/fullscreen/blind
icon_state = "blackimageoverlay"
layer = BLIND_LAYER
/obj/screen/fullscreen/impaired
/atom/movable/screen/fullscreen/impaired
icon_state = "impairedoverlay"
/obj/screen/fullscreen/blurry
/atom/movable/screen/fullscreen/blurry
icon = 'icons/mob/screen1.dmi'
screen_loc = "WEST,SOUTH to EAST,NORTH"
icon_state = "blurry"
/obj/screen/fullscreen/flash
/atom/movable/screen/fullscreen/flash
icon = 'icons/mob/screen1.dmi'
screen_loc = "WEST,SOUTH to EAST,NORTH"
icon_state = "flash_static"
/obj/screen/fullscreen/flash/noise
/atom/movable/screen/fullscreen/flash/noise
icon_state = "noise"
/obj/screen/fullscreen/high
/atom/movable/screen/fullscreen/high
icon = 'icons/mob/screen1.dmi'
screen_loc = "WEST,SOUTH to EAST,NORTH"
icon_state = "druggy"
/obj/screen/fullscreen/noise
/atom/movable/screen/fullscreen/noise
icon = 'icons/effects/static.dmi'
icon_state = "1 light"
screen_loc = ui_entire_screen
layer = FULLSCREEN_LAYER
/obj/screen/fullscreen/scanline
/atom/movable/screen/fullscreen/scanline
icon = 'icons/effects/static.dmi'
icon_state = "scanlines"
screen_loc = ui_entire_screen
alpha = 50
layer = FULLSCREEN_LAYER
/obj/screen/fullscreen/fishbed
/atom/movable/screen/fullscreen/fishbed
icon_state = "fishbed"
/obj/screen/fullscreen/fear
/atom/movable/screen/fullscreen/fear
icon_state = "fear"
/obj/screen/fullscreen/scrolls
/atom/movable/screen/fullscreen/scrolls
icon_state = "scrolls"
show_when_dead = TRUE
plane = PLANE_PLAYER_HUD_ABOVE
/obj/screen/fullscreen/cinematic_backdrop
/atom/movable/screen/fullscreen/cinematic_backdrop
icon = 'icons/hud/screen_gen.dmi'
screen_loc = "WEST,SOUTH to EAST,NORTH"
icon_state = "flash"
@@ -152,7 +152,7 @@
color = COLOR_BLACK
show_when_dead = TRUE
/obj/screen/fullscreen/lighting_backdrop
/atom/movable/screen/fullscreen/lighting_backdrop
icon = 'icons/mob/screen_gen.dmi'
icon_state = "flash"
transform = matrix(200, 0, 0, 0, 200, 0)
@@ -161,11 +161,11 @@
show_when_dead = TRUE
//Provides darkness to the back of the lighting plane
/obj/screen/fullscreen/lighting_backdrop/lit
/atom/movable/screen/fullscreen/lighting_backdrop/lit
invisibility = INVISIBILITY_LIGHTING
layer = BACKGROUND_LAYER+21
color = "#000"
//Provides whiteness in case you don't see lights so everything is still visible
/obj/screen/fullscreen/lighting_backdrop/unlit
/atom/movable/screen/fullscreen/lighting_backdrop/unlit
layer = BACKGROUND_LAYER+20
+33 -33
View File
@@ -1,103 +1,103 @@
/obj/screen/ghost
/atom/movable/screen/ghost
icon = 'icons/mob/screen_ghost.dmi'
/obj/screen/ghost/MouseEntered(location,control,params)
/atom/movable/screen/ghost/MouseEntered(location,control,params)
flick(icon_state + "_anim", src)
openToolTip(usr, src, params, title = name, content = desc)
/obj/screen/ghost/MouseExited()
/atom/movable/screen/ghost/MouseExited()
closeToolTip(usr)
/obj/screen/ghost/Click()
/atom/movable/screen/ghost/Click()
closeToolTip(usr)
/obj/screen/ghost/returntomenu
/atom/movable/screen/ghost/returntomenu
name = "Return to menu"
desc = "Return to the title screen menu."
icon_state = "returntomenu"
/obj/screen/ghost/returntomenu/Click()
/atom/movable/screen/ghost/returntomenu/Click()
..()
var/mob/observer/dead/G = usr
G.abandon_mob()
/obj/screen/ghost/jumptomob
/atom/movable/screen/ghost/jumptomob
name = "Jump to mob"
desc = "Pick a mob from a list to jump to."
icon_state = "jumptomob"
/obj/screen/ghost/jumptomob/Click()
/atom/movable/screen/ghost/jumptomob/Click()
..()
var/mob/observer/dead/G = usr
G.jumptomob()
/obj/screen/ghost/orbit
/atom/movable/screen/ghost/orbit
name = "Orbit"
desc = "Pick a mob to follow and orbit."
icon_state = "orbit"
/obj/screen/ghost/orbit/Click()
/atom/movable/screen/ghost/orbit/Click()
..()
var/mob/observer/dead/G = usr
G.follow()
/obj/screen/ghost/reenter_corpse
/atom/movable/screen/ghost/reenter_corpse
name = "Reenter corpse"
desc = "Only applicable if you HAVE a corpse..."
icon_state = "reenter_corpse"
/obj/screen/ghost/reenter_corpse/Click()
/atom/movable/screen/ghost/reenter_corpse/Click()
..()
var/mob/observer/dead/G = usr
G.reenter_corpse()
/obj/screen/ghost/teleport
/atom/movable/screen/ghost/teleport
name = "Teleport"
desc = "Pick an area to teleport to."
icon_state = "teleport"
/obj/screen/ghost/teleport/Click()
/atom/movable/screen/ghost/teleport/Click()
..()
var/mob/observer/dead/G = usr
G.dead_tele()
/obj/screen/ghost/pai
/atom/movable/screen/ghost/pai
name = "pAI Alert"
desc = "Ping all the unoccupied pAI devices in the world."
icon_state = "pai"
/obj/screen/ghost/pai/Click()
/atom/movable/screen/ghost/pai/Click()
..()
var/mob/observer/dead/G = usr
G.paialert()
/obj/screen/ghost/up
/atom/movable/screen/ghost/up
name = "Move Upwards"
desc = "Move up a z-level."
icon_state = "up"
/obj/screen/ghost/up/Click()
/atom/movable/screen/ghost/up/Click()
..()
var/mob/observer/dead/G = usr
G.zMove(UP)
/obj/screen/ghost/down
/atom/movable/screen/ghost/down
name = "Move Downwards"
desc = "Move down a z-level."
icon_state = "down"
/obj/screen/ghost/down/Click()
/atom/movable/screen/ghost/down/Click()
..()
var/mob/observer/dead/G = usr
G.zMove(DOWN)
/obj/screen/ghost/vr
/atom/movable/screen/ghost/vr
name = "Enter VR"
desc = "Enter virtual reality."
icon = 'icons/mob/screen_ghost.dmi'
icon_state = "entervr"
/obj/screen/ghost/vr/Click()
/atom/movable/screen/ghost/vr/Click()
..()
var/mob/observer/dead/G = usr
var/datum/data/record/record_found
@@ -131,54 +131,54 @@
var/list/adding = list()
HUD.adding = adding
var/obj/screen/using
using = new /obj/screen/ghost/returntomenu()
var/atom/movable/screen/using
using = new /atom/movable/screen/ghost/returntomenu()
using.screen_loc = ui_ghost_returntomenu
using.hud = src
adding += using
using = new /obj/screen/ghost/jumptomob()
using = new /atom/movable/screen/ghost/jumptomob()
using.screen_loc = ui_ghost_jumptomob
using.hud = src
adding += using
using = new /obj/screen/ghost/orbit()
using = new /atom/movable/screen/ghost/orbit()
using.screen_loc = ui_ghost_orbit
using.hud = src
adding += using
using = new /obj/screen/ghost/reenter_corpse()
using = new /atom/movable/screen/ghost/reenter_corpse()
using.screen_loc = ui_ghost_reenter_corpse
using.hud = src
adding += using
using = new /obj/screen/ghost/teleport()
using = new /atom/movable/screen/ghost/teleport()
using.screen_loc = ui_ghost_teleport
using.hud = src
adding += using
using = new /obj/screen/ghost/pai()
using = new /atom/movable/screen/ghost/pai()
using.screen_loc = ui_ghost_pai
using.hud = src
adding += using
using = new /obj/screen/ghost/up()
using = new /atom/movable/screen/ghost/up()
using.screen_loc = ui_ghost_updown
using.hud = src
adding += using
using = new /obj/screen/ghost/down()
using = new /atom/movable/screen/ghost/down()
using.screen_loc = ui_ghost_updown
using.hud = src
adding += using
using = new /obj/screen/ghost/vr()
using = new /atom/movable/screen/ghost/vr()
using.screen_loc = ui_ghost_vr
using.hud = src
adding += using
/*
using = new /obj/screen/language_menu
using = new /atom/movable/screen/language_menu
using.icon = ui_style
using.hud = src
adding += using
+10 -10
View File
@@ -1,20 +1,20 @@
/obj/screen/gun
/atom/movable/screen/gun
name = "gun"
icon = 'icons/mob/screen1.dmi'
master = null
dir = 2
/obj/screen/gun/Click(location, control, params)
/atom/movable/screen/gun/Click(location, control, params)
if(!usr)
return
return 1
/obj/screen/gun/move
/atom/movable/screen/gun/move
name = "Allow Movement"
icon_state = "no_walk0"
screen_loc = ui_gun2
/obj/screen/gun/move/Click(location, control, params)
/atom/movable/screen/gun/move/Click(location, control, params)
if(..())
var/mob/living/user = usr
if(istype(user))
@@ -23,12 +23,12 @@
return 1
return 0
/obj/screen/gun/item
/atom/movable/screen/gun/item
name = "Allow Item Use"
icon_state = "no_item0"
screen_loc = ui_gun1
/obj/screen/gun/item/Click(location, control, params)
/atom/movable/screen/gun/item/Click(location, control, params)
if(..())
var/mob/living/user = usr
if(istype(user))
@@ -37,12 +37,12 @@
return 1
return 0
/obj/screen/gun/mode
/atom/movable/screen/gun/mode
name = "Toggle Gun Mode"
icon_state = "gun0"
screen_loc = ui_gun_select
/obj/screen/gun/mode/Click(location, control, params)
/atom/movable/screen/gun/mode/Click(location, control, params)
if(..())
var/mob/living/user = usr
if(istype(user))
@@ -51,12 +51,12 @@
return 1
return 0
/obj/screen/gun/radio
/atom/movable/screen/gun/radio
name = "Allow Radio Use"
icon_state = "no_radio0"
screen_loc = ui_gun4
/obj/screen/gun/radio/Click(location, control, params)
/atom/movable/screen/gun/radio/Click(location, control, params)
if(..())
var/mob/living/user = usr
if(istype(user))
+49 -49
View File
@@ -19,28 +19,28 @@ GLOBAL_LIST_INIT(global_huds, list(
GLOB.global_hud.holomap
))
/datum/hud/var/obj/screen/grab_intent
/datum/hud/var/obj/screen/hurt_intent
/datum/hud/var/obj/screen/disarm_intent
/datum/hud/var/obj/screen/help_intent
/datum/hud/var/atom/movable/screen/grab_intent
/datum/hud/var/atom/movable/screen/hurt_intent
/datum/hud/var/atom/movable/screen/disarm_intent
/datum/hud/var/atom/movable/screen/help_intent
/datum/global_hud
var/obj/screen/druggy
var/obj/screen/blurry
var/obj/screen/whitense
var/atom/movable/screen/druggy
var/atom/movable/screen/blurry
var/atom/movable/screen/whitense
var/list/vimpaired
var/list/darkMask
var/obj/screen/centermarker
var/obj/screen/darksight
var/obj/screen/nvg
var/obj/screen/thermal
var/obj/screen/meson
var/obj/screen/science
var/obj/screen/material
var/obj/screen/holomap
var/atom/movable/screen/centermarker
var/atom/movable/screen/darksight
var/atom/movable/screen/nvg
var/atom/movable/screen/thermal
var/atom/movable/screen/meson
var/atom/movable/screen/science
var/atom/movable/screen/material
var/atom/movable/screen/holomap
/datum/global_hud/proc/setup_overlay(var/icon_state)
var/obj/screen/screen = new /obj/screen()
var/atom/movable/screen/screen = new /atom/movable/screen()
screen.alpha = 30 // Adjut this if you want goggle overlays to be thinner or thicker. //VOREStation Edit
screen.screen_loc = "SOUTHWEST to NORTHEAST" // Will tile up to the whole screen, scaling beyond 15x15 if needed.
screen.icon = 'icons/obj/hud_tiled_vr.dmi' //VOREStation Edit
@@ -51,39 +51,39 @@ GLOBAL_LIST_INIT(global_huds, list(
return screen
/obj/screen/global_screen
/atom/movable/screen/global_screen
screen_loc = ui_entire_screen
plane = PLANE_FULLSCREEN
mouse_opacity = 0
/datum/global_hud/New()
//420erryday psychedellic colours screen overlay for when you are high
druggy = new /obj/screen/global_screen()
druggy = new /atom/movable/screen/global_screen()
druggy.icon_state = "druggy"
//that white blurry effect you get when you eyes are damaged
blurry = new /obj/screen/global_screen()
blurry = new /atom/movable/screen/global_screen()
blurry.icon_state = "blurry"
//static overlay effect for cameras and the like
whitense = new /obj/screen/global_screen()
whitense = new /atom/movable/screen/global_screen()
whitense.icon = 'icons/effects/static.dmi'
whitense.icon_state = "1 light"
//darksight 'hanger' for attached icons
darksight = new /obj/screen()
darksight = new /atom/movable/screen()
darksight.icon = null
darksight.screen_loc = "1,1"
darksight.plane = PLANE_LIGHTING
//Marks the center of the screen, for things like ventcrawl
centermarker = new /obj/screen()
centermarker = new /atom/movable/screen()
centermarker.icon = 'icons/mob/screen1.dmi'
centermarker.icon_state = "centermarker"
centermarker.screen_loc = "CENTER,CENTER"
//Marks the center of the screen, for things like ventcrawl
centermarker = new /obj/screen()
centermarker = new /atom/movable/screen()
centermarker.icon = 'icons/mob/screen1.dmi'
centermarker.icon_state = "centermarker"
centermarker.screen_loc = "CENTER,CENTER"
@@ -94,16 +94,16 @@ GLOBAL_LIST_INIT(global_huds, list(
science = setup_overlay("science_hud")
material = setup_overlay("material_hud")
holomap = new /obj/screen()
holomap = new /atom/movable/screen()
holomap.name = "holomap"
holomap.icon = null
holomap.screen_loc = ui_holomap
holomap.mouse_opacity = 0
var/obj/screen/O
var/atom/movable/screen/O
var/i
//that nasty looking dither you get when you're short-sighted
vimpaired = newlist(/obj/screen,/obj/screen,/obj/screen,/obj/screen)
vimpaired = newlist(/atom/movable/screen,/atom/movable/screen,/atom/movable/screen,/atom/movable/screen)
O = vimpaired[1]
O.screen_loc = "1,1 to 5,15"
O.plane = PLANE_FULLSCREEN
@@ -118,7 +118,7 @@ GLOBAL_LIST_INIT(global_huds, list(
O.plane = PLANE_FULLSCREEN
//welding mask overlay black/dither
darkMask = newlist(/obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen, /obj/screen)
darkMask = newlist(/atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen, /atom/movable/screen)
O = darkMask[1]
O.screen_loc = "WEST+2,SOUTH+2 to WEST+4,NORTH-2"
O = darkMask[2]
@@ -167,16 +167,16 @@ GLOBAL_LIST_INIT(global_huds, list(
var/show_intent_icons = 0
var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons)
var/obj/screen/lingchemdisplay
var/obj/screen/wiz_instability_display
var/obj/screen/wiz_energy_display
var/obj/screen/blobpwrdisplay
var/obj/screen/blobhealthdisplay
var/obj/screen/r_hand_hud_object
var/obj/screen/l_hand_hud_object
var/obj/screen/action_intent
var/obj/screen/move_intent
var/obj/screen/control_vtec
var/atom/movable/screen/lingchemdisplay
var/atom/movable/screen/wiz_instability_display
var/atom/movable/screen/wiz_energy_display
var/atom/movable/screen/blobpwrdisplay
var/atom/movable/screen/blobhealthdisplay
var/atom/movable/screen/r_hand_hud_object
var/atom/movable/screen/l_hand_hud_object
var/atom/movable/screen/action_intent
var/atom/movable/screen/move_intent
var/atom/movable/screen/control_vtec
var/list/adding
/// Misc hud elements that are hidden when the hud is minimized
@@ -184,11 +184,11 @@ GLOBAL_LIST_INIT(global_huds, list(
/// Same, but always shown even when the hud is minimized
var/list/other_important
var/list/miniobjs
var/list/obj/screen/hotkeybuttons
var/list/atom/movable/screen/hotkeybuttons
var/obj/screen/button_palette/toggle_palette
var/obj/screen/palette_scroll/down/palette_down
var/obj/screen/palette_scroll/up/palette_up
var/atom/movable/screen/button_palette/toggle_palette
var/atom/movable/screen/palette_scroll/down/palette_down
var/atom/movable/screen/palette_scroll/up/palette_up
var/datum/action_group/palette/palette_actions
var/datum/action_group/listed/listed_actions
@@ -202,7 +202,7 @@ GLOBAL_LIST_INIT(global_huds, list(
var/ui_alpha
// TGMC Ammo HUD Port
var/list/obj/screen/ammo_hud_list = list()
var/list/atom/movable/screen/ammo_hud_list = list()
var/list/minihuds = list()
@@ -399,7 +399,7 @@ GLOBAL_LIST_INIT(global_huds, list(
else
ic = hud_used.ui_style
for(var/obj/screen/I in icons)
for(var/atom/movable/screen/I in icons)
if(I.name in list(I_HELP, I_HURT, I_DISARM, I_GRAB))
continue
if(!(I.name in list("check known languages", "autowhisper", "autowhisper mode", "move downwards", "move upwards", "set pose")))
@@ -551,17 +551,17 @@ GLOBAL_LIST_INIT(global_huds, list(
..()
var/list/hud_elements = list()
shadekin_display = new /obj/screen/shadekin()
shadekin_display = new /atom/movable/screen/shadekin()
shadekin_display.screen_loc = ui_shadekin_display
shadekin_display.icon_state = "shadekin"
hud_elements |= shadekin_display
xenochimera_danger_display = new /obj/screen/xenochimera/danger_level()
xenochimera_danger_display = new /atom/movable/screen/xenochimera/danger_level()
xenochimera_danger_display.screen_loc = ui_xenochimera_danger_display
xenochimera_danger_display.icon_state = "danger00"
hud_elements |= xenochimera_danger_display
lleill_display = new /obj/screen/lleill()
lleill_display = new /atom/movable/screen/lleill()
lleill_display.screen_loc = ui_lleill_display
lleill_display.icon_state = "lleill"
hud_elements |= lleill_display
@@ -580,7 +580,7 @@ GLOBAL_LIST_INIT(global_huds, list(
/datum/hud/proc/add_ammo_hud(mob/living/user, obj/item/gun/G)
if(length(ammo_hud_list) >= MAX_AMMO_HUD_POSSIBLE)
return
var/obj/screen/ammo/ammo_hud = new
var/atom/movable/screen/ammo/ammo_hud = new
ammo_hud_list[G] = ammo_hud
ammo_hud.screen_loc = ammo_hud.ammo_screen_loc_list[length(ammo_hud_list)]
ammo_hud.add_hud(user, G)
@@ -588,7 +588,7 @@ GLOBAL_LIST_INIT(global_huds, list(
///Remove the ammo hud related to the gun G from the user
/datum/hud/proc/remove_ammo_hud(mob/living/user, obj/item/gun/G)
var/obj/screen/ammo/ammo_hud = ammo_hud_list[G]
var/atom/movable/screen/ammo/ammo_hud = ammo_hud_list[G]
if(isnull(ammo_hud))
return
ammo_hud.remove_hud(user, G)
@@ -602,7 +602,7 @@ GLOBAL_LIST_INIT(global_huds, list(
///Update the ammo hud related to the gun G
/datum/hud/proc/update_ammo_hud(mob/living/user, obj/item/gun/G)
var/obj/screen/ammo/ammo_hud = ammo_hud_list[G]
var/atom/movable/screen/ammo/ammo_hud = ammo_hud_list[G]
ammo_hud?.update_hud(user, G)
#undef MAX_AMMO_HUD_POSSIBLE
+45 -45
View File
@@ -21,14 +21,14 @@
HUD.slot_info = slot_info
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
// Draw the various inventory equipment slots.
var/has_hidden_gear
for(var/gear_slot in hud_data.gear)
inv_box = new /obj/screen/inventory()
inv_box = new /atom/movable/screen/inventory()
inv_box.icon = HUD.ui_style
inv_box.color = HUD.ui_color
inv_box.alpha = HUD.ui_alpha
@@ -51,7 +51,7 @@
adding += inv_box
if(has_hidden_gear)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "toggle"
using.icon = HUD.ui_style
using.icon_state = "other"
@@ -64,7 +64,7 @@
// Draw the attack intent dialogue.
if(hud_data.has_a_intent)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "act_intent"
using.icon = HUD.ui_style
using.icon_state = "intent_"+a_intent
@@ -82,7 +82,7 @@
ico = new(HUD.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
@@ -94,7 +94,7 @@
ico = new(HUD.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
@@ -106,7 +106,7 @@
ico = new(HUD.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
@@ -118,7 +118,7 @@
ico = new(HUD.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
@@ -129,7 +129,7 @@
//end intent small hud objects
if(hud_data.has_m_intent)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "mov_intent"
using.icon = HUD.ui_style
using.icon_state = (m_intent == I_RUN ? "running" : "walking")
@@ -140,7 +140,7 @@
HUD.move_intent = using
if(hud_data.has_drop)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "drop"
using.icon = HUD.ui_style
using.icon_state = "act_drop"
@@ -151,7 +151,7 @@
if(hud_data.has_hands)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "equip"
using.icon = HUD.ui_style
using.icon_state = "act_equip"
@@ -160,14 +160,14 @@
using.alpha = HUD.ui_alpha
adding += using
using = new /obj/screen/useself()
using = new /atom/movable/screen/useself()
using.icon = HUD.ui_style
using.screen_loc = ui_swaphand2
using.color = HUD.ui_color
using.alpha = HUD.ui_alpha
adding |= using
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 = HUD.ui_style
@@ -182,7 +182,7 @@
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 = HUD.ui_style
@@ -197,7 +197,7 @@
adding += inv_box
slot_info["[slot_l_hand]"] = inv_box.screen_loc
using = new /obj/screen/inventory()
using = new /atom/movable/screen/inventory()
using.name = "hand"
using.icon = HUD.ui_style
using.icon_state = "hand1"
@@ -207,7 +207,7 @@
using.hud = HUD
adding += using
using = new /obj/screen/inventory()
using = new /atom/movable/screen/inventory()
using.name = "hand"
using.icon = HUD.ui_style
using.icon_state = "hand2"
@@ -218,7 +218,7 @@
adding += using
if(hud_data.has_resist)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "resist"
using.icon = HUD.ui_style
using.icon_state = "act_resist"
@@ -228,7 +228,7 @@
hotkeybuttons += using
if(hud_data.has_throw)
throw_icon = new /obj/screen()
throw_icon = new /atom/movable/screen()
throw_icon.icon = HUD.ui_style
throw_icon.icon_state = "act_throw_off"
throw_icon.name = "throw"
@@ -238,7 +238,7 @@
hotkeybuttons += throw_icon
hud_elements |= throw_icon
pullin = new /obj/screen()
pullin = new /atom/movable/screen()
pullin.icon = HUD.ui_style
pullin.icon_state = "pull0"
pullin.name = "pull"
@@ -247,7 +247,7 @@
hud_elements |= pullin
if(hud_data.has_internals)
internals = new /obj/screen()
internals = new /atom/movable/screen()
internals.icon = HUD.ui_style
internals.icon_state = "internal0"
if(istype(internal, /obj/item/tank)) //Internals on already? Iight, prove it
@@ -257,14 +257,14 @@
hud_elements |= internals
if(hud_data.has_warnings)
healths = new /obj/screen()
healths = new /atom/movable/screen()
healths.icon = HUD.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"
@@ -272,7 +272,7 @@
hud_elements |= autowhisper_display
adding |= 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"
@@ -280,7 +280,7 @@
hud_elements |= aw
adding |= 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"
@@ -288,7 +288,7 @@
hud_elements |= aw
adding |= 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"
@@ -296,7 +296,7 @@
hud_elements |= aw
adding |= 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"
@@ -304,7 +304,7 @@
hud_elements |= aw
adding |= 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"
@@ -312,7 +312,7 @@
hud_elements |= aw
adding |= aw
aw = new /obj/screen()
aw = new /atom/movable/screen()
aw.icon = HUD.ui_style
aw.icon_state = "use"
aw.name = "use held item on self"
@@ -326,25 +326,25 @@
hud_elements |= xenochimera_danger_display
hud_elements |= lleill_display
ling_chem_display = new /obj/screen/ling/chems()
ling_chem_display = new /atom/movable/screen/ling/chems()
ling_chem_display.screen_loc = ui_ling_chemical_display
ling_chem_display.icon_state = "ling_chems"
hud_elements |= ling_chem_display
wiz_instability_display = new /obj/screen/wizard/instability()
wiz_instability_display = new /atom/movable/screen/wizard/instability()
wiz_instability_display.screen_loc = ui_wiz_instability_display
wiz_instability_display.icon_state = "wiz_instability_none"
hud_elements |= wiz_instability_display
wiz_energy_display = new/obj/screen/wizard/energy()
wiz_energy_display = new/atom/movable/screen/wizard/energy()
wiz_energy_display.screen_loc = ui_wiz_energy_display
wiz_energy_display.icon_state = "wiz_energy"
hud_elements |= wiz_energy_display
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 = HUD.ui_style
zone_sel.color = HUD.ui_color
zone_sel.alpha = HUD.ui_alpha
@@ -353,23 +353,23 @@
hud_elements |= zone_sel
//Handle the gun settings buttons
gun_setting_icon = new /obj/screen/gun/mode(null)
gun_setting_icon = new /atom/movable/screen/gun/mode(null)
gun_setting_icon.icon = HUD.ui_style
gun_setting_icon.color = HUD.ui_color
gun_setting_icon.alpha = HUD.ui_alpha
hud_elements |= gun_setting_icon
item_use_icon = new /obj/screen/gun/item(null)
item_use_icon = new /atom/movable/screen/gun/item(null)
item_use_icon.icon = HUD.ui_style
item_use_icon.color = HUD.ui_color
item_use_icon.alpha = HUD.ui_alpha
gun_move_icon = new /obj/screen/gun/move(null)
gun_move_icon = new /atom/movable/screen/gun/move(null)
gun_move_icon.icon = HUD.ui_style
gun_move_icon.color = HUD.ui_color
gun_move_icon.alpha = HUD.ui_alpha
radio_use_icon = new /obj/screen/gun/radio(null)
radio_use_icon = new /atom/movable/screen/gun/radio(null)
radio_use_icon.icon = HUD.ui_style
radio_use_icon.color = HUD.ui_color
radio_use_icon.alpha = HUD.ui_alpha
@@ -403,31 +403,31 @@
all_underwear.Cut()
regenerate_icons()
/obj/screen/ling
/atom/movable/screen/ling
invisibility = INVISIBILITY_ABSTRACT
/obj/screen/ling/chems
/atom/movable/screen/ling/chems
name = "chemical storage"
icon_state = "power_display"
/obj/screen/wizard
/atom/movable/screen/wizard
invisibility = INVISIBILITY_ABSTRACT
/obj/screen/wizard/instability
/atom/movable/screen/wizard/instability
name = "instability"
icon_state = "instability-1"
invisibility = INVISIBILITY_NONE
/obj/screen/wizard/energy
/atom/movable/screen/wizard/energy
name = "energy"
icon_state = "wiz_energy"
/obj/screen/useself
/atom/movable/screen/useself
name = "use held item on self"
icon_state = "use"
var/next = 0
/obj/screen/useself/proc/can_use(var/mob/living/carbon/human/h, var/obj/item/i) //Basically trying to use the item this way skips the cooldown
/atom/movable/screen/useself/proc/can_use(var/mob/living/carbon/human/h, var/obj/item/i) //Basically trying to use the item this way skips the cooldown
if(world.time >= next) //And trying to check the cooldown doesn't work because when you click the UI it sets a cooldown
next = h.get_attack_speed(i) //So instead we'll just put a cooldown on the use button and apply the item's cooldown to the player
h.setClickCooldown(next) //Otherwise you can click the button and yourself faster than the normal cooldown. SO WE SET BOTH!!!!
+9 -9
View File
@@ -3,11 +3,11 @@
* Assoc list with all the active maps - when a screen obj is added to
* a map, it's put in here as well.
*
* Format: list(<mapname> = list(/obj/screen))
* Format: list(<mapname> = list(/atom/movable/screen))
*/
var/list/screen_maps = list()
/obj/screen
/atom/movable/screen
/**
* Map name assigned to this object.
* Automatically set by /client/proc/register_map_obj.
@@ -26,7 +26,7 @@
* A screen object, which acts as a container for turfs and other things
* you want to show on the map, which you usually attach to "vis_contents".
*/
/obj/screen/map_view
/atom/movable/screen/map_view
icon_state = "blank"
// Map view has to be on the lowest plane to enable proper lighting
layer = MAP_VIEW_LAYER
@@ -37,7 +37,7 @@
* It is also implicitly used to allocate a rectangle on the map, which will
* be used for auto-scaling the map.
*/
/obj/screen/background
/atom/movable/screen/background
name = "background"
icon = 'icons/mob/map_backgrounds.dmi'
icon_state = "clear"
@@ -50,7 +50,7 @@
*
* If applicable, "assigned_map" has to be assigned before this proc call.
*/
/obj/screen/proc/set_position(x, y, px = 0, py = 0)
/atom/movable/screen/proc/set_position(x, y, px = 0, py = 0)
if(assigned_map)
screen_loc = "[assigned_map]:[x]:[px],[y]:[py]"
else
@@ -61,7 +61,7 @@
*
* If applicable, "assigned_map" has to be assigned before this proc call.
*/
/obj/screen/proc/fill_rect(x1, y1, x2, y2)
/atom/movable/screen/proc/fill_rect(x1, y1, x2, y2)
if(assigned_map)
screen_loc = "[assigned_map]:[x1],[y1] to [x2],[y2]"
else
@@ -71,7 +71,7 @@
* Registers screen obj with the client, which makes it visible on the
* assigned map, and becomes a part of the assigned map's lifecycle.
*/
/client/proc/register_map_obj(obj/screen/screen_obj)
/client/proc/register_map_obj(atom/movable/screen/screen_obj)
if(!screen_obj.assigned_map)
CRASH("Can't register [screen_obj] without 'assigned_map' property.")
if(!screen_maps[screen_obj.assigned_map])
@@ -93,7 +93,7 @@
/client/proc/clear_map(map_name)
if(!map_name || !(map_name in screen_maps))
return FALSE
for(var/obj/screen/screen_obj in screen_maps[map_name])
for(var/atom/movable/screen/screen_obj in screen_maps[map_name])
screen_maps[map_name] -= screen_obj
if(screen_obj.del_on_map_removal)
qdel(screen_obj)
@@ -147,7 +147,7 @@
var/y_value = world.icon_size * tilesize * height
var/map_name = create_popup(popup_name, x_value, y_value)
var/obj/screen/background/background = new
var/atom/movable/screen/background/background = new
background.assigned_map = map_name
background.fill_rect(1, 1, width, height)
if(bg_icon)
+11 -11
View File
@@ -1,9 +1,9 @@
/**
* /obj/screen/map_view_tg is map_view on steroids, existing simultaneously for compatibility and not driving me crazy
* /atom/movable/screen/map_view_tg is map_view on steroids, existing simultaneously for compatibility and not driving me crazy
* during implementation
*/
INITIALIZE_IMMEDIATE(/obj/screen/map_view_tg)
/obj/screen/map_view_tg
INITIALIZE_IMMEDIATE(/atom/movable/screen/map_view_tg)
/atom/movable/screen/map_view_tg
name = "screen"
icon_state = "blank"
// Map view has to be on the lowest plane to enable proper lighting
@@ -15,13 +15,13 @@ INITIALIZE_IMMEDIATE(/obj/screen/map_view_tg)
var/list/datum/weakref/viewing_clients = list()
var/list/popup_plane_masters
/obj/screen/map_view_tg/Destroy()
/atom/movable/screen/map_view_tg/Destroy()
for(var/datum/weakref/client_ref in viewing_clients)
hide_from_client(client_ref.resolve())
return ..()
/obj/screen/map_view_tg/proc/generate_view(map_key)
/atom/movable/screen/map_view_tg/proc/generate_view(map_key)
// Map keys have to start and end with an A-Z character,
// and definitely NOT with a square bracket or even a number.
// I wasted 6 hours on this. :agony:
@@ -31,7 +31,7 @@ INITIALIZE_IMMEDIATE(/obj/screen/map_view_tg)
popup_plane_masters = get_tgui_plane_masters()
for(var/obj/screen/instance as anything in popup_plane_masters)
for(var/atom/movable/screen/instance as anything in popup_plane_masters)
instance.assigned_map = assigned_map
instance.del_on_map_removal = FALSE
instance.screen_loc = "[assigned_map]:1,1"
@@ -47,18 +47,18 @@ INITIALIZE_IMMEDIATE(/obj/screen/map_view_tg)
* * show_to - Mob which needs map view
* * window - Optional. TGUI window which needs map view
*/
/obj/screen/map_view_tg/proc/display_to(mob/show_to, datum/tgui_window/window)
/atom/movable/screen/map_view_tg/proc/display_to(mob/show_to, datum/tgui_window/window)
if(window && !window.visible)
RegisterSignal(window, COMSIG_TGUI_WINDOW_VISIBLE, PROC_REF(display_on_ui_visible))
else
display_to_client(show_to.client)
/obj/screen/map_view_tg/proc/display_on_ui_visible(datum/tgui_window/window, client/show_to)
/atom/movable/screen/map_view_tg/proc/display_on_ui_visible(datum/tgui_window/window, client/show_to)
SIGNAL_HANDLER
display_to_client(show_to)
UnregisterSignal(window, COMSIG_TGUI_WINDOW_VISIBLE)
/obj/screen/map_view_tg/proc/display_to_client(client/show_to)
/atom/movable/screen/map_view_tg/proc/display_to_client(client/show_to)
show_to.register_map_obj(src)
for(var/plane in popup_plane_masters)
@@ -66,11 +66,11 @@ INITIALIZE_IMMEDIATE(/obj/screen/map_view_tg)
viewing_clients |= WEAKREF(show_to)
/obj/screen/map_view_tg/proc/hide_from(mob/hide_from)
/atom/movable/screen/map_view_tg/proc/hide_from(mob/hide_from)
// hide_from_client(hide_from?.canon_client)
hide_from_client(hide_from?.client)
/obj/screen/map_view_tg/proc/hide_from_client(client/hide_from)
/atom/movable/screen/map_view_tg/proc/hide_from_client(client/hide_from)
if(!hide_from)
return
hide_from.clear_map(assigned_map)
+1 -1
View File
@@ -4,7 +4,7 @@
/datum/mini_hud/mapper/New(var/datum/hud/other, owner)
src.owner = owner
screenobjs = list(new /obj/screen/movable/mapper_holder(null, owner))
screenobjs = list(new /atom/movable/screen/movable/mapper_holder(null, owner))
..()
/datum/mini_hud/mapper/Destroy()
+42 -42
View File
@@ -1,10 +1,10 @@
// Specific types
/datum/mini_hud/rig
var/obj/item/rig/owner_rig
var/obj/screen/rig/power/power
var/obj/screen/rig/health/health
var/obj/screen/rig/air/air
var/obj/screen/rig/airtoggle/airtoggle
var/atom/movable/screen/rig/power/power
var/atom/movable/screen/rig/health/health
var/atom/movable/screen/rig/air/air
var/atom/movable/screen/rig/airtoggle/airtoggle
needs_processing = TRUE
@@ -16,12 +16,12 @@
airtoggle = new ()
screenobjs = list(power, health, air, airtoggle)
screenobjs += new /obj/screen/rig/deco1
screenobjs += new /obj/screen/rig/deco2
screenobjs += new /obj/screen/rig/deco1_f
screenobjs += new /obj/screen/rig/deco2_f
screenobjs += new /atom/movable/screen/rig/deco1
screenobjs += new /atom/movable/screen/rig/deco2
screenobjs += new /atom/movable/screen/rig/deco1_f
screenobjs += new /atom/movable/screen/rig/deco2_f
for(var/obj/screen/S as anything in screenobjs)
for(var/atom/movable/screen/S as anything in screenobjs)
S.master = owner_rig
..()
@@ -50,10 +50,10 @@
/datum/mini_hud/mech
var/obj/mecha/owner_mech
var/obj/screen/mech/power/power
var/obj/screen/mech/health/health
var/obj/screen/mech/air/air
var/obj/screen/mech/airtoggle/airtoggle
var/atom/movable/screen/mech/power/power
var/atom/movable/screen/mech/health/health
var/atom/movable/screen/mech/air/air
var/atom/movable/screen/mech/airtoggle/airtoggle
needs_processing = TRUE
@@ -65,12 +65,12 @@
airtoggle = new ()
screenobjs = list(power, health, air, airtoggle)
screenobjs += new /obj/screen/mech/deco1
screenobjs += new /obj/screen/mech/deco2
screenobjs += new /obj/screen/mech/deco1_f
screenobjs += new /obj/screen/mech/deco2_f
screenobjs += new /atom/movable/screen/mech/deco1
screenobjs += new /atom/movable/screen/mech/deco2
screenobjs += new /atom/movable/screen/mech/deco1_f
screenobjs += new /atom/movable/screen/mech/deco2_f
for(var/obj/screen/S as anything in screenobjs)
for(var/atom/movable/screen/S as anything in screenobjs)
S.master = owner_mech
..()
@@ -99,50 +99,50 @@
airtoggle.icon_state = "airon[air_on]"
// Screen objects
/obj/screen/rig
/atom/movable/screen/rig
icon = 'icons/mob/screen_rigmech.dmi'
/obj/screen/rig/deco1
/atom/movable/screen/rig/deco1
name = "RIG Status"
icon_state = "frame1_1"
screen_loc = ui_rig_deco1
/obj/screen/rig/deco2
/atom/movable/screen/rig/deco2
name = "RIG Status"
icon_state = "frame1_2"
screen_loc = ui_rig_deco2
/obj/screen/rig/deco1_f
/atom/movable/screen/rig/deco1_f
name = "RIG Status"
icon_state = "frame1_1_far"
screen_loc = ui_rig_deco1_f
/obj/screen/rig/deco2_f
/atom/movable/screen/rig/deco2_f
name = "RIG Status"
icon_state = "frame1_2_far"
screen_loc = ui_rig_deco2_f
/obj/screen/rig/power
/atom/movable/screen/rig/power
name = "Charge Level"
icon_state = "pwr5"
screen_loc = ui_rig_pwr
/obj/screen/rig/health
/atom/movable/screen/rig/health
name = "Integrity Level"
icon_state = "health5"
screen_loc = ui_rig_health
/obj/screen/rig/air
/atom/movable/screen/rig/air
name = "Air Storage"
icon_state = "air5"
screen_loc = ui_rig_air
/obj/screen/rig/airtoggle
/atom/movable/screen/rig/airtoggle
name = "Toggle Air"
icon_state = "airoff"
screen_loc = ui_rig_airtoggle
/obj/screen/rig/airtoggle/Click()
/atom/movable/screen/rig/airtoggle/Click()
var/mob/living/carbon/human/user = usr
if(!istype(user) || user.stat || user.incapacitated())
return
@@ -151,50 +151,50 @@
return
user.toggle_internals()
/obj/screen/mech
/atom/movable/screen/mech
icon = 'icons/mob/screen_rigmech.dmi'
/obj/screen/mech/deco1
/atom/movable/screen/mech/deco1
name = "Mech Status"
icon_state = "frame1_1"
screen_loc = ui_mech_deco1
/obj/screen/mech/deco2
/atom/movable/screen/mech/deco2
name = "Mech Status"
icon_state = "frame1_2"
screen_loc = ui_mech_deco2
/obj/screen/mech/deco1_f
/atom/movable/screen/mech/deco1_f
name = "Mech Status"
icon_state = "frame1_1_far"
screen_loc = ui_mech_deco1_f
/obj/screen/mech/deco2_f
/atom/movable/screen/mech/deco2_f
name = "Mech Status"
icon_state = "frame1_2_far"
screen_loc = ui_mech_deco2_f
/obj/screen/mech/power
/atom/movable/screen/mech/power
name = "Charge Level"
icon_state = "pwr5"
screen_loc = ui_mech_pwr
/obj/screen/mech/health
/atom/movable/screen/mech/health
name = "Integrity Level"
icon_state = "health5"
screen_loc = ui_mech_health
/obj/screen/mech/air
/atom/movable/screen/mech/air
name = "Air Storage"
icon_state = "air5"
screen_loc = ui_mech_air
/obj/screen/mech/airtoggle
/atom/movable/screen/mech/airtoggle
name = "Toggle Air"
icon_state = "airoff"
screen_loc = ui_mech_airtoggle
/obj/screen/mech/airtoggle/Click()
/atom/movable/screen/mech/airtoggle/Click()
var/mob/living/carbon/human/user = usr
if(!istype(user) || user.stat || user.incapacitated())
return
@@ -210,18 +210,18 @@
var/list/adding = list()
HUD.adding = adding
var/obj/screen/using
using = new /obj/screen/ghost/jumptomob()
var/atom/movable/screen/using
using = new /atom/movable/screen/ghost/jumptomob()
using.screen_loc = ui_ghost_jumptomob
using.hud = src
adding += using
using = new /obj/screen/ghost/orbit()
using = new /atom/movable/screen/ghost/orbit()
using.screen_loc = ui_ghost_orbit
using.hud = src
adding += using
using = new /obj/screen/ghost/reenter_corpse()
using = new /atom/movable/screen/ghost/reenter_corpse()
using.screen_loc = ui_ghost_reenter_corpse
using.hud = src
adding += using
+10 -10
View File
@@ -8,7 +8,7 @@
//Movable Screen Object
//Not tied to the grid, places it's center where the cursor is
/obj/screen/movable
/atom/movable/screen/movable
mouse_drag_pointer = 'icons/effects/mouse_pointers/screen_drag.dmi'
var/snap2grid = FALSE
// TODO: Check if these can safely be deleted
@@ -20,11 +20,11 @@
//Snap Screen Object
//Tied to the grid, snaps to the nearest turf
/obj/screen/movable/snap
/atom/movable/screen/movable/snap
snap2grid = TRUE
/obj/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params)
/atom/movable/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params)
if(locked) // no! i am locked! begone!
return
var/position = mouse_params_to_position(params)
@@ -35,7 +35,7 @@
moved = screen_loc
/// Takes mouse parmas as input, returns a string representing the appropriate mouse position
/obj/screen/movable/proc/mouse_params_to_position(params)
/atom/movable/screen/movable/proc/mouse_params_to_position(params)
var/list/modifiers = params2list(params)
//No screen-loc information? abort.
@@ -54,7 +54,7 @@
return offset_to_screen_loc(offset[1], offset[2], our_client?.view)
// Must stay for now, for subtypes
/obj/screen/movable/proc/encode_screen_X(X)
/atom/movable/screen/movable/proc/encode_screen_X(X)
var/view_dist = world.view
if(view_dist)
view_dist = view_dist
@@ -65,7 +65,7 @@
else
. = "CENTER"
/obj/screen/movable/proc/decode_screen_X(X)
/atom/movable/screen/movable/proc/decode_screen_X(X)
var/view_dist = world.view
if(view_dist)
view_dist = view_dist
@@ -85,7 +85,7 @@
else
. = text2num(X)
/obj/screen/movable/proc/encode_screen_Y(Y)
/atom/movable/screen/movable/proc/encode_screen_Y(Y)
var/view_dist = world.view
if(view_dist)
view_dist = view_dist
@@ -96,7 +96,7 @@
else
. = "CENTER"
/obj/screen/movable/proc/decode_screen_Y(Y)
/atom/movable/screen/movable/proc/decode_screen_Y(Y)
var/view_dist = world.view
if(view_dist)
view_dist = view_dist
@@ -120,7 +120,7 @@
set category = "Debug"
set name = "Spawn Movable UI Object"
var/obj/screen/movable/M = new()
var/atom/movable/screen/movable/M = new()
M.name = "Movable UI Object"
M.icon_state = "block"
M.maptext = "Movable"
@@ -139,7 +139,7 @@
set category = "Debug"
set name = "Spawn Snap UI Object"
var/obj/screen/movable/snap/S = new()
var/atom/movable/screen/movable/snap/S = new()
S.name = "Snap UI Object"
S.icon_state = "block"
S.maptext = "Snap"
+24 -24
View File
@@ -1,4 +1,4 @@
/obj/screen/movable/pic_in_pic
/atom/movable/screen/movable/pic_in_pic
name = "Picture-in-picture"
screen_loc = "CENTER"
plane = PLANE_WORLD
@@ -7,21 +7,21 @@
var/height = 0
var/list/shown_to = list()
var/list/viewing_turfs = list()
var/obj/screen/component_button/button_x
var/obj/screen/component_button/button_expand
var/obj/screen/component_button/button_shrink
var/obj/screen/component_button/button_pop
var/obj/screen/map_view_tg/popup_screen
var/atom/movable/screen/component_button/button_x
var/atom/movable/screen/component_button/button_expand
var/atom/movable/screen/component_button/button_shrink
var/atom/movable/screen/component_button/button_pop
var/atom/movable/screen/map_view_tg/popup_screen
var/mutable_appearance/standard_background
/obj/screen/movable/pic_in_pic/Initialize(mapload)
/atom/movable/screen/movable/pic_in_pic/Initialize(mapload)
. = ..()
make_backgrounds()
popup_screen = new
popup_screen.generate_view("camera-[REF(src)]_map")
/obj/screen/movable/pic_in_pic/Destroy()
/atom/movable/screen/movable/pic_in_pic/Destroy()
for(var/C in shown_to)
unshow_to(C)
QDEL_NULL(button_x)
@@ -31,7 +31,7 @@
QDEL_NULL(popup_screen)
return ..()
/obj/screen/movable/pic_in_pic/component_click(obj/screen/component_button/component, params)
/atom/movable/screen/movable/pic_in_pic/component_click(atom/movable/screen/component_button/component, params)
if(component == button_x)
usr.client?.close_popup("camera-[REF(src)]")
qdel(src)
@@ -42,7 +42,7 @@
else if(component == button_pop)
pop_to_screen()
/obj/screen/movable/pic_in_pic/proc/make_backgrounds()
/atom/movable/screen/movable/pic_in_pic/proc/make_backgrounds()
standard_background = new /mutable_appearance()
standard_background.icon = 'icons/hud/pic_in_pic.dmi'
standard_background.icon_state = "background"
@@ -50,7 +50,7 @@
standard_background.plane = PLATING_PLANE
standard_background.appearance_flags = PIXEL_SCALE
/obj/screen/movable/pic_in_pic/proc/add_buttons()
/atom/movable/screen/movable/pic_in_pic/proc/add_buttons()
var/static/mutable_appearance/move_tab
if(!move_tab)
move_tab = new /mutable_appearance()
@@ -65,7 +65,7 @@
add_overlay(move_tab)
if(!button_x)
button_x = new /obj/screen/component_button(null, src)
button_x = new /atom/movable/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "close"
MA.icon = 'icons/hud/pic_in_pic.dmi'
@@ -78,7 +78,7 @@
vis_contents += button_x
if(!button_expand)
button_expand = new /obj/screen/component_button(null, src)
button_expand = new /atom/movable/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "expand"
MA.icon = 'icons/hud/pic_in_pic.dmi'
@@ -91,7 +91,7 @@
vis_contents += button_expand
if(!button_shrink)
button_shrink = new /obj/screen/component_button(null, src)
button_shrink = new /atom/movable/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "shrink"
MA.icon = 'icons/hud/pic_in_pic.dmi'
@@ -104,7 +104,7 @@
vis_contents += button_shrink
if(!button_pop)
button_pop = new /obj/screen/component_button(null, src)
button_pop = new /atom/movable/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "pop"
MA.icon = 'icons/hud/pic_in_pic.dmi'
@@ -116,7 +116,7 @@
button_pop.transform = M
vis_contents += button_pop
/obj/screen/movable/pic_in_pic/proc/add_background()
/atom/movable/screen/movable/pic_in_pic/proc/add_background()
if((width > 0) && (height > 0))
var/matrix/M = matrix()
M.Scale(width + 0.5, height + 0.5)
@@ -124,7 +124,7 @@
standard_background.transform = M
add_overlay(standard_background)
/obj/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE)
/atom/movable/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE)
width = CLAMP(width, 0, 10)
height = CLAMP(height, 0, 10)
src.width = width
@@ -138,12 +138,12 @@
if(do_refresh)
refresh_view()
/obj/screen/movable/pic_in_pic/proc/set_view_center(atom/target, do_refresh = TRUE)
/atom/movable/screen/movable/pic_in_pic/proc/set_view_center(atom/target, do_refresh = TRUE)
center = target
if(do_refresh)
refresh_view()
/obj/screen/movable/pic_in_pic/proc/refresh_view()
/atom/movable/screen/movable/pic_in_pic/proc/refresh_view()
vis_contents -= viewing_turfs
if(!width || !height)
return
@@ -153,7 +153,7 @@
popup_screen.vis_contents.Cut()
popup_screen.vis_contents += viewing_turfs
/obj/screen/movable/pic_in_pic/proc/get_visible_turfs()
/atom/movable/screen/movable/pic_in_pic/proc/get_visible_turfs()
var/turf/T = get_turf(center)
if(!T)
return list()
@@ -161,24 +161,24 @@
var/turf/upperright = locate(min(world.maxx, lowerleft.x + width - 1), min(world.maxy, lowerleft.y + height - 1), lowerleft.z)
return block(lowerleft, upperright)
/obj/screen/movable/pic_in_pic/proc/show_to(client/C)
/atom/movable/screen/movable/pic_in_pic/proc/show_to(client/C)
if(C)
shown_to[C] = 1
C.screen += src
/obj/screen/movable/pic_in_pic/proc/unshow_to(client/C)
/atom/movable/screen/movable/pic_in_pic/proc/unshow_to(client/C)
if(C)
shown_to -= C
C.screen -= src
/obj/screen/movable/pic_in_pic/proc/pop_to_screen()
/atom/movable/screen/movable/pic_in_pic/proc/pop_to_screen()
if(usr.client.screen_maps["camera-[REF(src)]_map"])
return
usr.client.setup_popup("camera-[REF(src)]", width, height, 2, "1984")
popup_screen.display_to(usr)
RegisterSignal(usr.client, COMSIG_POPUP_CLEARED, PROC_REF(on_popup_clear))
/obj/screen/movable/pic_in_pic/proc/on_popup_clear(client/source, window)
/atom/movable/screen/movable/pic_in_pic/proc/on_popup_clear(client/source, window)
SIGNAL_HANDLER
if(window == "camera-[REF(src)]")
UnregisterSignal(usr.client, COMSIG_POPUP_CLEARED)
+9 -9
View File
@@ -1,4 +1,4 @@
/obj/screen/popup
/atom/movable/screen/popup
name = "popup"
desc = "NOTICE ME!"
@@ -13,7 +13,7 @@
var/client/holder
/obj/screen/popup/Click(location, control,params)
/atom/movable/screen/popup/Click(location, control,params)
var/list/PL = params2list(params)
var/icon_x = text2num(PL["icon-x"])
var/icon_y = text2num(PL["icon-y"])
@@ -22,20 +22,20 @@
else
popup_action()
/obj/screen/popup/proc/popup_action()
/atom/movable/screen/popup/proc/popup_action()
return
/obj/screen/popup/proc/close_popup()
/atom/movable/screen/popup/proc/close_popup()
holder.screen -= src
qdel(src)
/obj/screen/popup/proc/check_click_spot(click_x, click_y)
/atom/movable/screen/popup/proc/check_click_spot(click_x, click_y)
if((click_x <= close_button_x_end) && (click_x >= close_button_x_start))
if((click_y <= close_button_y_end) && (click_y >= close_button_y_start))
return TRUE
return FALSE
/obj/screen/popup/proc/get_random_screen_location()
/atom/movable/screen/popup/proc/get_random_screen_location()
var/loc_x = rand(1,11)
var/loc_x_offset = rand(0,16)
var/loc_y = rand(1,12)
@@ -45,7 +45,7 @@
/client/proc/create_fake_ad_popup(popup_type)
if(!src)
return
var/obj/screen/popup/ad = new popup_type()
var/atom/movable/screen/popup/ad = new popup_type()
ad.screen_loc = ad.get_random_screen_location()
src.screen |= ad
ad.holder = src
@@ -56,7 +56,7 @@
for(var/i = 0, i < popup_amount, i++)
create_fake_ad_popup(popup_type)
/obj/screen/popup/default
/atom/movable/screen/popup/default
name = "CLICK ME"
icon_state = "popup1"
@@ -66,6 +66,6 @@
close_button_y_start = 86
close_button_y_end = 94
/obj/screen/popup/default/Initialize(mapload)
/atom/movable/screen/popup/default/Initialize(mapload)
icon_state = "popup[rand(1,10)]"
. = ..()
+18 -18
View File
@@ -3,36 +3,36 @@
GLOBAL_LIST_EMPTY(radial_menus)
/obj/screen/radial
/atom/movable/screen/radial
icon = 'icons/mob/radial.dmi'
plane = PLANE_PLAYER_HUD_ABOVE
vis_flags = VIS_INHERIT_PLANE
var/click_on_hover = FALSE
var/datum/radial_menu/parent
/obj/screen/radial/proc/set_parent(new_value)
/atom/movable/screen/radial/proc/set_parent(new_value)
if(parent)
UnregisterSignal(parent, COMSIG_QDELETING)
parent = new_value
if(parent)
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(handle_parent_del))
/obj/screen/radial/proc/handle_parent_del()
/atom/movable/screen/radial/proc/handle_parent_del()
SIGNAL_HANDLER
set_parent(null)
/obj/screen/radial/slice
/atom/movable/screen/radial/slice
icon_state = "radial_slice"
var/choice
var/next_page = FALSE
var/tooltips = FALSE
/obj/screen/radial/slice/set_parent(new_value)
/atom/movable/screen/radial/slice/set_parent(new_value)
. = ..()
if(parent)
icon_state = parent.radial_slice_icon
/obj/screen/radial/slice/MouseEntered(location, control, params)
/atom/movable/screen/radial/slice/MouseEntered(location, control, params)
. = ..()
if(next_page || !parent)
icon_state = "radial_slice_focus"
@@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(radial_menus)
if (click_on_hover && !isnull(usr) && !isnull(parent))
Click(location, control, params)
/obj/screen/radial/slice/MouseExited(location, control, params)
/atom/movable/screen/radial/slice/MouseExited(location, control, params)
. = ..()
if(next_page || !parent)
icon_state = "radial_slice"
@@ -52,26 +52,26 @@ GLOBAL_LIST_EMPTY(radial_menus)
if(tooltips)
closeToolTip(usr)
/obj/screen/radial/slice/Click(location, control, params)
/atom/movable/screen/radial/slice/Click(location, control, params)
if(usr.client == parent.current_user)
if(next_page)
parent.next_page()
else
parent.element_chosen(choice, usr, params)
/obj/screen/radial/center
/atom/movable/screen/radial/center
name = "Close Menu"
icon_state = "radial_center"
/obj/screen/radial/center/MouseEntered(location, control, params)
/atom/movable/screen/radial/center/MouseEntered(location, control, params)
. = ..()
icon_state = "radial_center_focus"
/obj/screen/radial/center/MouseExited(location, control, params)
/atom/movable/screen/radial/center/MouseExited(location, control, params)
. = ..()
icon_state = "radial_center"
/obj/screen/radial/center/Click(location, control, params)
/atom/movable/screen/radial/center/Click(location, control, params)
if(usr.client == parent.current_user)
parent.finished = TRUE
@@ -92,8 +92,8 @@ GLOBAL_LIST_EMPTY(radial_menus)
var/selected_choice
var/list/obj/screen/elements = list()
var/obj/screen/radial/center/close_button
var/list/atom/movable/screen/elements = list()
var/atom/movable/screen/radial/center/close_button
var/client/current_user
var/atom/anchor
var/image/menu_holder
@@ -160,7 +160,7 @@ GLOBAL_LIST_EMPTY(radial_menus)
if(elements.len < max_elements)
var/elements_to_add = max_elements - elements.len
for(var/i in 1 to elements_to_add) //Create all elements
var/obj/screen/radial/slice/new_element = new /obj/screen/radial/slice
var/atom/movable/screen/radial/slice/new_element = new /atom/movable/screen/radial/slice
new_element.tooltips = use_tooltips
new_element.set_parent(src)
elements += new_element
@@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(radial_menus)
var/list/page_choices = page_data[current_page]
var/angle_per_element = round(zone / page_choices.len)
for(var/i in 1 to elements.len)
var/obj/screen/radial/element = elements[i]
var/atom/movable/screen/radial/element = elements[i]
var/angle = WRAP(starting_angle + (i - 1) * angle_per_element,0,360)
if(i > page_choices.len)
HideElement(element)
@@ -207,7 +207,7 @@ GLOBAL_LIST_EMPTY(radial_menus)
else
element.click_on_hover = TRUE
/datum/radial_menu/proc/HideElement(obj/screen/radial/slice/E)
/datum/radial_menu/proc/HideElement(atom/movable/screen/radial/slice/E)
E.cut_overlays()
E.vis_contents.Cut()
E.alpha = 0
@@ -217,7 +217,7 @@ GLOBAL_LIST_EMPTY(radial_menus)
E.choice = null
E.next_page = FALSE
/datum/radial_menu/proc/SetElement(obj/screen/radial/slice/E,choice_id,angle,anim,anim_order)
/datum/radial_menu/proc/SetElement(atom/movable/screen/radial/slice/E,choice_id,angle,anim,anim_order)
//Position
var/py = round(cos(angle) * radius) + py_shift
var/px = round(sin(angle) * radius)
+5 -5
View File
@@ -2,19 +2,19 @@
A derivative of radial menu which persists onscreen until closed and invokes a callback each time an element is clicked
*/
/obj/screen/radial/persistent/center
/atom/movable/screen/radial/persistent/center
name = "Close Menu"
icon_state = "radial_center"
/obj/screen/radial/persistent/center/Click(location, control, params)
/atom/movable/screen/radial/persistent/center/Click(location, control, params)
if(usr.client == parent.current_user)
parent.element_chosen(null,usr)
/obj/screen/radial/persistent/center/MouseEntered(location, control, params)
/atom/movable/screen/radial/persistent/center/MouseEntered(location, control, params)
. = ..()
icon_state = "radial_center_focus"
/obj/screen/radial/persistent/center/MouseExited(location, control, params)
/atom/movable/screen/radial/persistent/center/MouseExited(location, control, params)
. = ..()
icon_state = "radial_center"
@@ -25,7 +25,7 @@
var/datum/callback/select_proc_callback
/datum/radial_menu/persistent/New()
close_button = new /obj/screen/radial/persistent/center
close_button = new /atom/movable/screen/radial/persistent/center
close_button.parent = src
+27 -27
View File
@@ -1,4 +1,4 @@
var/obj/screen/robot_inventory
var/atom/movable/screen/robot_inventory
/mob/living/silicon/robot/create_mob_hud(datum/hud/HUD, apply_to_client = TRUE)
..()
@@ -15,10 +15,10 @@ var/obj/screen/robot_inventory
HUD.adding = adding
HUD.other = other
var/obj/screen/using
var/atom/movable/screen/using
//Radio
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "radio"
using.set_dir(SOUTHWEST)
using.icon = HUD.ui_style
@@ -31,7 +31,7 @@ var/obj/screen/robot_inventory
//Module select
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "module1"
using.set_dir(SOUTHWEST)
using.icon = HUD.ui_style
@@ -43,7 +43,7 @@ var/obj/screen/robot_inventory
adding += using
inv1 = using
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "module2"
using.set_dir(SOUTHWEST)
using.icon = HUD.ui_style
@@ -55,7 +55,7 @@ var/obj/screen/robot_inventory
adding += using
inv2 = using
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "module3"
using.set_dir(SOUTHWEST)
using.icon = HUD.ui_style
@@ -70,7 +70,7 @@ var/obj/screen/robot_inventory
//End of module select
//Intent
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "act_intent"
using.set_dir(SOUTHWEST)
using.icon = HUD.ui_style
@@ -82,7 +82,7 @@ var/obj/screen/robot_inventory
HUD.action_intent = using
//Move intent (walk/run)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "mov_intent"
using.icon = HUD.ui_style
using.icon_state = (m_intent == I_RUN ? "running" : "walking")
@@ -93,7 +93,7 @@ var/obj/screen/robot_inventory
HUD.move_intent = using
//Health
healths = new /obj/screen()
healths = new /atom/movable/screen()
healths.icon = HUD.ui_style
healths.icon_state = "health0"
healths.alpha = HUD.ui_alpha
@@ -101,42 +101,42 @@ var/obj/screen/robot_inventory
healths.screen_loc = ui_borg_health
other += 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 = ui_borg_under_health
other |= 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 = ui_borg_under_health
other |= 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_borg_under_health
other |= 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_borg_under_health
other |= 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_borg_under_health
other |= 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"
@@ -144,7 +144,7 @@ var/obj/screen/robot_inventory
other |= aw
//Installed Module
hands = new /obj/screen()
hands = new /atom/movable/screen()
hands.icon = HUD.ui_style
hands.icon_state = "nomod"
hands.alpha = HUD.ui_alpha
@@ -153,7 +153,7 @@ var/obj/screen/robot_inventory
other += hands
//Module Panel
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "panel"
using.icon = HUD.ui_style
using.icon_state = "panel"
@@ -163,7 +163,7 @@ var/obj/screen/robot_inventory
adding += using
//Store
throw_icon = new /obj/screen()
throw_icon = new /atom/movable/screen()
throw_icon.icon = HUD.ui_style
throw_icon.icon_state = "store"
throw_icon.alpha = HUD.ui_alpha
@@ -173,7 +173,7 @@ var/obj/screen/robot_inventory
other += throw_icon
//Inventory
robot_inventory = new /obj/screen()
robot_inventory = new /atom/movable/screen()
robot_inventory.name = "inventory"
robot_inventory.icon = HUD.ui_style
robot_inventory.icon_state = "inventory"
@@ -182,7 +182,7 @@ var/obj/screen/robot_inventory
robot_inventory.screen_loc = ui_borg_inventory
other += robot_inventory
pullin = new /obj/screen()
pullin = new /atom/movable/screen()
pullin.icon = HUD.ui_style
pullin.icon_state = "pull0"
pullin.alpha = HUD.ui_alpha
@@ -191,23 +191,23 @@ var/obj/screen/robot_inventory
pullin.screen_loc = ui_borg_pull
other += pullin
zone_sel = new /obj/screen/zone_sel()
zone_sel = new /atom/movable/screen/zone_sel()
zone_sel.icon = HUD.ui_style
zone_sel.alpha = HUD.ui_alpha
zone_sel.cut_overlays()
zone_sel.update_icon()
//Handle the gun settings buttons
gun_setting_icon = new /obj/screen/gun/mode(null)
gun_setting_icon = new /atom/movable/screen/gun/mode(null)
gun_setting_icon.icon = HUD.ui_style
gun_setting_icon.alpha = HUD.ui_alpha
item_use_icon = new /obj/screen/gun/item(null)
item_use_icon = new /atom/movable/screen/gun/item(null)
item_use_icon.icon = HUD.ui_style
item_use_icon.alpha = HUD.ui_alpha
gun_move_icon = new /obj/screen/gun/move(null)
gun_move_icon = new /atom/movable/screen/gun/move(null)
gun_move_icon.icon = HUD.ui_style
gun_move_icon.alpha = HUD.ui_alpha
radio_use_icon = new /obj/screen/gun/radio(null)
radio_use_icon = new /atom/movable/screen/gun/radio(null)
radio_use_icon.icon = HUD.ui_style
radio_use_icon.alpha = HUD.ui_alpha
@@ -217,7 +217,7 @@ var/obj/screen/robot_inventory
client.screen += HUD.adding + HUD.other
client.screen += client.void
if(vtec_active)
using = new /obj/screen()
using = new /atom/movable/screen()
using.name = "control_vtec"
using.icon = HUD.ui_style
using.screen_loc = ui_vtec_control
@@ -240,7 +240,7 @@ var/obj/screen/robot_inventory
var/mob/living/silicon/robot/R = mymob
if(!control_vtec)
var/obj/screen/using = new /obj/screen()
var/atom/movable/screen/using = new /atom/movable/screen()
using.name = "control_vtec"
using.icon = ui_style
using.screen_loc = ui_vtec_control
+77 -78
View File
@@ -6,24 +6,23 @@
They are used with the client/screen list and the screen_loc var.
For more information, see the byond documentation on the screen_loc and screen vars.
*/
/obj/screen
/atom/movable/screen
name = ""
icon = 'icons/mob/screen1.dmi'
appearance_flags = TILE_BOUND|PIXEL_SCALE|NO_CLIENT_COLOR
layer = LAYER_HUD_BASE
plane = PLANE_PLAYER_HUD
unacidable = TRUE
var/obj/master = null //A reference to the object in the slot. Grabs or items, generally.
var/datum/hud/hud = null // A reference to the owner HUD, if any.
/obj/screen/Destroy()
/atom/movable/screen/Destroy()
master = null
return ..()
/obj/screen/proc/component_click(obj/screen/component_button/component, params)
/atom/movable/screen/proc/component_click(atom/movable/screen/component_button/component, params)
return
/obj/screen/text
/atom/movable/screen/text
icon = null
icon_state = null
mouse_opacity = 0
@@ -32,20 +31,20 @@
maptext_width = 480
/obj/screen/inventory
/atom/movable/screen/inventory
var/slot_id //The indentifier for the slot. It has nothing to do with ID cards.
var/list/object_overlays = list() // Required for inventory/screen overlays.
/obj/screen/inventory/MouseEntered()
/atom/movable/screen/inventory/MouseEntered()
..()
add_overlays()
/obj/screen/inventory/MouseExited()
/atom/movable/screen/inventory/MouseExited()
..()
cut_overlay(object_overlays)
object_overlays.Cut()
/obj/screen/inventory/proc/add_overlays()
/atom/movable/screen/inventory/proc/add_overlays()
if(hud && hud.mymob && slot_id)
var/mob/user = hud.mymob
var/obj/item/holding = user.get_active_hand()
@@ -64,10 +63,10 @@
object_overlays += item_overlay
add_overlay(object_overlays)
/obj/screen/close
/atom/movable/screen/close
name = "close"
/obj/screen/close/Click()
/atom/movable/screen/close/Click()
if(master)
if(istype(master, /obj/item/storage))
var/obj/item/storage/S = master
@@ -75,14 +74,14 @@
return 1
/obj/screen/item_action
/atom/movable/screen/item_action
var/obj/item/owner
/obj/screen/item_action/Destroy()
/atom/movable/screen/item_action/Destroy()
. = ..()
owner = null
/obj/screen/item_action/Click()
/atom/movable/screen/item_action/Click()
if(!usr || !owner)
return 1
if(!usr.checkClickCooldown())
@@ -97,25 +96,25 @@
owner.ui_action_click()
return 1
/obj/screen/grab
/atom/movable/screen/grab
name = "grab"
/obj/screen/grab/Click()
/atom/movable/screen/grab/Click()
var/obj/item/grab/G = master
G.s_click(src)
return 1
/obj/screen/grab/attack_hand()
/atom/movable/screen/grab/attack_hand()
return
/obj/screen/grab/attackby()
/atom/movable/screen/grab/attackby()
return
/obj/screen/storage
/atom/movable/screen/storage
name = "storage"
/obj/screen/storage/Click()
/atom/movable/screen/storage/Click()
if(!usr.checkClickCooldown())
return 1
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
@@ -128,7 +127,7 @@
usr.ClickOn(master)
return 1
/obj/screen/zone_sel
/atom/movable/screen/zone_sel
name = "damage zone"
icon_state = "zone_sel"
screen_loc = ui_zonesel
@@ -137,7 +136,7 @@
var/hovering_choice
var/mutable_appearance/selecting_appearance
/obj/screen/zone_sel/Click(location, control,params)
/atom/movable/screen/zone_sel/Click(location, control,params)
if(isobserver(usr))
return
@@ -150,10 +149,10 @@
return set_selected_zone(choice, usr)
/obj/screen/zone_sel/MouseEntered(location, control, params)
/atom/movable/screen/zone_sel/MouseEntered(location, control, params)
MouseMove(location, control, params)
/obj/screen/zone_sel/MouseMove(location, control, params)
/atom/movable/screen/zone_sel/MouseMove(location, control, params)
if(isobserver(usr))
return
@@ -185,12 +184,12 @@
layer = LAYER_HUD_ABOVE
plane = PLANE_PLAYER_HUD_ABOVE
/obj/screen/zone_sel/MouseExited(location, control, params)
/atom/movable/screen/zone_sel/MouseExited(location, control, params)
if(!isobserver(usr) && hovering_choice)
vis_contents -= hover_overlays_cache[hovering_choice]
hovering_choice = null
/obj/screen/zone_sel/proc/get_zone_at(icon_x, icon_y)
/atom/movable/screen/zone_sel/proc/get_zone_at(icon_x, icon_y)
switch(icon_y)
if(1 to 3) //Feet
switch(icon_x)
@@ -234,19 +233,19 @@
return O_EYES
return BP_HEAD
/obj/screen/zone_sel/proc/set_selected_zone(choice, mob/user)
/atom/movable/screen/zone_sel/proc/set_selected_zone(choice, mob/user)
if(isobserver(user))
return
if(choice != selecting)
selecting = choice
update_icon()
/obj/screen/zone_sel/update_icon()
/atom/movable/screen/zone_sel/update_icon()
cut_overlays()
selecting_appearance = mutable_appearance('icons/mob/zone_sel.dmi', "[selecting]")
add_overlay(selecting_appearance)
/obj/screen/Click(location, control, params)
/atom/movable/screen/Click(location, control, params)
..() // why the FUCK was this not called before
if(!usr) return 1
switch(name)
@@ -502,7 +501,7 @@
usr.down()
if("use held item on self")
var/obj/screen/useself/s = src
var/atom/movable/screen/useself/s = src
if(ishuman(usr))
var/mob/living/carbon/human/u = usr
var/obj/item/i = u.get_active_hand()
@@ -632,7 +631,7 @@
return attempt_vr(src,"Click_vr",list(location,control,params))
return 1
/obj/screen/inventory/Click()
/atom/movable/screen/inventory/Click()
// At this point in client Click() code we have passed the 1/10 sec check and little else
// We don't even know if it's a middle click
if(!usr.checkClickCooldown())
@@ -661,10 +660,10 @@
return 1
// Hand slots are special to handle the handcuffs overlay
/obj/screen/inventory/hand
/atom/movable/screen/inventory/hand
var/image/handcuff_overlay
/obj/screen/inventory/hand/update_icon()
/atom/movable/screen/inventory/hand/update_icon()
..()
if(!hud)
return
@@ -678,38 +677,38 @@
add_overlay(handcuff_overlay)
// PIP stuff
/obj/screen/component_button
var/obj/screen/parent
/atom/movable/screen/component_button
var/atom/movable/screen/parent
/obj/screen/component_button/Initialize(mapload, obj/screen/new_parent)
/atom/movable/screen/component_button/Initialize(mapload, atom/movable/screen/new_parent)
. = ..()
parent = new_parent
/obj/screen/component_button/Click(params)
/atom/movable/screen/component_button/Click(params)
if(parent)
parent.component_click(src, params)
// Character setup stuff
/obj/screen/setup_preview
/atom/movable/screen/setup_preview
var/datum/preferences/pref
/obj/screen/setup_preview/Destroy()
/atom/movable/screen/setup_preview/Destroy()
pref = null
return ..()
// Background 'floor'
/obj/screen/setup_preview/pm_helper
/atom/movable/screen/setup_preview/pm_helper
icon = null
icon_state = null
appearance_flags = PLANE_MASTER
plane = PLANE_EMISSIVE
alpha = 0
/obj/screen/setup_preview/bg
/atom/movable/screen/setup_preview/bg
mouse_over_pointer = MOUSE_HAND_POINTER
/obj/screen/setup_preview/bg/Click(params)
/atom/movable/screen/setup_preview/bg/Click(params)
pref?.bgstate = next_in_list(pref.bgstate, pref.bgstate_options)
pref?.update_preview_icon()
/**
@@ -722,7 +721,7 @@
*
* The markers use that technique, though, so at least there's that.
*/
/obj/screen/movable/mapper_holder
/atom/movable/screen/movable/mapper_holder
name = "gps unit"
icon = null
icon_state = ""
@@ -734,18 +733,18 @@
var/running = FALSE
var/obj/screen/mapper/mask_full/mask_full
var/obj/screen/mapper/mask_ping/mask_ping
var/obj/screen/mapper/bg/bg
var/atom/movable/screen/mapper/mask_full/mask_full
var/atom/movable/screen/mapper/mask_ping/mask_ping
var/atom/movable/screen/mapper/bg/bg
var/obj/screen/mapper/frame/frame
var/obj/screen/mapper/powbutton/powbutton
var/obj/screen/mapper/mapbutton/mapbutton
var/atom/movable/screen/mapper/frame/frame
var/atom/movable/screen/mapper/powbutton/powbutton
var/atom/movable/screen/mapper/mapbutton/mapbutton
var/obj/item/mapping_unit/owner
var/obj/screen/mapper/extras_holder/extras_holder
var/atom/movable/screen/mapper/extras_holder/extras_holder
/obj/screen/movable/mapper_holder/Initialize(mapload, newowner)
/atom/movable/screen/movable/mapper_holder/Initialize(mapload, newowner)
. = ..()
owner = newowner
@@ -770,7 +769,7 @@
vis_contents.Add(frame)
/obj/screen/movable/mapper_holder/Destroy()
/atom/movable/screen/movable/mapper_holder/Destroy()
QDEL_NULL(mask_full)
QDEL_NULL(mask_ping)
QDEL_NULL(bg)
@@ -783,7 +782,7 @@
owner = null
return ..()
/obj/screen/movable/mapper_holder/proc/update(var/obj/screen/mapper/map, var/obj/screen/mapper/extras_holder/extras, ping = FALSE)
/atom/movable/screen/movable/mapper_holder/proc/update(var/atom/movable/screen/mapper/map, var/atom/movable/screen/mapper/extras_holder/extras, ping = FALSE)
if(!running)
running = TRUE
if(ping)
@@ -801,20 +800,20 @@
vis_contents -= extras_holder
extras_holder = null
/obj/screen/movable/mapper_holder/proc/powerClick()
/atom/movable/screen/movable/mapper_holder/proc/powerClick()
if(running)
off()
else
on()
/obj/screen/movable/mapper_holder/proc/mapClick()
/atom/movable/screen/movable/mapper_holder/proc/mapClick()
if(owner)
if(running)
off()
owner.pinging = !owner.pinging
on()
/obj/screen/movable/mapper_holder/proc/off(var/inform = TRUE)
/atom/movable/screen/movable/mapper_holder/proc/off(var/inform = TRUE)
frame.cut_overlay("powlight")
bg.vis_contents.Cut()
vis_contents.Remove(mask_ping, mask_full, extras_holder)
@@ -823,27 +822,27 @@
if(inform)
owner.stop_updates()
/obj/screen/movable/mapper_holder/proc/on(var/inform = TRUE)
/atom/movable/screen/movable/mapper_holder/proc/on(var/inform = TRUE)
frame.add_overlay("powlight")
if(inform)
owner.start_updates()
// Prototype
/obj/screen/mapper
/atom/movable/screen/mapper
plane = PLANE_HOLOMAP
mouse_opacity = 0
var/obj/screen/movable/mapper_holder/parent
var/atom/movable/screen/movable/mapper_holder/parent
/obj/screen/mapper/Initialize(mapload)
/atom/movable/screen/mapper/Initialize(mapload)
. = ..()
parent = loc
/obj/screen/mapper/Destroy()
/atom/movable/screen/mapper/Destroy()
parent = null
return ..()
// Holds the actual map image
/obj/screen/mapper/map
/atom/movable/screen/mapper/map
var/offset_x = 32
var/offset_y = 32
@@ -851,15 +850,15 @@
// but alpha filters can't be animated, which means I can't use them for the 'sonar ping' mode.
// If filters start supporting animated icons in the future (for the alpha mask filter),
// you should definitely replace these with that technique instead.
/obj/screen/mapper/mask_full
/atom/movable/screen/mapper/mask_full
icon = 'icons/effects/64x64.dmi'
icon_state = "mapper_mask"
/obj/screen/mapper/mask_ping
/atom/movable/screen/mapper/mask_ping
icon = 'icons/effects/64x64.dmi'
icon_state = "mapper_ping"
/obj/screen/mapper/bg
/atom/movable/screen/mapper/bg
icon = 'icons/effects/64x64.dmi'
icon_state = "mapper_bg"
@@ -867,7 +866,7 @@
appearance_flags = KEEP_TOGETHER
// Frame/deco components
/obj/screen/mapper/frame
/atom/movable/screen/mapper/frame
icon = 'icons/effects/gpshud.dmi'
icon_state = "frame"
plane = PLANE_HOLOMAP_FRAME
@@ -876,13 +875,13 @@
mouse_opacity = 1
vis_flags = VIS_INHERIT_ID
/obj/screen/mapper/powbutton
/atom/movable/screen/mapper/powbutton
icon = 'icons/effects/gpshud.dmi'
icon_state = "powbutton"
plane = PLANE_HOLOMAP_FRAME
mouse_opacity = 1
/obj/screen/mapper/powbutton/Click()
/atom/movable/screen/mapper/powbutton/Click()
if(!usr.checkClickCooldown())
return TRUE
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
@@ -894,13 +893,13 @@
usr << get_sfx("button")
return TRUE
/obj/screen/mapper/mapbutton
/atom/movable/screen/mapper/mapbutton
icon = 'icons/effects/gpshud.dmi'
icon_state = "mapbutton"
plane = PLANE_HOLOMAP_FRAME
mouse_opacity = 1
/obj/screen/mapper/mapbutton/Click()
/atom/movable/screen/mapper/mapbutton/Click()
if(!usr.checkClickCooldown())
return TRUE
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
@@ -913,7 +912,7 @@
return TRUE
// Markers are 16x16, people have apparently settled on centering them on the 8,8 pixel
/obj/screen/mapper/marker
/atom/movable/screen/mapper/marker
icon = 'icons/holomap_markers.dmi'
plane = PLANE_HOLOMAP_ICONS
@@ -921,14 +920,14 @@
var/offset_y = -8
// Holds markers in its vis_contents. It uses an alpha filter to crop them to the HUD screen size
/obj/screen/mapper/extras_holder
/atom/movable/screen/mapper/extras_holder
icon = null
icon_state = null
plane = PLANE_HOLOMAP_ICONS
appearance_flags = KEEP_TOGETHER
// Begin TGMC Ammo HUD Port
/obj/screen/ammo
/atom/movable/screen/ammo
name = "ammo"
icon = 'icons/mob/screen_ammo.dmi'
icon_state = "ammo"
@@ -936,13 +935,13 @@
var/warned = FALSE
var/static/list/ammo_screen_loc_list = list(ui_ammo_hud1, ui_ammo_hud2, ui_ammo_hud3 ,ui_ammo_hud4)
/obj/screen/ammo/proc/add_hud(var/mob/living/user, var/obj/item/gun/G)
/atom/movable/screen/ammo/proc/add_hud(var/mob/living/user, var/obj/item/gun/G)
if(!user?.client)
return
if(!G)
CRASH("/obj/screen/ammo/proc/add_hud() has been called from [src] without the required param of G")
CRASH("/atom/movable/screen/ammo/proc/add_hud() has been called from [src] without the required param of G")
//CHOMPAdd start
if(!G.hud_enabled)
@@ -954,10 +953,10 @@
user.client.screen += src
/obj/screen/ammo/proc/remove_hud(var/mob/living/user)
/atom/movable/screen/ammo/proc/remove_hud(var/mob/living/user)
user?.client?.screen -= src
/obj/screen/ammo/proc/update_hud(var/mob/living/user, var/obj/item/gun/G)
/atom/movable/screen/ammo/proc/update_hud(var/mob/living/user, var/obj/item/gun/G)
if(!user?.client?.screen.Find(src))
return
@@ -980,7 +979,7 @@
overlays += empty
else
warned = TRUE
var/obj/screen/ammo/F = new /obj/screen/ammo(src)
var/atom/movable/screen/ammo/F = new /atom/movable/screen/ammo(src)
F.icon_state = "frame"
user.client.screen += F
flick("[hud_state_empty]_flash", F)
+2 -2
View File
@@ -3,11 +3,11 @@
//So yeah this is why we now check if it is type of mob first...
//Is this pretty? Fuck no, but its how i know to fix it -shark
//Oh also the swap button on simple mob hands has hud set to null so we also need to catch that.
/obj/screen/inventory/add_overlays()
/atom/movable/screen/inventory/add_overlays()
if(!hud) //Simplemob swap hands button has this set to null :)
return
var/mob/user
if(istype(hud,/mob )) //Simplemob hands directly reference the mob in hud, dont ask me.
if(ismob(hud)) //Simplemob hands directly reference the mob in hud, dont ask me.
user = hud
else
user = hud.mymob //original intended behaviour
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/screen/proc/Click_vr(location, control, params)
/atom/movable/screen/proc/Click_vr(location, control, params)
if(!usr) return 1
switch(name)
if("shadekin status")
+3 -3
View File
@@ -3,7 +3,7 @@
#define SKYBOX_TURFS (SKYBOX_PIXELS/WORLD_ICON_SIZE)
// Skybox screen object.
/obj/screen/skybox
/atom/movable/screen/skybox
name = "skybox"
icon = null
vis_flags = NONE
@@ -17,7 +17,7 @@
blend_mode = BLEND_MULTIPLY // You actually need to do it this way or you see it in occlusion.
// Adjust transform property to scale for client's view var. We assume the skybox is 736x736 px
/obj/screen/skybox/proc/scale_to_view(var/view)
/atom/movable/screen/skybox/proc/scale_to_view(var/view)
var/matrix/M = matrix()
// Translate to center the icon over us!
M.Translate(-(SKYBOX_PIXELS - WORLD_ICON_SIZE) / 2)
@@ -27,7 +27,7 @@
src.transform = M
/client
var/obj/screen/skybox/skybox
var/atom/movable/screen/skybox/skybox
/client/proc/update_skybox(rebuild)
if(!skybox)
+20 -20
View File
@@ -1,62 +1,62 @@
/obj/screen/nifsc
/atom/movable/screen/nifsc
icon = 'icons/mob/screen_nifsc.dmi'
/obj/screen/nifsc/MouseEntered(location,control,params)
/atom/movable/screen/nifsc/MouseEntered(location,control,params)
flick(icon_state + "_anim", src)
openToolTip(usr, src, params, title = name, content = desc)
/obj/screen/nifsc/MouseExited()
/atom/movable/screen/nifsc/MouseExited()
closeToolTip(usr)
/obj/screen/nifsc/Click()
/atom/movable/screen/nifsc/Click()
closeToolTip(usr)
/obj/screen/nifsc/reenter
/atom/movable/screen/nifsc/reenter
name = "Re-enter NIF"
desc = "Return into the NIF"
icon_state = "reenter"
/obj/screen/nifsc/reenter/Click()
/atom/movable/screen/nifsc/reenter/Click()
..()
var/mob/living/carbon/brain/caught_soul/CS = usr
CS.reenter_soulcatcher()
/obj/screen/nifsc/arproj
/atom/movable/screen/nifsc/arproj
name = "AR project"
desc = "Project your form into Augmented Reality for those around your predator with the appearance of your loaded character."
icon_state = "arproj"
/obj/screen/nifsc/arproj/Click()
/atom/movable/screen/nifsc/arproj/Click()
..()
var/mob/living/carbon/brain/caught_soul/CS = usr
CS.ar_project()
/obj/screen/nifsc/jumptoowner
/atom/movable/screen/nifsc/jumptoowner
name = "Jump back to host"
desc = "Jumb back to the Soulcather host"
icon_state = "jump"
/obj/screen/nifsc/jumptoowner/Click()
/atom/movable/screen/nifsc/jumptoowner/Click()
..()
var/mob/living/carbon/brain/caught_soul/CS = usr
CS.jump_to_owner()
/obj/screen/nifsc/nme
/atom/movable/screen/nifsc/nme
name = "Emote into Soulcatcher"
desc = "Emote into the NIF's Soulcatcher (circumventing AR emoting)"
icon_state = "nme"
/obj/screen/nifsc/nme/Click()
/atom/movable/screen/nifsc/nme/Click()
..()
var/mob/living/carbon/brain/caught_soul/CS = usr
CS.nme_brain() //CHOMPEdit
/obj/screen/nifsc/nsay
/atom/movable/screen/nifsc/nsay
name = "Speak into Soulcatcher"
desc = "Speak into the NIF's Soulcatcher (circumventing AR speaking)"
icon_state = "nsay"
/obj/screen/nifsc/nsay/Click()
/atom/movable/screen/nifsc/nsay/Click()
..()
var/mob/living/carbon/brain/caught_soul/CS = usr
CS.nsay_brain() //CHOMPEdit
@@ -68,29 +68,29 @@
var/list/adding = list()
HUD.adding = adding
var/obj/screen/using
var/atom/movable/screen/using
using = new /obj/screen/nifsc/reenter()
using = new /atom/movable/screen/nifsc/reenter()
using.screen_loc = ui_nifsc_reenter
using.hud = src
adding += using
using = new /obj/screen/nifsc/arproj()
using = new /atom/movable/screen/nifsc/arproj()
using.screen_loc = ui_nifsc_arproj
using.hud = src
adding += using
using = new /obj/screen/nifsc/jumptoowner()
using = new /atom/movable/screen/nifsc/jumptoowner()
using.screen_loc = ui_nifsc_jumptoowner
using.hud = src
adding += using
using = new /obj/screen/nifsc/nme()
using = new /atom/movable/screen/nifsc/nme()
using.screen_loc = ui_nifsc_nme
using.hud = src
adding += using
using = new /obj/screen/nifsc/nsay()
using = new /atom/movable/screen/nifsc/nsay()
using.screen_loc = ui_nifsc_nsay
using.hud = src
adding += using
+24 -24
View File
@@ -1,8 +1,8 @@
/obj/screen/movable/spell_master
/atom/movable/screen/movable/spell_master
name = "Spells"
icon = 'icons/mob/screen_spells.dmi'
icon_state = "wiz_spell_ready"
var/list/obj/screen/spell/spell_objects = list()
var/list/atom/movable/screen/spell/spell_objects = list()
var/showing = 0
var/open_state = "master_open"
@@ -12,9 +12,9 @@
var/mob/spell_holder
/obj/screen/movable/spell_master/Destroy()
/atom/movable/screen/movable/spell_master/Destroy()
. = ..()
for(var/obj/screen/spell/spells in spell_objects)
for(var/atom/movable/screen/spell/spells in spell_objects)
spells.spellmaster = null
spell_objects.Cut()
if(spell_holder)
@@ -23,22 +23,22 @@
spell_holder.client.screen -= src
spell_holder = null
/obj/screen/movable/spell_master/MouseDrop()
/atom/movable/screen/movable/spell_master/MouseDrop()
if(showing)
return
return ..()
/obj/screen/movable/spell_master/Click()
/atom/movable/screen/movable/spell_master/Click()
if(!spell_objects.len)
qdel(src)
return
toggle_open()
/obj/screen/movable/spell_master/proc/toggle_open(var/forced_state = 0)
/atom/movable/screen/movable/spell_master/proc/toggle_open(var/forced_state = 0)
if(showing && (forced_state != 2))
for(var/obj/screen/spell/O in spell_objects)
for(var/atom/movable/screen/spell/O in spell_objects)
if(spell_holder && spell_holder.client)
spell_holder.client.screen -= O
O.handle_icon_updates = 0
@@ -52,7 +52,7 @@
overlays.len = 0
overlays.Add(open_state)
/obj/screen/movable/spell_master/proc/open_spellmaster()
/atom/movable/screen/movable/spell_master/proc/open_spellmaster()
var/list/screen_loc_xy = splittext(screen_loc,",")
//Create list of X offsets
@@ -66,7 +66,7 @@
var/y_pix = screen_loc_Y[2]
for(var/i = 1; i <= spell_objects.len; i++)
var/obj/screen/spell/S = spell_objects[i]
var/atom/movable/screen/spell/S = spell_objects[i]
var/xpos = x_position + (x_position < 8 ? 1 : -1)*(i%7)
var/ypos = y_position + (y_position < 8 ? round(i/7) : -round(i/7))
if(spell_holder && spell_holder.client)
@@ -74,7 +74,7 @@
spell_holder.client.screen += S
S.handle_icon_updates = 1
/obj/screen/movable/spell_master/proc/add_spell(var/spell/spell)
/atom/movable/screen/movable/spell_master/proc/add_spell(var/spell/spell)
if(!spell) return
if(spell.connected_button) //we have one already, for some reason
@@ -89,7 +89,7 @@
if(spell.spell_flags & NO_BUTTON) //no button to add if we don't get one
return
var/obj/screen/spell/newscreen = new /obj/screen/spell()
var/atom/movable/screen/spell/newscreen = new /atom/movable/screen/spell()
newscreen.spellmaster = src
newscreen.spell = spell
@@ -108,7 +108,7 @@
if(spell_holder.client)
toggle_open(2) //forces the icons to refresh on screen
/obj/screen/movable/spell_master/proc/remove_spell(var/spell/spell)
/atom/movable/screen/movable/spell_master/proc/remove_spell(var/spell/spell)
qdel(spell.connected_button)
spell.connected_button = null
@@ -118,19 +118,19 @@
else
qdel(src)
/obj/screen/movable/spell_master/proc/silence_spells(var/amount)
for(var/obj/screen/spell/spell in spell_objects)
/atom/movable/screen/movable/spell_master/proc/silence_spells(var/amount)
for(var/atom/movable/screen/spell/spell in spell_objects)
spell.spell.silenced = amount
spell.update_charge(1)
/obj/screen/movable/spell_master/proc/update_spells(forced = 0, mob/user)
/atom/movable/screen/movable/spell_master/proc/update_spells(forced = 0, mob/user)
if(user && user.client)
if(!(src in user.client.screen))
user.client.screen += src
for(var/obj/screen/spell/spell in spell_objects)
for(var/atom/movable/screen/spell/spell in spell_objects)
spell.update_charge(forced)
/obj/screen/movable/spell_master/genetic
/atom/movable/screen/movable/spell_master/genetic
name = "Mutant Powers"
icon_state = "genetic_spell_ready"
@@ -139,7 +139,7 @@
screen_loc = ui_genetic_master
/obj/screen/movable/spell_master/swarm
/atom/movable/screen/movable/spell_master/swarm
name = "Swarm Abilities"
icon_state = "nano_spell_ready"
@@ -149,7 +149,7 @@
//////////////ACTUAL SPELLS//////////////
//This is what you click to cast things//
/////////////////////////////////////////
/obj/screen/spell
/atom/movable/screen/spell
icon = 'icons/mob/screen_spells.dmi'
icon_state = "wiz_spell_base"
var/spell_base = "wiz"
@@ -157,11 +157,11 @@
var/spell/spell = null
var/handle_icon_updates = 0
var/obj/screen/movable/spell_master/spellmaster
var/atom/movable/screen/movable/spell_master/spellmaster
var/icon/last_charged_icon
/obj/screen/spell/Destroy()
/atom/movable/screen/spell/Destroy()
. = ..()
spell = null
last_charged_icon = null
@@ -173,7 +173,7 @@
qdel(spellmaster)
spellmaster = null
/obj/screen/spell/proc/update_charge(var/forced_update = 0)
/atom/movable/screen/spell/proc/update_charge(var/forced_update = 0)
if(!spell)
qdel(src)
return
@@ -211,7 +211,7 @@
if(spell.silenced)
overlays += "silence"
/obj/screen/spell/Click()
/atom/movable/screen/spell/Click()
if(!usr || !spell)
qdel(src)
return
+1 -1
View File
@@ -119,7 +119,7 @@
return
watching += watching_client
watching_mob.overlay_fullscreen("cinematic", /obj/screen/fullscreen/cinematic_backdrop)
watching_mob.overlay_fullscreen("cinematic", /atom/movable/screen/fullscreen/cinematic_backdrop)
watching_client.screen += screen
RegisterSignal(watching_client, COMSIG_QDELETING, PROC_REF(remove_watcher))
@@ -177,7 +177,7 @@ var/list/datum/power/changeling/powerinstances = list()
add_verb(src, P.verbpath)
if(P.make_hud_button)
if(!src.ability_master)
src.ability_master = new /obj/screen/movable/ability_master(src)
src.ability_master = new /atom/movable/screen/movable/ability_master(src)
src.ability_master.add_ling_ability(
object_given = src,
verb_given = P.verbpath,
@@ -215,7 +215,7 @@ var/list/datum/power/changeling/powerinstances = list()
for(var/datum/power/changeling/P in comp.purchased_powers)
if(P.isVerb)
remove_verb(src, P.verbpath)
var/obj/screen/ability/verb_based/changeling/C = ability_master.get_ability_by_proc_ref(P.verbpath)
var/atom/movable/screen/ability/verb_based/changeling/C = ability_master.get_ability_by_proc_ref(P.verbpath)
if(C)
ability_master.remove_ability(C)
@@ -407,7 +407,7 @@ var/list/datum/power/changeling/powerinstances = list()
if(Thepower.make_hud_button && Thepower.isVerb)
if(owner.ability_master)
QDEL_NULL(owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master(owner)
owner.ability_master = new /atom/movable/screen/movable/ability_master(owner)
owner.ability_master.add_ling_ability(
object_given = owner,
verb_given = Thepower.verbpath,
+2 -2
View File
@@ -6,7 +6,7 @@
SIGNAL_HANDLER
var/datum/hud/H = user.hud_used
var/obj/screen/craft/C = new()
var/atom/movable/screen/craft/C = new()
C.icon = H.ui_style
C.color = H.ui_color
C.alpha = H.ui_alpha
@@ -527,7 +527,7 @@
learned_recipes |= R
// Screen objects
/obj/screen/craft
/atom/movable/screen/craft
name = "crafting menu"
icon = 'icons/mob/screen/midnight.dmi'
icon_state = "craft"
@@ -146,10 +146,10 @@
///Gets rid of any old ability master if we have one and replaces it with a shadekin ability master.
/datum/component/shadekin/proc/create_shadekin_abilities()
if(!owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master/shadekin(owner)
else if(!istype(owner.ability_master, /obj/screen/movable/ability_master/shadekin))
owner.ability_master = new /atom/movable/screen/movable/ability_master/shadekin(owner)
else if(!istype(owner.ability_master, /atom/movable/screen/movable/ability_master/shadekin))
QDEL_NULL(owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master/shadekin(owner)
owner.ability_master = new /atom/movable/screen/movable/ability_master/shadekin(owner)
//Clears up our verbs. Used when rebuilding our verbs list..
/datum/component/shadekin/proc/clear_shadekin_abilities()
@@ -165,10 +165,10 @@
//Clears our abilities master and gives us a new, non-shadekin one. Used for destroy.
/datum/component/shadekin/proc/replace_shadekin_master()
if(!owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master(owner)
else if(istype(owner.ability_master, /obj/screen/movable/ability_master/shadekin))
owner.ability_master = new /atom/movable/screen/movable/ability_master(owner)
else if(istype(owner.ability_master, /atom/movable/screen/movable/ability_master/shadekin))
QDEL_NULL(owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master(owner)
owner.ability_master = new /atom/movable/screen/movable/ability_master(owner)
clear_shadekin_abilities()
//wait, it's all light?
@@ -269,11 +269,11 @@
return
owner.LoadComponent(/datum/component/hallucinations/xenochimera)
/obj/screen/xenochimera
/atom/movable/screen/xenochimera
icon = 'icons/mob/chimerahud.dmi'
invisibility = INVISIBILITY_ABSTRACT
/obj/screen/xenochimera/danger_level
/atom/movable/screen/xenochimera/danger_level
name = "danger level"
icon_state = "danger00" //first number is bool of whether or not we're in danger, second is whether or not we're feral
alpha = 200
@@ -331,7 +331,7 @@
//Scary spawnerization.
set_revival_delay(time)
owner.throw_alert("regen", /obj/screen/alert/xenochimera/reconstitution)
owner.throw_alert("regen", /atom/movable/screen/alert/xenochimera/reconstitution)
addtimer(CALLBACK(src, PROC_REF(chimera_regenerate_ready)), time SECONDS, TIMER_DELETE_ME)
//Clicked regen while NOT dead
@@ -340,7 +340,7 @@
//Waiting for regen after being alive
set_revival_delay(time)
owner.throw_alert("regen", /obj/screen/alert/xenochimera/reconstitution)
owner.throw_alert("regen", /atom/movable/screen/alert/xenochimera/reconstitution)
addtimer(CALLBACK(src, PROC_REF(chimera_regenerate_nutrition)), time SECONDS, TIMER_DELETE_ME)
owner.lying = TRUE
// open_appearance_editor()
@@ -357,7 +357,7 @@
revive_ready = REVIVING_DONE
owner << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30)
owner.clear_alert("regen")
owner.throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch)
owner.throw_alert("hatch", /atom/movable/screen/alert/xenochimera/readytohatch)
/datum/component/xenochimera/proc/chimera_regenerate_ready()
if(!owner)
@@ -367,7 +367,7 @@
to_chat(owner, span_notice("Your body has recovered from its ordeal, ready to regenerate itself again."))
revive_ready = REVIVING_READY //reset their cooldown
owner.clear_alert("regen")
owner.throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch)
owner.throw_alert("hatch", /atom/movable/screen/alert/xenochimera/readytohatch)
// Was dead, still dead.
else
@@ -376,7 +376,7 @@
revive_ready = REVIVING_DONE
owner << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30)
owner.clear_alert("regen")
owner.throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch)
owner.throw_alert("hatch", /atom/movable/screen/alert/xenochimera/readytohatch)
/mob/living/carbon/human/proc/hatch()
set name = "Hatch"
+5 -5
View File
@@ -24,9 +24,9 @@
var/on_remove_on_mob_delete = FALSE
/// The typepath to the alert thrown by the status effect when created.
/// Status effect "name"s and "description"s are shown to the owner here.
var/alert_type = /obj/screen/alert/status_effect
var/alert_type = /atom/movable/alert/status_effect
/// The alert itself, created in [proc/on_creation] (if alert_type is specified).
VAR_FINAL/obj/screen/alert/status_effect/linked_alert
VAR_FINAL/atom/movable/alert/status_effect/linked_alert
/// If TRUE, and we have an alert, we will show a duration on the alert
var/show_duration = FALSE
/// Used to define if the status effect should be using SSfastprocess or SSprocessing
@@ -64,7 +64,7 @@
tick_interval = world.time + tick_interval
if(alert_type)
var/obj/screen/alert/status_effect/new_alert = owner.throw_alert(id, alert_type)
var/atom/movable/alert/status_effect/new_alert = owner.throw_alert(id, alert_type)
new_alert.attached_effect = src //so the alert can reference us, if it needs to
linked_alert = new_alert //so we can reference the alert, if we need to
update_shown_duration()
@@ -242,13 +242,13 @@
update_shown_duration()
/// Alert base type for status effect alerts
/obj/screen/alert/status_effect
/atom/movable/alert/status_effect
name = "Curse of Mundanity"
desc = "You don't feel any different..."
// maptext_y = 2
/// The status effect we're linked to
var/datum/status_effect/attached_effect
/obj/screen/alert/status_effect/Destroy()
/atom/movable/alert/status_effect/Destroy()
attached_effect = null //Don't keep a ref now
return ..()
@@ -128,7 +128,7 @@
if(was_on_fire && !owner.on_fire)
owner.clear_alert(ALERT_FIRE)
else if(!was_on_fire && owner.on_fire)
owner.throw_alert(ALERT_FIRE, /obj/screen/alert/fire)
owner.throw_alert(ALERT_FIRE, /atom/movable/screen/alert/fire)
// owner.update_appearance(UPDATE_OVERLAYS)
owner.update_fire()
update_particles()
+1
View File
@@ -34,6 +34,7 @@
var/autotransferable = TRUE // Toggle for autotransfer mechanics.
var/recursive_listeners
var/listening_recursive = NON_LISTENING_ATOM
var/unacidable = TRUE
/atom/movable/Initialize(mapload)
. = ..()
+2 -2
View File
@@ -55,7 +55,7 @@
// Removes the spell buttons from the HUD.
/obj/item/technomancer_core/dropped(mob/user)
for(var/obj/screen/ability/obj_based/technomancer/A in wearer.ability_master.ability_objects)
for(var/atom/movable/screen/ability/obj_based/technomancer/A in wearer.ability_master.ability_objects)
wearer.ability_master.remove_ability(A)
wearer = null
..()
@@ -192,7 +192,7 @@
if(spell_to_remove in spells)
spells.Remove(spell_to_remove)
if(wearer)
var/obj/screen/ability/obj_based/technomancer/A = wearer.ability_master.get_ability_by_instance(spell_to_remove)
var/atom/movable/screen/ability/obj_based/technomancer/A = wearer.ability_master.get_ability_by_instance(spell_to_remove)
if(A)
wearer.ability_master.remove_ability(A)
qdel(spell_to_remove)
+3 -3
View File
@@ -149,7 +149,7 @@
user.mapobjs = list()
for(var/i=0; i<icount;i++)
var/obj/screen/H = new /obj/screen()
var/atom/movable/screen/H = new /atom/movable/screen()
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
@@ -275,7 +275,7 @@
user.mapobjs = list()
for(var/i=0; i<icount;i++)
var/obj/screen/H = new /obj/screen()
var/atom/movable/screen/H = new /atom/movable/screen()
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
@@ -328,7 +328,7 @@
/mob/proc/clearmap()
src.client.screen -= src.mapobjs
for(var/obj/screen/O in mapobjs)
for(var/atom/movable/screen/O in mapobjs)
qdel(O)
mapobjs = null
+9 -9
View File
@@ -609,8 +609,8 @@
mech_click = world.time
if(!istype(object, /atom)) return
if(istype(object, /obj/screen))
var/obj/screen/using = object
if(istype(object, /atom/movable/screen))
var/atom/movable/screen/using = object
if(using.screen_loc == ui_acti || using.screen_loc == ui_iarrowleft || using.screen_loc == ui_iarrowright)//ignore all HUD objects save 'intent' and its arrows
return ..()
else
@@ -2894,24 +2894,24 @@
if(0.75 to INFINITY)
occupant.clear_alert("charge")
if(0.5 to 0.75)
occupant.throw_alert("charge", /obj/screen/alert/lowcell, 1)
occupant.throw_alert("charge", /atom/movable/screen/alert/lowcell, 1)
if(0.25 to 0.5)
occupant.throw_alert("charge", /obj/screen/alert/lowcell, 2)
occupant.throw_alert("charge", /atom/movable/screen/alert/lowcell, 2)
if(0.01 to 0.25)
occupant.throw_alert("charge", /obj/screen/alert/lowcell, 3)
occupant.throw_alert("charge", /atom/movable/screen/alert/lowcell, 3)
else
occupant.throw_alert("charge", /obj/screen/alert/emptycell)
occupant.throw_alert("charge", /atom/movable/screen/alert/emptycell)
/obj/mecha/proc/update_damage_alerts()
if(occupant)
var/integrity = health/initial(health)*100
switch(integrity)
if(30 to 45)
occupant.throw_alert("mech damage", /obj/screen/alert/low_mech_integrity, 1)
occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 1)
if(15 to 35)
occupant.throw_alert("mech damage", /obj/screen/alert/low_mech_integrity, 2)
occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 2)
if(-INFINITY to 15)
occupant.throw_alert("mech damage", /obj/screen/alert/low_mech_integrity, 3)
occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 3)
else
occupant.clear_alert("mech damage")
+1 -1
View File
@@ -75,7 +75,7 @@
//VOREStation Add End
post_buckle_mob(M)
M.throw_alert("buckled", /obj/screen/alert/restrained/buckled, new_master = src)
M.throw_alert("buckled", /atom/movable/screen/alert/restrained/buckled, new_master = src)
return TRUE
/atom/movable/proc/unbuckle_mob(mob/living/buckled_mob, force = FALSE)
@@ -4,10 +4,10 @@
var/turf/last_camera_turf
// 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
// Proc: setup_tgui_camera()
// Parameters: None
@@ -24,7 +24,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"
@@ -328,7 +328,7 @@
var/mob/M = usr
if (!(src.loc == usr) || (src.loc && src.loc.loc == usr))
return
if(!istype(over_object, /obj/screen))
if(!istype(over_object, /atom/movable/screen))
return attack_self(M)
return
@@ -75,7 +75,7 @@
voice_mobs.Add(new_voice)
GLOB.listening_objects |= src
var/obj/screen/blackness = new() //Makes a black screen, so the candidate can't see what's going on before actually 'connecting' to the communicator.
var/atom/movable/screen/blackness = new() //Makes a black screen, so the candidate can't see what's going on before actually 'connecting' to the communicator.
blackness.screen_loc = ui_entire_screen
blackness.icon = 'icons/effects/effects.dmi'
blackness.icon_state = "1"
@@ -191,7 +191,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.
@@ -202,7 +202,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)
+6 -6
View File
@@ -1,18 +1,18 @@
/obj/screen/alert/leash_dom
/atom/movable/screen/alert/leash_dom
name = "Leash Holder"
desc = "You're holding a leash, with someone on the end."
icon_state = "leash_master"
/obj/screen/alert/leash_dom/Click()
/atom/movable/screen/alert/leash_dom/Click()
var/obj/item/leash/owner = master
owner.unleash()
/obj/screen/alert/leash_pet
/atom/movable/screen/alert/leash_pet
name = "Leashed"
desc = "You're on the hook now!"
icon_state = "leash_pet"
/obj/screen/alert/leash_dom/Click()
/atom/movable/screen/alert/leash_dom/Click()
var/obj/item/leash/owner = master
owner.struggle_leash()
@@ -85,12 +85,12 @@
leash_pet = C //Save pet reference for later
leash_pet.add_modifier(/datum/modifier/leash)
leash_pet.throw_alert("leashed", /obj/screen/alert/leash_pet, new_master = src) //Is the leasher
leash_pet.throw_alert("leashed", /atom/movable/screen/alert/leash_pet, new_master = src) //Is the leasher
RegisterSignal(leash_pet, COMSIG_MOVABLE_MOVED, PROC_REF(on_pet_move))
to_chat(leash_pet, span_userdanger("You have been leashed!"))
to_chat(leash_pet, span_danger("(You can use OOC escape to detach the leash)"))
leash_master = user //Save dom reference for later
leash_master.throw_alert("leash", /obj/screen/alert/leash_dom, new_master = src)//Has now been leashed
leash_master.throw_alert("leash", /atom/movable/screen/alert/leash_dom, new_master = src)//Has now been leashed
RegisterSignal(leash_master, COMSIG_MOVABLE_MOVED, PROC_REF(on_master_move))
START_PROCESSING(SSobj, src)
@@ -87,7 +87,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.
@@ -98,7 +98,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)
@@ -41,7 +41,7 @@
src.open(user)
return 0
if (!( istype(over_object, /obj/screen) ))
if (!( istype(over_object, /atom/movable/screen) ))
return 1
//makes sure master_item is equipped before putting it in hand, so that we can't drag it into our hand from miles away.
@@ -28,19 +28,19 @@
var/storage_slots = null //The number of storage slots in this container. If null, it uses the volume-based storage instead.
/// Boxes screen object for fixed-size storage (belts, etc)
var/obj/screen/storage/boxes = null
var/atom/movable/screen/storage/boxes = null
/// List of 'click catchers' for boxes for fixed-size storage
var/list/box_catchers = null
/// For dynamic storage, the leftmost pixel column for the whole storage display. Most of the interesting effects are hung on this in vis_contents.
var/obj/screen/storage/storage_start = null
var/atom/movable/screen/storage/storage_start = null
/// For dynamic storage, the majority of the width of the whole storage display. Decorative, but sized to the width appropriate to represent how much storage there is.
var/obj/screen/storage/storage_continue = null
var/atom/movable/screen/storage/storage_continue = null
/// For dynamic storage, the rightmost pixel column for the whole storage display. Decorative.
var/obj/screen/storage/storage_end = null
var/atom/movable/screen/storage/storage_end = null
/// The "X" button at the far right of the storage
var/obj/screen/close/closer = null
var/atom/movable/screen/close/closer = null
var/use_to_pickup //Set this to make it possible to use this item in an inverse way, so you can have the item in your hand and click items on the floor to pick them up.
var/display_contents_with_number //Set this to make the storage item group contents of the same type and display them as a number.
@@ -67,31 +67,31 @@
verbs -= /obj/item/storage/verb/toggle_gathering_mode
if(storage_slots)
src.boxes = new /obj/screen/storage( )
src.boxes = new /atom/movable/screen/storage( )
src.boxes.name = "storage"
src.boxes.master = src
src.boxes.icon_state = "block"
src.boxes.screen_loc = "7,7 to 10,8"
else
src.storage_start = new /obj/screen/storage( )
src.storage_start = new /atom/movable/screen/storage( )
src.storage_start.name = "storage"
src.storage_start.master = src
src.storage_start.icon_state = "storage_start"
src.storage_start.screen_loc = "7,7 to 10,8"
src.storage_continue = new /obj/screen/storage( )
src.storage_continue = new /atom/movable/screen/storage( )
src.storage_continue.name = "storage"
src.storage_continue.master = src
src.storage_continue.icon_state = "storage_continue"
src.storage_continue.screen_loc = "7,7 to 10,8"
src.storage_end = new /obj/screen/storage( )
src.storage_end = new /atom/movable/screen/storage( )
src.storage_end.name = "storage"
src.storage_end.master = src
src.storage_end.icon_state = "storage_end"
src.storage_end.screen_loc = "7,7 to 10,8"
src.closer = new /obj/screen/close( )
src.closer = new /atom/movable/screen/close( )
src.closer.master = src
src.closer.icon_state = "storage_close"
src.closer.hud_layerise()
@@ -136,7 +136,7 @@
src.open(usr)
return
if (!( istype(over_object, /obj/screen) ))
if (!( istype(over_object, /atom/movable/screen) ))
return ..()
//makes sure that the storage is equipped, so that we can't drag it into our hand from miles away.
@@ -147,7 +147,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)
+2 -2
View File
@@ -40,7 +40,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.
@@ -51,7 +51,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)
@@ -238,7 +238,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.
@@ -249,7 +249,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)
@@ -121,7 +121,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.
@@ -132,7 +132,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)
+1 -1
View File
@@ -2,9 +2,9 @@
layer = OBJ_LAYER
plane = OBJ_PLANE
vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of obj in openspace.
unacidable = FALSE //universal "unacidabliness" var, here so you can use it in any obj.
//Used to store information about the contents of the object.
var/w_class // Size of the object.
var/unacidable = FALSE //universal "unacidabliness" var, here so you can use it in any obj.
animate_movement = 2
var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
var/show_messages
@@ -349,7 +349,7 @@
return
/obj/structure/closet/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete
if(istype(O, /atom/movable/screen)) //fix for HUD elements making their way into the world -Pete
return
if(O.loc == user)
return
+1 -1
View File
@@ -213,7 +213,7 @@
var/area/A = T.loc
if((istype(A) && !(A.get_gravity())) || (istype(T,/turf/space)))
return
if(istype(O, /obj/screen))
if(istype(O, /atom/movable/screen))
return
if(user.restrained() || user.stat || user.stunned || user.paralysis || (!user.lying && !isrobot(user)) || LAZYLEN(user.grabbed_by))
return
+2 -2
View File
@@ -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//////////////
+2 -2
View File
@@ -157,7 +157,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_TERROR)
if(ishuman(target))
@@ -351,7 +351,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'
+1 -1
View File
@@ -102,7 +102,7 @@
preload_rsc = PRELOAD_RSC
var/global/obj/screen/click_catcher/void
var/global/atom/movable/screen/click_catcher/void
control_freak = 0 //CHOMPedit KSC 1/30/20 - This enables all clientside options for Players.
// List of all asset filenames sent to this client by the asset cache, along with their assoicated md5s
+5 -5
View File
@@ -55,7 +55,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",
@@ -196,14 +196,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
@@ -215,7 +215,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
@@ -236,7 +236,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
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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'
+1 -1
View File
@@ -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
+3 -3
View File
@@ -297,8 +297,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"
@@ -1039,7 +1039,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 = ""
+11 -11
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -1003,7 +1003,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))
+5 -5
View File
@@ -128,12 +128,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)
@@ -150,7 +150,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
+4 -4
View File
@@ -203,12 +203,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) ))
+2 -2
View File
@@ -305,7 +305,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 ..()
@@ -443,7 +443,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)
+59 -59
View File
@@ -568,7 +568,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")
@@ -648,19 +648,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
@@ -711,7 +711,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")
@@ -728,7 +728,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")
@@ -753,9 +753,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)
@@ -790,15 +790,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")
@@ -806,15 +806,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")
@@ -931,15 +931,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)
@@ -948,15 +948,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")
@@ -974,13 +974,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")
@@ -1016,13 +1016,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))
@@ -1043,7 +1043,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")
@@ -1390,19 +1390,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.
@@ -1487,7 +1487,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
@@ -1501,7 +1501,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")
@@ -1517,7 +1517,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")
@@ -1532,7 +1532,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")
@@ -1545,7 +1545,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")
@@ -1591,20 +1591,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)
@@ -1619,8 +1619,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")
@@ -1637,12 +1637,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)
@@ -146,7 +146,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
@@ -190,7 +190,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")
@@ -201,7 +201,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")
@@ -226,7 +226,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)
@@ -956,7 +956,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)
+8 -8
View File
@@ -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")
@@ -311,7 +311,7 @@
else
AdjustSleeping(-1)
//CHOMPEdit End
throw_alert("asleep", /obj/screen/alert/asleep)
throw_alert("asleep", /atom/movable/screen/alert/asleep)
else
clear_alert("asleep")
return sleeping
+5 -5
View File
@@ -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)
@@ -1286,7 +1286,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()
@@ -1432,7 +1432,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 `..()`.
@@ -1443,7 +1443,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))
@@ -1491,7 +1491,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"
+1 -1
View File
@@ -373,7 +373,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)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+17 -17
View File
@@ -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
+2 -2
View File
@@ -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
+39 -39
View File
@@ -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()
..()
+14 -14
View File
@@ -277,15 +277,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]"
@@ -293,12 +293,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)
@@ -308,7 +308,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")
@@ -321,15 +321,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()
@@ -44,12 +44,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
@@ -1184,7 +1184,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
+1 -1
View File
@@ -400,7 +400,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 ..()

Some files were not shown because too many files have changed in this diff Show More