diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm index 900e8cc51b..364e1b8cef 100644 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm @@ -14,6 +14,7 @@ user.visible_message("\blue [user] unwraps the clothing from the [src]") for(var/obj/item/I in src) I.loc = get_turf(src) + update_icon() return attackby(var/obj/item/I as obj, var/mob/user as mob) @@ -22,7 +23,7 @@ if(contents.len < 20) if(istype(I, /obj/item/weapon/grab)) return - usr.drop_item() + user.drop_item() if(I) I.loc = src.loc else @@ -30,11 +31,23 @@ return examine() - set src in oview(4) + set src in usr ..() usr << "It claims to contain [contents.len ? descriptor : descriptor + "...but it looks empty"]" return + update_icon() + if(contents.len) + icon_state = "wardrobe" + else + icon_state = "wardrobe_empty" + return + + New() + ..() + pixel_x = random(0,4) -2 + pixel_y = random(0,4) -2 + /obj/item/wardrobe/assistant name = "assistant wardrobe" descriptor = "clothing for an assistant" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index a8ac62e83f..96cdcdd362 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -244,7 +244,7 @@ return -//What the fuck is this code +//What the fuck is this code Looks to be the parrying code. If you're grabbing someone, it might hit them instead... or something.--SkyMarshal /mob/attackby(obj/item/weapon/W as obj, mob/user as mob) if (user.intent != "harm") if (istype(src.l_hand,/obj/item/latexballon) && src.l_hand:air_contents && is_sharp(W)) diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index e57fada614..e2233f9f8e 100644 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -194,7 +194,7 @@ user.update_clothing() return -/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/attackby(obj/item/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/packageWrap)) if(istype(src,/obj/item/weapon/storage) && istype(src.loc, /mob)) //Put it into the bag return @@ -212,6 +212,20 @@ src.loc = P O.amount -= 1 + else if(istype(W,/obj/item/wardrobe)) + var/obj/item/wardrobe/I = W + for (var/obj/O in locate(src.x,src.y,src.z)) + if (I.contents.len < 20) + if(istype(O,/obj/item/wardrobe)) + continue + if(O.anchored) + continue + I.contents += O; + else + user << "\blue The wardrobe is full." + return + user << "\blue You pick up all the items." + I.update_icon() /obj/item/attack_self(mob/user as mob) ..() diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 34cfc97d39..36b5b03632 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ