diff --git a/code/defines/hud.dm b/code/defines/hud.dm
new file mode 100644
index 00000000000..2a6c247e029
--- /dev/null
+++ b/code/defines/hud.dm
@@ -0,0 +1,149 @@
+//START retro hud
+#define ui_dropbutton "SOUTH-1,7"
+#define ui_swapbutton "SOUTH-1,7"
+#define ui_iclothing "SOUTH-1,2"
+#define ui_oclothing "SOUTH,2"
+#define ui_rhand "SOUTH,1"
+#define ui_lhand "SOUTH,3"
+#define ui_id "SOUTH-1,1"
+#define ui_mask "SOUTH+1,1"
+#define ui_back "SOUTH+1,3"
+#define ui_storage1 "SOUTH-1,4"
+#define ui_storage2 "SOUTH-1,5"
+#define ui_sstore1 "SOUTH+1,4"
+#define ui_hstore1 "SOUTH+1,5"
+#define ui_resist "EAST+1,SOUTH-1"
+#define ui_gloves "SOUTH,5"
+#define ui_glasses "SOUTH,7"
+#define ui_ears "SOUTH,6"
+#define ui_head "SOUTH+1,2"
+#define ui_shoes "SOUTH,4"
+#define ui_belt "SOUTH-1,3"
+#define ui_throw "SOUTH-1,8"
+#define ui_oxygen "EAST+1, NORTH-4"
+#define ui_pressure "EAST+1, NORTH-5"
+#define ui_toxin "EAST+1, NORTH-6"
+#define ui_internal "EAST+1, NORTH-2"
+#define ui_fire "EAST+1, NORTH-8"
+#define ui_temp "EAST+1, NORTH-10"
+#define ui_health "EAST+1, NORTH-11"
+#define ui_nutrition "EAST+1, NORTH-12"
+#define ui_pull "SOUTH-1,10"
+#define ui_hand "SOUTH-1,6"
+#define ui_sleep "EAST+1, NORTH-13"
+#define ui_rest "EAST+1, NORTH-14"
+
+#define ui_acti "SOUTH-1,12"
+#define ui_movi "SOUTH-1,14"
+
+#define ui_iarrowleft "SOUTH-1,11"
+#define ui_iarrowright "SOUTH-1,13"
+
+#define ui_inv1 "SOUTH-1,1"
+#define ui_inv2 "SOUTH-1,2"
+#define ui_inv3 "SOUTH-1,3"
+//END retro hud
+
+
+//START slim hud
+//Lower left, persistant menu
+#define new_ui_inventory "1:6,1:5"
+
+
+//Inventory close areas. When you pass your mouse over these areas they close the inventory.
+#define new_ui_invclosearea1 "1,1 to 1:6,5"
+#define new_ui_invclosearea2 "1,1 to 4,1:16"
+#define new_ui_invclosearea3 "4:16,1 to 5:16,5"
+#define new_ui_invclosearea4 "1,5:16 to 4,5:16"
+
+
+//Lower center, persistant menu
+#define new_ui_sstore1 "3:10,1:5"
+#define new_ui_id "4:12,1:5"
+#define new_ui_belt "5:14,1:5"
+#define new_ui_back "6:14,1:5"
+#define new_ui_rhand "7:16,1:5"
+#define new_ui_lhand "8:16,1:5"
+#define new_ui_equip "7:16,2:5"
+#define new_ui_swaphand1 "7:16,2:5"
+#define new_ui_swaphand2 "8:16,2:5"
+#define new_ui_storage1 "9:18,1:5"
+#define new_ui_storage2 "10:20,1:5"
+
+#define new_ui_alien_head "4:12,1:5" //aliens
+#define new_ui_alien_oclothing "5:14,1:5" //aliens
+
+#define new_ui_inv1 "6:16,1:5" //borgs
+#define new_ui_inv2 "7:16,1:5" //borgs
+#define new_ui_inv3 "8:16,1:5" //borgs
+#define new_ui_borg_store "9:14,1:5" //borgs
+
+#define new_ui_monkey_mask "5:14,1:5" //monkey
+#define new_ui_monkey_back "6:14,1:5" //monkey
+
+//Lower right, persistant menu
+#define new_ui_drop_throw "14:28,2:7"
+#define new_ui_pull_resist "13:26,2:7"
+#define new_ui_acti "13:26,1:5"
+#define new_ui_movi "12:24,1:5"
+#define new_ui_zonesel "14:28,1:5"
+
+#define new_ui_borg_pull "12:24,2:7"
+#define new_ui_borg_module "13:26,2:7"
+#define new_ui_borg_panel "14:28,2:7"
+
+//Upper-middle right (damage indicators)
+#define new_ui_toxin "14:28,13:27"
+#define new_ui_fire "14:28,12:25"
+#define new_ui_oxygen "14:28,11:23"
+#define new_ui_pressure "14:28,10:21"
+
+//Middle right (status indicators)
+#define new_ui_nutrition "14:28,5:11"
+#define new_ui_temp "14:28,6:13"
+#define new_ui_health "14:28,7:15"
+#define new_ui_internal "14:28,8:17"
+
+ //borgs
+#define new_ui_borg_health "14:28,6:13" //borgs have the health display where humans have the pressure damage indicator.
+#define new_ui_alien_health "14:28,6:13" //aliens have the health display where humans have the pressure damage indicator.
+
+
+//Pop-up inventory
+#define new_ui_shoes "2:8,1:5"
+
+#define new_ui_iclothing "1:6,2:7"
+#define new_ui_oclothing "2:8,2:7"
+#define new_ui_gloves "3:10,2:7"
+
+#define new_ui_glasses "1:6,3:9"
+#define new_ui_mask "2:8,3:9"
+#define new_ui_ears "3:10,3:9"
+
+#define new_ui_head "2:8,4:11"
+
+
+
+
+//Intent small buttons
+#define new_ui_help_small "12:8,1:1"
+#define new_ui_disarm_small "12:15,1:18"
+#define new_ui_grab_small "12:32,1:18"
+#define new_ui_harm_small "12:39,1:1"
+
+
+
+//#define new_ui_swapbutton "6:-16,1:5" //Unused
+
+
+//#define new_ui_headset "SOUTH,8"
+#define new_ui_hand "6:14,1:5"
+#define new_ui_hstore1 "5,5"
+//#define new_ui_resist "EAST+1,SOUTH-1"
+#define new_ui_sleep "EAST+1, NORTH-13"
+#define new_ui_rest "EAST+1, NORTH-14"
+
+
+#define new_ui_iarrowleft "SOUTH-1,11"
+#define new_ui_iarrowright "SOUTH-1,13"
+//END slim hud
\ No newline at end of file
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 5d894c02e5c..ad3b7c488e3 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -275,31 +275,6 @@
opacity = 0
density = 0
-/obj/hud
- name = "hud"
- unacidable = 1
- var/mob/mymob = null
- var/list/adding = null
- var/list/other = null
- var/list/intents = null
- var/list/mov_int = null
- var/list/mon_blo = null
- var/list/m_ints = null
- var/obj/screen/druggy = null
- var/vimpaired = null
- var/obj/screen/alien_view = null
- var/obj/screen/g_dither = null
- var/obj/screen/blurry = null
- var/list/darkMask = null
- var/obj/screen/r_hand_hud_object = null
- var/obj/screen/l_hand_hud_object = null
- var/list/obj/screen/intent_small_hud_objects = null
- var/show_intent_icons = 0
- var/list/obj/screen/hotkeybuttons = null
- var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons)
-
- var/h_type = /obj/screen //this is like...the most pointless thing ever. Use a god damn define!
-
/obj/item
name = "item"
icon = 'items.dmi'
diff --git a/code/game/hud.dm b/code/game/hud.dm
deleted file mode 100644
index a5adf04ed9f..00000000000
--- a/code/game/hud.dm
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-//Lower left, persistant menu
-#define ui_inventory "1:6,1:5"
-
-
-//Inventory close areas. When you pass your mouse over these areas they close the inventory.
-#define ui_invclosearea1 "1,1 to 1:6,5"
-#define ui_invclosearea2 "1,1 to 4,1:16"
-#define ui_invclosearea3 "4:16,1 to 5:16,5"
-#define ui_invclosearea4 "1,5:16 to 4,5:16"
-
-
-//Lower center, persistant menu
-#define ui_sstore1 "3:10,1:5"
-#define ui_id "4:12,1:5"
-#define ui_belt "5:14,1:5"
-#define ui_back "6:14,1:5"
-#define ui_rhand "7:16,1:5"
-#define ui_lhand "8:16,1:5"
-#define ui_equip "7:16,2:5"
-#define ui_swaphand1 "7:16,2:5"
-#define ui_swaphand2 "8:16,2:5"
-#define ui_storage1 "9:18,1:5"
-#define ui_storage2 "10:20,1:5"
-
-#define ui_alien_head "4:12,1:5" //aliens
-#define ui_alien_oclothing "5:14,1:5" //aliens
-
-#define ui_inv1 "6:16,1:5" //borgs
-#define ui_inv2 "7:16,1:5" //borgs
-#define ui_inv3 "8:16,1:5" //borgs
-#define ui_borg_store "9:14,1:5" //borgs
-
-#define ui_monkey_mask "5:14,1:5" //monkey
-#define ui_monkey_back "6:14,1:5" //monkey
-
-//Lower right, persistant menu
-#define ui_drop_throw "14:28,2:7"
-#define ui_pull_resist "13:26,2:7"
-#define ui_acti "13:26,1:5"
-#define ui_movi "12:24,1:5"
-#define ui_zonesel "14:28,1:5"
-
-#define ui_borg_pull "12:24,2:7"
-#define ui_borg_module "13:26,2:7"
-#define ui_borg_panel "14:28,2:7"
-
-//Upper-middle right (damage indicators)
-#define ui_toxin "14:28,13:27"
-#define ui_fire "14:28,12:25"
-#define ui_oxygen "14:28,11:23"
-#define ui_pressure "14:28,10:21"
-
-//Middle right (status indicators)
-#define ui_nutrition "14:28,5:11"
-#define ui_temp "14:28,6:13"
-#define ui_health "14:28,7:15"
-#define ui_internal "14:28,8:17"
-
- //borgs
-#define ui_borg_health "14:28,6:13" //borgs have the health display where humans have the pressure damage indicator.
-#define ui_alien_health "14:28,6:13" //aliens have the health display where humans have the pressure damage indicator.
-
-
-//Pop-up inventory
-#define ui_shoes "2:8,1:5"
-
-#define ui_iclothing "1:6,2:7"
-#define ui_oclothing "2:8,2:7"
-#define ui_gloves "3:10,2:7"
-
-#define ui_glasses "1:6,3:9"
-#define ui_mask "2:8,3:9"
-#define ui_ears "3:10,3:9"
-
-#define ui_head "2:8,4:11"
-
-
-
-
-//Intent small buttons
-#define ui_help_small "12:8,1:1"
-#define ui_disarm_small "12:15,1:18"
-#define ui_grab_small "12:32,1:18"
-#define ui_harm_small "12:39,1:1"
-
-
-
-//#define ui_swapbutton "6:-16,1:5" //Unused
-
-
-//#define ui_headset "SOUTH,8"
-#define ui_hand "6:14,1:5"
-#define ui_hstore1 "5,5"
-//#define ui_resist "EAST+1,SOUTH-1"
-#define ui_sleep "EAST+1, NORTH-13"
-#define ui_rest "EAST+1, NORTH-14"
-
-
-#define ui_iarrowleft "SOUTH-1,11"
-#define ui_iarrowright "SOUTH-1,13"
-
-
-
-
-obj/hud/New(var/type = 0)
- instantiate(type)
- ..()
- return
-
-
-/obj/hud/proc/other_update()
-
- if(!mymob) return
- if(show_otherinventory)
- if(mymob:shoes) mymob:shoes:screen_loc = ui_shoes
- if(mymob:gloves) mymob:gloves:screen_loc = ui_gloves
- if(mymob:ears) mymob:ears:screen_loc = ui_ears
- //if(mymob:s_store) mymob:s_store:screen_loc = ui_sstore1
- if(mymob:glasses) mymob:glasses:screen_loc = ui_glasses
- if(mymob:w_uniform) mymob:w_uniform:screen_loc = ui_iclothing
- if(mymob:wear_suit) mymob:wear_suit:screen_loc = ui_oclothing
- if(mymob:wear_mask) mymob:wear_mask:screen_loc = ui_mask
- if(mymob:head) mymob:head:screen_loc = ui_head
- else
- if(ishuman(mymob))
- if(mymob:shoes) mymob:shoes:screen_loc = null
- if(mymob:gloves) mymob:gloves:screen_loc = null
- if(mymob:ears) mymob:ears:screen_loc = null
- //if(mymob:s_store) mymob:s_store:screen_loc = null
- if(mymob:glasses) mymob:glasses:screen_loc = null
- if(mymob:w_uniform) mymob:w_uniform:screen_loc = null
- if(mymob:wear_suit) mymob:wear_suit:screen_loc = null
- if(mymob:wear_mask) mymob:wear_mask:screen_loc = null
- if(mymob:head) mymob:head:screen_loc = null
-
-
-/obj/hud/var/show_otherinventory = 1
-/obj/hud/var/obj/screen/action_intent
-/obj/hud/var/obj/screen/move_intent
-
-/obj/hud/proc/instantiate(var/type = 0)
-
- mymob = loc
- if(!istype(mymob, /mob)) return 0
-
- if(ishuman(mymob))
- human_hud(mymob.UI) // Pass the player the UI style chosen in preferences
-
- spawn()
- if((RADAR in mymob.augmentations) && mymob.radar_open)
- mymob:start_radar()
- else if(RADAR in mymob.augmentations)
- mymob:place_radar_closed()
-
- else if(ismonkey(mymob))
- monkey_hud(mymob.UI)
-
- else if(isbrain(mymob))
- brain_hud(mymob.UI)
-
- else if(islarva(mymob))
- larva_hud()
-
- else if(isalien(mymob))
- alien_hud()
-
- else if(isAI(mymob))
- ai_hud()
-
- else if(isrobot(mymob))
- robot_hud()
-
-// else if(ishivebot(mymob))
-// hivebot_hud()
-
-// else if(ishivemainframe(mymob))
-// hive_mainframe_hud()
-
- else if(isobserver(mymob))
- ghost_hud()
-
- return
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 81dbf1144c6..5870e8285bd 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -111,7 +111,7 @@
//Clonepod
//Start growing a human clone in the pod!
-/obj/machinery/clonepod/proc/growclone(mob/ghost as mob, var/clonename, var/ui, var/se, var/mindref, var/mrace, var/UI, var/datum/changeling/changelingClone)
+/obj/machinery/clonepod/proc/growclone(mob/ghost as mob, var/clonename, var/ui, var/se, var/mindref, var/mrace, var/UI, var/hud_type, var/datum/changeling/changelingClone)
if(((!ghost) || (!ghost.client)) || src.mess || src.attempting)
return 0
@@ -124,11 +124,12 @@
src.occupant = new /mob/living/carbon/human(src)
+ occupant:hud_type = hud_type
occupant:UI = UI // set interface preference
ghost.client.mob = src.occupant
- src.occupant.hud_used = new/obj/hud( src.occupant )
+ new/obj/hud(src.occupant,src.occupant.hud_type)
// probably redundant because previous line calls mob/Login() which does this line of code
// but until this is proven useless keep it for safety - Doohl
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index a3f852d2bea..a2451514b8f 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -372,7 +372,7 @@
//Can't clone without someone to clone. Or a pod. Or if the pod is busy. Or full of gibs.
if ((!selected) || (!src.pod1) || (src.pod1.occupant) || (src.pod1.mess) || !config.revival_cloning)
src.temp = "Unable to initiate cloning cycle." // most helpful error message in THE HISTORY OF THE WORLD
- else if (src.pod1.growclone(selected, C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["interface"],C.fields["changeling"]))
+ else if (src.pod1.growclone(selected, C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["interface"],C.fields["interfaceType"],C.fields["changeling"]))
src.temp = "Cloning cycle activated."
src.records.Remove(C)
del(C)
@@ -418,7 +418,7 @@
// Preferences stuff
R.fields["interface"] = subject.UI
-
+ R.fields["interfaceType"] = subject.hud_type
//Add an implant if needed
diff --git a/code/game/objects/secstorage/secstorage.dm b/code/game/objects/secstorage/secstorage.dm
index 86e204163d3..7c6e8c3f108 100644
--- a/code/game/objects/secstorage/secstorage.dm
+++ b/code/game/objects/secstorage/secstorage.dm
@@ -97,7 +97,20 @@
return
/obj/item/weapon/secstorage/proc/orient2hud(mob/user as mob)
- standard_orient_objs()
+ if(istype(user.hud_used,/obj/hud/slim))
+ standard_orient_objs()
+ if(istype(user.hud_used,/obj/hud/retro))
+ if (src == user.l_hand)
+ src.orient_objs(3, 11, 3, 4)
+ else
+ if (src == user.r_hand)
+ src.orient_objs(1, 11, 1, 4)
+ else
+ if (src == user.back)
+ src.orient_objs(4, 10, 4, 3)
+ else
+ src.orient_objs(7, 8, 10, 7)
+
return
/obj/item/weapon/secstorage/attackby(obj/item/weapon/W as obj, mob/user as mob)
diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm
index c09a8b45e61..40e02e1d3f8 100644
--- a/code/game/objects/storage/storage.dm
+++ b/code/game/objects/storage/storage.dm
@@ -66,7 +66,7 @@
/obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my)
var/cx = tx
var/cy = ty
- src.boxes.screen_loc = "[tx]:,[ty] to [mx],[my]"
+ src.boxes.screen_loc = "[tx],[ty] to [mx],[my]"
for(var/obj/O in src.contents)
O.screen_loc = "[cx],[cy]"
O.layer = 20
@@ -94,13 +94,36 @@
//This proc determins the size of the inventory to be displayed. Please touch it only if you know what you're doing.
/obj/item/weapon/storage/proc/orient2hud(mob/user as mob)
- //var/mob/living/carbon/human/H = user
+
+
var/row_num = 0
- var/col_count = min(7,storage_slots) -1
- if (contents.len > 7)
- row_num = round((contents.len-1) / 7) // 7 is the maximum allowed width.
- src.standard_orient_objs(row_num,col_count)
- return
+ var/col_num = 0
+
+ if(istype(user.hud_used,/obj/hud/slim))
+ col_num = min(7,storage_slots) -1
+ if (contents.len > 7)
+ row_num = round((contents.len-1) / 7) // 7 is the maximum allowed width.
+ src.standard_orient_objs(row_num,col_num)
+ return
+
+
+ if(istype(user.hud_used,/obj/hud/retro))
+ row_num = min(7,storage_slots) -1 //For belts, the meanings of the two variables are inverted, so we don't have to declare new ones
+ if (contents.len > 7)
+ col_num = round((contents.len-1) / 7) // 7 is the maximum allowed column height for r_hand, l_hand and back storage items.
+ if (src == user.l_hand)
+ src.orient_objs(3-col_num, 3+row_num, 3, 3)
+ else if(src == user.r_hand)
+ src.orient_objs(1, 3+row_num, 1+col_num, 3)
+ else if(src == user.back)
+ src.orient_objs(4-col_num, 3+row_num, 4, 3)
+ else if(ishuman(user) && src == user:belt)//only humans have belts
+ src.orient_objs(1, 3+col_num, 1+row_num, 3)
+ else
+ src.orient_objs(5, 10+col_num, 5 + row_num, 10)
+ return
+
+
//This proc is called when you want to place an item into the storage item.
/obj/item/weapon/storage/attackby(obj/item/W as obj, mob/user as mob)
@@ -189,6 +212,12 @@
return
/obj/item/weapon/storage/dropped(mob/user as mob)
+ if(istype(user.hud_used,/obj/hud/retro))
+ var/col_num = 0
+ var/row_count = min(7,storage_slots) -1
+ if (contents.len > 7)
+ col_num = round((contents.len-1) / 7) // 7 is the maximum allowed column height for r_hand, l_hand and back storage items.
+ src.orient_objs(5, 10+col_num, 5 + row_count, 10)
return
/obj/item/weapon/storage/MouseDrop(over_object, src_location, over_location)
@@ -243,7 +272,7 @@
src.closer.master = src
src.closer.icon_state = "x"
src.closer.layer = 20
- orient2hud()
+ //orient2hud()
return
/obj/item/weapon/storage/emp_act(severity)
diff --git a/code/modules/mob/hud.dm b/code/modules/mob/hud.dm
new file mode 100644
index 00000000000..698c878785a
--- /dev/null
+++ b/code/modules/mob/hud.dm
@@ -0,0 +1,37 @@
+/obj/hud
+ name = "hud"
+ unacidable = 1
+ var
+ mob/mymob = null
+ list/adding = null
+ list/other = null
+ list/intents = null
+ list/mov_int = null
+ list/mon_blo = null
+ list/m_ints = null
+ obj/screen/druggy = null
+ vimpaired = null
+ obj/screen/alien_view = null
+ obj/screen/g_dither = null
+ obj/screen/blurry = null
+ list/darkMask = null
+ show_otherinventory = 1
+ obj/screen/action_intent
+ obj/screen/move_intent
+
+ h_type = /obj/screen //this is like...the most pointless thing ever. Use a god damn define!
+
+ New(var/type = 0, var/style = "slim")
+ mymob = loc
+ if(!ismob(mymob)) return
+ if(style == "slim" || !ishuman(mymob))//Currently only humans can use the retro, other races only need a bit more work and for the type var to trans properly
+ mymob.hud_used = new /obj/hud/slim(type)
+ return
+ if(style == "retro")
+ mymob.hud_used = new /obj/hud/retro(type)
+ return
+ return
+
+ proc/other_update()
+ return
+
diff --git a/code/modules/mob/hud_retro.dm b/code/modules/mob/hud_retro.dm
new file mode 100644
index 00000000000..446f2490689
--- /dev/null
+++ b/code/modules/mob/hud_retro.dm
@@ -0,0 +1,56 @@
+/obj/hud/retro
+
+ New(var/type = 0)
+ instantiate(type)
+ //..()
+ return
+
+
+ other_update()
+
+ if(!mymob) return
+ if(show_otherinventory)
+ if(mymob:shoes) mymob:shoes:screen_loc = ui_shoes
+ if(mymob:gloves) mymob:gloves:screen_loc = ui_gloves
+ if(mymob:ears) mymob:ears:screen_loc = ui_ears
+ if(mymob:s_store) mymob:s_store:screen_loc = ui_sstore1
+ if(mymob:glasses) mymob:glasses:screen_loc = ui_glasses
+ else
+ if(ishuman(mymob))
+ if(mymob:shoes) mymob:shoes:screen_loc = null
+ if(mymob:gloves) mymob:gloves:screen_loc = null
+ if(mymob:ears) mymob:ears:screen_loc = null
+ if(mymob:s_store) mymob:s_store:screen_loc = null
+ if(mymob:glasses) mymob:glasses:screen_loc = null
+
+
+
+ proc/instantiate(var/type = 0)
+
+ mymob = loc
+ if(!istype(mymob, /mob)) return 0
+ if(ishuman(mymob))
+ human_hud(mymob.UI) // Pass the player the UI style chosen in preferences
+
+ else if(ismonkey(mymob))
+ monkey_hud(mymob.UI)
+
+ else if(isbrain(mymob))
+ brain_hud(mymob.UI)
+
+ else if(islarva(mymob))
+ larva_hud()
+
+ else if(isalien(mymob))
+ alien_hud()
+
+ else if(isAI(mymob))
+ ai_hud()
+
+ else if(isrobot(mymob))
+ robot_hud()
+
+ else if(isobserver(mymob))
+ ghost_hud()
+
+ return
\ No newline at end of file
diff --git a/code/modules/mob/hud_slim.dm b/code/modules/mob/hud_slim.dm
new file mode 100644
index 00000000000..95062ba4009
--- /dev/null
+++ b/code/modules/mob/hud_slim.dm
@@ -0,0 +1,82 @@
+/obj/hud/slim
+ var/obj/screen/r_hand_hud_object = null
+ var/obj/screen/l_hand_hud_object = null
+ var/list/obj/screen/intent_small_hud_objects = null
+ var/show_intent_icons = 0
+ var/list/obj/screen/hotkeybuttons = null
+ var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons)
+
+
+/obj/hud/slim/New(var/type = 0)
+ instantiate(type)
+ //..()
+ return
+
+
+/obj/hud/slim/other_update()
+
+ if(!mymob) return
+ if(show_otherinventory)
+ if(mymob:shoes) mymob:shoes:screen_loc = new_ui_shoes
+ if(mymob:gloves) mymob:gloves:screen_loc = new_ui_gloves
+ if(mymob:ears) mymob:ears:screen_loc = new_ui_ears
+ //if(mymob:s_store) mymob:s_store:screen_loc = new_ui_sstore1
+ if(mymob:glasses) mymob:glasses:screen_loc = new_ui_glasses
+ if(mymob:w_uniform) mymob:w_uniform:screen_loc = new_ui_iclothing
+ if(mymob:wear_suit) mymob:wear_suit:screen_loc = new_ui_oclothing
+ if(mymob:wear_mask) mymob:wear_mask:screen_loc = new_ui_mask
+ if(mymob:head) mymob:head:screen_loc = new_ui_head
+ else
+ if(ishuman(mymob))
+ if(mymob:shoes) mymob:shoes:screen_loc = null
+ if(mymob:gloves) mymob:gloves:screen_loc = null
+ if(mymob:ears) mymob:ears:screen_loc = null
+ //if(mymob:s_store) mymob:s_store:screen_loc = null
+ if(mymob:glasses) mymob:glasses:screen_loc = null
+ if(mymob:w_uniform) mymob:w_uniform:screen_loc = null
+ if(mymob:wear_suit) mymob:wear_suit:screen_loc = null
+ if(mymob:wear_mask) mymob:wear_mask:screen_loc = null
+ if(mymob:head) mymob:head:screen_loc = null
+
+/obj/hud/slim/proc/instantiate(var/type = 0)
+
+ mymob = loc
+ if(!istype(mymob, /mob)) return 0
+
+ if(ishuman(mymob))
+ human_hud(mymob.UI) // Pass the player the UI style chosen in preferences
+
+ spawn()
+ if((RADAR in mymob.augmentations) && mymob.radar_open)
+ mymob:start_radar()
+ else if(RADAR in mymob.augmentations)
+ mymob:place_radar_closed()
+
+ else if(ismonkey(mymob))
+ monkey_hud(mymob.UI)
+
+ else if(isbrain(mymob))
+ brain_hud(mymob.UI)
+
+ else if(islarva(mymob))
+ larva_hud()
+
+ else if(isalien(mymob))
+ alien_hud()
+
+ else if(isAI(mymob))
+ ai_hud()
+
+ else if(isrobot(mymob))
+ robot_hud()
+
+// else if(ishivebot(mymob))
+// hivebot_hud()
+
+// else if(ishivemainframe(mymob))
+// hive_mainframe_hud()
+
+ else if(isobserver(mymob))
+ ghost_hud()
+
+ return
diff --git a/code/modules/mob/living/carbon/alien/humanoid/hud.dm b/code/modules/mob/living/carbon/alien/humanoid/hud.dm
index 0a0a2d247b7..5e0b0f829ad 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/hud.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/hud.dm
@@ -1,4 +1,4 @@
-/obj/hud/proc/alien_hud()
+/obj/hud/slim/proc/alien_hud()
src.adding = list( )
src.other = list( )
@@ -45,7 +45,7 @@
using.dir = SOUTHWEST
using.icon = 'screen1_alien.dmi'
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
- using.screen_loc = ui_acti
+ using.screen_loc = new_ui_acti
using.layer = 20
src.adding += using
action_intent = using
@@ -55,7 +55,7 @@
using.name = "help"
using.icon = 'screen1_alien.dmi'
using.icon_state = "help_small"
- using.screen_loc = ui_help_small
+ using.screen_loc = new_ui_help_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -63,7 +63,7 @@
using.name = "disarm"
using.icon = 'screen1_alien.dmi'
using.icon_state = "disarm_small"
- using.screen_loc = ui_disarm_small
+ using.screen_loc = new_ui_disarm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -71,7 +71,7 @@
using.name = "grab"
using.icon = 'screen1_alien.dmi'
using.icon_state = "grab_small"
- using.screen_loc = ui_grab_small
+ using.screen_loc = new_ui_grab_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -79,7 +79,7 @@
using.name = "harm"
using.icon = 'screen1_alien.dmi'
using.icon_state = "harm_small"
- using.screen_loc = ui_harm_small
+ using.screen_loc = new_ui_harm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -90,7 +90,7 @@
using.dir = SOUTHWEST
using.icon = 'screen1_alien.dmi'
using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
- using.screen_loc = ui_movi
+ using.screen_loc = new_ui_movi
using.layer = 20
src.adding += using
move_intent = using
@@ -142,7 +142,7 @@
using.name = "drop"
using.icon = 'screen1_alien.dmi'
using.icon_state = "act_drop"
- using.screen_loc = ui_drop_throw
+ using.screen_loc = new_ui_drop_throw
using.layer = 19
src.adding += using
@@ -155,7 +155,7 @@
using.dir = SOUTH
using.icon = 'screen1_alien.dmi'
using.icon_state = "equip"
- using.screen_loc = ui_alien_oclothing
+ using.screen_loc = new_ui_alien_oclothing
using.layer = 19
src.adding += using
@@ -165,7 +165,7 @@
using.dir = WEST
using.icon = 'screen1_alien.dmi'
using.icon_state = "equip"
- using.screen_loc = ui_rhand
+ using.screen_loc = new_ui_rhand
using.layer = 19
src.adding += using
@@ -175,7 +175,7 @@
using.dir = EAST
using.icon = 'screen1_alien.dmi'
using.icon_state = "equip"
- using.screen_loc = ui_lhand
+ using.screen_loc = new_ui_lhand
using.layer = 19
src.adding += using
@@ -184,7 +184,7 @@
using.name = "storage1"
using.icon = 'screen1_alien.dmi'
using.icon_state = "pocket"
- using.screen_loc = ui_storage1
+ using.screen_loc = new_ui_storage1
using.layer = 19
src.adding += using
@@ -193,7 +193,7 @@
using.name = "storage2"
using.icon = 'screen1_alien.dmi'
using.icon_state = "pocket"
- using.screen_loc = ui_storage2
+ using.screen_loc = new_ui_storage2
using.layer = 19
src.adding += using
@@ -202,7 +202,7 @@
using.name = "head"
using.icon = 'screen1_alien.dmi'
using.icon_state = "hair"
- using.screen_loc = ui_alien_head
+ using.screen_loc = new_ui_alien_head
using.layer = 19
src.adding += using
//end of equippable shit
@@ -257,37 +257,37 @@
mymob.throw_icon.icon = 'screen1_alien.dmi'
mymob.throw_icon.icon_state = "act_throw_off"
mymob.throw_icon.name = "throw"
- mymob.throw_icon.screen_loc = ui_drop_throw
+ mymob.throw_icon.screen_loc = new_ui_drop_throw
mymob.oxygen = new /obj/screen( null )
mymob.oxygen.icon = 'screen1_alien.dmi'
mymob.oxygen.icon_state = "oxy0"
mymob.oxygen.name = "oxygen"
- mymob.oxygen.screen_loc = ui_oxygen
+ mymob.oxygen.screen_loc = new_ui_oxygen
mymob.toxin = new /obj/screen( null )
mymob.toxin.icon = 'screen1_alien.dmi'
mymob.toxin.icon_state = "tox0"
mymob.toxin.name = "toxin"
- mymob.toxin.screen_loc = ui_toxin
+ mymob.toxin.screen_loc = new_ui_toxin
mymob.fire = new /obj/screen( null )
mymob.fire.icon = 'screen1_alien.dmi'
mymob.fire.icon_state = "fire0"
mymob.fire.name = "fire"
- mymob.fire.screen_loc = ui_fire
+ mymob.fire.screen_loc = new_ui_fire
mymob.healths = new /obj/screen( null )
mymob.healths.icon = 'screen1_alien.dmi'
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_alien_health
+ mymob.healths.screen_loc = new_ui_alien_health
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = 'screen1_alien.dmi'
mymob.pullin.icon_state = "pull0"
mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_pull_resist
+ mymob.pullin.screen_loc = new_ui_pull_resist
mymob.blind = new /obj/screen( null )
mymob.blind.icon = 'screen1_alien.dmi'
@@ -334,3 +334,301 @@
mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.toxin, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach )
mymob.client.screen += src.adding + src.other
+
+
+
+
+
+/obj/hud/retro/proc/alien_hud()
+
+ src.adding = list( )
+ src.other = list( )
+ src.intents = list( )
+ src.mon_blo = list( )
+ src.m_ints = list( )
+ src.mov_int = list( )
+ src.vimpaired = list( )
+ src.darkMask = list( )
+
+ src.g_dither = new src.h_type( src )
+ src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.g_dither.name = "Mask"
+ src.g_dither.icon_state = "dither12g"
+ src.g_dither.layer = 18
+ src.g_dither.mouse_opacity = 0
+
+ src.alien_view = new src.h_type(src)
+ src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.alien_view.name = "Alien"
+ src.alien_view.icon_state = "alien"
+ src.alien_view.layer = 18
+ src.alien_view.mouse_opacity = 0
+
+ src.blurry = new src.h_type( src )
+ src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.blurry.name = "Blurry"
+ src.blurry.icon_state = "blurry"
+ src.blurry.layer = 17
+ src.blurry.mouse_opacity = 0
+
+ src.druggy = new src.h_type( src )
+ src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.druggy.name = "Druggy"
+ src.druggy.icon_state = "druggy"
+ src.druggy.layer = 17
+ src.druggy.mouse_opacity = 0
+
+ var/obj/screen/using
+
+ using = new src.h_type( src )
+ using.name = "act_intent"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
+ using.screen_loc = ui_acti
+ using.layer = 20
+ src.adding += using
+ action_intent = using
+
+ using = new src.h_type( src )
+ using.name = "mov_intent"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
+ using.screen_loc = ui_movi
+ using.layer = 20
+ src.adding += using
+ move_intent = using
+
+ using = new src.h_type(src) //Right hud bar
+ using.dir = SOUTH
+ using.icon = 'screen1_alien.dmi'
+ using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Lower hud bar
+ using.dir = EAST
+ using.icon = 'screen1_alien.dmi'
+ using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Corner Button
+ using.dir = NORTHWEST
+ using.icon = 'screen1_alien.dmi'
+ using.screen_loc = "EAST+1,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowleft"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "s_arrow"
+ using.dir = WEST
+ using.screen_loc = ui_iarrowleft
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowright"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "s_arrow"
+ using.dir = EAST
+ using.screen_loc = ui_iarrowright
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "drop"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "act_drop"
+ using.screen_loc = ui_dropbutton
+ using.layer = 19
+ src.adding += using
+
+
+
+//equippable shit
+ //suit
+ using = new src.h_type( src )
+ using.name = "o_clothing"
+ using.dir = SOUTH
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "equip"
+ using.screen_loc = ui_iclothing
+ using.layer = 19
+ src.adding += using
+
+ //r hand
+ using = new src.h_type( src )
+ using.name = "r_hand"
+ using.dir = WEST
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "equip"
+ using.screen_loc = ui_id
+ using.layer = 19
+ src.adding += using
+
+ //l hand
+ using = new src.h_type( src )
+ using.name = "l_hand"
+ using.dir = EAST
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "equip"
+ using.screen_loc = ui_belt
+ using.layer = 19
+ src.adding += using
+
+ //pocket 1
+ using = new src.h_type( src )
+ using.name = "storage1"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "pocket"
+ using.screen_loc = ui_storage1
+ using.layer = 19
+ src.adding += using
+
+ //pocket 2
+ using = new src.h_type( src )
+ using.name = "storage2"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "pocket"
+ using.screen_loc = ui_storage2
+ using.layer = 19
+ src.adding += using
+
+ //head
+ using = new src.h_type( src )
+ using.name = "head"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "hair"
+ using.screen_loc = ui_oclothing
+ using.layer = 19
+ src.adding += using
+//end of equippable shit
+
+ using = new src.h_type( src )
+ using.name = "resist"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "act_resist"
+ using.screen_loc = ui_resist
+ using.layer = 19
+ src.adding += using
+
+
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "1,1 to 5,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "5,1 to 10,5"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "6,11 to 10,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "11,1 to 15,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ mymob.throw_icon = new /obj/screen(null)
+ mymob.throw_icon.icon = 'screen1_alien.dmi'
+ mymob.throw_icon.icon_state = "act_throw_off"
+ mymob.throw_icon.name = "throw"
+ mymob.throw_icon.screen_loc = ui_throw
+
+ mymob.oxygen = new /obj/screen( null )
+ mymob.oxygen.icon = 'screen1_alien.dmi'
+ mymob.oxygen.icon_state = "oxy0"
+ mymob.oxygen.name = "oxygen"
+ mymob.oxygen.screen_loc = ui_oxygen
+
+ mymob.toxin = new /obj/screen( null )
+ mymob.toxin.icon = 'screen1_alien.dmi'
+ mymob.toxin.icon_state = "tox0"
+ mymob.toxin.name = "toxin"
+ mymob.toxin.screen_loc = ui_toxin
+
+ mymob.fire = new /obj/screen( null )
+ mymob.fire.icon = 'screen1_alien.dmi'
+ mymob.fire.icon_state = "fire0"
+ mymob.fire.name = "fire"
+ mymob.fire.screen_loc = ui_fire
+
+ mymob.healths = new /obj/screen( null )
+ mymob.healths.icon = 'screen1_alien.dmi'
+ mymob.healths.icon_state = "health0"
+ mymob.healths.name = "health"
+ mymob.healths.screen_loc = ui_health
+
+ mymob.pullin = new /obj/screen( null )
+ mymob.pullin.icon = 'screen1_alien.dmi'
+ mymob.pullin.icon_state = "pull0"
+ mymob.pullin.name = "pull"
+ mymob.pullin.screen_loc = ui_pull
+
+ mymob.blind = new /obj/screen( null )
+ mymob.blind.icon = 'screen1_alien.dmi'
+ mymob.blind.icon_state = "blackanimate"
+ mymob.blind.name = " "
+ mymob.blind.screen_loc = "1,1 to 15,15"
+ mymob.blind.layer = 0
+
+ mymob.flash = new /obj/screen( null )
+ mymob.flash.icon = 'screen1_alien.dmi'
+ mymob.flash.icon_state = "blank"
+ mymob.flash.name = "flash"
+ mymob.flash.screen_loc = "1,1 to 15,15"
+ mymob.flash.layer = 17
+
+ mymob.hands = new /obj/screen( null )
+ mymob.hands.icon = 'screen1_alien.dmi'
+ mymob.hands.icon_state = "hand"
+ mymob.hands.name = "hand"
+ mymob.hands.screen_loc = ui_hand
+ mymob.hands.dir = NORTH
+
+ mymob.sleep = new /obj/screen( null )
+ mymob.sleep.icon = 'screen1_alien.dmi'
+ mymob.sleep.icon_state = "sleep0"
+ mymob.sleep.name = "sleep"
+ mymob.sleep.screen_loc = ui_sleep
+
+ mymob.rest = new /obj/screen( null )
+ mymob.rest.icon = 'screen1_alien.dmi'
+ mymob.rest.icon_state = "rest0"
+ mymob.rest.name = "rest"
+ mymob.rest.screen_loc = ui_rest
+
+
+ mymob.zone_sel = new /obj/screen/zone_sel( null )
+ mymob.zone_sel.overlays = null
+ mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
+
+ mymob.client.screen = null
+
+ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.toxin, mymob.fire, mymob.hands, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach )
+ mymob.client.screen += src.adding + src.other
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 0bc302fc177..dbd7323daeb 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -398,7 +398,10 @@
overlays += image("icon" = 'blood.dmi', "icon_state" = "armorblood[!lying ? "" : "2"]", "layer" = B_SUIT_LAYER)
else
overlays += image("icon" = 'blood.dmi', "icon_state" = "suitblood[!lying ? "" : "2"]", "layer" = B_SUIT_LAYER)
- wear_suit.screen_loc = ui_alien_oclothing
+ if(istype(hud_used,/obj/hud/slim))
+ wear_suit.screen_loc = new_ui_alien_oclothing
+ if(istype(hud_used,/obj/hud/retro))
+ wear_suit.screen_loc = ui_iclothing
if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket))
if (handcuffed)
handcuffed.loc = loc
@@ -420,13 +423,22 @@
overlays += image("icon" = 'mob.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = HEAD_LAYER)
if (head.blood_DNA)
overlays += image("icon" = 'blood.dmi', "icon_state" = "helmetblood[!lying ? "" : "2"]", "layer" = B_HEAD_LAYER)
- head.screen_loc = ui_alien_head
+ if(istype(hud_used,/obj/hud/slim))
+ head.screen_loc = new_ui_alien_head
+ if(istype(hud_used,/obj/hud/retro))
+ head.screen_loc = ui_oclothing
if (l_store)
- l_store.screen_loc = ui_storage1
+ if(istype(hud_used,/obj/hud/retro))
+ l_store.screen_loc = ui_storage1
+ if(istype(hud_used,/obj/hud/slim))
+ l_store.screen_loc = new_ui_storage1
if (r_store)
- r_store.screen_loc = ui_storage2
+ if(istype(hud_used,/obj/hud/retro))
+ r_store.screen_loc = ui_storage2
+ if(istype(hud_used,/obj/hud/slim))
+ r_store.screen_loc = new_ui_storage2
if (client)
client.screen -= contents
@@ -434,13 +446,19 @@
if (r_hand)
overlays += image("icon" = 'items_righthand.dmi', "icon_state" = r_hand.item_state ? r_hand.item_state : r_hand.icon_state, "layer" = INHANDS_LAYER)
+ if(istype(hud_used,/obj/hud/slim))
+ r_hand.screen_loc = new_ui_rhand
+ if(istype(hud_used,/obj/hud/retro))
+ r_hand.screen_loc = ui_id
- r_hand.screen_loc = ui_rhand
if (l_hand)
overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = l_hand.item_state ? l_hand.item_state : l_hand.icon_state, "layer" = INHANDS_LAYER)
+ if(istype(hud_used,/obj/hud/slim))
+ l_hand.screen_loc = new_ui_lhand
+ if(istype(hud_used,/obj/hud/retro))
+ l_hand.screen_loc = ui_belt
- l_hand.screen_loc = ui_lhand
diff --git a/code/modules/mob/living/carbon/alien/larva/hud.dm b/code/modules/mob/living/carbon/alien/larva/hud.dm
index 6e16ea4d8d2..1f907b0f8ed 100644
--- a/code/modules/mob/living/carbon/alien/larva/hud.dm
+++ b/code/modules/mob/living/carbon/alien/larva/hud.dm
@@ -1,6 +1,6 @@
-/obj/hud/proc/larva_hud()
+/obj/hud/slim/proc/larva_hud()
src.adding = list( )
src.other = list( )
@@ -47,7 +47,7 @@
using.dir = SOUTHWEST
using.icon = 'screen1_alien.dmi'
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
- using.screen_loc = ui_acti
+ using.screen_loc = new_ui_acti
using.layer = 20
src.adding += using
action_intent = using
@@ -57,7 +57,7 @@
using.name = "help"
using.icon = 'screen1_alien.dmi'
using.icon_state = "help_small"
- using.screen_loc = ui_help_small
+ using.screen_loc = new_ui_help_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -65,7 +65,7 @@
using.name = "disarm"
using.icon = 'screen1_alien.dmi'
using.icon_state = "disarm_small"
- using.screen_loc = ui_disarm_small
+ using.screen_loc = new_ui_disarm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -73,7 +73,7 @@
using.name = "grab"
using.icon = 'screen1_alien.dmi'
using.icon_state = "grab_small"
- using.screen_loc = ui_grab_small
+ using.screen_loc = new_ui_grab_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -81,7 +81,7 @@
using.name = "harm"
using.icon = 'screen1_alien.dmi'
using.icon_state = "harm_small"
- using.screen_loc = ui_harm_small
+ using.screen_loc = new_ui_harm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -92,7 +92,7 @@
using.dir = SOUTHWEST
using.icon = 'screen1_alien.dmi'
using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
- using.screen_loc = ui_movi
+ using.screen_loc = new_ui_movi
using.layer = 20
src.adding += using
move_intent = using
@@ -189,33 +189,33 @@
mymob.oxygen.icon = 'screen1_alien.dmi'
mymob.oxygen.icon_state = "oxy0"
mymob.oxygen.name = "oxygen"
- mymob.oxygen.screen_loc = ui_oxygen
+ mymob.oxygen.screen_loc = new_ui_oxygen
mymob.toxin = new /obj/screen( null )
mymob.toxin.icon = 'screen1_alien.dmi'
mymob.toxin.icon_state = "tox0"
mymob.toxin.name = "toxin"
- mymob.toxin.screen_loc = ui_toxin
+ mymob.toxin.screen_loc = new_ui_toxin
mymob.fire = new /obj/screen( null )
mymob.fire.icon = 'screen1_alien.dmi'
mymob.fire.icon_state = "fire0"
mymob.fire.name = "fire"
- mymob.fire.screen_loc = ui_fire
+ mymob.fire.screen_loc = new_ui_fire
mymob.healths = new /obj/screen( null )
mymob.healths.icon = 'screen1_alien.dmi'
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_alien_health
+ mymob.healths.screen_loc = new_ui_alien_health
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = 'screen1_alien.dmi'
mymob.pullin.icon_state = "pull0"
mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_pull_resist
+ mymob.pullin.screen_loc = new_ui_pull_resist
mymob.blind = new /obj/screen( null )
mymob.blind.icon = 'screen1_alien.dmi'
@@ -256,3 +256,219 @@
+/obj/hud/retro/proc/larva_hud()
+
+ src.adding = list( )
+ src.other = list( )
+ src.intents = list( )
+ src.mon_blo = list( )
+ src.m_ints = list( )
+ src.mov_int = list( )
+ src.vimpaired = list( )
+ src.darkMask = list( )
+
+ src.g_dither = new src.h_type( src )
+ src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.g_dither.name = "Mask"
+ src.g_dither.icon_state = "dither12g"
+ src.g_dither.layer = 18
+ src.g_dither.mouse_opacity = 0
+
+ src.alien_view = new src.h_type(src)
+ src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.alien_view.name = "Alien"
+ src.alien_view.icon_state = "alien"
+ src.alien_view.layer = 18
+ src.alien_view.mouse_opacity = 0
+
+ src.blurry = new src.h_type( src )
+ src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.blurry.name = "Blurry"
+ src.blurry.icon_state = "blurry"
+ src.blurry.layer = 17
+ src.blurry.mouse_opacity = 0
+
+ src.druggy = new src.h_type( src )
+ src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.druggy.name = "Druggy"
+ src.druggy.icon_state = "druggy"
+ src.druggy.layer = 17
+ src.druggy.mouse_opacity = 0
+
+ var/obj/screen/using
+
+ using = new src.h_type( src )
+ using.name = "act_intent"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
+ using.screen_loc = ui_acti
+ using.layer = 20
+ src.adding += using
+ action_intent = using
+
+ using = new src.h_type( src )
+ using.name = "mov_intent"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
+ using.screen_loc = ui_movi
+ using.layer = 20
+ src.adding += using
+ move_intent = using
+
+ using = new src.h_type(src) //Right hud bar
+ using.dir = SOUTH
+ using.icon = 'screen1_alien.dmi'
+ using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Lower hud bar
+ using.dir = EAST
+ using.icon = 'screen1_alien.dmi'
+ using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Corner Button
+ using.dir = NORTHWEST
+ using.icon = 'screen1_alien.dmi'
+ using.screen_loc = "EAST+1,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowleft"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "s_arrow"
+ using.dir = WEST
+ using.screen_loc = ui_iarrowleft
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowright"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "s_arrow"
+ using.dir = EAST
+ using.screen_loc = ui_iarrowright
+ using.layer = 19
+ src.adding += using
+
+
+ using = new src.h_type( src )
+ using.name = "resist"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "act_resist"
+ using.screen_loc = ui_resist
+ using.layer = 19
+ src.adding += using
+
+
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "1,1 to 5,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "5,1 to 10,5"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "6,11 to 10,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "dither50"
+ using.screen_loc = "11,1 to 15,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ mymob.oxygen = new /obj/screen( null )
+ mymob.oxygen.icon = 'screen1_alien.dmi'
+ mymob.oxygen.icon_state = "oxy0"
+ mymob.oxygen.name = "oxygen"
+ mymob.oxygen.screen_loc = ui_oxygen
+
+ mymob.toxin = new /obj/screen( null )
+ mymob.toxin.icon = 'screen1_alien.dmi'
+ mymob.toxin.icon_state = "tox0"
+ mymob.toxin.name = "toxin"
+ mymob.toxin.screen_loc = ui_toxin
+
+
+ mymob.fire = new /obj/screen( null )
+ mymob.fire.icon = 'screen1_alien.dmi'
+ mymob.fire.icon_state = "fire0"
+ mymob.fire.name = "fire"
+ mymob.fire.screen_loc = ui_fire
+
+
+ mymob.healths = new /obj/screen( null )
+ mymob.healths.icon = 'screen1_alien.dmi'
+ mymob.healths.icon_state = "health0"
+ mymob.healths.name = "health"
+ mymob.healths.screen_loc = ui_health
+
+ mymob.pullin = new /obj/screen( null )
+ mymob.pullin.icon = 'screen1_alien.dmi'
+ mymob.pullin.icon_state = "pull0"
+ mymob.pullin.name = "pull"
+ mymob.pullin.screen_loc = ui_pull
+
+ mymob.blind = new /obj/screen( null )
+ mymob.blind.icon = 'screen1_alien.dmi'
+ mymob.blind.icon_state = "blackanimate"
+ mymob.blind.name = " "
+ mymob.blind.screen_loc = "1,1 to 15,15"
+ mymob.blind.layer = 0
+
+ mymob.flash = new /obj/screen( null )
+ mymob.flash.icon = 'screen1_alien.dmi'
+ mymob.flash.icon_state = "blank"
+ mymob.flash.name = "flash"
+ mymob.flash.screen_loc = "1,1 to 15,15"
+ mymob.flash.layer = 17
+
+
+ mymob.sleep = new /obj/screen( null )
+ mymob.sleep.icon = 'screen1_alien.dmi'
+ mymob.sleep.icon_state = "sleep0"
+ mymob.sleep.name = "sleep"
+ mymob.sleep.screen_loc = ui_sleep
+
+ mymob.rest = new /obj/screen( null )
+ mymob.rest.icon = 'screen1_alien.dmi'
+ mymob.rest.icon_state = "rest0"
+ mymob.rest.name = "rest"
+ mymob.rest.screen_loc = ui_rest
+
+
+ mymob.zone_sel = new /obj/screen/zone_sel( null )
+ mymob.zone_sel.overlays = null
+ mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
+
+ mymob.client.screen = null
+
+ mymob.client.screen += list( mymob.zone_sel, mymob.oxygen, mymob.toxin, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach )
+ mymob.client.screen += src.adding + src.other
+
diff --git a/code/modules/mob/living/carbon/brain/hud.dm b/code/modules/mob/living/carbon/brain/hud.dm
index f104f0d92b9..1db7d9e7055 100644
--- a/code/modules/mob/living/carbon/brain/hud.dm
+++ b/code/modules/mob/living/carbon/brain/hud.dm
@@ -1,7 +1,29 @@
-/obj/hud/proc/brain_hud(var/ui_style='screen1_old.dmi')
+/obj/hud/slim/proc/brain_hud(var/ui_style='screen1_old.dmi')
+ blurry = new h_type( src )
+ blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ blurry.name = "Blurry"
+ blurry.icon = ui_style
+ blurry.icon_state = "blurry"
+ blurry.layer = 17
+ blurry.mouse_opacity = 0
- //ui_style='screen1_old.dmi' //Overriding the parameter. Only this UI style is acceptable with the 'sleek' layout.
+ druggy = new h_type( src )
+ druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ druggy.name = "Druggy"
+ druggy.icon = ui_style
+ druggy.icon_state = "druggy"
+ druggy.layer = 17
+ druggy.mouse_opacity = 0
+ mymob.blind = new /obj/screen( null )
+ mymob.blind.icon = ui_style
+ mymob.blind.icon_state = "blackanimate"
+ mymob.blind.name = " "
+ mymob.blind.screen_loc = "1,1 to 15,15"
+ mymob.blind.layer = 0
+
+
+/obj/hud/retro/proc/brain_hud(var/ui_style='screen1_old.dmi')
blurry = new h_type( src )
blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
blurry.name = "Blurry"
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 8b6b7871659..f59263b0a84 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -148,17 +148,24 @@
usr << "Your other hand is too busy holding the [item_in_hand.name]"
return
src.hand = !( src.hand )
- if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object)
- if(hand) //This being 1 means the left hand is in use
- hud_used.l_hand_hud_object.icon_state = "hand_active"
- hud_used.r_hand_hud_object.icon_state = "hand_inactive"
+
+
+ if(istype(hud_used,/obj/hud/slim))
+ var/obj/hud/slim/hud = usr.hud_used
+ if(hud.l_hand_hud_object && hud.r_hand_hud_object)
+ if(hand) //This being 1 means the left hand is in use
+ hud.l_hand_hud_object.icon_state = "hand_active"
+ hud.r_hand_hud_object.icon_state = "hand_inactive"
+ else
+ hud.l_hand_hud_object.icon_state = "hand_inactive"
+ hud.r_hand_hud_object.icon_state = "hand_active"
+
+ if(istype(hud_used,/obj/hud/retro))
+ if (!( src.hand ))
+ src.hands.dir = NORTH
else
- hud_used.l_hand_hud_object.icon_state = "hand_inactive"
- hud_used.r_hand_hud_object.icon_state = "hand_active"
- /*if (!( src.hand ))
- src.hands.dir = NORTH
- else
- src.hands.dir = SOUTH*/
+ src.hands.dir = SOUTH
+
return
/mob/living/carbon/proc/activate_hand(var/selhand) //0 or "r" or "right" for right hand; 1 or "l" or "left" for left hand.
diff --git a/code/modules/mob/living/carbon/human/hud_radar.dm b/code/modules/mob/living/carbon/human/hud_radar.dm
new file mode 100644
index 00000000000..8a2cdbb0059
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/hud_radar.dm
@@ -0,0 +1,158 @@
+
+/*
+
+Radar-related things
+
+*/
+
+/mob/living/carbon/human/proc/close_radar()
+ radar_open = 0
+ for(var/obj/screen/x in client.screen)
+ if( (x.name == "radar" && x.icon == 'radar.dmi') || (x in radar_blips) )
+ client.screen -= x
+ del(x)
+
+ place_radar_closed()
+
+/mob/living/carbon/human/proc/place_radar_closed()
+ var/obj/screen/closedradar = new()
+ closedradar.icon = 'radar.dmi'
+ closedradar.icon_state = "radarclosed"
+ closedradar.screen_loc = "WEST,NORTH-1"
+ closedradar.name = "radar closed"
+ client.screen += closedradar
+
+/mob/living/carbon/human/proc/start_radar()
+
+ for(var/obj/screen/x in client.screen)
+ if(x.name == "radar closed" && x.icon == 'radar.dmi')
+ client.screen -= x
+ del(x)
+
+ var/obj/screen/cornerA = new()
+ cornerA.icon = 'radar.dmi'
+ cornerA.icon_state = "radar(1,1)"
+ cornerA.screen_loc = "WEST,NORTH-2"
+ cornerA.name = "radar"
+
+ var/obj/screen/cornerB = new()
+ cornerB.icon = 'radar.dmi'
+ cornerB.icon_state = "radar(2,1)"
+ cornerB.screen_loc = "WEST+1,NORTH-2"
+ cornerB.name = "radar"
+
+ var/obj/screen/cornerC = new()
+ cornerC.icon = 'radar.dmi'
+ cornerC.icon_state = "radar(1,2)"
+ cornerC.screen_loc = "WEST,NORTH-1"
+ cornerC.name = "radar"
+
+ var/obj/screen/cornerD = new()
+ cornerD.icon = 'radar.dmi'
+ cornerD.icon_state = "radar(2,2)"
+ cornerD.screen_loc = "WEST+1,NORTH-1"
+ cornerD.name = "radar"
+
+ client.screen += cornerA
+ client.screen += cornerB
+ client.screen += cornerC
+ client.screen += cornerD
+
+ radar_open = 1
+
+ while(radar_open && (RADAR in augmentations))
+ update_radar()
+ sleep(6)
+
+/mob/living/carbon/human/proc/update_radar()
+
+ if(!client) return
+ var/list/found_targets = list()
+
+ var/max_dist = 29 // 29 tiles is the max distance
+
+ // If the mob is inside a turf, set the center to the object they're in
+ var/atom/distance_ref = src
+ if(!isturf(src.loc))
+ distance_ref = loc
+
+ // Clear the radar_blips cache
+ for(var/x in radar_blips)
+ client.screen -= x
+ del(x)
+ radar_blips = list()
+
+ var/starting_px = 3
+ var/starting_py = 3
+
+ for(var/mob/living/M in orange(max_dist, distance_ref))
+ if(M.stat == 2) continue
+ found_targets.Add(M)
+
+ for(var/obj/effect/critter/C in orange(max_dist, distance_ref))
+ if(!C.alive) continue
+ found_targets.Add(C)
+
+ for(var/obj/mecha/M in orange(max_dist, distance_ref))
+ if(!M.occupant) continue
+ found_targets.Add(M)
+
+ for(var/obj/structure/closet/C in orange(max_dist, distance_ref))
+ for(var/mob/living/M in C.contents)
+ if(M.stat == 2) continue
+ found_targets.Add(M)
+
+ // Loop through all living mobs in a range.
+ for(var/atom/A in found_targets)
+
+ var/a_x = A.x
+ var/a_y = A.y
+
+ if(!isturf(A.loc))
+ a_x = A.loc.x
+ a_y = A.loc.y
+
+ var/blip_x = max_dist + (-( distance_ref.x-a_x ) ) + starting_px
+ var/blip_y = max_dist + (-( distance_ref.y-a_y ) ) + starting_py
+ var/obj/screen/blip = new()
+ blip.icon = 'radar.dmi'
+ blip.name = "Blip"
+ blip.layer = 21
+ blip.screen_loc = "WEST:[blip_x-1],NORTH-2:[blip_y-1]" // offset -1 because the center of the blip is not at the bottomleft corner (14)
+
+ if(istype(A, /mob/living))
+ var/mob/living/M = A
+ if(ishuman(M))
+ if(M:wear_id)
+ var/job = M:wear_id:GetJobName()
+ if(job == "Security Officer")
+ blip.icon_state = "secblip"
+ blip.name = "Security Officer"
+ else if(job == "Captain" || job == "Research Director" || job == "Chief Engineer" || job == "Chief Medical Officer" || job == "Head of Security" || job == "Head of Personnel")
+ blip.icon_state = "headblip"
+ blip.name = "Station Head"
+ else
+ blip.icon_state = "civblip"
+ blip.name = "Civilian"
+ else
+ blip.icon_state = "civblip"
+ blip.name = "Civilian"
+
+ else if(issilicon(M))
+ blip.icon_state = "roboblip"
+ blip.name = "Robotic Organism"
+
+ else
+ blip.icon_state = "unknownblip"
+ blip.name = "Unknown Organism"
+
+ else if(istype(A, /obj/effect/critter))
+ blip.icon_state = "unknownblip"
+ blip.name = "Unknown Organism"
+
+ else if(istype(A, /obj/mecha))
+ blip.icon_state = "roboblip"
+ blip.name = "Robotic Organism"
+
+ radar_blips.Add(blip)
+ client.screen += blip
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/hud_retro.dm b/code/modules/mob/living/carbon/human/hud_retro.dm
new file mode 100644
index 00000000000..194e0581ad2
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/hud_retro.dm
@@ -0,0 +1,520 @@
+
+/obj/hud/retro/proc/human_hud(var/ui_style='screen1_old.dmi')
+
+ //ui_style='screen1_old.dmi'
+
+ src.adding = list( )
+ src.other = list( )
+ src.intents = list( )
+ src.mon_blo = list( )
+ src.m_ints = list( )
+ src.mov_int = list( )
+ src.vimpaired = list( )
+ src.darkMask = list( )
+
+ src.g_dither = new src.h_type( src )
+ src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.g_dither.name = "Mask"
+ src.g_dither.icon = ui_style
+ src.g_dither.icon_state = "dither12g"
+ src.g_dither.layer = 18
+ src.g_dither.mouse_opacity = 0
+
+ src.alien_view = new src.h_type(src)
+ src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.alien_view.name = "Alien"
+ src.alien_view.icon = ui_style
+ src.alien_view.icon_state = "alien"
+ src.alien_view.layer = 18
+ src.alien_view.mouse_opacity = 0
+
+ src.blurry = new src.h_type( src )
+ src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.blurry.name = "Blurry"
+ src.blurry.icon = ui_style
+ src.blurry.icon_state = "blurry"
+ src.blurry.layer = 17
+ src.blurry.mouse_opacity = 0
+
+ src.druggy = new src.h_type( src )
+ src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.druggy.name = "Druggy"
+ src.druggy.icon = ui_style
+ src.druggy.icon_state = "druggy"
+ src.druggy.layer = 17
+ src.druggy.mouse_opacity = 0
+
+
+ var/obj/screen/using
+
+//Right hud bar
+ using = new src.h_type(src)
+ using.dir = SOUTH
+
+ using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
+ using.layer = 19
+ src.adding += using
+
+ //Lower hud bar
+ using = new src.h_type(src)
+ using.dir = EAST
+
+ using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+//Corner Button
+ using = new src.h_type(src)
+ using.dir = NORTHWEST
+
+ using.screen_loc = "EAST+1,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+
+
+//Intent
+ using = new src.h_type( src )
+ using.name = "act_intent"
+ using.dir = SOUTHWEST
+ mymob.a_intent = "help";
+ using.icon_state = "intent_help"
+ using.screen_loc = ui_acti
+ using.layer = 20
+ src.adding += using
+ action_intent = using
+
+//Intent arrows
+ using = new src.h_type( src )
+ using.name = "arrowleft"
+
+ using.icon_state = "s_arrow"
+ using.dir = WEST
+ using.screen_loc = ui_iarrowleft
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowright"
+
+ using.icon_state = "s_arrow"
+ using.dir = EAST
+ using.screen_loc = ui_iarrowright
+ using.layer = 19
+ src.adding += using
+
+
+
+//Movement
+ using = new src.h_type( src )
+ using.name = "mov_intent"
+ using.dir = SOUTHWEST
+ using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
+ using.screen_loc = ui_movi
+ using.layer = 20
+ src.adding += using
+ move_intent = using
+
+
+ using = new src.h_type( src )
+ using.name = "drop"
+ using.icon_state = "act_drop"
+ using.screen_loc = ui_dropbutton
+ using.layer = 19
+ src.adding += using
+
+
+//Storage Slots
+ using = new src.h_type( src )
+ using.name = "i_clothing"
+ using.dir = SOUTH
+
+ using.icon_state = "center"
+ using.screen_loc = ui_iclothing
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "o_clothing"
+ using.dir = SOUTH
+
+ using.icon_state = "equip"
+ using.screen_loc = ui_oclothing
+ using.layer = 19
+ src.adding += using
+
+
+ using = new src.h_type( src )
+ using.name = "r_hand"
+ using.dir = WEST
+
+ using.icon_state = "equip"
+ using.screen_loc = ui_rhand
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "l_hand"
+ using.dir = EAST
+
+ using.icon_state = "equip"
+ using.screen_loc = ui_lhand
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "id"
+ using.dir = SOUTHWEST
+
+ using.icon_state = "equip"
+ using.screen_loc = ui_id
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "mask"
+ using.dir = NORTH
+
+ using.icon_state = "equip"
+ using.screen_loc = ui_mask
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "back"
+ using.dir = NORTHEAST
+
+ using.icon_state = "equip"
+ using.screen_loc = ui_back
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "storage1"
+
+ using.icon_state = "pocket"
+ using.screen_loc = ui_storage1
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "storage2"
+
+ using.icon_state = "pocket"
+ using.screen_loc = ui_storage2
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "suit storage"
+
+ using.icon_state = "belt"
+ using.screen_loc = ui_sstore1
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "resist"
+
+ using.icon_state = "act_resist"
+ using.screen_loc = ui_resist
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "other"
+
+ using.icon_state = "other"
+ using.screen_loc = ui_shoes
+ using.layer = 20
+ src.adding += using
+
+
+ using = new src.h_type( src )
+ using.name = "gloves"
+
+ using.icon_state = "gloves"
+ using.screen_loc = ui_gloves
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "eyes"
+
+ using.icon_state = "glasses"
+ using.screen_loc = ui_glasses
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "ears"
+
+ using.icon_state = "ears"
+ using.screen_loc = ui_ears
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "head"
+ using.icon_state = "hair"
+ using.screen_loc = ui_head
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "shoes"
+
+ using.icon_state = "shoes"
+ using.screen_loc = ui_shoes
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "belt"
+
+ using.icon_state = "belt"
+ using.screen_loc = ui_belt
+ using.layer = 19
+ src.adding += using
+
+
+
+
+
+
+ mymob.throw_icon = new /obj/screen(null)
+ mymob.throw_icon.icon = ui_style
+ mymob.throw_icon.icon_state = "act_throw_off"
+ mymob.throw_icon.name = "throw"
+ mymob.throw_icon.screen_loc = ui_throw
+
+
+ mymob.oxygen = new /obj/screen( null )
+ mymob.oxygen.icon = ui_style
+ mymob.oxygen.icon_state = "oxy0"
+ mymob.oxygen.name = "oxygen"
+ mymob.oxygen.screen_loc = ui_oxygen
+
+ mymob.pressure = new /obj/screen( null )
+ mymob.pressure.icon = ui_style
+ mymob.pressure.icon_state = "pressure0"
+ mymob.pressure.name = "pressure"
+ mymob.pressure.screen_loc = ui_pressure
+
+
+/*
+ mymob.i_select = new /obj/screen( null )
+ mymob.i_select.icon_state = "selector"
+ mymob.i_select.name = "intent"
+ mymob.i_select.screen_loc = "16:-11,15"
+
+ mymob.m_select = new /obj/screen( null )
+ mymob.m_select.icon_state = "selector"
+ mymob.m_select.name = "moving"
+ mymob.m_select.screen_loc = "16:-11,14"
+*/
+
+ mymob.toxin = new /obj/screen( null )
+ mymob.toxin.icon = ui_style
+ mymob.toxin.icon_state = "tox0"
+ mymob.toxin.name = "toxin"
+ mymob.toxin.screen_loc = ui_toxin
+
+ mymob.internals = new /obj/screen( null )
+ mymob.internals.icon = ui_style
+ mymob.internals.icon_state = "internal0"
+ mymob.internals.name = "internal"
+ mymob.internals.screen_loc = ui_internal
+
+ mymob.fire = new /obj/screen( null )
+ mymob.fire.icon = ui_style
+ mymob.fire.icon_state = "fire0"
+ mymob.fire.name = "fire"
+ mymob.fire.screen_loc = ui_fire
+
+ mymob.bodytemp = new /obj/screen( null )
+ mymob.bodytemp.icon = ui_style
+ mymob.bodytemp.icon_state = "temp1"
+ mymob.bodytemp.name = "body temperature"
+ mymob.bodytemp.screen_loc = ui_temp
+
+ mymob.healths = new /obj/screen( null )
+ mymob.healths.icon = ui_style
+ mymob.healths.icon_state = "health0"
+ mymob.healths.name = "health"
+ mymob.healths.screen_loc = ui_health
+
+ mymob.nutrition_icon = new /obj/screen( null )
+ mymob.nutrition_icon.icon = ui_style
+ mymob.nutrition_icon.icon_state = "nutrition0"
+ mymob.nutrition_icon.name = "nutrition"
+ mymob.nutrition_icon.screen_loc = ui_nutrition
+
+ mymob.pullin = new /obj/screen( null )
+ mymob.pullin.icon = ui_style
+ mymob.pullin.icon_state = "pull0"
+ mymob.pullin.name = "pull"
+ mymob.pullin.screen_loc = ui_pull
+
+ mymob.blind = new /obj/screen( null )
+ mymob.blind.icon = ui_style
+ mymob.blind.icon_state = "blackanimate"
+ mymob.blind.name = " "
+ mymob.blind.screen_loc = "1,1 to 15,15"
+ mymob.blind.layer = 0
+
+ mymob.flash = new /obj/screen( null )
+ mymob.flash.icon = ui_style
+ mymob.flash.icon_state = "blank"
+ mymob.flash.name = "flash"
+ mymob.flash.screen_loc = "1,1 to 15,15"
+ mymob.flash.layer = 17
+
+
+
+ mymob.hands = new /obj/screen( null )
+ mymob.hands.icon = ui_style
+ mymob.hands.icon_state = "hand"
+ mymob.hands.name = "hand"
+ mymob.hands.screen_loc = ui_hand
+ mymob.hands.dir = NORTH
+
+ mymob.sleep = new /obj/screen( null )
+ mymob.sleep.icon = ui_style
+ mymob.sleep.icon_state = "sleep0"
+ mymob.sleep.name = "sleep"
+ mymob.sleep.screen_loc = ui_sleep
+
+ mymob.rest = new /obj/screen( null )
+ mymob.rest.icon = ui_style
+ mymob.rest.icon_state = "rest0"
+ mymob.rest.name = "rest"
+ mymob.rest.screen_loc = ui_rest
+
+
+
+ //Dither
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "1,1 to 5,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "5,1 to 10,5"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "6,11 to 10,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "11,1 to 15,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+ //End dither
+
+
+ //welding mask
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "3,3 to 5,13"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "5,3 to 10,5"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "6,11 to 10,13"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "dither50"
+ using.screen_loc = "11,3 to 13,13"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "black"
+ using.screen_loc = "1,1 to 15,2"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "black"
+ using.screen_loc = "1,3 to 2,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "black"
+ using.screen_loc = "14,3 to 15,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon_state = "black"
+ using.screen_loc = "3,14 to 13,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ //End welding
+
+
+
+
+
+
+ mymob.zone_sel = new /obj/screen/zone_sel( null )
+ mymob.zone_sel.overlays = null
+ mymob.zone_sel.screen_loc = "EAST+1,NORTH"
+ mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
+
+ mymob.client.screen = null
+
+ //, mymob.i_select, mymob.m_select
+ for(var/obj/H in adding)
+ H.icon = ui_style
+ for(var/obj/H in vimpaired)
+ H.icon = ui_style
+ for(var/obj/H in darkMask)
+ H.icon = ui_style
+ for(var/obj/H in other)
+ H.icon = ui_style
+
+ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.hands, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach )
+ mymob.client.screen += src.adding + src.other
diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud_slim.dm
similarity index 59%
rename from code/modules/mob/living/carbon/human/hud.dm
rename to code/modules/mob/living/carbon/human/hud_slim.dm
index ae59f71ddd6..8e0acaeb3e3 100644
--- a/code/modules/mob/living/carbon/human/hud.dm
+++ b/code/modules/mob/living/carbon/human/hud_slim.dm
@@ -1,6 +1,6 @@
-/obj/hud/proc/human_hud(var/ui_style='screen1_old.dmi')
+/obj/hud/slim/proc/human_hud(var/ui_style='screen1_old.dmi')
- //ui_style='screen1_old.dmi' //Overriding the parameter. Only this UI style is acceptable with the 'sleek' layout.
+// ui_style='screen1_old.dmi' //Overriding the parameter. Only this UI style is acceptable with the 'sleek' layout.
src.adding = list( )
src.other = list( )
@@ -52,17 +52,18 @@
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
- using.screen_loc = ui_acti
+ using.screen_loc = new_ui_acti
using.layer = 20
src.adding += using
action_intent = using
+
//intent small hud objects
using = new src.h_type( src )
using.name = "help"
using.icon = ui_style
using.icon_state = "help_small"
- using.screen_loc = ui_help_small
+ using.screen_loc = new_ui_help_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -70,7 +71,7 @@
using.name = "disarm"
using.icon = ui_style
using.icon_state = "disarm_small"
- using.screen_loc = ui_disarm_small
+ using.screen_loc = new_ui_disarm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -78,7 +79,7 @@
using.name = "grab"
using.icon = ui_style
using.icon_state = "grab_small"
- using.screen_loc = ui_grab_small
+ using.screen_loc = new_ui_grab_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -86,7 +87,7 @@
using.name = "harm"
using.icon = ui_style
using.icon_state = "harm_small"
- using.screen_loc = ui_harm_small
+ using.screen_loc = new_ui_harm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -97,269 +98,27 @@
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
- using.screen_loc = ui_movi
+ using.screen_loc = new_ui_movi
using.layer = 20
src.adding += using
move_intent = using
-/*
- using = new src.h_type(src) //Right hud bar
- using.dir = SOUTH
- using.icon = ui_style
- using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
- using.layer = 19
- src.adding += using
-
- using = new src.h_type(src) //Lower hud bar
- using.dir = EAST
- using.icon = ui_style
- using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
- using.layer = 19
- src.adding += using
-
- using = new src.h_type(src) //Corner Button
- using.dir = NORTHWEST
- using.icon = ui_style
- using.screen_loc = "EAST+1,SOUTH-1"
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "arrowleft"
- using.icon = ui_style
- using.icon_state = "s_arrow"
- using.dir = WEST
- using.screen_loc = ui_iarrowleft
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "arrowright"
- using.icon = ui_style
- using.icon_state = "s_arrow"
- using.dir = EAST
- using.screen_loc = ui_iarrowright
- using.layer = 19
- src.adding += using
-*/
-
- using = new src.h_type( src )
- using.name = "drop"
- using.icon = ui_style
- using.icon_state = "act_drop"
- using.screen_loc = ui_drop_throw
- using.layer = 19
- src.hotkeybuttons += using
-
- using = new src.h_type( src )
- using.name = "i_clothing"
- using.dir = SOUTH
- using.icon = ui_style
- using.icon_state = "center"
- using.screen_loc = ui_iclothing
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "o_clothing"
- using.dir = SOUTH
- using.icon = ui_style
- using.icon_state = "equip"
- using.screen_loc = ui_oclothing
- using.layer = 19
- src.other += using
-
-/* using = new src.h_type( src )
- using.name = "headset"
- using.dir = SOUTHEAST
- using.icon_state = "equip"
- using.screen_loc = ui_headset
- using.layer = 19
- if(istype(mymob,/mob/living/carbon/monkey)) using.overlays += blocked
- src.other += using*/
-
- using = new src.h_type( src )
- using.name = "r_hand"
- using.dir = WEST
- using.icon = ui_style
- using.icon_state = "hand_inactive"
- if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
- using.icon_state = "hand_active"
- using.screen_loc = ui_rhand
- using.layer = 19
- src.r_hand_hud_object = using
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "l_hand"
- using.dir = EAST
- using.icon = ui_style
- using.icon_state = "hand_inactive"
- if(mymob && mymob.hand) //This being 1 means the left hand is in use
- using.icon_state = "hand_active"
- using.screen_loc = ui_lhand
- using.layer = 19
- src.l_hand_hud_object = using
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "hand"
- using.dir = SOUTH
- using.icon = ui_style
- using.icon_state = "hand1"
- using.screen_loc = ui_swaphand1
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "hand"
- using.dir = SOUTH
- using.icon = ui_style
- using.icon_state = "hand2"
- using.screen_loc = ui_swaphand2
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "id"
- using.dir = NORTH
- using.icon = ui_style
- using.icon_state = "id"
- using.screen_loc = ui_id
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "mask"
- using.dir = NORTH
- using.icon = ui_style
- using.icon_state = "equip"
- using.screen_loc = ui_mask
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "back"
- using.dir = NORTH
- using.icon = ui_style
- using.icon_state = "back"
- using.screen_loc = ui_back
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "storage1"
- using.icon = ui_style
- using.icon_state = "pocket"
- using.screen_loc = ui_storage1
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "storage2"
- using.icon = ui_style
- using.icon_state = "pocket"
- using.screen_loc = ui_storage2
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "suit storage"
- using.icon = ui_style
- using.dir = 8 //The sprite at dir=8 has the background whereas the others don't.
- using.icon_state = "belt"
- using.screen_loc = ui_sstore1
- using.layer = 19
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "resist"
- using.icon = ui_style
- using.icon_state = "act_resist"
- using.screen_loc = ui_pull_resist
- using.layer = 19
- src.hotkeybuttons += using
-
- using = new src.h_type( src )
- using.name = "other"
- using.icon = ui_style
- using.icon_state = "other"
- using.screen_loc = ui_inventory
- using.layer = 20
- src.adding += using
-
- using = new src.h_type( src )
- using.name = "equip"
- using.icon = ui_style
- using.icon_state = "act_equip"
- using.screen_loc = ui_equip
- using.layer = 20
- src.adding += using
/*
- using = new src.h_type( src )
- using.name = "intent"
- using.icon_state = "intent"
- using.screen_loc = "15,15"
- using.layer = 20
- src.adding += using
+ using = new src.h_type( src )
+ using.name = "intent"
+ using.icon_state = "intent"
+ using.screen_loc = "15,15"
+ using.layer = 20
+ src.adding += using
- using = new src.h_type( src )
- using.name = "m_intent"
- using.icon_state = "move"
- using.screen_loc = "15,14"
- using.layer = 20
- src.adding += using
+ using = new src.h_type( src )
+ using.name = "m_intent"
+ using.icon_state = "move"
+ using.screen_loc = "15,14"
+ using.layer = 20
+ src.adding += using
*/
-
- using = new src.h_type( src )
- using.name = "gloves"
- using.icon = ui_style
- using.icon_state = "gloves"
- using.screen_loc = ui_gloves
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "eyes"
- using.icon = ui_style
- using.icon_state = "glasses"
- using.screen_loc = ui_glasses
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "ears"
- using.icon = ui_style
- using.icon_state = "ears"
- using.screen_loc = ui_ears
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "head"
- using.icon = ui_style
- using.icon_state = "hair"
- using.screen_loc = ui_head
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "shoes"
- using.icon = ui_style
- using.icon_state = "shoes"
- using.screen_loc = ui_shoes
- using.layer = 19
- src.other += using
-
- using = new src.h_type( src )
- using.name = "belt"
- using.icon = ui_style
- using.icon_state = "belt"
- using.screen_loc = ui_belt
- using.layer = 19
- src.adding += using
-
/*
using = new src.h_type( src )
using.name = "grab"
@@ -413,6 +172,211 @@
src.mov_int += using
*/
+
+ using = new src.h_type( src )
+ using.name = "drop"
+ using.icon = ui_style
+ using.icon_state = "act_drop"
+ using.screen_loc = new_ui_drop_throw
+ using.layer = 19
+ src.hotkeybuttons += using
+
+ using = new src.h_type( src )
+ using.name = "i_clothing"
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.icon_state = "center"
+ using.screen_loc = new_ui_iclothing
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "o_clothing"
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = new_ui_oclothing
+ using.layer = 19
+ src.other += using
+
+/* using = new src.h_type( src )
+ using.name = "headset"
+ using.dir = SOUTHEAST
+ using.icon_state = "equip"
+ using.screen_loc = ui_headset
+ using.layer = 19
+ src.other += using*/
+
+ using = new src.h_type( src )
+ using.name = "r_hand"
+ using.dir = WEST
+ using.icon = ui_style
+ using.icon_state = "hand_inactive"
+ if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
+ using.icon_state = "hand_active"
+ using.screen_loc = new_ui_rhand
+ using.layer = 19
+ src.r_hand_hud_object = using
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "l_hand"
+ using.dir = EAST
+ using.icon = ui_style
+ using.icon_state = "hand_inactive"
+ if(mymob && mymob.hand) //This being 1 means the left hand is in use
+ using.icon_state = "hand_active"
+ using.screen_loc = new_ui_lhand
+ using.layer = 19
+ src.l_hand_hud_object = using
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "hand"
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.icon_state = "hand1"
+ using.screen_loc = new_ui_swaphand1
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "hand"
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.icon_state = "hand2"
+ using.screen_loc = new_ui_swaphand2
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "id"
+ using.dir = NORTH
+ using.icon = ui_style
+ using.icon_state = "id"
+ using.screen_loc = new_ui_id
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "mask"
+ using.dir = NORTH
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = new_ui_mask
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "back"
+ using.dir = NORTH
+ using.icon = ui_style
+ using.icon_state = "back"
+ using.screen_loc = new_ui_back
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "storage1"
+ using.icon = ui_style
+ using.icon_state = "pocket"
+ using.screen_loc = new_ui_storage1
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "storage2"
+ using.icon = ui_style
+ using.icon_state = "pocket"
+ using.screen_loc = new_ui_storage2
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "suit storage"
+ using.icon = ui_style
+ using.dir = 8 //The sprite at dir=8 has the background whereas the others don't.
+ using.icon_state = "belt"
+ using.screen_loc = new_ui_sstore1
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "resist"
+ using.icon = ui_style
+ using.icon_state = "act_resist"
+ using.screen_loc = new_ui_pull_resist
+ using.layer = 19
+ src.hotkeybuttons += using
+
+ using = new src.h_type( src )
+ using.name = "other"
+ using.icon = ui_style
+ using.icon_state = "other"
+ using.screen_loc = new_ui_inventory
+ using.layer = 20
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "equip"
+ using.icon = ui_style
+ using.icon_state = "act_equip"
+ using.screen_loc = new_ui_equip
+ using.layer = 20
+ src.adding += using
+
+
+
+ using = new src.h_type( src )
+ using.name = "gloves"
+ using.icon = ui_style
+ using.icon_state = "gloves"
+ using.screen_loc = new_ui_gloves
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "eyes"
+ using.icon = ui_style
+ using.icon_state = "glasses"
+ using.screen_loc = new_ui_glasses
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "ears"
+ using.icon = ui_style
+ using.icon_state = "ears"
+ using.screen_loc = new_ui_ears
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "head"
+ using.icon = ui_style
+ using.icon_state = "hair"
+ using.screen_loc = new_ui_head
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "shoes"
+ using.icon = ui_style
+ using.icon_state = "shoes"
+ using.screen_loc = new_ui_shoes
+ using.layer = 19
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "belt"
+ using.icon = ui_style
+ using.icon_state = "belt"
+ using.screen_loc = new_ui_belt
+ using.layer = 19
+ src.adding += using
+
+
+
using = new src.h_type( src )
using.name = null
using.icon = ui_style
@@ -518,20 +482,20 @@
mymob.throw_icon.icon = ui_style
mymob.throw_icon.icon_state = "act_throw_off"
mymob.throw_icon.name = "throw"
- mymob.throw_icon.screen_loc = ui_drop_throw
+ mymob.throw_icon.screen_loc = new_ui_drop_throw
src.hotkeybuttons += mymob.throw_icon
mymob.oxygen = new /obj/screen( null )
mymob.oxygen.icon = ui_style
mymob.oxygen.icon_state = "oxy0"
mymob.oxygen.name = "oxygen"
- mymob.oxygen.screen_loc = ui_oxygen
+ mymob.oxygen.screen_loc = new_ui_oxygen
mymob.pressure = new /obj/screen( null )
mymob.pressure.icon = ui_style
mymob.pressure.icon_state = "pressure0"
mymob.pressure.name = "pressure"
- mymob.pressure.screen_loc = ui_pressure
+ mymob.pressure.screen_loc = new_ui_pressure
/*
@@ -550,43 +514,43 @@
mymob.toxin.icon = ui_style
mymob.toxin.icon_state = "tox0"
mymob.toxin.name = "toxin"
- mymob.toxin.screen_loc = ui_toxin
+ mymob.toxin.screen_loc = new_ui_toxin
mymob.internals = new /obj/screen( null )
mymob.internals.icon = ui_style
mymob.internals.icon_state = "internal0"
mymob.internals.name = "internal"
- mymob.internals.screen_loc = ui_internal
+ mymob.internals.screen_loc = new_ui_internal
mymob.fire = new /obj/screen( null )
mymob.fire.icon = ui_style
mymob.fire.icon_state = "fire0"
mymob.fire.name = "fire"
- mymob.fire.screen_loc = ui_fire
+ mymob.fire.screen_loc = new_ui_fire
mymob.bodytemp = new /obj/screen( null )
mymob.bodytemp.icon = ui_style
mymob.bodytemp.icon_state = "temp1"
mymob.bodytemp.name = "body temperature"
- mymob.bodytemp.screen_loc = ui_temp
+ mymob.bodytemp.screen_loc = new_ui_temp
mymob.healths = new /obj/screen( null )
mymob.healths.icon = ui_style
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
+ mymob.healths.screen_loc = new_ui_health
mymob.nutrition_icon = new /obj/screen( null )
mymob.nutrition_icon.icon = ui_style
mymob.nutrition_icon.icon_state = "nutrition0"
mymob.nutrition_icon.name = "nutrition"
- mymob.nutrition_icon.screen_loc = ui_nutrition
+ mymob.nutrition_icon.screen_loc = new_ui_nutrition
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = ui_style
mymob.pullin.icon_state = "pull0"
mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_pull_resist
+ mymob.pullin.screen_loc = new_ui_pull_resist
src.hotkeybuttons += mymob.pullin
mymob.blind = new /obj/screen( null )
@@ -624,93 +588,6 @@
mymob.rest.screen_loc = ui_rest
*/
- /*/Monkey blockers
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_ears
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_belt
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_shoes
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_storage2
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_glasses
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_gloves
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_storage1
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_headset
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_oclothing
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_iclothing
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_id
- using.layer = 20
- src.mon_blo += using
-
- using = new src.h_type( src )
- using.name = "blocked"
- using.icon_state = "blocked"
- using.screen_loc = ui_head
- using.layer = 20
- src.mon_blo += using
-//Monkey blockers
-*/
mymob.zone_sel = new /obj/screen/zone_sel( null )
mymob.zone_sel.overlays = null
@@ -723,8 +600,6 @@
mymob.client.screen += src.adding + src.hotkeybuttons
show_otherinventory = 0;
- //if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo
-
return
/*
@@ -762,173 +637,13 @@
/mob/living/carbon/human/verb/toggle_hotkey_verbs()
set category = "OOC"
set name = "Toggle hotkey buttons"
- set desc = "This disables or enables the user interface buttons which can be used with hotkeys."
+ set desc = "This disables or enables the user interface buttons which can be used with hotkeys. Only works with the slim hudtype"
- if(hud_used.hotkey_ui_hidden)
- client.screen += src.hud_used.hotkeybuttons
- src.hud_used.hotkey_ui_hidden = 0
+ if(!istype(usr.hud_used,/obj/hud/slim)) return
+ var/obj/hud/slim/hud = usr.hud_used
+ if(hud.hotkey_ui_hidden)
+ client.screen += hud.hotkeybuttons
+ hud.hotkey_ui_hidden = 0
else
- client.screen -= src.hud_used.hotkeybuttons
- src.hud_used.hotkey_ui_hidden = 1
-
-
-
-/*
-
-Radar-related things
-
-*/
-
-/mob/living/carbon/human/proc/close_radar()
- radar_open = 0
- for(var/obj/screen/x in client.screen)
- if( (x.name == "radar" && x.icon == 'radar.dmi') || (x in radar_blips) )
- client.screen -= x
- del(x)
-
- place_radar_closed()
-
-/mob/living/carbon/human/proc/place_radar_closed()
- var/obj/screen/closedradar = new()
- closedradar.icon = 'radar.dmi'
- closedradar.icon_state = "radarclosed"
- closedradar.screen_loc = "WEST,NORTH-1"
- closedradar.name = "radar closed"
- client.screen += closedradar
-
-/mob/living/carbon/human/proc/start_radar()
-
- for(var/obj/screen/x in client.screen)
- if(x.name == "radar closed" && x.icon == 'radar.dmi')
- client.screen -= x
- del(x)
-
- var/obj/screen/cornerA = new()
- cornerA.icon = 'radar.dmi'
- cornerA.icon_state = "radar(1,1)"
- cornerA.screen_loc = "WEST,NORTH-2"
- cornerA.name = "radar"
-
- var/obj/screen/cornerB = new()
- cornerB.icon = 'radar.dmi'
- cornerB.icon_state = "radar(2,1)"
- cornerB.screen_loc = "WEST+1,NORTH-2"
- cornerB.name = "radar"
-
- var/obj/screen/cornerC = new()
- cornerC.icon = 'radar.dmi'
- cornerC.icon_state = "radar(1,2)"
- cornerC.screen_loc = "WEST,NORTH-1"
- cornerC.name = "radar"
-
- var/obj/screen/cornerD = new()
- cornerD.icon = 'radar.dmi'
- cornerD.icon_state = "radar(2,2)"
- cornerD.screen_loc = "WEST+1,NORTH-1"
- cornerD.name = "radar"
-
- client.screen += cornerA
- client.screen += cornerB
- client.screen += cornerC
- client.screen += cornerD
-
- radar_open = 1
-
- while(radar_open && (RADAR in augmentations))
- update_radar()
- sleep(6)
-
-/mob/living/carbon/human/proc/update_radar()
-
- if(!client) return
- var/list/found_targets = list()
-
- var/max_dist = 29 // 29 tiles is the max distance
-
- // If the mob is inside a turf, set the center to the object they're in
- var/atom/distance_ref = src
- if(!isturf(src.loc))
- distance_ref = loc
-
- // Clear the radar_blips cache
- for(var/x in radar_blips)
- client.screen -= x
- del(x)
- radar_blips = list()
-
- var/starting_px = 3
- var/starting_py = 3
-
- for(var/mob/living/M in orange(max_dist, distance_ref))
- if(M.stat == 2) continue
- found_targets.Add(M)
-
- for(var/obj/effect/critter/C in orange(max_dist, distance_ref))
- if(!C.alive) continue
- found_targets.Add(C)
-
- for(var/obj/mecha/M in orange(max_dist, distance_ref))
- if(!M.occupant) continue
- found_targets.Add(M)
-
- for(var/obj/structure/closet/C in orange(max_dist, distance_ref))
- for(var/mob/living/M in C.contents)
- if(M.stat == 2) continue
- found_targets.Add(M)
-
- // Loop through all living mobs in a range.
- for(var/atom/A in found_targets)
-
- var/a_x = A.x
- var/a_y = A.y
-
- if(!isturf(A.loc))
- a_x = A.loc.x
- a_y = A.loc.y
-
- var/blip_x = max_dist + (-( distance_ref.x-a_x ) ) + starting_px
- var/blip_y = max_dist + (-( distance_ref.y-a_y ) ) + starting_py
- var/obj/screen/blip = new()
- blip.icon = 'radar.dmi'
- blip.name = "Blip"
- blip.layer = 21
- blip.screen_loc = "WEST:[blip_x-1],NORTH-2:[blip_y-1]" // offset -1 because the center of the blip is not at the bottomleft corner (14)
-
- if(istype(A, /mob/living))
- var/mob/living/M = A
- if(ishuman(M))
- if(M:wear_id)
- var/job = M:wear_id:GetJobName()
- if(job == "Security Officer")
- blip.icon_state = "secblip"
- blip.name = "Security Officer"
- else if(job == "Captain" || job == "Research Director" || job == "Chief Engineer" || job == "Chief Medical Officer" || job == "Head of Security" || job == "Head of Personnel")
- blip.icon_state = "headblip"
- blip.name = "Station Head"
- else
- blip.icon_state = "civblip"
- blip.name = "Civilian"
- else
- blip.icon_state = "civblip"
- blip.name = "Civilian"
-
- else if(issilicon(M))
- blip.icon_state = "roboblip"
- blip.name = "Robotic Organism"
-
- else
- blip.icon_state = "unknownblip"
- blip.name = "Unknown Organism"
-
- else if(istype(A, /obj/effect/critter))
- blip.icon_state = "unknownblip"
- blip.name = "Unknown Organism"
-
- else if(istype(A, /obj/mecha))
- blip.icon_state = "roboblip"
- blip.name = "Robotic Organism"
-
- radar_blips.Add(blip)
- client.screen += blip
-
-
+ client.screen -= hud.hotkeybuttons
+ hud.hotkey_ui_hidden = 1
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 27b6bc4d0a9..e7da10a2117 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -843,7 +843,10 @@
c:dropped(src)
c:layer = initial(c:layer)
if(w_uniform)//I should really not need these
- w_uniform.screen_loc = ui_iclothing
+ if(istype(hud_used,/obj/hud/retro))
+ w_uniform.screen_loc = ui_iclothing
+ if(istype(hud_used,/obj/hud/slim))
+ w_uniform.screen_loc = new_ui_iclothing
if(istype(w_uniform, /obj/item/clothing/under))
var/t1 = w_uniform.color
if (!t1)
@@ -859,7 +862,7 @@
if (wear_id)
overlays += image("icon" = 'mob.dmi', "icon_state" = "id[!lying ? null : "2"]", "layer" = ID_LAYER)
- if (client)
+ if (client && hud_used)
client.screen -= hud_used.intents
client.screen -= hud_used.mov_int
@@ -896,7 +899,10 @@
if (!t1)
t1 = s_store.icon_state
overlays += image("icon" = 'belt_mirror.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = SUIT_STORE_LAYER)
- s_store.screen_loc = ui_sstore1
+ if(istype(hud_used,/obj/hud/retro))
+ s_store.screen_loc = ui_sstore1
+ if(istype(hud_used,/obj/hud/slim))
+ s_store.screen_loc = new_ui_sstore1
if (client)
if (i_select)
@@ -933,7 +939,11 @@
if (wear_mask.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "maskblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = B_FACEMASK_LAYER)
- wear_mask.screen_loc = ui_mask
+ if(istype(hud_used,/obj/hud/retro))
+ wear_mask.screen_loc = ui_mask
+ if(istype(hud_used,/obj/hud/slim))
+ wear_mask.screen_loc = new_ui_mask
+
// Head
if (head)
@@ -945,7 +955,10 @@
if (head.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "helmetblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = B_HEAD_LAYER)
- head.screen_loc = ui_head
+ if(istype(hud_used,/obj/hud/retro))
+ head.screen_loc = ui_head
+ if(istype(hud_used,/obj/hud/slim))
+ head.screen_loc = new_ui_head
// Belt
if (belt)
@@ -953,24 +966,39 @@
if (!t1)
t1 = belt.icon_state
overlays += image("icon" = 'belt.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = BELT_LAYER)
- belt.screen_loc = ui_belt
+ if(istype(hud_used,/obj/hud/retro))
+ belt.screen_loc = ui_belt
+ if(istype(hud_used,/obj/hud/slim))
+ belt.screen_loc = new_ui_belt
name = get_visible_name()
if (wear_id)
- wear_id.screen_loc = ui_id
+ if(istype(hud_used,/obj/hud/retro))
+ wear_id.screen_loc = ui_id
+ if(istype(hud_used,/obj/hud/slim))
+ wear_id.screen_loc = new_ui_id
if (l_store)
- l_store.screen_loc = ui_storage1
+ if(istype(hud_used,/obj/hud/retro))
+ l_store.screen_loc = ui_storage1
+ if(istype(hud_used,/obj/hud/slim))
+ l_store.screen_loc = new_ui_storage1
if (r_store)
- r_store.screen_loc = ui_storage2
+ if(istype(hud_used,/obj/hud/retro))
+ r_store.screen_loc = ui_storage2
+ if(istype(hud_used,/obj/hud/slim))
+ r_store.screen_loc = new_ui_storage2
if (back)
var/t1 = back.icon_state
overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = BACK_LAYER)
- back.screen_loc = ui_back
+ if(istype(hud_used,/obj/hud/retro))
+ back.screen_loc = ui_back
+ if(istype(hud_used,/obj/hud/slim))
+ back.screen_loc = new_ui_back
if(client)
client.screen -= contents
@@ -985,11 +1013,17 @@
if (r_hand)
overlays += image("icon" = 'items_righthand.dmi', "icon_state" = r_hand.item_state ? r_hand.item_state : r_hand.icon_state, "layer" = INHANDS_LAYER)
- r_hand.screen_loc = ui_rhand
+ if(istype(hud_used,/obj/hud/retro))
+ r_hand.screen_loc = ui_rhand
+ if(istype(hud_used,/obj/hud/slim))
+ r_hand.screen_loc = new_ui_rhand
if (l_hand)
overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = l_hand.item_state ? l_hand.item_state : l_hand.icon_state, "layer" = INHANDS_LAYER)
- l_hand.screen_loc = ui_lhand
+ if(istype(hud_used,/obj/hud/retro))
+ l_hand.screen_loc = ui_lhand
+ if(istype(hud_used,/obj/hud/slim))
+ l_hand.screen_loc = new_ui_lhand
var/shielded = 0
@@ -1036,7 +1070,10 @@
else
stain_icon = icon('blood.dmi', "suitblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = B_SUIT_LAYER)
- wear_suit.screen_loc = ui_oclothing
+ if(istype(hud_used,/obj/hud/retro))
+ wear_suit.screen_loc = ui_oclothing
+ if(istype(hud_used,/obj/hud/slim))
+ wear_suit.screen_loc = new_ui_oclothing
//Update_other() MUST be called after all the storage slots get updated. This is because all the storage slots assign their
//respective items a screen_loc, which other_update() will then override if needed.
diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm
index bff60a1b9bb..13fafbd3560 100644
--- a/code/modules/mob/living/carbon/monkey/hud.dm
+++ b/code/modules/mob/living/carbon/monkey/hud.dm
@@ -1,4 +1,4 @@
-/obj/hud/proc/monkey_hud(var/ui_style='screen1_old.dmi')
+/obj/hud/slim/proc/monkey_hud(var/ui_style='screen1_old.dmi')
//ui_style='screen1_old.dmi' //Overriding the parameter. Only this UI style is acceptable with the 'sleek' layout.
@@ -53,7 +53,7 @@
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
- using.screen_loc = ui_acti
+ using.screen_loc = new_ui_acti
using.layer = 20
src.adding += using
action_intent = using
@@ -63,7 +63,7 @@
using.name = "help"
using.icon = ui_style
using.icon_state = "help_small"
- using.screen_loc = ui_help_small
+ using.screen_loc = new_ui_help_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -71,7 +71,7 @@
using.name = "disarm"
using.icon = ui_style
using.icon_state = "disarm_small"
- using.screen_loc = ui_disarm_small
+ using.screen_loc = new_ui_disarm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -79,7 +79,7 @@
using.name = "grab"
using.icon = ui_style
using.icon_state = "grab_small"
- using.screen_loc = ui_grab_small
+ using.screen_loc = new_ui_grab_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -87,7 +87,7 @@
using.name = "harm"
using.icon = ui_style
using.icon_state = "harm_small"
- using.screen_loc = ui_harm_small
+ using.screen_loc = new_ui_harm_small
using.layer = 21
src.intent_small_hud_objects += using
@@ -98,7 +98,7 @@
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
- using.screen_loc = ui_movi
+ using.screen_loc = new_ui_movi
using.layer = 20
src.adding += using
move_intent = using
@@ -147,7 +147,7 @@
using.name = "drop"
using.icon = ui_style
using.icon_state = "act_drop"
- using.screen_loc = ui_drop_throw
+ using.screen_loc = new_ui_drop_throw
using.layer = 19
src.adding += using
/*
@@ -187,7 +187,7 @@
using.icon_state = "hand_inactive"
if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
using.icon_state = "hand_active"
- using.screen_loc = ui_rhand
+ using.screen_loc = new_ui_rhand
using.layer = 19
src.r_hand_hud_object = using
src.adding += using
@@ -199,7 +199,7 @@
using.icon_state = "hand_inactive"
if(mymob && mymob.hand) //This being 1 means the left hand is in use
using.icon_state = "hand_active"
- using.screen_loc = ui_lhand
+ using.screen_loc = new_ui_lhand
using.layer = 19
src.l_hand_hud_object = using
src.adding += using
@@ -209,7 +209,7 @@
using.dir = SOUTH
using.icon = ui_style
using.icon_state = "hand1"
- using.screen_loc = ui_swaphand1
+ using.screen_loc = new_ui_swaphand1
using.layer = 19
src.adding += using
@@ -218,7 +218,7 @@
using.dir = SOUTH
using.icon = ui_style
using.icon_state = "hand2"
- using.screen_loc = ui_swaphand2
+ using.screen_loc = new_ui_swaphand2
using.layer = 19
src.adding += using
/*
@@ -238,7 +238,7 @@
using.dir = NORTH
using.icon = ui_style
using.icon_state = "equip"
- using.screen_loc = ui_monkey_mask
+ using.screen_loc = new_ui_monkey_mask
using.layer = 19
src.adding += using
@@ -247,7 +247,7 @@
using.dir = NORTHEAST
using.icon = ui_style
using.icon_state = "equip"
- using.screen_loc = ui_back
+ using.screen_loc = new_ui_back
using.layer = 19
src.adding += using
/*
@@ -429,7 +429,7 @@
mymob.throw_icon.icon = ui_style
mymob.throw_icon.icon_state = "act_throw_off"
mymob.throw_icon.name = "throw"
- mymob.throw_icon.screen_loc = ui_drop_throw
+ mymob.throw_icon.screen_loc = new_ui_drop_throw
mymob.oxygen = new /obj/screen( null )
mymob.oxygen.icon = ui_style
@@ -459,37 +459,37 @@
mymob.toxin.icon = ui_style
mymob.toxin.icon_state = "tox0"
mymob.toxin.name = "toxin"
- mymob.toxin.screen_loc = ui_toxin
+ mymob.toxin.screen_loc = new_ui_toxin
mymob.internals = new /obj/screen( null )
mymob.internals.icon = ui_style
mymob.internals.icon_state = "internal0"
mymob.internals.name = "internal"
- mymob.internals.screen_loc = ui_internal
+ mymob.internals.screen_loc = new_ui_internal
mymob.fire = new /obj/screen( null )
mymob.fire.icon = ui_style
mymob.fire.icon_state = "fire0"
mymob.fire.name = "fire"
- mymob.fire.screen_loc = ui_fire
+ mymob.fire.screen_loc = new_ui_fire
mymob.bodytemp = new /obj/screen( null )
mymob.bodytemp.icon = ui_style
mymob.bodytemp.icon_state = "temp1"
mymob.bodytemp.name = "body temperature"
- mymob.bodytemp.screen_loc = ui_temp
+ mymob.bodytemp.screen_loc = new_ui_temp
mymob.healths = new /obj/screen( null )
mymob.healths.icon = ui_style
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
+ mymob.healths.screen_loc = new_ui_health
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = ui_style
mymob.pullin.icon_state = "pull0"
mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_pull_resist
+ mymob.pullin.screen_loc = new_ui_pull_resist
mymob.blind = new /obj/screen( null )
mymob.blind.icon = ui_style
@@ -657,4 +657,406 @@
using.screen_loc = "1,1 to 2,2"
using.layer = 19
src.adding += using
- */
\ No newline at end of file
+ */
+
+
+/obj/hud/retro/proc/monkey_hud(var/ui_style='screen1_old.dmi')
+
+ src.adding = list( )
+ src.other = list( )
+ src.intents = list( )
+ src.mon_blo = list( )
+ src.m_ints = list( )
+ src.mov_int = list( )
+ src.vimpaired = list( )
+ src.darkMask = list( )
+
+ var/icon/blocked = icon(ui_style,"blocked")
+
+ src.g_dither = new src.h_type( src )
+ src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.g_dither.name = "Mask"
+ src.g_dither.icon = ui_style
+ src.g_dither.icon_state = "dither12g"
+ src.g_dither.layer = 18
+ src.g_dither.mouse_opacity = 0
+
+ src.alien_view = new src.h_type(src)
+ src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.alien_view.name = "Alien"
+ src.alien_view.icon = ui_style
+ src.alien_view.icon_state = "alien"
+ src.alien_view.layer = 18
+ src.alien_view.mouse_opacity = 0
+
+ src.blurry = new src.h_type( src )
+ src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.blurry.name = "Blurry"
+ src.blurry.icon = ui_style
+ src.blurry.icon_state = "blurry"
+ src.blurry.layer = 17
+ src.blurry.mouse_opacity = 0
+
+ src.druggy = new src.h_type( src )
+ src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.druggy.name = "Druggy"
+ src.druggy.icon = ui_style
+ src.druggy.icon_state = "druggy"
+ src.druggy.layer = 17
+ src.druggy.mouse_opacity = 0
+
+ var/obj/screen/using
+
+ using = new src.h_type( src )
+ using.name = "act_intent"
+ using.dir = SOUTHWEST
+ using.icon = ui_style
+ using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
+ using.screen_loc = ui_acti
+ using.layer = 20
+ src.adding += using
+ action_intent = using
+
+ using = new src.h_type( src )
+ using.name = "mov_intent"
+ using.dir = SOUTHWEST
+ using.icon = ui_style
+ using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
+ using.screen_loc = ui_movi
+ using.layer = 20
+ src.adding += using
+ move_intent = using
+
+ using = new src.h_type(src) //Right hud bar
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Lower hud bar
+ using.dir = EAST
+ using.icon = ui_style
+ using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Corner Button
+ using.dir = NORTHWEST
+ using.icon = ui_style
+ using.screen_loc = "EAST+1,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowleft"
+ using.icon = ui_style
+ using.icon_state = "s_arrow"
+ using.dir = WEST
+ using.screen_loc = ui_iarrowleft
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowright"
+ using.icon = ui_style
+ using.icon_state = "s_arrow"
+ using.dir = EAST
+ using.screen_loc = ui_iarrowright
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "drop"
+ using.icon = ui_style
+ using.icon_state = "act_drop"
+ using.screen_loc = ui_dropbutton
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "i_clothing"
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.icon_state = "center"
+ using.screen_loc = ui_iclothing
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "o_clothing"
+ using.dir = SOUTH
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = ui_oclothing
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "r_hand"
+ using.dir = WEST
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = ui_rhand
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "l_hand"
+ using.dir = EAST
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = ui_lhand
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "id"
+ using.dir = SOUTHWEST
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = ui_id
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "mask"
+ using.dir = NORTH
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = ui_mask
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "back"
+ using.dir = NORTHEAST
+ using.icon = ui_style
+ using.icon_state = "equip"
+ using.screen_loc = ui_back
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "storage1"
+ using.icon = ui_style
+ using.icon_state = "pocket"
+ using.screen_loc = ui_storage1
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "storage2"
+ using.icon = ui_style
+ using.icon_state = "pocket"
+ using.screen_loc = ui_storage2
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "resist"
+ using.icon = ui_style
+ using.icon_state = "act_resist"
+ using.screen_loc = ui_resist
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "other"
+ using.icon = ui_style
+ using.icon_state = "other"
+ using.screen_loc = ui_shoes
+ using.layer = 20
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "gloves"
+ using.icon = ui_style
+ using.icon_state = "gloves"
+ using.screen_loc = ui_gloves
+ using.layer = 19
+ using.overlays += blocked
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "eyes"
+ using.icon = ui_style
+ using.icon_state = "glasses"
+ using.screen_loc = ui_glasses
+ using.layer = 19
+ using.overlays += blocked
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "ears"
+ using.icon = ui_style
+ using.icon_state = "ears"
+ using.screen_loc = ui_ears
+ using.layer = 19
+ using.overlays += blocked
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "head"
+ using.icon = ui_style
+ using.icon_state = "hair"
+ using.screen_loc = ui_head
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "shoes"
+ using.icon = ui_style
+ using.icon_state = "shoes"
+ using.screen_loc = ui_shoes
+ using.layer = 19
+ using.overlays += blocked
+ src.other += using
+
+ using = new src.h_type( src )
+ using.name = "belt"
+ using.icon = ui_style
+ using.icon_state = "belt"
+ using.screen_loc = ui_belt
+ using.layer = 19
+ using.overlays += blocked
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "1,1 to 5,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "5,1 to 10,5"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "6,11 to 10,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "11,1 to 15,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.vimpaired += using
+
+ mymob.throw_icon = new /obj/screen(null)
+ mymob.throw_icon.icon = ui_style
+ mymob.throw_icon.icon_state = "act_throw_off"
+ mymob.throw_icon.name = "throw"
+ mymob.throw_icon.screen_loc = ui_throw
+
+ mymob.oxygen = new /obj/screen( null )
+ mymob.oxygen.icon = ui_style
+ mymob.oxygen.icon_state = "oxy0"
+ mymob.oxygen.name = "oxygen"
+ mymob.oxygen.screen_loc = ui_oxygen
+
+ mymob.pressure = new /obj/screen( null )
+ mymob.pressure.icon = 'screen1_old.dmi'
+ mymob.pressure.icon_state = "pressure0"
+ mymob.pressure.name = "pressure"
+ mymob.pressure.screen_loc = ui_pressure
+
+
+ mymob.toxin = new /obj/screen( null )
+ mymob.toxin.icon = ui_style
+ mymob.toxin.icon_state = "tox0"
+ mymob.toxin.name = "toxin"
+ mymob.toxin.screen_loc = ui_toxin
+
+ mymob.internals = new /obj/screen( null )
+ mymob.internals.icon = ui_style
+ mymob.internals.icon_state = "internal0"
+ mymob.internals.name = "internal"
+ mymob.internals.screen_loc = ui_internal
+
+ mymob.fire = new /obj/screen( null )
+ mymob.fire.icon = ui_style
+ mymob.fire.icon_state = "fire0"
+ mymob.fire.name = "fire"
+ mymob.fire.screen_loc = ui_fire
+
+ mymob.bodytemp = new /obj/screen( null )
+ mymob.bodytemp.icon = ui_style
+ mymob.bodytemp.icon_state = "temp1"
+ mymob.bodytemp.name = "body temperature"
+ mymob.bodytemp.screen_loc = ui_temp
+
+ mymob.healths = new /obj/screen( null )
+ mymob.healths.icon = ui_style
+ mymob.healths.icon_state = "health0"
+ mymob.healths.name = "health"
+ mymob.healths.screen_loc = ui_health
+
+ mymob.pullin = new /obj/screen( null )
+ mymob.pullin.icon = ui_style
+ mymob.pullin.icon_state = "pull0"
+ mymob.pullin.name = "pull"
+ mymob.pullin.screen_loc = ui_pull
+
+ mymob.blind = new /obj/screen( null )
+ mymob.blind.icon = ui_style
+ mymob.blind.icon_state = "blackanimate"
+ mymob.blind.name = " "
+ mymob.blind.screen_loc = "1,1 to 15,15"
+ mymob.blind.layer = 0
+
+ mymob.flash = new /obj/screen( null )
+ mymob.flash.icon = ui_style
+ mymob.flash.icon_state = "blank"
+ mymob.flash.name = "flash"
+ mymob.flash.screen_loc = "1,1 to 15,15"
+ mymob.flash.layer = 17
+
+ mymob.hands = new /obj/screen( null )
+ mymob.hands.icon = ui_style
+ mymob.hands.icon_state = "hand"
+ mymob.hands.name = "hand"
+ mymob.hands.screen_loc = ui_hand
+ mymob.hands.dir = NORTH
+
+ mymob.sleep = new /obj/screen( null )
+ mymob.sleep.icon = ui_style
+ mymob.sleep.icon_state = "sleep0"
+ mymob.sleep.name = "sleep"
+ mymob.sleep.screen_loc = ui_sleep
+
+ mymob.rest = new /obj/screen( null )
+ mymob.rest.icon = ui_style
+ mymob.rest.icon_state = "rest0"
+ mymob.rest.name = "rest"
+ mymob.rest.screen_loc = ui_rest
+
+
+ mymob.zone_sel = new /obj/screen/zone_sel( null )
+ mymob.zone_sel.overlays = null
+ mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
+
+ mymob.client.screen = null
+
+ //, mymob.i_select, mymob.m_select
+ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.hands, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach )
+ mymob.client.screen += src.adding + src.other
+ return
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index fddb26cfbaf..2b0904dce0b 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -418,24 +418,39 @@
if (wear_mask)
if (istype(wear_mask, /obj/item/clothing/mask))
+
var/t1 = wear_mask.icon_state
overlays += image("icon" = 'monkey.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = layer)
- wear_mask.screen_loc = ui_monkey_mask
+
+ if(istype(hud_used,/obj/hud/slim))
+ wear_mask.screen_loc = new_ui_monkey_mask
+ if(istype(hud_used,/obj/hud/retro))
+ wear_mask.screen_loc = ui_mask
+
if (r_hand)
if(update_icon)
overlays += image("icon" = 'items_righthand.dmi', "icon_state" = r_hand.item_state ? r_hand.item_state : r_hand.icon_state, "layer" = layer)
- r_hand.screen_loc = ui_rhand
+ if(istype(hud_used,/obj/hud/retro))
+ r_hand.screen_loc = ui_rhand
+ if(istype(hud_used,/obj/hud/slim))
+ r_hand.screen_loc = new_ui_rhand
if (l_hand)
if(update_icon)
overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = l_hand.item_state ? l_hand.item_state : l_hand.icon_state, "layer" = layer)
- l_hand.screen_loc = ui_lhand
+ if(istype(hud_used,/obj/hud/retro))
+ l_hand.screen_loc = ui_lhand
+ if(istype(hud_used,/obj/hud/slim))
+ l_hand.screen_loc = new_ui_lhand
if (back)
var/t1 = back.icon_state //apparently tables make me upset and cause my dreams to shatter
overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = layer)
- back.screen_loc = ui_monkey_back
+ if(istype(hud_used,/obj/hud/slim))
+ back.screen_loc = new_ui_monkey_back
+ if(istype(hud_used,/obj/hud/retro))
+ back.screen_loc = ui_back
if (handcuffed && update_icon)
pulling = null
diff --git a/code/modules/mob/living/silicon/ai/hud.dm b/code/modules/mob/living/silicon/ai/hud.dm
index 2db6674a9a3..5dbe9e75342 100644
--- a/code/modules/mob/living/silicon/ai/hud.dm
+++ b/code/modules/mob/living/silicon/ai/hud.dm
@@ -1,2 +1,5 @@
-/obj/hud/proc/ai_hud()
+/obj/hud/slim/proc/ai_hud()
+ return
+
+/obj/hud/retro/proc/ai_hud()
return
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/hud.dm b/code/modules/mob/living/silicon/robot/hud.dm
index cdc8adb3e2e..4994f25d6d9 100644
--- a/code/modules/mob/living/silicon/robot/hud.dm
+++ b/code/modules/mob/living/silicon/robot/hud.dm
@@ -1,5 +1,252 @@
-/obj/hud/proc/robot_hud()
+/obj/hud/slim/proc/robot_hud()
+
+ src.adding = list( )
+ src.other = list( )
+ src.intents = list( )
+ src.mon_blo = list( )
+ src.m_ints = list( )
+ src.mov_int = list( )
+ src.vimpaired = list( )
+ src.darkMask = list( )
+
+ src.g_dither = new src.h_type( src )
+ src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.g_dither.name = "Mask"
+ src.g_dither.icon_state = "dither12g"
+ src.g_dither.layer = 18
+ src.g_dither.mouse_opacity = 0
+//
+ src.alien_view = new src.h_type(src)
+ src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.alien_view.name = "Alien"
+ src.alien_view.icon_state = "alien"
+ src.alien_view.layer = 18
+ src.alien_view.mouse_opacity = 0
+
+ src.blurry = new src.h_type( src )
+ src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.blurry.name = "Blurry"
+ src.blurry.icon_state = "blurry"
+ src.blurry.layer = 17
+ src.blurry.mouse_opacity = 0
+
+ src.druggy = new src.h_type( src )
+ src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
+ src.druggy.name = "Druggy"
+ src.druggy.icon_state = "druggy"
+ src.druggy.layer = 17
+ src.druggy.mouse_opacity = 0
+
+ var/obj/screen/using
+
+
+//Radio
+ using = new src.h_type( src )
+ using.name = "radio"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "radio"
+ using.screen_loc = new_ui_movi
+ using.layer = 20
+ src.adding += using
+
+//Generic overlays
+
+/*
+ using = new src.h_type(src) //Right hud bar
+ using.dir = SOUTH
+ using.icon = 'screen1_robot.dmi'
+ using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Lower hud bar
+ using.dir = EAST
+ using.icon = 'screen1_robot.dmi'
+ using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1"
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type(src) //Corner Button
+ using.dir = NORTHWEST
+ using.icon = 'screen1_robot.dmi'
+ using.screen_loc = "EAST+1,SOUTH-1"
+ using.layer = 19
+ src.adding += using*/
+
+
+//Module select
+
+ using = new src.h_type( src )
+ using.name = "module1"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "inv1"
+ using.screen_loc = new_ui_inv1
+ using.layer = 20
+ src.adding += using
+ mymob:inv1 = using
+
+ using = new src.h_type( src )
+ using.name = "module2"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "inv2"
+ using.screen_loc = new_ui_inv2
+ using.layer = 20
+ src.adding += using
+ mymob:inv2 = using
+
+ using = new src.h_type( src )
+ using.name = "module3"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "inv3"
+ using.screen_loc = new_ui_inv3
+ using.layer = 20
+ src.adding += using
+ mymob:inv3 = using
+
+//End of module select
+
+//Intent
+ using = new src.h_type( src )
+ using.name = "act_intent"
+ using.dir = SOUTHWEST
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
+ using.screen_loc = new_ui_acti
+ using.layer = 20
+ src.adding += using
+ action_intent = using
+/*
+ using = new src.h_type( src )
+ using.name = "arrowleft"
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "s_arrow"
+ using.dir = WEST
+ using.screen_loc = ui_iarrowleft
+ using.layer = 19
+ src.adding += using
+
+ using = new src.h_type( src )
+ using.name = "arrowright"
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "s_arrow"
+ using.dir = EAST
+ using.screen_loc = ui_iarrowright
+ using.layer = 19
+ src.adding += using*/
+//End of Intent
+
+//Cell
+ mymob:cells = new /obj/screen( null )
+ mymob:cells.icon = 'screen1_robot.dmi'
+ mymob:cells.icon_state = "charge-empty"
+ mymob:cells.name = "cell"
+ mymob:cells.screen_loc = new_ui_toxin
+
+//Health
+ mymob.healths = new /obj/screen( null )
+ mymob.healths.icon = 'screen1_robot.dmi'
+ mymob.healths.icon_state = "health0"
+ mymob.healths.name = "health"
+ mymob.healths.screen_loc = new_ui_borg_health
+
+//Installed Module
+ mymob.hands = new /obj/screen( null )
+ mymob.hands.icon = 'screen1_robot.dmi'
+ mymob.hands.icon_state = "nomod"
+ mymob.hands.name = "module"
+ mymob.hands.screen_loc = new_ui_borg_module
+
+//Module Panel
+ using = new src.h_type( src )
+ using.name = "panel"
+ using.icon = 'screen1_robot.dmi'
+ using.icon_state = "panel"
+ using.screen_loc = new_ui_borg_panel
+ using.layer = 19
+ src.adding += using
+
+//Store
+ mymob.throw_icon = new /obj/screen(null)
+ mymob.throw_icon.icon = 'screen1_robot.dmi'
+ mymob.throw_icon.icon_state = "store"
+ mymob.throw_icon.name = "store"
+ mymob.throw_icon.screen_loc = new_ui_borg_store
+
+//Temp
+ mymob.bodytemp = new /obj/screen( null )
+ mymob.bodytemp.icon_state = "temp0"
+ mymob.bodytemp.name = "body temperature"
+ mymob.bodytemp.screen_loc = new_ui_temp
+
+
+ mymob.oxygen = new /obj/screen( null )
+ mymob.oxygen.icon = 'screen1_robot.dmi'
+ mymob.oxygen.icon_state = "oxy0"
+ mymob.oxygen.name = "oxygen"
+ mymob.oxygen.screen_loc = new_ui_oxygen
+
+ mymob.fire = new /obj/screen( null )
+ mymob.fire.icon = 'screen1_robot.dmi'
+ mymob.fire.icon_state = "fire0"
+ mymob.fire.name = "fire"
+ mymob.fire.screen_loc = new_ui_fire
+
+
+
+ mymob.pullin = new /obj/screen( null )
+ mymob.pullin.icon = 'screen1_robot.dmi'
+ mymob.pullin.icon_state = "pull0"
+ mymob.pullin.name = "pull"
+ mymob.pullin.screen_loc = new_ui_borg_pull
+
+ mymob.blind = new /obj/screen( null )
+ mymob.blind.icon = 'screen1_robot.dmi'
+ mymob.blind.icon_state = "blackanimate"
+ mymob.blind.name = " "
+ mymob.blind.screen_loc = "1,1 to 15,15"
+ mymob.blind.layer = 0
+
+ mymob.flash = new /obj/screen( null )
+ mymob.flash.icon = 'screen1_robot.dmi'
+ mymob.flash.icon_state = "blank"
+ mymob.flash.name = "flash"
+ mymob.flash.screen_loc = "1,1 to 15,15"
+ mymob.flash.layer = 17
+
+ /*
+ mymob.sleep = new /obj/screen( null )
+ mymob.sleep.icon = 'screen1_robot.dmi'
+ mymob.sleep.icon_state = "sleep0"
+ mymob.sleep.name = "sleep"
+ mymob.sleep.screen_loc = ui_sleep
+
+ mymob.rest = new /obj/screen( null )
+ mymob.rest.icon = 'screen1_robot.dmi'
+ mymob.rest.icon_state = "rest0"
+ mymob.rest.name = "rest"
+ mymob.rest.screen_loc = ui_rest
+ */
+
+
+ mymob.zone_sel = new /obj/screen/zone_sel( null )
+ mymob.zone_sel.overlays = null
+ mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
+
+ mymob.client.screen = null
+
+ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash) //, mymob.rest, mymob.sleep, mymob.mach )
+ mymob.client.screen += src.adding + src.other
+
+ return
+
+
+
+/obj/hud/retro/proc/robot_hud()
src.adding = list( )
src.other = list( )
@@ -53,7 +300,6 @@
//Generic overlays
-/*
using = new src.h_type(src) //Right hud bar
using.dir = SOUTH
using.icon = 'screen1_robot.dmi'
@@ -73,7 +319,7 @@
using.icon = 'screen1_robot.dmi'
using.screen_loc = "EAST+1,SOUTH-1"
using.layer = 19
- src.adding += using*/
+ src.adding += using
//Module select
@@ -120,7 +366,7 @@
using.layer = 20
src.adding += using
action_intent = using
-/*
+
using = new src.h_type( src )
using.name = "arrowleft"
using.icon = 'screen1_robot.dmi'
@@ -137,7 +383,7 @@
using.dir = EAST
using.screen_loc = ui_iarrowright
using.layer = 19
- src.adding += using*/
+ src.adding += using
//End of Intent
//Cell
@@ -152,21 +398,21 @@
mymob.healths.icon = 'screen1_robot.dmi'
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_borg_health
+ mymob.healths.screen_loc = ui_health
//Installed Module
mymob.hands = new /obj/screen( null )
mymob.hands.icon = 'screen1_robot.dmi'
mymob.hands.icon_state = "nomod"
mymob.hands.name = "module"
- mymob.hands.screen_loc = ui_borg_module
+ mymob.hands.screen_loc = ui_dropbutton
//Module Panel
using = new src.h_type( src )
using.name = "panel"
using.icon = 'screen1_robot.dmi'
using.icon_state = "panel"
- using.screen_loc = ui_borg_panel
+ using.screen_loc = ui_throw
using.layer = 19
src.adding += using
@@ -175,7 +421,7 @@
mymob.throw_icon.icon = 'screen1_robot.dmi'
mymob.throw_icon.icon_state = "store"
mymob.throw_icon.name = "store"
- mymob.throw_icon.screen_loc = ui_borg_store
+ mymob.throw_icon.screen_loc = ui_hand
//Temp
mymob.bodytemp = new /obj/screen( null )
@@ -202,7 +448,7 @@
mymob.pullin.icon = 'screen1_robot.dmi'
mymob.pullin.icon_state = "pull0"
mymob.pullin.name = "pull"
- mymob.pullin.screen_loc = ui_borg_pull
+ mymob.pullin.screen_loc = ui_pull
mymob.blind = new /obj/screen( null )
mymob.blind.icon = 'screen1_robot.dmi'
@@ -218,7 +464,6 @@
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
- /*
mymob.sleep = new /obj/screen( null )
mymob.sleep.icon = 'screen1_robot.dmi'
mymob.sleep.icon_state = "sleep0"
@@ -230,7 +475,6 @@
mymob.rest.icon_state = "rest0"
mymob.rest.name = "rest"
mymob.rest.screen_loc = ui_rest
- */
mymob.zone_sel = new /obj/screen/zone_sel( null )
@@ -239,7 +483,7 @@
mymob.client.screen = null
- mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash) //, mymob.rest, mymob.sleep, mymob.mach )
+ mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach )
mymob.client.screen += src.adding + src.other
- return
+ return
\ No newline at end of file
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 5d55ee62c7f..4410209fcfa 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -27,10 +27,10 @@
if(!src.dna) src.dna = new /datum/dna(null)
world.update_status()
if(!src.hud_used)
- src.hud_used = new/obj/hud( src )
+ new/obj/hud(src,src.hud_type)
else
del(src.hud_used)
- src.hud_used = new/obj/hud( src )
+ new/obj/hud(src,src.hud_type)
src.next_move = 1
src.sight |= SEE_SELF
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 507127d21fd..137f7ef68c4 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -149,6 +149,7 @@
var/miming = null //checks if the guy is a mime//Human
var/silent = null //Can't talk. Value goes down every life proc.//Human
+ var/hud_type = "slim"
var/obj/hud/hud_used = null
//var/list/organs = list( ) //moved to human.
diff --git a/code/modules/mob/new_player/hud.dm b/code/modules/mob/new_player/hud.dm
index 3f2d074e31a..56d1fb41ce5 100644
--- a/code/modules/mob/new_player/hud.dm
+++ b/code/modules/mob/new_player/hud.dm
@@ -1,3 +1,3 @@
-/obj/hud/proc/unplayer_hud()
+/obj/hud/slim/proc/unplayer_hud()
return
\ No newline at end of file
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index 10fe110e21d..45b834e379f 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -95,7 +95,7 @@ datum/preferences
var/b_eyes = 0
//UI style
- //UI = UI_OLD
+ var/UIType = UI_OLD
var/UI_style = "Midnight"
//Mob preview
@@ -143,7 +143,9 @@ datum/preferences
dat += "Age: [age]"
dat += "
"
- dat += "UI Style: [UI_style]
"
+ dat += "UI Type: [UIType == UI_NEW ? "Slim" : "Retro"]
"
+ if(UIType == UI_NEW)
+ dat += "UI Style: [UI_style]
"
dat += "Play admin midis: [midis == 1 ? "Yes" : "No"]
"
dat += "Ghost ears: [ghost_ears == 0 ? "Nearest Creatures" : "All Speech"]
"
dat += "Ghost sight: [ghost_sight == 0 ? "Nearest Creatures" : "All Emotes"]
"
@@ -608,7 +610,13 @@ datum/preferences
else
gender = MALE
- if(link_tags["UI"])
+ if(link_tags["UIType"])
+ if(UIType == UI_OLD)
+ UIType = UI_NEW
+ else
+ UIType = UI_OLD
+
+ if(link_tags["UIStyle"])
switch(UI_style)
if("Midnight")
UI_style = "Orange"
@@ -699,7 +707,7 @@ datum/preferences
b_eyes = 0.0
s_tone = 0.0
b_type = "A+"
- //UI = UI_OLD
+ UIType = UI_OLD
UI_style = "Midnight"
midis = 1
ghost_ears = 1
@@ -733,15 +741,22 @@ datum/preferences
character.h_style = h_style
character.f_style = f_style
- switch(UI_style)
- if("Midnight")
- character.UI = 'screen1_Midnight.dmi'
- if("Orange")
- character.UI = 'screen1_Orange.dmi'
- if("old")
- character.UI = 'screen1_old.dmi'
- else
- character.UI = 'screen1_Midnight.dmi'
+
+ if(UIType == UI_OLD)
+ character.hud_type = "retro"
+ character.UI = 'screen1.dmi'
+ //character.UI = 'screen1_old.dmi'
+ else if(UIType == UI_NEW)
+ character.hud_type = "slim"
+ switch(UI_style)
+ if("Midnight")
+ character.UI = 'screen1_Midnight.dmi'
+ if("Orange")
+ character.UI = 'screen1_Orange.dmi'
+ if("old")
+ character.UI = 'screen1_old.dmi'
+ else
+ character.UI = 'screen1_Midnight.dmi'
character.hair_style = hair_style
character.facial_hair_style = facial_hair_style
diff --git a/code/modules/mob/new_player/savefile.dm b/code/modules/mob/new_player/savefile.dm
index e90736c4cc7..2041b212a71 100644
--- a/code/modules/mob/new_player/savefile.dm
+++ b/code/modules/mob/new_player/savefile.dm
@@ -54,7 +54,9 @@ datum/preferences/proc/savefile_save(mob/user)
F["be_special"] << src.be_special
- //F["UI"] << src.UI
+ if(isnull(UIType))
+ UIType = 0
+ F["UIType"] << src.UIType
if(isnull(UI_style))
UI_style = "Midnight"
F["UI_style"] << UI_style
@@ -120,7 +122,9 @@ datum/preferences/proc/savefile_load(mob/user)
if(isnull(ghost_sight)) ghost_sight = 1 //Hotfix
F["ooccolor"] >> src.ooccolor
F["lastchangelog"] >> src.lastchangelog
- //F["UI"] >> src.UI
+ F["UIType"] >> src.UIType
+ if(isnull(UIType))
+ UIType = 0
F["UI_style"] >> src.UI_style
if(isnull(UI_style))
UI_style = "Midnight"
diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm
index cd7b9c32686..61c8cad4e52 100644
--- a/code/modules/mob/screen.dm
+++ b/code/modules/mob/screen.dm
@@ -32,7 +32,7 @@
icon = 'zone_sel.dmi'
icon_state = "blank"
var/selecting = "chest"
- screen_loc = ui_zonesel
+ screen_loc = new_ui_zonesel
/obj/screen/zone_sel/MouseDown(location, control,params)
@@ -202,6 +202,7 @@
/obj/screen/MouseEntered(object,location,control,params)
if(!ishuman(usr) && !istype(usr,/mob/living/carbon/alien/humanoid) && !islarva(usr) && !ismonkey(usr))
return
+ if(!istype(usr.hud_used,/obj/hud/slim)) return
switch(name)
/*
if("other")
@@ -220,6 +221,7 @@
/obj/screen/MouseExited(object,location,control,params)
if(!ishuman(usr) && !istype(usr,/mob/living/carbon/alien/humanoid) && !islarva(usr) && !ismonkey(usr))
return
+ if(!istype(usr.hud_used,/obj/hud/slim)) return
switch(name)
if("act_intent")
if(ishuman(usr) || istype(usr,/mob/living/carbon/alien/humanoid) || islarva(usr))
@@ -229,6 +231,7 @@
usr.hud_used.action_intent.icon_state = "[intent]"
/obj/screen/Click(location, control, params)
+// var/list/pa = params2list(params)
switch(name)
if("map")
usr.clearmap()
@@ -265,57 +268,58 @@
else
usr.clearmap()
+
if("arrowleft")
switch(usr.a_intent)
if("help")
if(issilicon(usr))
usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
+ usr.hud_used.action_intent.icon_state = "intent_hurt"
else
usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
+ usr.hud_used.action_intent.icon_state = "intent_grab"
if("disarm")
usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
+ usr.hud_used.action_intent.icon_state = "intent_help"
if("hurt")
if(issilicon(usr))
usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
+ usr.hud_used.action_intent.icon_state = "intent_help"
else
usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
+ usr.hud_used.action_intent.icon_state = "intent_disarm"
if("grab")
usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
+ usr.hud_used.action_intent.icon_state = "intent_hurt"
if("arrowright")
switch(usr.a_intent)
if("help")
if(issilicon(usr))
usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
+ usr.hud_used.action_intent.icon_state = "intent_hurt"
else
usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
+ usr.hud_used.action_intent.icon_state = "intent_disarm"
if("disarm")
usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
+ usr.hud_used.action_intent.icon_state = "intent_hurt"
if("hurt")
if(issilicon(usr))
usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
+ usr.hud_used.action_intent.icon_state = "intent_help"
else
usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
+ usr.hud_used.action_intent.icon_state = "intent_grab"
if("grab")
usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
+ usr.hud_used.action_intent.icon_state = "intent_help"
if("mov_intent")
switch(usr.m_intent)
@@ -416,26 +420,35 @@
else
usr.a_intent = "help"
usr.hud_used.action_intent.icon_state = "help"
+
if("help")
- usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
- usr.hud_used.show_intent_icons = 0
- usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if(istype(usr.hud_used,/obj/hud/slim))
+ var/obj/hud/slim/hud = usr.hud_used
+ usr.a_intent = "help"
+ hud.action_intent.icon_state = "help"
+ hud.show_intent_icons = 0
+ usr.client.screen -= hud.intent_small_hud_objects
if("harm")
- usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
- usr.hud_used.show_intent_icons = 0
- usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if(istype(usr.hud_used,/obj/hud/slim))
+ var/obj/hud/slim/hud = usr.hud_used
+ usr.a_intent = "hurt"
+ hud.action_intent.icon_state = "harm"
+ hud.show_intent_icons = 0
+ usr.client.screen -= hud.intent_small_hud_objects
if("grab")
- usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
- usr.hud_used.show_intent_icons = 0
- usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if(istype(usr.hud_used,/obj/hud/slim))
+ var/obj/hud/slim/hud = usr.hud_used
+ usr.a_intent = "grab"
+ hud.action_intent.icon_state = "grab"
+ hud.show_intent_icons = 0
+ usr.client.screen -= hud.intent_small_hud_objects
if("disarm")
- usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
- usr.hud_used.show_intent_icons = 0
- usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if(istype(usr.hud_used,/obj/hud/slim))
+ var/obj/hud/slim/hud = usr.hud_used
+ usr.a_intent = "disarm"
+ hud.action_intent.icon_state = "disarm"
+ hud.show_intent_icons = 0
+ usr.client.screen -= hud.intent_small_hud_objects
if("pull")
usr.pulling = null
if("throw")
@@ -461,6 +474,14 @@
return
usr:pick_module()
+ if("sleep")
+ usr:mob_sleep()
+ if("rest")
+ usr:lay_down()
+ if("resist")
+ usr:resist()
+
+
if("radio")
if(issilicon(usr))
usr:radio_menu()
diff --git a/html/changelog.html b/html/changelog.html
index 0533cc47c62..a746333eccd 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -46,6 +46,13 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit tho. Thanks. -->
+