From 20bdba6c67a453f726f06998e1e7025253c6bffd Mon Sep 17 00:00:00 2001 From: Ater Ignis Date: Sat, 10 Nov 2012 14:19:02 +0400 Subject: [PATCH] all-intents-intent-button shows all possible intents on intent button and allows choosing needed one directly, without scrolling them all --- code/game/hud.dm | 5 ++ .../mob/living/carbon/alien/humanoid/hud.dm | 49 ++++++++++++ .../mob/living/carbon/amorph/amorph_hud.dm | 76 +++++++++++-------- code/modules/mob/living/carbon/human/hud.dm | 75 ++++++++++++++---- code/modules/mob/living/carbon/monkey/hud.dm | 49 ++++++++++++ code/modules/mob/screen.dm | 24 +++--- 6 files changed, 222 insertions(+), 56 deletions(-) diff --git a/code/game/hud.dm b/code/game/hud.dm index 2beb4a05386..4d2e37532d9 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -33,6 +33,7 @@ #define ui_monkey_back "6:14,1:5" //monkey //Lower right, persistant menu +#define ui_dropbutton "11:22,1:5" #define ui_drop_throw "14:28,2:7" #define ui_pull_resist "13:26,2:7" #define ui_acti "13:26,1:5" @@ -168,6 +169,10 @@ var/datum/global_hud/global_hud = new() O.mouse_opacity = 0 +/datum/hud/var/obj/screen/grab_intent +/datum/hud/var/obj/screen/hurt_intent +/datum/hud/var/obj/screen/disarm_intent +/datum/hud/var/obj/screen/help_intent /datum/hud var/mob/mymob diff --git a/code/modules/mob/living/carbon/alien/humanoid/hud.dm b/code/modules/mob/living/carbon/alien/humanoid/hud.dm index 78b705871f5..4937483c3de 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/hud.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/hud.dm @@ -16,6 +16,55 @@ src.adding += using action_intent = using +//intent small hud objects + var/icon/ico + + ico = new('icons/mob/screen1_alien.dmi', "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen( src ) + using.name = "help" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + help_intent = using + + ico = new('icons/mob/screen1_alien.dmi', "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen( src ) + using.name = "disarm" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + disarm_intent = using + + ico = new('icons/mob/screen1_alien.dmi', "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen( src ) + using.name = "grab" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + grab_intent = using + + ico = new('icons/mob/screen1_alien.dmi', "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen( src ) + using.name = "harm" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + hurt_intent = using + +//end intent small hud objects + using = new /obj/screen() using.name = "mov_intent" using.dir = SOUTHWEST diff --git a/code/modules/mob/living/carbon/amorph/amorph_hud.dm b/code/modules/mob/living/carbon/amorph/amorph_hud.dm index 91710d8053f..7236790bb79 100644 --- a/code/modules/mob/living/carbon/amorph/amorph_hud.dm +++ b/code/modules/mob/living/carbon/amorph/amorph_hud.dm @@ -10,7 +10,7 @@ src.darkMask = list( ) src.intent_small_hud_objects = list( ) - src.g_dither = new src.h_type( src ) + src.g_dither = new /obj/screen( src ) src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH" src.g_dither.name = "Mask" src.g_dither.icon = ui_style @@ -18,7 +18,7 @@ src.g_dither.layer = 18 src.g_dither.mouse_opacity = 0 - src.alien_view = new src.h_type(src) + src.alien_view = new /obj/screen(src) src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH" src.alien_view.name = "Alien" src.alien_view.icon = ui_style @@ -26,7 +26,7 @@ src.alien_view.layer = 18 src.alien_view.mouse_opacity = 0 - src.blurry = new src.h_type( src ) + src.blurry = new /obj/screen( src ) src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH" src.blurry.name = "Blurry" src.blurry.icon = ui_style @@ -34,7 +34,7 @@ src.blurry.layer = 17 src.blurry.mouse_opacity = 0 - src.druggy = new src.h_type( src ) + src.druggy = new /obj/screen( src ) src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH" src.druggy.name = "Druggy" src.druggy.icon = ui_style @@ -44,7 +44,7 @@ var/obj/screen/using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "act_intent" using.dir = SOUTHWEST using.icon = ui_style @@ -55,45 +55,55 @@ action_intent = using //intent small hud objects - using = new src.h_type( src ) + var/icon/ico + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen( src ) using.name = "help" - using.icon = ui_style - using.icon_state = (mymob.a_intent == "help" ? "help_small_active" : "help_small") - using.screen_loc = ui_help_small + using.icon = ico + using.screen_loc = ui_acti using.layer = 21 src.adding += using help_intent = using - using = new src.h_type( src ) + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen( src ) using.name = "disarm" - using.icon = ui_style - using.icon_state = (mymob.a_intent == "disarm" ? "disarm_small_active" : "disarm_small") - using.screen_loc = ui_disarm_small + using.icon = ico + using.screen_loc = ui_acti using.layer = 21 src.adding += using disarm_intent = using - using = new src.h_type( src ) + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen( src ) using.name = "grab" - using.icon = ui_style - using.icon_state = (mymob.a_intent == "grab" ? "grab_small_active" : "grab_small") - using.screen_loc = ui_grab_small + using.icon = ico + using.screen_loc = ui_acti using.layer = 21 src.adding += using grab_intent = using - using = new src.h_type( src ) + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen( src ) using.name = "harm" - using.icon = ui_style - using.icon_state = (mymob.a_intent == "hurt" ? "harm_small_active" : "harm_small") - using.screen_loc = ui_harm_small + using.icon = ico + using.screen_loc = ui_acti using.layer = 21 src.adding += using hurt_intent = using //end intent small hud objects - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "mov_intent" using.dir = SOUTHWEST using.icon = ui_style @@ -103,7 +113,7 @@ src.adding += using move_intent = using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "drop" using.icon = ui_style using.icon_state = "act_drop" @@ -111,7 +121,7 @@ using.layer = 19 src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "r_hand" using.dir = WEST using.icon = ui_style @@ -123,7 +133,7 @@ src.r_hand_hud_object = using src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "l_hand" using.dir = EAST using.icon = ui_style @@ -135,7 +145,7 @@ src.l_hand_hud_object = using src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "hand" using.dir = SOUTH using.icon = ui_style @@ -144,7 +154,7 @@ using.layer = 19 src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "hand" using.dir = SOUTH using.icon = ui_style @@ -153,7 +163,7 @@ using.layer = 19 src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "mask" using.dir = NORTH using.icon = ui_style @@ -162,7 +172,7 @@ using.layer = 19 src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "back" using.dir = NORTHEAST using.icon = ui_style @@ -171,7 +181,7 @@ using.layer = 19 src.adding += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = null using.icon = ui_style using.icon_state = "dither50" @@ -179,7 +189,7 @@ using.layer = 17 using.mouse_opacity = 0 src.vimpaired += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = null using.icon = ui_style using.icon_state = "dither50" @@ -187,7 +197,7 @@ using.layer = 17 using.mouse_opacity = 0 src.vimpaired += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = null using.icon = ui_style using.icon_state = "dither50" @@ -195,7 +205,7 @@ using.layer = 17 using.mouse_opacity = 0 src.vimpaired += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = null using.icon = ui_style using.icon_state = "dither50" diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index 32a4b6bce07..baaa63bd93d 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -11,12 +11,61 @@ using.name = "act_intent" using.dir = SOUTHWEST using.icon = ui_style - using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent) + using.icon_state = "intent_"+mymob.a_intent using.screen_loc = ui_acti using.layer = 20 src.adding += using action_intent = using +//intent small hud objects + var/icon/ico + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen( src ) + using.name = "help" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + help_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen( src ) + using.name = "disarm" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + disarm_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen( src ) + using.name = "grab" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + grab_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen( src ) + using.name = "harm" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + hurt_intent = using + +//end intent small hud objects + using = new /obj/screen() using.name = "mov_intent" using.dir = SOUTHWEST @@ -345,84 +394,84 @@ /*/Monkey blockers - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_ears using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_belt using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_shoes using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_storage2 using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_glasses using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_gloves using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_storage1 using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_headset using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_oclothing using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_iclothing using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_id using.layer = 20 src.mon_blo += using - using = new src.h_type( src ) + using = new /obj/screen( src ) using.name = "blocked" using.icon_state = "blocked" using.screen_loc = ui_head diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm index 8ab65850b01..bffdc9468ad 100644 --- a/code/modules/mob/living/carbon/monkey/hud.dm +++ b/code/modules/mob/living/carbon/monkey/hud.dm @@ -16,6 +16,55 @@ src.adding += using action_intent = using +//intent small hud objects + var/icon/ico + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen( src ) + using.name = "help" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + help_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen( src ) + using.name = "disarm" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + disarm_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen( src ) + using.name = "grab" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + grab_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen( src ) + using.name = "harm" + using.icon = ico + using.screen_loc = ui_acti + using.layer = 21 + src.adding += using + hurt_intent = using + +//end intent small hud objects + using = new /obj/screen() using.name = "mov_intent" using.dir = SOUTHWEST diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index fe044b4a52c..3cc082d1798 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -360,23 +360,27 @@ else usr << "\blue You don't have an oxygen tank." if("act_intent") - usr.a_intent_change("right") -/* if("help") + 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" + else + usr.a_intent_change("right") + if("help") usr.a_intent = "help" - usr.hud_used.action_intent.icon_state = "help" - usr.hud_used.show_intent_icons = 0 + usr.hud_used.action_intent.icon_state = "intent_help" if("harm") usr.a_intent = "hurt" - usr.hud_used.action_intent.icon_state = "harm" - usr.hud_used.show_intent_icons = 0 + usr.hud_used.action_intent.icon_state = "intent_hurt" if("grab") usr.a_intent = "grab" - usr.hud_used.action_intent.icon_state = "grab" - usr.hud_used.show_intent_icons = 0 + usr.hud_used.action_intent.icon_state = "intent_grab" if("disarm") usr.a_intent = "disarm" - usr.hud_used.action_intent.icon_state = "disarm" - usr.hud_used.show_intent_icons = 0 */ + usr.hud_used.action_intent.icon_state = "intent_disarm" if("pull") usr.stop_pulling() if("throw")