mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-23 21:27:01 +01:00
[MIRROR] obj screen to atom movable screen (#11719)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
co-authored by
Kashargul
parent
fd68853af6
commit
303e88c0b2
+10
-25
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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!!!!
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,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,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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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//////////////
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
/datum/preferences/proc/jiggle_map()
|
||||
// Fix for weird byond bug, jiggles the map around a little
|
||||
var/obj/screen/setup_preview/pm_helper/PMH = LAZYACCESS(char_render_holders, "PMH")
|
||||
var/atom/movable/screen/setup_preview/pm_helper/PMH = LAZYACCESS(char_render_holders, "PMH")
|
||||
sleep(0.1 SECONDS)
|
||||
PMH.screen_loc = LAZYACCESS(preview_screen_locs, "PMHjiggle")
|
||||
sleep(0.1 SECONDS)
|
||||
|
||||
@@ -25,7 +25,7 @@ BLIND // can't see anything
|
||||
var/off_state = "degoggles"
|
||||
var/active = 1
|
||||
var/activation_sound = 'sound/items/goggles_charge.ogg'
|
||||
var/obj/screen/overlay = null
|
||||
var/atom/movable/screen/overlay = null
|
||||
var/list/away_planes //Holder for disabled planes
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
pickup_sound = 'sound/items/pickup/accessory.ogg'
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
|
||||
var/obj/machinery/computer/shuttle_control/web/shuttle_comp
|
||||
var/obj/screen/pilot_hud
|
||||
var/atom/movable/screen/pilot_hud
|
||||
var/list/images
|
||||
var/list/raw_images
|
||||
var/last_status
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
var/pinging = FALSE
|
||||
var/updating = FALSE
|
||||
var/global/icon/mask_icon
|
||||
var/obj/screen/mapper/extras_holder/extras_holder
|
||||
var/atom/movable/screen/mapper/extras_holder/extras_holder
|
||||
var/hud_frame_hint
|
||||
|
||||
var/datum/mini_hud/mapper/hud_datum
|
||||
var/obj/screen/movable/mapper_holder/hud_item
|
||||
var/atom/movable/screen/movable/mapper_holder/hud_item
|
||||
|
||||
var/obj/item/cell/cell
|
||||
var/cell_type = /obj/item/cell/device
|
||||
@@ -90,13 +90,13 @@
|
||||
|
||||
extras_holder = new()
|
||||
|
||||
var/obj/screen/mapper/marker/mark = new()
|
||||
var/atom/movable/screen/mapper/marker/mark = new()
|
||||
mark.icon = 'icons/effects/64x64.dmi'
|
||||
mark.icon_state = "mapper_none"
|
||||
mark.layer = 10
|
||||
icon_image_cache["bad"] = mark
|
||||
|
||||
var/obj/screen/mapper/map/tmp = new()
|
||||
var/atom/movable/screen/mapper/map/tmp = new()
|
||||
var/icon/canvas = icon(HOLOMAP_ICON, "blank")
|
||||
canvas.Crop(1,1,world.maxx,world.maxy)
|
||||
canvas.DrawBox("#A7BE97",1,1,world.maxx,world.maxy)
|
||||
@@ -235,7 +235,7 @@
|
||||
var/T_y = T.y
|
||||
var/T_z = T.z
|
||||
|
||||
var/obj/screen/mapper/map/bgmap
|
||||
var/atom/movable/screen/mapper/map/bgmap
|
||||
var/list/extras = list()
|
||||
|
||||
var/map_cache_key = "[T_z]"
|
||||
@@ -253,7 +253,7 @@
|
||||
map_app.color = map_color
|
||||
|
||||
if(!SSholomaps.holoMiniMaps[T_z])
|
||||
var/obj/screen/mapper/map/baddo = map_image_cache["bad"]
|
||||
var/atom/movable/screen/mapper/map/baddo = map_image_cache["bad"]
|
||||
map_app.icon = icon(baddo.icon)
|
||||
badmap = TRUE
|
||||
// SSholomaps did map it and we're allowed to see it
|
||||
@@ -272,7 +272,7 @@
|
||||
markerImage.pixel_y = holomarker.y+holomarker.offset_y
|
||||
map_app.add_overlay(markerImage)
|
||||
|
||||
var/obj/screen/mapper/map/tmp = new()
|
||||
var/atom/movable/screen/mapper/map/tmp = new()
|
||||
tmp.appearance = map_app
|
||||
map_image_cache[map_cache_key] = tmp
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
var/marker_cache_key = "\ref[HC]_[HC.marker_prefix]_[mob_indicator]"
|
||||
|
||||
if(!(marker_cache_key in icon_image_cache))
|
||||
var/obj/screen/mapper/marker/mark = new()
|
||||
var/atom/movable/screen/mapper/marker/mark = new()
|
||||
mark.icon_state = "[HC.marker_prefix][mob_indicator]"
|
||||
icon_image_cache[marker_cache_key] = mark
|
||||
switch(mob_indicator)
|
||||
@@ -339,7 +339,7 @@
|
||||
else
|
||||
mark.layer = 1
|
||||
|
||||
var/obj/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
var/atom/movable/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
handle_marker(mark,TU.x,TU.y)
|
||||
extras += mark
|
||||
|
||||
@@ -355,12 +355,12 @@
|
||||
|
||||
var/marker_cache_key = "\ref[HB]_marker"
|
||||
if(!(marker_cache_key in icon_image_cache))
|
||||
var/obj/screen/mapper/marker/mark = new()
|
||||
var/atom/movable/screen/mapper/marker/mark = new()
|
||||
mark.icon_state = "beacon"
|
||||
mark.layer = 1
|
||||
icon_image_cache[marker_cache_key] = mark
|
||||
|
||||
var/obj/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
var/atom/movable/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
|
||||
handle_marker(mark,TB.x,TB.y)
|
||||
extras += mark
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
if("crash")
|
||||
// intentional TGUI crash, amazingly awful
|
||||
if(issilicon(ui.user) && ui.user.client)
|
||||
ui.user.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, rand(4,10))
|
||||
ui.user.client.create_fake_ad_popup_multiple(/atom/movable/screen/popup/default, rand(4,10))
|
||||
if(!crash)
|
||||
crash = TRUE
|
||||
// crashes till it fixes itself
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) ))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -91,7 +91,7 @@ var/list/ai_verbs_default = list(
|
||||
// Multicam Vars
|
||||
var/multicam_allowed = TRUE
|
||||
var/multicam_on = FALSE
|
||||
var/obj/screen/movable/pic_in_pic/ai/master_multicam
|
||||
var/atom/movable/screen/movable/pic_in_pic/ai/master_multicam
|
||||
var/list/multicam_screens = list()
|
||||
var/list/all_eyes = list()
|
||||
var/max_multicams = 6
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
//Blind the AI
|
||||
update_icon()
|
||||
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
||||
overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
|
||||
src.sight = src.sight&~SEE_TURFS
|
||||
src.sight = src.sight&~SEE_MOBS
|
||||
src.sight = src.sight&~SEE_OBJS
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
//Picture in picture
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai
|
||||
/atom/movable/screen/movable/pic_in_pic/ai
|
||||
var/mob/living/silicon/ai/ai
|
||||
var/mutable_appearance/highlighted_background
|
||||
var/highlighted = FALSE
|
||||
var/mob/observer/eye/aiEye/pic_in_pic/aiEye
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/Initialize(mapload)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/Initialize(mapload)
|
||||
. = ..()
|
||||
aiEye = new /mob/observer/eye/aiEye/pic_in_pic()
|
||||
aiEye.screen = src
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/Destroy()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/Destroy()
|
||||
. = ..()
|
||||
if(!QDELETED(aiEye))
|
||||
QDEL_NULL(aiEye)
|
||||
@@ -19,12 +19,12 @@
|
||||
aiEye = null
|
||||
set_ai(null)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/Click()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/Click()
|
||||
..()
|
||||
if(ai)
|
||||
ai.select_main_multicam_window(src)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/make_backgrounds()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/make_backgrounds()
|
||||
..()
|
||||
highlighted_background = new /mutable_appearance()
|
||||
highlighted_background.icon = 'icons/hud/pic_in_pic.dmi'
|
||||
@@ -33,7 +33,7 @@
|
||||
highlighted_background.plane = PLATING_PLANE
|
||||
highlighted_background.appearance_flags = PIXEL_SCALE
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/add_background()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/add_background()
|
||||
if((width > 0) && (height > 0))
|
||||
var/matrix/M = matrix()
|
||||
M.Scale(width + 0.5, height + 0.5)
|
||||
@@ -42,7 +42,7 @@
|
||||
standard_background.transform = M
|
||||
add_overlay(highlighted ? highlighted_background : standard_background)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/set_view_size(width, height, do_refresh = TRUE)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/set_view_size(width, height, do_refresh = TRUE)
|
||||
if(!aiEye) // Exploit fix
|
||||
qdel(src)
|
||||
return
|
||||
@@ -51,35 +51,35 @@
|
||||
ai.camera_visibility(aiEye)
|
||||
..()
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/set_view_center(atom/target, do_refresh = TRUE)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/set_view_center(atom/target, do_refresh = TRUE)
|
||||
..()
|
||||
if(!aiEye) // Exploit Fix
|
||||
qdel(src)
|
||||
return
|
||||
aiEye.setLoc(get_turf(target))
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/refresh_view()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/refresh_view()
|
||||
..()
|
||||
if(!aiEye) // Exploit Fix
|
||||
qdel(src)
|
||||
return
|
||||
aiEye.setLoc(get_turf(center))
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/proc/highlight()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/proc/highlight()
|
||||
if(highlighted)
|
||||
return
|
||||
highlighted = TRUE
|
||||
cut_overlay(standard_background)
|
||||
add_overlay(highlighted_background)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/proc/unhighlight()
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/proc/unhighlight()
|
||||
if(!highlighted)
|
||||
return
|
||||
highlighted = FALSE
|
||||
cut_overlay(highlighted_background)
|
||||
add_overlay(standard_background)
|
||||
|
||||
/obj/screen/movable/pic_in_pic/ai/proc/set_ai(mob/living/silicon/ai/new_ai)
|
||||
/atom/movable/screen/movable/pic_in_pic/ai/proc/set_ai(mob/living/silicon/ai/new_ai)
|
||||
if(!aiEye && !QDELETED(src))
|
||||
if(new_ai)
|
||||
to_chat(new_ai, span_danger("<h2>You've run into a unfixable bug with AI eye code. \
|
||||
@@ -140,7 +140,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
|
||||
/mob/observer/eye/aiEye/pic_in_pic
|
||||
name = "Secondary AI Eye"
|
||||
var/obj/screen/movable/pic_in_pic/ai/screen
|
||||
var/atom/movable/screen/movable/pic_in_pic/ai/screen
|
||||
var/list/cameras_telegraphed = list()
|
||||
var/telegraph_cameras = TRUE
|
||||
var/telegraph_range = 7
|
||||
@@ -218,7 +218,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
if(!silent)
|
||||
to_chat(src, span_warning("Cannot place more than [max_multicams] multicamera windows."))
|
||||
return
|
||||
var/obj/screen/movable/pic_in_pic/ai/C = new /obj/screen/movable/pic_in_pic/ai()
|
||||
var/atom/movable/screen/movable/pic_in_pic/ai/C = new /atom/movable/screen/movable/pic_in_pic/ai()
|
||||
C.set_view_size(3, 3, FALSE)
|
||||
C.set_view_center(get_turf(eyeobj))
|
||||
C.set_ai(src)
|
||||
@@ -248,7 +248,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
/mob/living/silicon/ai/proc/refresh_multicam()
|
||||
reset_view(GLOB.ai_camera_room_landmark)
|
||||
if(client)
|
||||
for(var/obj/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
for(var/atom/movable/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
P.show_to(client)
|
||||
|
||||
/mob/living/silicon/ai/proc/end_multicam()
|
||||
@@ -257,13 +257,13 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
|
||||
multicam_on = FALSE
|
||||
select_main_multicam_window(null)
|
||||
if(client)
|
||||
for(var/obj/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
for(var/atom/movable/screen/movable/pic_in_pic/P as anything in multicam_screens)
|
||||
P.unshow_to(client)
|
||||
reset_view()
|
||||
to_chat(src, span_notice("Multiple-camera viewing mode deactivated."))
|
||||
|
||||
|
||||
/mob/living/silicon/ai/proc/select_main_multicam_window(obj/screen/movable/pic_in_pic/ai/P)
|
||||
/mob/living/silicon/ai/proc/select_main_multicam_window(atom/movable/screen/movable/pic_in_pic/ai/P)
|
||||
if(master_multicam == P)
|
||||
return
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
return laws.zeroth_law != null
|
||||
|
||||
/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg, notify = TRUE)
|
||||
throw_alert("newlaw", /obj/screen/alert/newlaw)
|
||||
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
|
||||
laws_sanity_check()
|
||||
laws.set_zeroth_law(law, law_borg)
|
||||
if(notify)
|
||||
@@ -77,7 +77,7 @@
|
||||
log_and_message_admins("cleared the supplied laws of [src]")
|
||||
|
||||
/mob/living/silicon/proc/notify_of_law_change(message)
|
||||
throw_alert("newlaw", /obj/screen/alert/newlaw)
|
||||
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
|
||||
if((last_law_notification + 1 SECOND) > world.time)
|
||||
return
|
||||
last_law_notification = world.time
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/mob/living/silicon/pai
|
||||
var/obj/screen/pai/pai_fold_display = null
|
||||
var/atom/movable/screen/pai/pai_fold_display = null
|
||||
|
||||
/obj/screen/pai
|
||||
/atom/movable/screen/pai
|
||||
icon = 'icons/mob/pai_hud.dmi'
|
||||
var/base_state
|
||||
|
||||
/obj/screen/pai/Click_vr(location, control, params)
|
||||
/atom/movable/screen/pai/Click_vr(location, control, params)
|
||||
if(!usr) return 1
|
||||
if(!ispAI(usr)) return 1
|
||||
var/mob/living/silicon/pai/p = usr
|
||||
@@ -72,7 +72,7 @@
|
||||
if("death alarm")
|
||||
p.death_alarm()
|
||||
|
||||
/obj/screen/pai/pai_fold_display
|
||||
/atom/movable/screen/pai/pai_fold_display
|
||||
name = "fold/unfold"
|
||||
icon = 'icons/mob/pai_hud.dmi'
|
||||
|
||||
@@ -97,11 +97,11 @@
|
||||
HUD.hotkeybuttons = hotkeybuttons
|
||||
HUD.hud_elements = hud_elements
|
||||
|
||||
var/obj/screen/pai/using
|
||||
var/atom/movable/screen/pai/using
|
||||
|
||||
//Small intent quarters
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_HELP
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_help-s"
|
||||
@@ -111,7 +111,7 @@
|
||||
HUD.adding += using
|
||||
HUD.help_intent = using
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_DISARM
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_disarm-n"
|
||||
@@ -121,7 +121,7 @@
|
||||
HUD.adding += using
|
||||
HUD.disarm_intent = using
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_GRAB
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_grab-n"
|
||||
@@ -131,7 +131,7 @@
|
||||
HUD.adding += using
|
||||
HUD.grab_intent = using
|
||||
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = I_HURT
|
||||
using.icon = ui_style
|
||||
using.icon_state = "intent_harm-n"
|
||||
@@ -142,7 +142,7 @@
|
||||
HUD.hurt_intent = using
|
||||
|
||||
//Move intent (walk/run)
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "mov_intent"
|
||||
using.icon = ui_style
|
||||
using.icon_state = (m_intent == I_RUN ? "running" : "walking")
|
||||
@@ -153,7 +153,7 @@
|
||||
HUD.move_intent = using
|
||||
|
||||
//Resist button
|
||||
using = new /obj/screen()
|
||||
using = new /atom/movable/screen()
|
||||
using.name = "resist"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "act_resist"
|
||||
@@ -163,7 +163,7 @@
|
||||
HUD.hotkeybuttons += using
|
||||
|
||||
//Pull button
|
||||
pullin = new /obj/screen()
|
||||
pullin = new /atom/movable/screen()
|
||||
pullin.icon = ui_style
|
||||
pullin.icon_state = "pull0"
|
||||
pullin.name = "pull"
|
||||
@@ -172,16 +172,16 @@
|
||||
HUD.hud_elements |= pullin
|
||||
|
||||
//Health status
|
||||
healths = new /obj/screen()
|
||||
healths = new /atom/movable/screen()
|
||||
healths.icon = ui_style
|
||||
healths.icon_state = "health0"
|
||||
healths.name = "health"
|
||||
healths.screen_loc = ui_health
|
||||
HUD.hud_elements |= healths
|
||||
|
||||
pain = new /obj/screen( null )
|
||||
pain = new /atom/movable/screen( null )
|
||||
|
||||
zone_sel = new /obj/screen/zone_sel( null )
|
||||
zone_sel = new /atom/movable/screen/zone_sel( null )
|
||||
zone_sel.icon = ui_style
|
||||
zone_sel.color = ui_color
|
||||
zone_sel.alpha = ui_alpha
|
||||
@@ -189,13 +189,13 @@
|
||||
zone_sel.update_icon()
|
||||
HUD.hud_elements |= zone_sel
|
||||
|
||||
pai_fold_display = new /obj/screen/pai/pai_fold_display()
|
||||
pai_fold_display = new /atom/movable/screen/pai/pai_fold_display()
|
||||
pai_fold_display.screen_loc = ui_health
|
||||
pai_fold_display.icon_state = "folded"
|
||||
HUD.hud_elements |= pai_fold_display
|
||||
|
||||
//Choose chassis button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "choose chassis"
|
||||
using.icon_state = "choose_chassis"
|
||||
using.screen_loc = ui_movi
|
||||
@@ -204,7 +204,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Software interface button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "software interface"
|
||||
using.icon_state = "software_interface"
|
||||
using.screen_loc = ui_acti
|
||||
@@ -213,7 +213,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Radio configuration button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "radio configuration"
|
||||
using.icon_state = "radio_configuration"
|
||||
using.screen_loc = ui_acti
|
||||
@@ -222,7 +222,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//PDA button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "pda"
|
||||
using.icon_state = "pda"
|
||||
using.screen_loc = ui_pai_comms
|
||||
@@ -231,7 +231,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Communicator button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "communicator"
|
||||
using.icon_state = "communicator"
|
||||
using.screen_loc = ui_pai_comms
|
||||
@@ -240,7 +240,7 @@
|
||||
hud_elements |= using
|
||||
|
||||
//Language button
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "known languages"
|
||||
using.icon_state = "language"
|
||||
using.screen_loc = ui_acti
|
||||
@@ -248,7 +248,7 @@
|
||||
using.alpha = ui_alpha
|
||||
hud_elements |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "software toggle"
|
||||
using.icon_state = "software"
|
||||
using.screen_loc = ui_inventory
|
||||
@@ -256,7 +256,7 @@
|
||||
using.alpha = ui_alpha
|
||||
hud_elements |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "directives"
|
||||
using.icon_state = "directives"
|
||||
using.screen_loc = "WEST:6,SOUTH:18"
|
||||
@@ -264,7 +264,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "crew manifest"
|
||||
using.icon_state = "manifest"
|
||||
using.screen_loc = "WEST:6,SOUTH+1:2"
|
||||
@@ -272,7 +272,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "medical records"
|
||||
using.base_state = "med_records"
|
||||
using.screen_loc = "WEST:6,SOUTH+1:18"
|
||||
@@ -280,7 +280,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "security records"
|
||||
using.base_state = "sec_records"
|
||||
using.screen_loc = "WEST:6,SOUTH+2:2"
|
||||
@@ -288,7 +288,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "atmosphere sensor"
|
||||
using.base_state = "atmos_sensor"
|
||||
using.screen_loc = "WEST:6,SOUTH+2:18"
|
||||
@@ -296,7 +296,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "remote signaler"
|
||||
using.base_state = "signaller"
|
||||
using.screen_loc = "WEST:6,SOUTH+3:2"
|
||||
@@ -304,7 +304,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "universal translator"
|
||||
using.base_state = "translator"
|
||||
using.screen_loc = "WEST:6,SOUTH+3:18"
|
||||
@@ -312,7 +312,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "door jack"
|
||||
using.base_state = "door_jack"
|
||||
using.screen_loc = "WEST:6,SOUTH+4:2"
|
||||
@@ -320,7 +320,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "ar hud"
|
||||
using.base_state = "ar_hud"
|
||||
using.screen_loc = "WEST:6,SOUTH+4:18"
|
||||
@@ -328,7 +328,7 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
using = new /obj/screen/pai()
|
||||
using = new /atom/movable/screen/pai()
|
||||
using.name = "death alarm"
|
||||
using.base_state = "death_alarm"
|
||||
using.screen_loc = "WEST:6,SOUTH+5:2"
|
||||
@@ -336,42 +336,42 @@
|
||||
using.alpha = ui_alpha
|
||||
other |= using
|
||||
|
||||
autowhisper_display = new /obj/screen()
|
||||
autowhisper_display = new /atom/movable/screen()
|
||||
autowhisper_display.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
autowhisper_display.icon_state = "autowhisper"
|
||||
autowhisper_display.name = "autowhisper"
|
||||
autowhisper_display.screen_loc = "EAST-1:28,CENTER-2:13"
|
||||
hud_elements |= autowhisper_display
|
||||
|
||||
var/obj/screen/aw = new /obj/screen()
|
||||
var/atom/movable/screen/aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "aw-select"
|
||||
aw.name = "autowhisper mode"
|
||||
aw.screen_loc = "EAST-1:28,CENTER-2:13"
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "lang"
|
||||
aw.name = "check known languages"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "pose"
|
||||
aw.name = "set pose"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "up"
|
||||
aw.name = "move upwards"
|
||||
aw.screen_loc = ui_under_health
|
||||
hud_elements |= aw
|
||||
|
||||
aw = new /obj/screen()
|
||||
aw = new /atom/movable/screen()
|
||||
aw.icon = 'icons/mob/screen/minimalist.dmi'
|
||||
aw.icon_state = "down"
|
||||
aw.name = "move downwards"
|
||||
|
||||
@@ -543,7 +543,7 @@
|
||||
soft_si = TRUE
|
||||
if(istype(soft,/datum/pai_software/deathalarm))
|
||||
soft_da = TRUE
|
||||
for(var/obj/screen/pai/button in hud_used.other)
|
||||
for(var/atom/movable/screen/pai/button in hud_used.other)
|
||||
if(button.name == "medical records")
|
||||
if(soft_mr)
|
||||
button.icon_state = "[button.base_state]"
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
add_language(LANGUAGE_SWARMBOT, 1)
|
||||
|
||||
for(var/spell in spell_setup)
|
||||
src.add_spell(new spell, "nano_spell_ready", /obj/screen/movable/spell_master/swarm)
|
||||
src.add_spell(new spell, "nano_spell_ready", /atom/movable/screen/movable/spell_master/swarm)
|
||||
|
||||
/mob/living/silicon/robot/drone/swarm/init()
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user