- Fixed issue 814. Added a obj/screen/inventory object type, which is for screen objects that can hold other ones. This will stop clicks on other UI slots from attempting to equip whatever is in your active hand to them.

- Fixed an issue where the monkey's slot_l_hand and slot_r_hand slot identifiers were being assigned to the two pieces of the 'swap hand' button instead of the actual hand screen items. Not tomention them being the wrong way around...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4482 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz
2012-08-18 00:26:47 +00:00
parent 96645c8726
commit ca02f37a6e
4 changed files with 251 additions and 246 deletions

View File

@@ -34,6 +34,7 @@
src.druggy.mouse_opacity = 0 src.druggy.mouse_opacity = 0
var/obj/screen/using var/obj/screen/using
var/obj/screen/inventory/inv_box
using = new src.h_type( src ) using = new src.h_type( src )
using.name = "act_intent" using.name = "act_intent"
@@ -110,71 +111,71 @@
//equippable shit //equippable shit
//suit //suit
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "o_clothing" inv_box.name = "o_clothing"
using.dir = SOUTH inv_box.dir = SOUTH
using.icon = 'icons/mob/screen1_alien.dmi' inv_box.icon = 'icons/mob/screen1_alien.dmi'
using.icon_state = "equip" inv_box.icon_state = "equip"
using.screen_loc = ui_alien_oclothing inv_box.screen_loc = ui_alien_oclothing
using.slot_id = slot_wear_suit inv_box.slot_id = slot_wear_suit
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "r_hand" inv_box.name = "r_hand"
using.dir = WEST inv_box.dir = WEST
using.icon = 'icons/mob/screen1_alien.dmi' inv_box.icon = 'icons/mob/screen1_alien.dmi'
using.icon_state = "hand_inactive" inv_box.icon_state = "hand_inactive"
if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
using.icon_state = "hand_active" using.icon_state = "hand_active"
using.screen_loc = ui_rhand inv_box.screen_loc = ui_rhand
using.layer = 19 inv_box.layer = 19
src.r_hand_hud_object = using src.r_hand_hud_object = inv_box
using.slot_id = slot_r_hand inv_box.slot_id = slot_r_hand
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "l_hand" inv_box.name = "l_hand"
using.dir = EAST inv_box.dir = EAST
using.icon = 'icons/mob/screen1_alien.dmi' inv_box.icon = 'icons/mob/screen1_alien.dmi'
using.icon_state = "hand_inactive" inv_box.icon_state = "hand_inactive"
if(mymob && mymob.hand) //This being 1 means the left hand is in use if(mymob && mymob.hand) //This being 1 means the left hand is in use
using.icon_state = "hand_active" inv_box.icon_state = "hand_active"
using.screen_loc = ui_lhand inv_box.screen_loc = ui_lhand
using.layer = 19 inv_box.layer = 19
using.slot_id = slot_l_hand inv_box.slot_id = slot_l_hand
src.l_hand_hud_object = using src.l_hand_hud_object = inv_box
src.adding += using src.adding += inv_box
//pocket 1 //pocket 1
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "storage1" inv_box.name = "storage1"
using.icon = 'icons/mob/screen1_alien.dmi' inv_box.icon = 'icons/mob/screen1_alien.dmi'
using.icon_state = "pocket" inv_box.icon_state = "pocket"
using.screen_loc = ui_storage1 inv_box.screen_loc = ui_storage1
using.slot_id = slot_l_store inv_box.slot_id = slot_l_store
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
//pocket 2 //pocket 2
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "storage2" inv_box.name = "storage2"
using.icon = 'icons/mob/screen1_alien.dmi' inv_box.icon = 'icons/mob/screen1_alien.dmi'
using.icon_state = "pocket" inv_box.icon_state = "pocket"
using.screen_loc = ui_storage2 inv_box.screen_loc = ui_storage2
using.slot_id = slot_r_store inv_box.slot_id = slot_r_store
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
//head //head
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "head" inv_box.name = "head"
using.icon = 'icons/mob/screen1_alien.dmi' inv_box.icon = 'icons/mob/screen1_alien.dmi'
using.icon_state = "hair" inv_box.icon_state = "hair"
using.screen_loc = ui_alien_head inv_box.screen_loc = ui_alien_head
using.slot_id = slot_head inv_box.slot_id = slot_head
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
//end of equippable shit //end of equippable shit
/* /*

View File

@@ -39,6 +39,7 @@
src.druggy.mouse_opacity = 0 src.druggy.mouse_opacity = 0
var/obj/screen/using var/obj/screen/using
var/obj/screen/inventory/inv_box
using = new src.h_type( src ) using = new src.h_type( src )
using.name = "act_intent" using.name = "act_intent"
@@ -109,62 +110,62 @@
using.layer = 19 using.layer = 19
src.hotkeybuttons += using src.hotkeybuttons += using
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "i_clothing" inv_box.name = "i_clothing"
using.dir = SOUTH inv_box.dir = SOUTH
using.icon = ui_style inv_box.icon = ui_style
using.slot_id = slot_w_uniform inv_box.slot_id = slot_w_uniform
using.icon_state = "center" inv_box.icon_state = "center"
using.screen_loc = ui_iclothing inv_box.screen_loc = ui_iclothing
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "o_clothing" inv_box.name = "o_clothing"
using.dir = SOUTH inv_box.dir = SOUTH
using.icon = ui_style inv_box.icon = ui_style
using.slot_id = slot_wear_suit inv_box.slot_id = slot_wear_suit
using.icon_state = "equip" inv_box.icon_state = "equip"
using.screen_loc = ui_oclothing inv_box.screen_loc = ui_oclothing
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
/* using = new src.h_type( src ) /* inv_box = new /obj/screen/inventory( src )
using.name = "headset" inv_box.name = "headset"
using.dir = SOUTHEAST inv_box.dir = SOUTHEAST
using.icon_state = "equip" inv_box.icon_state = "equip"
using.screen_loc = ui_headset inv_box.screen_loc = ui_headset
using.layer = 19 inv_box.layer = 19
if(istype(mymob,/mob/living/carbon/monkey)) using.overlays += blocked if(istype(mymob,/mob/living/carbon/monkey)) inv_box.overlays += blocked
src.other += using*/ src.other += inv_box*/
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "r_hand" inv_box.name = "r_hand"
using.dir = WEST inv_box.dir = WEST
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "hand_inactive" inv_box.icon_state = "hand_inactive"
if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
using.icon_state = "hand_active" inv_box.icon_state = "hand_active"
using.screen_loc = ui_rhand inv_box.screen_loc = ui_rhand
using.slot_id = slot_r_hand inv_box.slot_id = slot_r_hand
using.layer = 19 inv_box.layer = 19
src.r_hand_hud_object = using src.r_hand_hud_object = inv_box
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "l_hand" inv_box.name = "l_hand"
using.dir = EAST inv_box.dir = EAST
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "hand_inactive" inv_box.icon_state = "hand_inactive"
if(mymob && mymob.hand) //This being 1 means the left hand is in use if(mymob && mymob.hand) //This being 1 means the left hand is in use
using.icon_state = "hand_active" inv_box.icon_state = "hand_active"
using.screen_loc = ui_lhand inv_box.screen_loc = ui_lhand
using.slot_id = slot_l_hand inv_box.slot_id = slot_l_hand
using.layer = 19 inv_box.layer = 19
src.l_hand_hud_object = using src.l_hand_hud_object = inv_box
src.adding += using src.adding += inv_box
using = new src.h_type( src ) using = new /obj/screen/inventory( src )
using.name = "hand" using.name = "hand"
using.dir = SOUTH using.dir = SOUTH
using.icon = ui_style using.icon = ui_style
@@ -173,7 +174,7 @@
using.layer = 19 using.layer = 19
src.adding += using src.adding += using
using = new src.h_type( src ) using = new /obj/screen/inventory( src )
using.name = "hand" using.name = "hand"
using.dir = SOUTH using.dir = SOUTH
using.icon = ui_style using.icon = ui_style
@@ -182,63 +183,63 @@
using.layer = 19 using.layer = 19
src.adding += using src.adding += using
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "id" inv_box.name = "id"
using.dir = NORTH inv_box.dir = NORTH
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "id" inv_box.icon_state = "id"
using.screen_loc = ui_id inv_box.screen_loc = ui_id
using.slot_id = slot_wear_id inv_box.slot_id = slot_wear_id
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "mask" inv_box.name = "mask"
using.dir = NORTH inv_box.dir = NORTH
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "equip" inv_box.icon_state = "equip"
using.screen_loc = ui_mask inv_box.screen_loc = ui_mask
using.slot_id = slot_wear_mask inv_box.slot_id = slot_wear_mask
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "back" inv_box.name = "back"
using.dir = NORTH inv_box.dir = NORTH
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "back" inv_box.icon_state = "back"
using.screen_loc = ui_back inv_box.screen_loc = ui_back
using.slot_id = slot_back inv_box.slot_id = slot_back
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "storage1" inv_box.name = "storage1"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "pocket" inv_box.icon_state = "pocket"
using.screen_loc = ui_storage1 inv_box.screen_loc = ui_storage1
using.slot_id = slot_l_store inv_box.slot_id = slot_l_store
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "storage2" inv_box.name = "storage2"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "pocket" inv_box.icon_state = "pocket"
using.screen_loc = ui_storage2 inv_box.screen_loc = ui_storage2
using.slot_id = slot_r_store inv_box.slot_id = slot_r_store
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "suit storage" inv_box.name = "suit storage"
using.icon = ui_style inv_box.icon = ui_style
using.dir = 8 //The sprite at dir=8 has the background whereas the others don't. inv_box.dir = 8 //The sprite at dir=8 has the background whereas the others don't.
using.icon_state = "belt" inv_box.icon_state = "belt"
using.screen_loc = ui_sstore1 inv_box.screen_loc = ui_sstore1
using.slot_id = slot_s_store inv_box.slot_id = slot_s_store
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) using = new src.h_type( src )
using.name = "resist" using.name = "resist"
@@ -280,59 +281,59 @@
src.adding += using src.adding += using
*/ */
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "gloves" inv_box.name = "gloves"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "gloves" inv_box.icon_state = "gloves"
using.screen_loc = ui_gloves inv_box.screen_loc = ui_gloves
using.slot_id = slot_gloves inv_box.slot_id = slot_gloves
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "eyes" inv_box.name = "eyes"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "glasses" inv_box.icon_state = "glasses"
using.screen_loc = ui_glasses inv_box.screen_loc = ui_glasses
using.slot_id = slot_glasses inv_box.slot_id = slot_glasses
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "ears" inv_box.name = "ears"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "ears" inv_box.icon_state = "ears"
using.screen_loc = ui_ears inv_box.screen_loc = ui_ears
using.slot_id = slot_ears inv_box.slot_id = slot_ears
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "head" inv_box.name = "head"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "hair" inv_box.icon_state = "hair"
using.screen_loc = ui_head inv_box.screen_loc = ui_head
using.slot_id = slot_head inv_box.slot_id = slot_head
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "shoes" inv_box.name = "shoes"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "shoes" inv_box.icon_state = "shoes"
using.screen_loc = ui_shoes inv_box.screen_loc = ui_shoes
using.slot_id = slot_shoes inv_box.slot_id = slot_shoes
using.layer = 19 inv_box.layer = 19
src.other += using src.other += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "belt" inv_box.name = "belt"
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "belt" inv_box.icon_state = "belt"
using.screen_loc = ui_belt inv_box.screen_loc = ui_belt
using.slot_id = slot_belt inv_box.slot_id = slot_belt
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
/* /*
using = new src.h_type( src ) using = new src.h_type( src )

View File

@@ -42,6 +42,7 @@
src.druggy.mouse_opacity = 0 src.druggy.mouse_opacity = 0
var/obj/screen/using var/obj/screen/using
var/obj/screen/inventory/inv_box
using = new src.h_type( src ) using = new src.h_type( src )
using.name = "act_intent" using.name = "act_intent"
@@ -140,29 +141,31 @@
if(istype(mymob,/mob/living/carbon/monkey)) using.overlays += blocked if(istype(mymob,/mob/living/carbon/monkey)) using.overlays += blocked
src.other += using*/ src.other += using*/
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "r_hand" inv_box.name = "r_hand"
using.dir = WEST inv_box.dir = WEST
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "hand_inactive" inv_box.icon_state = "hand_inactive"
if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
using.icon_state = "hand_active" inv_box.icon_state = "hand_active"
using.screen_loc = ui_rhand inv_box.screen_loc = ui_rhand
using.layer = 19 inv_box.slot_id = slot_r_hand
src.r_hand_hud_object = using inv_box.layer = 19
src.adding += using src.r_hand_hud_object = inv_box
src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "l_hand" inv_box.name = "l_hand"
using.dir = EAST inv_box.dir = EAST
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "hand_inactive" inv_box.icon_state = "hand_inactive"
if(mymob && mymob.hand) //This being 1 means the left hand is in use if(mymob && mymob.hand) //This being 1 means the left hand is in use
using.icon_state = "hand_active" inv_box.icon_state = "hand_active"
using.screen_loc = ui_lhand inv_box.screen_loc = ui_lhand
using.layer = 19 inv_box.slot_id = slot_l_hand
src.l_hand_hud_object = using inv_box.layer = 19
src.adding += using src.l_hand_hud_object = inv_box
src.adding += inv_box
using = new src.h_type( src ) using = new src.h_type( src )
using.name = "hand" using.name = "hand"
@@ -171,7 +174,6 @@
using.icon_state = "hand1" using.icon_state = "hand1"
using.screen_loc = ui_swaphand1 using.screen_loc = ui_swaphand1
using.layer = 19 using.layer = 19
using.slot_id = slot_l_hand
src.adding += using src.adding += using
using = new src.h_type( src ) using = new src.h_type( src )
@@ -180,7 +182,6 @@
using.icon = ui_style using.icon = ui_style
using.icon_state = "hand2" using.icon_state = "hand2"
using.screen_loc = ui_swaphand2 using.screen_loc = ui_swaphand2
using.slot_id = slot_r_hand
using.layer = 19 using.layer = 19
src.adding += using src.adding += using
/* /*
@@ -195,25 +196,25 @@
src.adding += using src.adding += using
*/ */
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "mask" inv_box.name = "mask"
using.dir = NORTH inv_box.dir = NORTH
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "equip" inv_box.icon_state = "equip"
using.screen_loc = ui_monkey_mask inv_box.screen_loc = ui_monkey_mask
using.slot_id = slot_wear_mask inv_box.slot_id = slot_wear_mask
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
using = new src.h_type( src ) inv_box = new /obj/screen/inventory( src )
using.name = "back" inv_box.name = "back"
using.dir = NORTHEAST inv_box.dir = NORTHEAST
using.icon = ui_style inv_box.icon = ui_style
using.icon_state = "equip" inv_box.icon_state = "equip"
using.screen_loc = ui_back inv_box.screen_loc = ui_back
using.slot_id = slot_back inv_box.slot_id = slot_back
using.layer = 19 inv_box.layer = 19
src.adding += using src.adding += inv_box
/* /*
using = new src.h_type( src ) using = new src.h_type( src )
using.name = "storage1" using.name = "storage1"

View File

@@ -5,6 +5,8 @@
unacidable = 1 unacidable = 1
var/id = 0.0 var/id = 0.0
var/obj/master var/obj/master
/obj/screen/inventory
var/slot_id var/slot_id
/obj/screen/close /obj/screen/close
@@ -538,11 +540,11 @@
DblClick() DblClick()
return return
/obj/screen/attack_hand(mob/user as mob) /obj/screen/inventory/attack_hand(mob/user as mob)
user.attack_ui(slot_id) user.attack_ui(slot_id)
return return
/obj/screen/attack_paw(mob/user as mob) /obj/screen/inventory/attack_paw(mob/user as mob)
user.attack_ui(slot_id) user.attack_ui(slot_id)
return return