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. -->

Sunday, May 20 2012

Errorage updated:

diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 6dce23c6809..d607e98e372 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_alien.dmi b/icons/mob/screen1_alien.dmi index 900feb86025..be825eee1e2 100644 Binary files a/icons/mob/screen1_alien.dmi and b/icons/mob/screen1_alien.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index fb90113bab4..827bdf1b3a2 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ