diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 45c15396663..0ef9e6100bf 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -262,6 +262,10 @@
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/h_type = /obj/screen //this is like...the most pointless thing ever. Use a god damn define!
diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm
index 4605115b51b..8937259b09a 100644
--- a/code/game/atom_procs.dm
+++ b/code/game/atom_procs.dm
@@ -704,35 +704,36 @@ var/using_new_click_proc = 0 //TODO ERRORAGE (This is temporary, while the DblCl
// ------- SHIFT-CLICK -------
- var/parameters = params2list(params)
+ if(params)
+ var/parameters = params2list(params)
- if(parameters["shift"]){
- if(!isAI(usr))
- ShiftClick(usr)
- else
- AIShiftClick(usr)
- return
- }
+ if(parameters["shift"]){
+ if(!isAI(usr))
+ ShiftClick(usr)
+ else
+ AIShiftClick(usr)
+ return
+ }
- // ------- ALT-CLICK -------
+ // ------- ALT-CLICK -------
- if(parameters["alt"]){
- if(!isAI(usr))
- AltClick(usr)
- else
- AIAltClick(usr)
- return
- }
+ if(parameters["alt"]){
+ if(!isAI(usr))
+ AltClick(usr)
+ else
+ AIAltClick(usr)
+ return
+ }
- // ------- CTRL-CLICK -------
+ // ------- CTRL-CLICK -------
- if(parameters["ctrl"]){
- if(!isAI(usr))
- CtrlClick(usr)
- else
- AICtrlClick(usr)
- return
- }
+ if(parameters["ctrl"]){
+ if(!isAI(usr))
+ CtrlClick(usr)
+ else
+ AICtrlClick(usr)
+ return
+ }
// ------- MIDDLE-CLICK -------
diff --git a/code/game/hud.dm b/code/game/hud.dm
index 20cdc8f618a..9000331f65c 100644
--- a/code/game/hud.dm
+++ b/code/game/hud.dm
@@ -1,47 +1,100 @@
-#define ui_dropbutton "SOUTH-1,7"
-#define ui_swapbutton "SOUTH-1,7"
-#define ui_iclothing "SOUTH-1,2"
-#define ui_oclothing "SOUTH,2"
+
+
+//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_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_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_dropbutton "12:24,2:7"
+#define ui_throw "13:26,2:7"
+#define ui_pull "14:28,2:7"
+#define ui_acti "12:24,1:5"
+#define ui_movi "13:26,1:5"
+#define ui_zonesel "14:28,1:5"
+
+
+//Middle right (damage indicators)
+#define ui_pressure "14:28,6:13"
+#define ui_oxygen "14:28,7:15"
+#define ui_fire "14:28,8:17"
+#define ui_toxin "14:28,9:19"
+
+#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.
+
+
+//Upper right (status indicators)
+#define ui_nutrition "11:22,15:-5"
+#define ui_internal "12:24,15:-5"
+#define ui_health "13:26,15:-5"
+#define ui_temp "14:28,15:-5"
+
+
+//Pop-up inventory
+#define ui_shoes "1:6,2:7"
+#define ui_iclothing "2:8,2:7"
+#define ui_gloves "3:10,2:7"
+
+#define ui_sstore1 "1:6,3:9"
+#define ui_oclothing "2:8,3:9"
+#define ui_glasses "3:10,3:9"
+
+#define ui_mask "1:6,4:11"
+#define ui_head "2:8,4:11"
+#define ui_ears "3:10,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_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_hand "6:14,1:5"
+#define ui_hstore1 "5,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"
@@ -60,13 +113,21 @@ obj/hud/New(var/type = 0)
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(istype(mymob, /mob/living/carbon/human))
+ 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
diff --git a/code/game/objects/secstorage/secstorage.dm b/code/game/objects/secstorage/secstorage.dm
index 09d6f7c2ff9..95c2d6cfcff 100644
--- a/code/game/objects/secstorage/secstorage.dm
+++ b/code/game/objects/secstorage/secstorage.dm
@@ -79,18 +79,25 @@
src.closer.screen_loc = text("[],[]", mx, my)
return
-/obj/item/weapon/secstorage/proc/orient2hud(mob/user as mob)
+//This proc draws out the inventory and places the items on it. It uses the standard position.
+/obj/item/weapon/secstorage/proc/standard_orient_objs()
+ var/rows = 0
+ var/cols = 6
+ var/cx = 4
+ var/cy = 2+rows
+ src.boxes.screen_loc = text("4:16,2:16 to [4+cols]:16,[2+rows]:16")
+ for(var/obj/O in src.contents)
+ O.screen_loc = text("[cx]:16,[cy]:16")
+ O.layer = 20
+ cx++
+ if (cx > (4+cols))
+ cx = 4
+ cy--
+ src.closer.screen_loc = text("11:16,2:16")
+ return
- 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)
+/obj/item/weapon/secstorage/proc/orient2hud(mob/user as mob)
+ standard_orient_objs()
return
/obj/item/weapon/secstorage/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -154,7 +161,7 @@
/obj/item/weapon/secstorage/dropped(mob/user as mob)
- src.orient_objs(7, 8, 10, 7)
+ standard_orient_objs()
return
/obj/item/weapon/secstorage/MouseDrop(over_object, src_location, over_location)
@@ -252,6 +259,6 @@
src.closer.icon_state = "x"
src.closer.layer = 20
spawn( 5 )
- src.orient_objs(7, 8, 10, 7)
+ standard_orient_objs()
return
return
diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm
index d1fd5d985b7..69066d9943c 100644
--- a/code/game/objects/storage/storage.dm
+++ b/code/game/objects/storage/storage.dm
@@ -62,11 +62,11 @@
return
//This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right.
-//The numbers are calculated from the bottom-left (Right hand slot on the map) being 1,1.
+//The numbers are calculated from the bottom-left The bottom-left slot being 1,1.
/obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my)
var/cx = tx
var/cy = ty
- src.boxes.screen_loc = text("[tx],[ty] to [mx],[my]")
+ src.boxes.screen_loc = text("[tx]:,[ty] to [mx],[my]")
for(var/obj/O in src.contents)
O.screen_loc = text("[cx],[cy]")
O.layer = 20
@@ -77,23 +77,29 @@
src.closer.screen_loc = text("[mx+1],[my]")
return
+//This proc draws out the inventory and places the items on it. It uses the standard position.
+/obj/item/weapon/storage/proc/standard_orient_objs(var/rows,var/cols)
+ var/cx = 4
+ var/cy = 2+rows
+ src.boxes.screen_loc = text("4:16,2:16 to [4+cols]:16,[2+rows]:16")
+ for(var/obj/O in src.contents)
+ O.screen_loc = text("[cx]:16,[cy]:16")
+ O.layer = 20
+ cx++
+ if (cx > (4+cols))
+ cx = 4
+ cy--
+ src.closer.screen_loc = text("[4+cols+1]:16,2:16")
+ return
+
//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/col_num = 0
- var/row_count = min(7,storage_slots) -1 //For belts, the meanings of the two variables are inverted, so we don't have to declare new ones
+ //var/mob/living/carbon/human/H = user
+ var/row_num = 0
+ var/col_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.
- if (src == user.l_hand)
- src.orient_objs(3-col_num, 3+row_count, 3, 3)
- else if(src == user.r_hand)
- src.orient_objs(1, 3+row_count, 1+col_num, 3)
- else if(src == user.back)
- src.orient_objs(4-col_num, 3+row_count, 4, 3)
- else if(istype(user, /mob/living/carbon/human) && src == H.belt)//only humans have belts
- src.orient_objs(1, 3+col_num, 1+row_count, 3)
- else
- src.orient_objs(5, 10+col_num, 5 + row_count, 10)
+ row_num = round((contents.len-1) / 7) // 7 is the maximum allowed width.
+ src.standard_orient_objs(row_num,col_count)
return
//This proc is called when you want to place an item into the storage item.
@@ -183,11 +189,6 @@
return
/obj/item/weapon/storage/dropped(mob/user as mob)
- 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)
@@ -241,11 +242,7 @@
src.closer.master = src
src.closer.icon_state = "x"
src.closer.layer = 20
- spawn( 5 )
- var/row_count = min(7,storage_slots) -1
- var/col_num = round((storage_slots - 1) / 7) // 7 is the maximum allowed column height for r_hand, l_hand and back storage items. -Yvarov
- src.orient_objs(5, 10+col_num, 5 + row_count, 10)
- return
+ orient2hud()
return
/obj/item/weapon/storage/emp_act(severity)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/hud.dm b/code/modules/mob/living/carbon/alien/humanoid/hud.dm
index 6eedd909769..1826f06dc90 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/hud.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/hud.dm
@@ -8,6 +8,7 @@
src.mov_int = list( )
src.vimpaired = list( )
src.darkMask = list( )
+ src.intent_small_hud_objects = list( )
src.g_dither = new src.h_type( src )
src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
@@ -49,6 +50,41 @@
src.adding += using
action_intent = using
+//intent small hud objects
+ using = new src.h_type( src )
+ using.name = "help"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "help_small"
+ using.screen_loc = ui_help_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "disarm"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "disarm_small"
+ using.screen_loc = ui_disarm_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "grab"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "grab_small"
+ using.screen_loc = ui_grab_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "harm"
+ using.icon = 'screen1_alien.dmi'
+ using.icon_state = "harm_small"
+ using.screen_loc = ui_harm_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+//end intent small hud objects
+
using = new src.h_type( src )
using.name = "mov_intent"
using.dir = SOUTHWEST
@@ -59,6 +95,7 @@
src.adding += using
move_intent = using
+/*
using = new src.h_type(src) //Right hud bar
using.dir = SOUTH
using.icon = 'screen1_alien.dmi'
@@ -79,7 +116,9 @@
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'
@@ -97,6 +136,7 @@
using.screen_loc = ui_iarrowright
using.layer = 19
src.adding += using
+ */
using = new src.h_type( src )
using.name = "drop"
@@ -115,7 +155,7 @@
using.dir = SOUTH
using.icon = 'screen1_alien.dmi'
using.icon_state = "equip"
- using.screen_loc = ui_iclothing
+ using.screen_loc = ui_alien_oclothing
using.layer = 19
src.adding += using
@@ -125,7 +165,7 @@
using.dir = WEST
using.icon = 'screen1_alien.dmi'
using.icon_state = "equip"
- using.screen_loc = ui_id
+ using.screen_loc = ui_rhand
using.layer = 19
src.adding += using
@@ -135,7 +175,7 @@
using.dir = EAST
using.icon = 'screen1_alien.dmi'
using.icon_state = "equip"
- using.screen_loc = ui_belt
+ using.screen_loc = ui_lhand
using.layer = 19
src.adding += using
@@ -162,11 +202,12 @@
using.name = "head"
using.icon = 'screen1_alien.dmi'
using.icon_state = "hair"
- using.screen_loc = ui_oclothing
+ using.screen_loc = ui_alien_head
using.layer = 19
src.adding += using
//end of equippable shit
+/*
using = new src.h_type( src )
using.name = "resist"
using.icon = 'screen1_alien.dmi'
@@ -174,8 +215,7 @@
using.screen_loc = ui_resist
using.layer = 19
src.adding += using
-
-
+*/
using = new src.h_type( src )
using.name = null
@@ -241,7 +281,7 @@
mymob.healths.icon = 'screen1_alien.dmi'
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
+ mymob.healths.screen_loc = ui_alien_health
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = 'screen1_alien.dmi'
@@ -263,6 +303,7 @@
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"
@@ -281,6 +322,7 @@
mymob.rest.icon_state = "rest0"
mymob.rest.name = "rest"
mymob.rest.screen_loc = ui_rest
+ */
mymob.zone_sel = new /obj/screen/zone_sel( null )
@@ -289,6 +331,6 @@
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 += 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
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index e6379835461..29f70e1d898 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -398,7 +398,7 @@
overlays += image("icon" = 'blood.dmi', "icon_state" = "armorblood[!lying ? "" : "2"]", "layer" = MOB_LAYER)
else
overlays += image("icon" = 'blood.dmi', "icon_state" = "suitblood[!lying ? "" : "2"]", "layer" = MOB_LAYER)
- wear_suit.screen_loc = ui_iclothing
+ wear_suit.screen_loc = ui_alien_oclothing
if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket))
if (handcuffed)
handcuffed.loc = loc
@@ -420,7 +420,7 @@
overlays += image("icon" = 'mob.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
if (head.blood_DNA)
overlays += image("icon" = 'blood.dmi', "icon_state" = "helmetblood[!lying ? "" : "2"]", "layer" = MOB_LAYER)
- head.screen_loc = ui_oclothing
+ head.screen_loc = ui_alien_head
if (l_store)
l_store.screen_loc = ui_storage1
@@ -435,12 +435,12 @@
if (r_hand)
overlays += image("icon" = 'items_righthand.dmi', "icon_state" = r_hand.item_state ? r_hand.item_state : r_hand.icon_state, "layer" = MOB_LAYER+1)
- 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" = MOB_LAYER+1)
- 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 42b96ff3bc4..42563b54d8c 100644
--- a/code/modules/mob/living/carbon/alien/larva/hud.dm
+++ b/code/modules/mob/living/carbon/alien/larva/hud.dm
@@ -61,6 +61,7 @@
src.adding += using
move_intent = using
+/*
using = new src.h_type(src) //Right hud bar
using.dir = SOUTH
using.icon = 'screen1_alien.dmi'
@@ -81,7 +82,9 @@
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'
@@ -100,7 +103,6 @@
using.layer = 19
src.adding += using
-
using = new src.h_type( src )
using.name = "resist"
using.icon = 'screen1_alien.dmi'
@@ -108,7 +110,7 @@
using.screen_loc = ui_resist
using.layer = 19
src.adding += using
-
+*/
using = new src.h_type( src )
@@ -171,7 +173,7 @@
mymob.healths.icon = 'screen1_alien.dmi'
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
+ mymob.healths.screen_loc = ui_alien_health
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = 'screen1_alien.dmi'
@@ -193,7 +195,7 @@
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"
@@ -205,7 +207,7 @@
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
@@ -213,7 +215,7 @@
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 += 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 e57e72a24fc..c5474c203f0 100644
--- a/code/modules/mob/living/carbon/brain/hud.dm
+++ b/code/modules/mob/living/carbon/brain/hud.dm
@@ -1,5 +1,7 @@
/obj/hud/proc/brain_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.
+
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 0a9b872d6c4..7d1f44d133d 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -148,12 +148,32 @@
usr << "Your other hand is too busy holding the [item_in_hand.name]"
return
src.hand = !( src.hand )
- if (!( 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"
+ 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.
+
+ if(istext(selhand))
+ selhand = lowertext(selhand)
+
+ if(selhand == "right" || selhand == "r")
+ selhand = 0
+ if(selhand == "left" || selhand == "l")
+ selhand = 1
+
+ if(selhand != src.hand)
+ swap_hand()
+
/mob/living/carbon/proc/help_shake_act(mob/living/carbon/M)
if (src.health > 0)
if(src == M && istype(src, /mob/living/carbon/human))
diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm
index fc89757ad0f..5841f775ce4 100644
--- a/code/modules/mob/living/carbon/human/hud.dm
+++ b/code/modules/mob/living/carbon/human/hud.dm
@@ -1,5 +1,7 @@
/obj/hud/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.
+
src.adding = list( )
src.other = list( )
src.intents = list( )
@@ -8,6 +10,7 @@
src.mov_int = list( )
src.vimpaired = list( )
src.darkMask = list( )
+ src.intent_small_hud_objects = list( )
src.g_dither = new src.h_type( src )
src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
@@ -53,6 +56,41 @@
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.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "disarm"
+ using.icon = ui_style
+ using.icon_state = "disarm_small"
+ using.screen_loc = ui_disarm_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "grab"
+ using.icon = ui_style
+ using.icon_state = "grab_small"
+ using.screen_loc = ui_grab_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "harm"
+ using.icon = ui_style
+ using.icon_state = "harm_small"
+ using.screen_loc = ui_harm_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+//end intent small hud objects
+
using = new src.h_type( src )
using.name = "mov_intent"
using.dir = SOUTHWEST
@@ -63,6 +101,7 @@
src.adding += using
move_intent = using
+/*
using = new src.h_type(src) //Right hud bar
using.dir = SOUTH
using.icon = ui_style
@@ -101,6 +140,7 @@
using.screen_loc = ui_iarrowright
using.layer = 19
src.adding += using
+*/
using = new src.h_type( src )
using.name = "drop"
@@ -117,7 +157,7 @@
using.icon_state = "center"
using.screen_loc = ui_iclothing
using.layer = 19
- src.adding += using
+ src.other += using
using = new src.h_type( src )
using.name = "o_clothing"
@@ -126,7 +166,7 @@
using.icon_state = "equip"
using.screen_loc = ui_oclothing
using.layer = 19
- src.adding += using
+ src.other += using
/* using = new src.h_type( src )
using.name = "headset"
@@ -141,25 +181,49 @@
using.name = "r_hand"
using.dir = WEST
using.icon = ui_style
- using.icon_state = "equip"
+ 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 = "equip"
+ 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 = SOUTHWEST
+ using.dir = NORTH
using.icon = ui_style
- using.icon_state = "equip"
+ using.icon_state = "id"
using.screen_loc = ui_id
using.layer = 19
src.adding += using
@@ -171,13 +235,13 @@
using.icon_state = "equip"
using.screen_loc = ui_mask
using.layer = 19
- src.adding += using
+ src.other += using
using = new src.h_type( src )
using.name = "back"
- using.dir = NORTHEAST
+ using.dir = NORTH
using.icon = ui_style
- using.icon_state = "equip"
+ using.icon_state = "back"
using.screen_loc = ui_back
using.layer = 19
src.adding += using
@@ -201,11 +265,13 @@
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.other += using
+/*
using = new src.h_type( src )
using.name = "resist"
using.icon = ui_style
@@ -213,12 +279,13 @@
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.screen_loc = ui_inventory
using.layer = 20
src.adding += using
@@ -268,7 +335,7 @@
using.icon_state = "hair"
using.screen_loc = ui_head
using.layer = 19
- src.adding += using
+ src.other += using
using = new src.h_type( src )
using.name = "shoes"
@@ -527,6 +594,7 @@
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"
@@ -545,6 +613,7 @@
mymob.rest.icon_state = "rest0"
mymob.rest.name = "rest"
mymob.rest.screen_loc = ui_rest
+*/
/*/Monkey blockers
@@ -641,7 +710,7 @@
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.nutrition_icon, 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.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach )
mymob.client.screen += src.adding + src.other
//if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index c4e71425729..93e41a166f2 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -890,8 +890,6 @@
overlays += image("icon" = 'belt_mirror.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
s_store.screen_loc = ui_sstore1
- if(client) hud_used.other_update() //Update the screenloc of the items on the 'other' inventory bar
- //to hide / show them.
if (client)
if (i_select)
if (intent)
@@ -1006,6 +1004,8 @@
overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
back.screen_loc = ui_back
+ if(client) hud_used.other_update() //Update the screenloc of the items on the 'other' inventory bar
+ //to hide / show them.
if (handcuffed)
pulling = null
if (!lying)
diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm
index c6318d92d0c..719a05448f3 100644
--- a/code/modules/mob/living/carbon/monkey/hud.dm
+++ b/code/modules/mob/living/carbon/monkey/hud.dm
@@ -1,5 +1,7 @@
/obj/hud/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.
+
src.adding = list( )
src.other = list( )
src.intents = list( )
@@ -8,8 +10,9 @@
src.mov_int = list( )
src.vimpaired = list( )
src.darkMask = list( )
+ src.intent_small_hud_objects = list( )
- var/icon/blocked = icon(ui_style,"blocked")
+ //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"
@@ -55,6 +58,41 @@
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.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "disarm"
+ using.icon = ui_style
+ using.icon_state = "disarm_small"
+ using.screen_loc = ui_disarm_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "grab"
+ using.icon = ui_style
+ using.icon_state = "grab_small"
+ using.screen_loc = ui_grab_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+ using = new src.h_type( src )
+ using.name = "harm"
+ using.icon = ui_style
+ using.icon_state = "harm_small"
+ using.screen_loc = ui_harm_small
+ using.layer = 21
+ src.intent_small_hud_objects += using
+
+//end intent small hud objects
+
using = new src.h_type( src )
using.name = "mov_intent"
using.dir = SOUTHWEST
@@ -65,6 +103,7 @@
src.adding += using
move_intent = using
+/*
using = new src.h_type(src) //Right hud bar
using.dir = SOUTH
using.icon = ui_style
@@ -102,7 +141,7 @@
using.dir = EAST
using.screen_loc = ui_iarrowright
using.layer = 19
- src.adding += using
+ src.adding += using*/
using = new src.h_type( src )
using.name = "drop"
@@ -111,7 +150,7 @@
using.screen_loc = ui_dropbutton
using.layer = 19
src.adding += using
-
+/*
using = new src.h_type( src )
using.name = "i_clothing"
using.dir = SOUTH
@@ -131,7 +170,7 @@
using.layer = 19
using.overlays += blocked
src.adding += using
-
+*/
/* using = new src.h_type( src )
using.name = "headset"
using.dir = SOUTHEAST
@@ -145,20 +184,44 @@
using.name = "r_hand"
using.dir = WEST
using.icon = ui_style
- using.icon_state = "equip"
+ 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 = "equip"
+ 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 = SOUTHWEST
@@ -168,13 +231,14 @@
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.screen_loc = ui_monkey_mask
using.layer = 19
src.adding += using
@@ -186,7 +250,7 @@
using.screen_loc = ui_back
using.layer = 19
src.adding += using
-
+/*
using = new src.h_type( src )
using.name = "storage1"
using.icon = ui_style
@@ -204,7 +268,6 @@
using.layer = 19
using.overlays += blocked
src.adding += using
-
using = new src.h_type( src )
using.name = "resist"
using.icon = ui_style
@@ -274,6 +337,7 @@
using.layer = 19
using.overlays += blocked
src.adding += using
+*/
/*
using = new src.h_type( src )
@@ -441,6 +505,7 @@
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"
@@ -458,7 +523,7 @@
mymob.rest.icon = ui_style
mymob.rest.icon_state = "rest0"
mymob.rest.name = "rest"
- mymob.rest.screen_loc = ui_rest
+ mymob.rest.screen_loc = ui_rest*/
/*/Monkey blockers
@@ -555,7 +620,7 @@
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 += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, 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
//if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 1df5e07c45f..b23877216be 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -418,7 +418,7 @@
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_mask
+ wear_mask.screen_loc = ui_monkey_mask
if (r_hand)
if(update_icon)
@@ -433,7 +433,7 @@
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_back
+ back.screen_loc = ui_monkey_back
if (handcuffed && update_icon)
pulling = null
diff --git a/code/modules/mob/living/silicon/robot/hud.dm b/code/modules/mob/living/silicon/robot/hud.dm
index 9c90273d37f..637d47bd116 100644
--- a/code/modules/mob/living/silicon/robot/hud.dm
+++ b/code/modules/mob/living/silicon/robot/hud.dm
@@ -53,6 +53,7 @@
//Generic overlays
+/*
using = new src.h_type(src) //Right hud bar
using.dir = SOUTH
using.icon = 'screen1_robot.dmi'
@@ -72,7 +73,7 @@
using.icon = 'screen1_robot.dmi'
using.screen_loc = "EAST+1,SOUTH-1"
using.layer = 19
- src.adding += using
+ src.adding += using*/
//Module select
@@ -119,7 +120,7 @@
using.layer = 20
src.adding += using
action_intent = using
-
+/*
using = new src.h_type( src )
using.name = "arrowleft"
using.icon = 'screen1_robot.dmi'
@@ -136,7 +137,7 @@
using.dir = EAST
using.screen_loc = ui_iarrowright
using.layer = 19
- src.adding += using
+ src.adding += using*/
//End of Intent
//Cell
@@ -151,7 +152,7 @@
mymob.healths.icon = 'screen1_robot.dmi'
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
- mymob.healths.screen_loc = ui_health
+ mymob.healths.screen_loc = ui_borg_health
//Installed Module
mymob.hands = new /obj/screen( null )
@@ -174,7 +175,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_hand
+ mymob.throw_icon.screen_loc = ui_borg_store
//Temp
mymob.bodytemp = new /obj/screen( null )
@@ -217,6 +218,7 @@
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"
@@ -228,6 +230,7 @@
mymob.rest.icon_state = "rest0"
mymob.rest.name = "rest"
mymob.rest.screen_loc = ui_rest
+ */
mymob.zone_sel = new /obj/screen/zone_sel( null )
@@ -236,7 +239,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
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index 3a64bc04516..83d84f520d0 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -140,7 +140,7 @@ datum/preferences
dat += "Age: [age]"
dat += "
"
- dat += "UI Style: [UI == UI_NEW ? "New" : "Old"]
"
+ //dat += "UI Style: [UI == UI_NEW ? "New" : "Old"]
" -- UI Style no longer a thing
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"]
"
diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm
index 08dc7eb9253..0d96ae46277 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 = "EAST+1,NORTH"
+ screen_loc = ui_zonesel
/obj/screen/zone_sel/MouseDown(location, control,params)
@@ -199,21 +199,71 @@
/obj/screen/grab/attackby()
return
+/obj/screen/MouseEntered(object,location,control,params)
+ if(!ishuman(usr) && !istype(usr,/mob/living/carbon/alien/humanoid) && !islarva(usr) && !ismonkey(usr))
+ return
+ switch(name)
+ /*
+ if("other")
+ if (usr.hud_used.show_otherinventory)
+ usr.hud_used.show_otherinventory = 0
+ usr.client.screen -= usr.hud_used.other
+ else
+ usr.hud_used.show_otherinventory = 1
+ usr.client.screen += usr.hud_used.other
+
+ usr.hud_used.other_update()*/
+ if("act_intent")
+ if(!usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 1
+ usr.client.screen += usr.hud_used.intent_small_hud_objects
+ if("harm")
+ if(!usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 1
+ usr.client.screen += usr.hud_used.intent_small_hud_objects
+ if("help")
+ if(!usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 1
+ usr.client.screen += usr.hud_used.intent_small_hud_objects
+ if("disarm")
+ if(!usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 1
+ usr.client.screen += usr.hud_used.intent_small_hud_objects
+ if("grab")
+ if(!usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 1
+ usr.client.screen += usr.hud_used.intent_small_hud_objects
+
+
+/obj/screen/MouseExited(object,location,control,params)
+ if(!ishuman(usr) && !istype(usr,/mob/living/carbon/alien/humanoid) && !islarva(usr) && !ismonkey(usr))
+ return
+ switch(name)
+ if("act_intent")
+ if (usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 0
+ usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if("harm")
+ if (usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 0
+ usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if("help")
+ if (usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 0
+ usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if("disarm")
+ if (usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 0
+ usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ if("grab")
+ if (usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 0
+ usr.client.screen -= usr.hud_used.intent_small_hud_objects
+
/obj/screen/Click(location, control, params)
-
- var/list/pa = params2list(params)
-
switch(name)
if("map")
-
usr.clearmap()
- if("maprefresh")
- var/obj/machinery/computer/security/seccomp = usr.machine
-
- if(seccomp!=null)
- seccomp.drawmap(usr)
- else
- usr.clearmap()
if("other")
if (usr.hud_used.show_otherinventory)
@@ -225,36 +275,13 @@
usr.hud_used.other_update()
+ if("maprefresh")
+ var/obj/machinery/computer/security/seccomp = usr.machine
- if("act_intent")
- if(pa.Find("left"))
- switch(usr.a_intent)
- if("help")
- usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
- if("disarm")
- usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
- if("hurt")
- usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
- if("grab")
- usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
+ if(seccomp!=null)
+ seccomp.drawmap(usr)
else
- switch(usr.a_intent)
- if("help")
- usr.a_intent = "grab"
- usr.hud_used.action_intent.icon_state = "grab"
- if("disarm")
- usr.a_intent = "help"
- usr.hud_used.action_intent.icon_state = "help"
- if("hurt")
- usr.a_intent = "disarm"
- usr.hud_used.action_intent.icon_state = "disarm"
- if("grab")
- usr.a_intent = "hurt"
- usr.hud_used.action_intent.icon_state = "harm"
+ usr.clearmap()
if("arrowleft")
switch(usr.a_intent)
@@ -316,20 +343,6 @@
if("walk")
usr.m_intent = "run"
usr.hud_used.move_intent.icon_state = "running"
-
- if("intent")
- if (!( usr.intent ))
- switch(usr.a_intent)
- if("help")
- usr.intent = "13,15"
- if("disarm")
- usr.intent = "14,15"
- if("hurt")
- usr.intent = "15,15"
- if("grab")
- usr.intent = "12,15"
- else
- usr.intent = null
if("m_intent")
if (!( usr.m_int ))
switch(usr.m_intent)
@@ -350,20 +363,6 @@
if("run")
usr.m_intent = "run"
usr.m_int = "13,14"
- if("hurt")
- usr.a_intent = "hurt"
- usr.intent = "15,15"
- if("grab")
- usr.a_intent = "grab"
- usr.intent = "12,15"
- if("disarm")
- if (istype(usr, /mob/living/carbon/human))
- var/mob/M = usr
- M.a_intent = "disarm"
- M.intent = "14,15"
- if("help")
- usr.a_intent = "help"
- usr.intent = "13,15"
if("Reset Machine")
usr.machine = null
if("internal")
@@ -407,16 +406,43 @@
usr.internals.icon_state = "internal1"
else
usr << "\blue You don't have an oxygen tank."
+ if("act_intent")
+ if(ishuman(usr) || istype(usr,/mob/living/carbon/alien/humanoid) || islarva(usr))
+ if (usr.hud_used.show_intent_icons)
+ usr.hud_used.show_intent_icons = 0
+ usr.client.screen -= usr.hud_used.intent_small_hud_objects
+ else
+ usr.hud_used.show_intent_icons = 1
+ usr.client.screen += usr.hud_used.intent_small_hud_objects
+ if(issilicon(usr))
+ if(usr.a_intent == "help")
+ usr.a_intent = "hurt"
+ usr.hud_used.action_intent.icon_state = "harm"
+ 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("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("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("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("pull")
usr.pulling = null
- if("sleep")
- if(usr.sleeping)
- return
- else
- usr.sleeping = 20 //Short nap
- if("rest")
- usr.resting = !( usr.resting )
- //kavala2
if("throw")
if (!usr.stat && isturf(usr.loc) && !usr.restrained())
usr:toggle_throw_mode()
@@ -426,79 +452,14 @@
usr:swap_hand()
if("hand")
usr:swap_hand()
- if("resist")
- if(usr.next_move > world.time)
- return
- usr.next_move = world.time + 20
- if ((!( usr.stat ) && usr.canmove && !( usr.restrained() )))
- var/resisting = 0
- for(var/obj/O in usr.requests)
- del(O)
- resisting++
- for(var/obj/item/weapon/grab/G in usr.grabbed_by)
- resisting++
- if (G.state == 1)
- del(G)
- else
- if (G.state == 2)
- if (prob(25))
- for(var/mob/O in viewers(usr, null))
- O.show_message(text("\red [] has broken free of []'s grip!", usr, G.assailant), 1)
- del(G)
- else
- if (G.state == 3)
- if (prob(5))
- for(var/mob/O in viewers(usr, null))
- O.show_message(text("\red [] has broken free of []'s headlock!", usr, G.assailant), 1)
- del(G)
- if(resisting)
- for(var/mob/O in viewers(usr, null))
- O.show_message(text("\red [] resists!", usr), 1)
- if(usr:handcuffed && usr:canmove && (usr.last_special <= world.time))
- usr.next_move = world.time + 100
- usr.last_special = world.time + 100
- if(isalienadult(usr) || usr.mutations & HULK)//Don't want to do a lot of logic gating here.
- usr << "\green You attempt to break your handcuffs. (This will take around 5 seconds and you need to stand still)"
- for(var/mob/O in viewers(usr))
- O.show_message(text("\red [] is trying to break the handcuffs!", usr), 1)
- spawn(0)
- if(do_after(usr, 50))
- if(!usr:handcuffed || usr:buckled)
- return
- for(var/mob/O in viewers(usr))
- O.show_message(text("\red [] manages to break the handcuffs!", usr), 1)
- usr << "\green You successfully break your handcuffs."
- del(usr:handcuffed)
- usr:handcuffed = null
- else
- usr << "\red You attempt to remove your handcuffs. (This will take around 2 minutes and you need to stand still)"
- for(var/mob/O in viewers(usr))
- O.show_message(text("\red [] attempts to remove the handcuffs!", usr), 1)
- spawn(0)
- if(do_after(usr, 1200))
- if(!usr:handcuffed || usr:buckled)
- return // time leniency for lag which also might make this whole thing pointless but the server
- for(var/mob/O in viewers(usr))// lags so hard that 40s isn't lenient enough - Quarxink
- O.show_message(text("\red [] manages to remove the handcuffs!", usr), 1)
- usr << "\blue You successfully remove your handcuffs."
- usr:handcuffed:loc = usr:loc
- usr:handcuffed = null
- if(usr:handcuffed && (usr.last_special <= world.time) && usr:buckled)
- usr.next_move = world.time + 100
- usr.last_special = world.time + 100
- usr << "\red You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)"
- for(var/mob/O in viewers(usr))
- O.show_message(text("\red [] attempts to unbuckle themself!", usr), 1)
- spawn(0)
- if(do_after(usr, 1200))
- if(!usr:buckled)
- return
- for(var/mob/O in viewers(usr))
- O.show_message(text("\red [] manages to unbuckle themself!", usr), 1)
- usr << "\blue You successfully unbuckle yourself."
- usr:buckled.manual_unbuckle(usr)
-
-
+ if("r_hand")
+ if(iscarbon(usr))
+ var/mob/living/carbon/C = usr
+ C.activate_hand("r")
+ if("l_hand")
+ if(iscarbon(usr))
+ var/mob/living/carbon/C = usr
+ C.activate_hand("l")
if("module")
if(issilicon(usr))
if(usr:module)
@@ -560,3 +521,96 @@
/obj/screen/attack_paw(mob/user as mob, using)
user.db_click(name, using)
return
+
+
+/mob/living/verb/mob_sleep()
+ set name = "Sleep"
+ set category = "IC"
+
+ if(usr.sleeping)
+ usr << "\red You are already sleeping"
+ return
+ else
+ usr.sleeping = 20 //Short nap
+
+/mob/living/verb/lay_down()
+ set name = "Lay down / Get up"
+ set category = "IC"
+
+ usr.resting = !( usr.resting )
+ usr << "\blue You are now [(usr.resting) ? "resting" : "getting up"]"
+
+/mob/living/verb/resist()
+ set name = "Resist"
+ set category = "IC"
+
+ if(usr.next_move > world.time)
+ return
+ usr.next_move = world.time + 20
+ if ((!( usr.stat ) && usr.canmove && !( usr.restrained() )))
+ var/resisting = 0
+ for(var/obj/O in usr.requests)
+ del(O)
+ resisting++
+ for(var/obj/item/weapon/grab/G in usr.grabbed_by)
+ resisting++
+ if (G.state == 1)
+ del(G)
+ else
+ if (G.state == 2)
+ if (prob(25))
+ for(var/mob/O in viewers(usr, null))
+ O.show_message(text("\red [] has broken free of []'s grip!", usr, G.assailant), 1)
+ del(G)
+ else
+ if (G.state == 3)
+ if (prob(5))
+ for(var/mob/O in viewers(usr, null))
+ O.show_message(text("\red [] has broken free of []'s headlock!", usr, G.assailant), 1)
+ del(G)
+ if(resisting)
+ for(var/mob/O in viewers(usr, null))
+ O.show_message(text("\red [] resists!", usr), 1)
+ if(usr:handcuffed && usr:canmove && (usr.last_special <= world.time))
+ usr.next_move = world.time + 100
+ usr.last_special = world.time + 100
+ if(isalienadult(usr) || usr.mutations & HULK)//Don't want to do a lot of logic gating here.
+ usr << "\green You attempt to break your handcuffs. (This will take around 5 seconds and you need to stand still)"
+ for(var/mob/O in viewers(usr))
+ O.show_message(text("\red [] is trying to break the handcuffs!", usr), 1)
+ spawn(0)
+ if(do_after(usr, 50))
+ if(!usr:handcuffed || usr:buckled)
+ return
+ for(var/mob/O in viewers(usr))
+ O.show_message(text("\red [] manages to break the handcuffs!", usr), 1)
+ usr << "\green You successfully break your handcuffs."
+ del(usr:handcuffed)
+ usr:handcuffed = null
+ else
+ usr << "\red You attempt to remove your handcuffs. (This will take around 2 minutes and you need to stand still)"
+ for(var/mob/O in viewers(usr))
+ O.show_message(text("\red [] attempts to remove the handcuffs!", usr), 1)
+ spawn(0)
+ if(do_after(usr, 1200))
+ if(!usr:handcuffed || usr:buckled)
+ return // time leniency for lag which also might make this whole thing pointless but the server
+ for(var/mob/O in viewers(usr))// lags so hard that 40s isn't lenient enough - Quarxink
+ O.show_message(text("\red [] manages to remove the handcuffs!", usr), 1)
+ usr << "\blue You successfully remove your handcuffs."
+ usr:handcuffed:loc = usr:loc
+ usr:handcuffed = null
+ if(usr:handcuffed && (usr.last_special <= world.time) && usr:buckled)
+ usr.next_move = world.time + 100
+ usr.last_special = world.time + 100
+ usr << "\red You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)"
+ for(var/mob/O in viewers(usr))
+ O.show_message(text("\red [] attempts to unbuckle themself!", usr), 1)
+ spawn(0)
+ if(do_after(usr, 1200))
+ if(!usr:buckled)
+ return
+ for(var/mob/O in viewers(usr))
+ O.show_message(text("\red [] manages to unbuckle themself!", usr), 1)
+ usr << "\blue You successfully unbuckle yourself."
+ usr:buckled.manual_unbuckle(usr)
\ No newline at end of file
diff --git a/html/changelog.html b/html/changelog.html
index 9326c043fa8..828b0b91701 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -51,6 +51,7 @@ should be listed in the changelog upon commit tho. Thanks. -->