diff --git a/assets/items.png b/assets/items.png
index c97dd983f..5e8fddb8d 100644
Binary files a/assets/items.png and b/assets/items.png differ
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java
index cefa529f1..d6252e1a8 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java
@@ -142,7 +142,7 @@ public class Combo extends Buff implements ActionIndicator.Action {
 		if (((Hero)target).belongings.weapon != null){
 			icon = new ItemSprite(Dungeon.hero.belongings.weapon.image, null);
 		} else {
-			icon = new ItemSprite(new Item(){ {image = ItemSpriteSheet.WEAPON; }});
+			icon = new ItemSprite(new Item(){ {image = ItemSpriteSheet.WEAPON_HOLDER; }});
 		}
 
 		if (count >= 10)    icon.tint(0xFFFF0000);
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java
index 10d4d8672..5e0ad3740 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java
@@ -25,7 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
 public class Longsword extends MeleeWeapon {
 	
 	{
-		image = ItemSpriteSheet.LONG_SWORD;
+		image = ItemSpriteSheet.LONGSWORD;
 	}
 	
 	public Longsword() {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/ShortSword.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/ShortSword.java
index 8292981ff..9465399e5 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/ShortSword.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/ShortSword.java
@@ -25,7 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
 public class ShortSword extends MeleeWeapon {
 	
 	{
-		image = ItemSpriteSheet.SHORT_SWORD;
+		image = ItemSpriteSheet.WORN_SHORTSWORD;
 	}
 	
 	public ShortSword() {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java
index f34e37f29..f1737d626 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSprite.java
@@ -61,7 +61,7 @@ public class ItemSprite extends MovieClip {
 	private float dropInterval;
 	
 	public ItemSprite() {
-		this( ItemSpriteSheet.SMTH, null );
+		this( ItemSpriteSheet.SOMETHING, null );
 	}
 	
 	public ItemSprite( Item item ) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java
index d6846e00a..cf10555f9 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java
@@ -22,223 +22,233 @@ package com.shatteredpixel.shatteredpixeldungeon.sprites;
 
 public class ItemSpriteSheet {
 
-	// Row definers
-	private static final int ROW1 = 0*16;
-	private static final int ROW2 = 1*16;
-	private static final int ROW3 = 2*16;
-	private static final int ROW4 = 3*16;
-	private static final int ROW5 = 4*16;
-	private static final int ROW6 = 5*16;
-	private static final int ROW7 = 6*16;
-	private static final int ROW8 = 7*16;
-	private static final int ROW9 = 8*16;
-	private static final int ROW10 = 9*16;
-	private static final int ROW11 = 10*16;
-	private static final int ROW12 = 11*16;
-	private static final int ROW13 = 12*16;
-	private static final int ROW14 = 13*16;
-	private static final int ROW15 = 14*16;
-	private static final int ROW16 = 15*16;
+	private static final int WIDTH = 16;
 
-	//Row One: Items which can't be obtained
+	private static int xy(int x, int y){
+		x -= 1; y -= 1;
+		return x + WIDTH*y;
+	}
+
+	private static final int PLACEHOLDERS   =                               xy(1, 1);   //8 slots
 	//null warning occupies space 0, should only show up if there's a bug.
-	public static final int NULLWARN    = ROW1+0;
-	public static final int DEWDROP	    = ROW1+1;
-	public static final int PETAL	    = ROW1+2;
-	public static final int SANDBAG     = ROW1+3;
-	public static final int DBL_BOMB    = ROW1+4;
-	// Heaps (containers)
-	public static final int BONES			= ROW1+5;
-	public static final int REMAINS         = ROW1+6;
-	public static final int TOMB			= ROW1+7;
-	public static final int GRAVE			= ROW1+8;
-	public static final int CHEST			= ROW1+9;
-	public static final int LOCKED_CHEST	= ROW1+10;
-	public static final int CRYSTAL_CHEST	= ROW1+11;
-	// Placeholders
-	public static final int WEAPON	= ROW1+12;
-	public static final int ARMOR	= ROW1+13;
-	public static final int RING	= ROW1+14;
-	public static final int SMTH	= ROW1+15;
+	public static final int NULLWARN        = PLACEHOLDERS+0;
+	public static final int WEAPON_HOLDER   = PLACEHOLDERS+1;
+	public static final int ARMOR_HOLDER    = PLACEHOLDERS+2;
+	public static final int RING_HOLDER     = PLACEHOLDERS+3;
+	public static final int SOMETHING       = PLACEHOLDERS+4;
 
-	//Row Two: Miscellaneous single use items
-	public static final int GOLD	    = ROW2+0;
-	public static final int TORCH	    = ROW2+1;
-	public static final int STYLUS	    = ROW2+2;
-	public static final int ANKH	    = ROW2+3;
-	public static final int WEIGHT      = ROW2+4;
-	public static final int BOMB        = ROW2+5;
-	public static final int HONEYPOT    = ROW2+6;
-	public static final int SHATTPOT    = ROW2+7;
-	public static final int SEAL       = ROW2+8;
-	// Keys
-	public static final int IRON_KEY		= ROW2+9;
-	public static final int GOLDEN_KEY		= ROW2+10;
-	public static final int SKELETON_KEY	= ROW2+11;
-	//Boss Rewards
-	public static final int BEACON	= ROW2+12;
-	public static final int MASTERY	= ROW2+13;
-	public static final int KIT		= ROW2+14;
-	public static final int AMULET	= ROW2+15;
+	private static final int UNCOLLECTIBLE  =                               xy(9, 1);   //8 slots
+	public static final int GOLD            = UNCOLLECTIBLE+0;
+	public static final int DEWDROP         = UNCOLLECTIBLE+1;
+	public static final int PETAL           = UNCOLLECTIBLE+2;
+	public static final int SANDBAG         = UNCOLLECTIBLE+3;
+	public static final int DBL_BOMB        = UNCOLLECTIBLE+4;
 
-	//Row Three: Melee weapons
-	public static final int KNUCKLEDUSTER	= ROW3+0;
-	public static final int DAGGER			= ROW3+1;
-	public static final int SHORT_SWORD		= ROW3+2;
-	public static final int MAGES_STAFF     = ROW3+3;
-	public static final int QUARTERSTAFF	= ROW3+4;
-	public static final int SPEAR			= ROW3+5;
-	public static final int MACE			= ROW3+6;
-	public static final int SWORD			= ROW3+7;
-	public static final int BATTLE_AXE		= ROW3+8;
-	public static final int LONG_SWORD		= ROW3+9;
-	public static final int WAR_HAMMER		= ROW3+10;
-	public static final int GLAIVE			= ROW3+11;
+	private static final int CONTAINERS     =                               xy(1, 2);   //16 slots
+	public static final int BONES           = CONTAINERS+0;
+	public static final int REMAINS         = CONTAINERS+1;
+	public static final int TOMB            = CONTAINERS+2;
+	public static final int GRAVE           = CONTAINERS+3;
+	public static final int CHEST           = CONTAINERS+4;
+	public static final int LOCKED_CHEST    = CONTAINERS+5;
+	public static final int CRYSTAL_CHEST   = CONTAINERS+6;
 
-	//Row Four: Missile weapons
-	public static final int DART			= ROW4+0;
-	public static final int BOOMERANG		= ROW4+1;
-	public static final int INCENDIARY_DART	= ROW4+2;
-	public static final int SHURIKEN		= ROW4+3;
-	public static final int CURARE_DART		= ROW4+4;
-	public static final int JAVELIN			= ROW4+5;
-	public static final int TOMAHAWK		= ROW4+6;
+	private static final int SINGLE_USE     =                               xy(1, 3);   //32 slots
+	public static final int ANKH            = SINGLE_USE+0;
+	public static final int STYLUS          = SINGLE_USE+1;
+	public static final int WEIGHT          = SINGLE_USE+2;
+	public static final int SEAL            = SINGLE_USE+3;
+	public static final int TORCH           = SINGLE_USE+4;
+	public static final int BEACON          = SINGLE_USE+5;
+	public static final int BOMB            = SINGLE_USE+6;
+	public static final int HONEYPOT        = SINGLE_USE+7;
+	public static final int SHATTPOT        = SINGLE_USE+8;
+	public static final int IRON_KEY        = SINGLE_USE+9;
+	public static final int GOLDEN_KEY      = SINGLE_USE+10;
+	public static final int SKELETON_KEY    = SINGLE_USE+11;
+	public static final int MASTERY         = SINGLE_USE+12;
+	public static final int KIT             = SINGLE_USE+13;
+	public static final int AMULET          = SINGLE_USE+14;
 
-	//Row Five: Armors
-	public static final int ARMOR_CLOTH		= ROW5+0;
-	public static final int ARMOR_LEATHER	= ROW5+1;
-	public static final int ARMOR_MAIL		= ROW5+2;
-	public static final int ARMOR_SCALE		= ROW5+3;
-	public static final int ARMOR_PLATE		= ROW5+4;
-	public static final int ARMOR_WARRIOR	= ROW5+5;
-	public static final int ARMOR_MAGE		= ROW5+6;
-	public static final int ARMOR_ROGUE		= ROW5+7;
-	public static final int ARMOR_HUNTRESS	= ROW5+8;
+	                                                                                    //32 free slots
 
-	//Row Six: Wands
-	public static final int WAND_MAGIC_MISSILE	= ROW6+0;
-	public static final int WAND_FIREBOLT		= ROW6+1;
-	public static final int WAND_FROST			= ROW6+2;
-	public static final int WAND_LIGHTNING		= ROW6+3;
-	public static final int WAND_DISINTEGRATION	= ROW6+4;
-	public static final int WAND_PRISMATIC_LIGHT= ROW6+5;
-	public static final int WAND_VENOM			= ROW6+6;
-	public static final int WAND_LIVING_EARTH	= ROW6+7;
-	public static final int WAND_BLAST_WAVE		= ROW6+8;
-	public static final int WAND_CORRUPTION		= ROW6+9;
-	public static final int WAND_WARDING      	= ROW6+10;
-	public static final int WAND_REGROWTH		= ROW6+11;
-	public static final int WAND_TRANSFUSION	= ROW6+12;
+	private static final int WEP_TIER1      =                               xy(1, 7);   //8 slots
+	public static final int WORN_SHORTSWORD = WEP_TIER1+0;
+	public static final int CUDGEL          = WEP_TIER1+1;
+	public static final int KNUCKLEDUSTER   = WEP_TIER1+2;
+	public static final int RAPIER          = WEP_TIER1+3;
+	public static final int DAGGER          = WEP_TIER1+4;
+	public static final int MAGES_STAFF     = WEP_TIER1+5;
 
-	//Row Seven: Rings
-	public static final int RING_GARNET		= ROW7+0;
-	public static final int RING_RUBY		= ROW7+1;
-	public static final int RING_TOPAZ		= ROW7+2;
-	public static final int RING_EMERALD	= ROW7+3;
-	public static final int RING_ONYX		= ROW7+4;
-	public static final int RING_OPAL		= ROW7+5;
-	public static final int RING_TOURMALINE	= ROW7+6;
-	public static final int RING_SAPPHIRE	= ROW7+7;
-	public static final int RING_AMETHYST	= ROW7+8;
-	public static final int RING_QUARTZ		= ROW7+9;
-	public static final int RING_AGATE		= ROW7+10;
-	public static final int RING_DIAMOND	= ROW7+11;
+	private static final int WEP_TIER2      =                               xy(9, 7);   //8 slots
+	public static final int SHORTSWORD      = WEP_TIER2+0;
+	public static final int HAND_AXE        = WEP_TIER2+0;
+	public static final int SPEAR           = WEP_TIER2+2;
+	public static final int QUARTERSTAFF    = WEP_TIER2+3;
 
-	//Row Eight: Artifacts with Static Images
-	public static final int ARTIFACT_CLOAK      = ROW8+0;
-	public static final int ARTIFACT_ARMBAND    = ROW8+1;
-	public static final int ARTIFACT_CAPE       = ROW8+2;
-	public static final int ARTIFACT_TALISMAN   = ROW8+3;
-	public static final int ARTIFACT_HOURGLASS  = ROW8+4;
-	public static final int ARTIFACT_TOOLKIT    = ROW8+5;
-	public static final int ARTIFACT_SPELLBOOK  = ROW8+6;
-	public static final int ARTIFACT_BEACON     = ROW8+7;
-	public static final int ARTIFACT_CHAINS     = ROW8+8;
+	private static final int WEP_TIER3      =                               xy(1, 8);   //8 slots
+	public static final int SWORD           = WEP_TIER3+0;
+	public static final int MACE            = WEP_TIER3+1;
 
-	//Row Nine: Artifacts with Dynamic Images
-	public static final int ARTIFACT_HORN1      = ROW9+0;
-	public static final int ARTIFACT_HORN2      = ROW9+1;
-	public static final int ARTIFACT_HORN3      = ROW9+2;
-	public static final int ARTIFACT_HORN4      = ROW9+3;
-	public static final int ARTIFACT_CHALICE1   = ROW9+4;
-	public static final int ARTIFACT_CHALICE2   = ROW9+5;
-	public static final int ARTIFACT_CHALICE3   = ROW9+6;
-	public static final int ARTIFACT_SANDALS    = ROW9+7;
-	public static final int ARTIFACT_SHOES      = ROW9+8;
-	public static final int ARTIFACT_BOOTS      = ROW9+9;
-	public static final int ARTIFACT_GREAVES    = ROW9+10;
-	public static final int ARTIFACT_ROSE1      = ROW9+11;
-	public static final int ARTIFACT_ROSE2      = ROW9+12;
-	public static final int ARTIFACT_ROSE3      = ROW9+13;
+	private static final int WEP_TIER4      =                               xy(9, 8);   //8 slots
+	public static final int LONGSWORD       = WEP_TIER4+0;
+	public static final int BATTLE_AXE      = WEP_TIER4+1;
 
-	//Row Ten: Scrolls
-	public static final int SCROLL_KAUNAN	= ROW10+0;
-	public static final int SCROLL_SOWILO	= ROW10+1;
-	public static final int SCROLL_LAGUZ	= ROW10+2;
-	public static final int SCROLL_YNGVI	= ROW10+3;
-	public static final int SCROLL_GYFU		= ROW10+4;
-	public static final int SCROLL_RAIDO	= ROW10+5;
-	public static final int SCROLL_ISAZ		= ROW10+6;
-	public static final int SCROLL_MANNAZ	= ROW10+7;
-	public static final int SCROLL_NAUDIZ	= ROW10+8;
-	public static final int SCROLL_BERKANAN	= ROW10+9;
-	public static final int SCROLL_ODAL		= ROW10+10;
-	public static final int SCROLL_TIWAZ	= ROW10+11;
+	private static final int WEP_TIER5      =                               xy(1, 9);   //8 slots
+	public static final int GREATSWORD      = WEP_TIER5+0;
+	public static final int WAR_HAMMER      = WEP_TIER5+1;
+	public static final int GLAIVE          = WEP_TIER5+2;
 
-	//Row Eleven: Potions
-	public static final int POTION_CRIMSON		= ROW11+0;
-	public static final int POTION_AMBER		= ROW11+1;
-	public static final int POTION_GOLDEN		= ROW11+2;
-	public static final int POTION_JADE			= ROW11+3;
-	public static final int POTION_TURQUOISE    = ROW11+4;
-	public static final int POTION_AZURE		= ROW11+5;
-	public static final int POTION_INDIGO		= ROW11+6;
-	public static final int POTION_MAGENTA		= ROW11+7;
-	public static final int POTION_BISTRE		= ROW11+8;
-	public static final int POTION_CHARCOAL		= ROW11+9;
-	public static final int POTION_SILVER		= ROW11+10;
-	public static final int POTION_IVORY		= ROW11+11;
+	                                                                                    //8 free slots
 
-	//Row Twelve: Seeds
-	public static final int SEED_ROTBERRY	= ROW12+0;
-	public static final int SEED_FIREBLOOM	= ROW12+1;
-	public static final int SEED_STARFLOWER	= ROW12+2;
-	public static final int SEED_BLINDWEED	= ROW12+3;
-	public static final int SEED_SUNGRASS	= ROW12+4;
-	public static final int SEED_ICECAP		= ROW12+5;
-	public static final int SEED_STORMVINE	= ROW12+6;
-	public static final int SEED_SORROWMOSS	= ROW12+7;
-	public static final int SEED_DREAMFOIL	= ROW12+8;
-	public static final int SEED_EARTHROOT	= ROW12+9;
-	public static final int SEED_FADELEAF	= ROW12+10;
-	public static final int SEED_BLANDFRUIT	= ROW12+11;
+	private static final int MISSILE_WEP    =                               xy(1, 10);  //16 slots
+	public static final int DART            = MISSILE_WEP+0;
+	public static final int BOOMERANG       = MISSILE_WEP+1;
+	public static final int INCENDIARY_DART = MISSILE_WEP+2;
+	public static final int SHURIKEN        = MISSILE_WEP+3;
+	public static final int CURARE_DART     = MISSILE_WEP+4;
+	public static final int JAVELIN         = MISSILE_WEP+5;
+	public static final int TOMAHAWK        = MISSILE_WEP+6;
 
-	//Row Thirteen: Food
-	public static final int MEAT		= ROW13+0;
-	public static final int STEAK		= ROW13+1;
-	public static final int OVERPRICED	= ROW13+2;
-	public static final int CARPACCIO	= ROW13+3;
-	public static final int BLANDFRUIT	= ROW13+4;
-	public static final int RATION		= ROW13+5;
-	public static final int PASTY		= ROW13+6;
-	public static final int CANDY_CANE  = ROW13+7;
+	private static final int ARMOR          =                               xy(1, 11);  //16 slots
+	public static final int ARMOR_CLOTH     = ARMOR+0;
+	public static final int ARMOR_LEATHER   = ARMOR+1;
+	public static final int ARMOR_MAIL      = ARMOR+2;
+	public static final int ARMOR_SCALE     = ARMOR+3;
+	public static final int ARMOR_PLATE     = ARMOR+4;
+	public static final int ARMOR_WARRIOR   = ARMOR+5;
+	public static final int ARMOR_MAGE      = ARMOR+6;
+	public static final int ARMOR_ROGUE     = ARMOR+7;
+	public static final int ARMOR_HUNTRESS  = ARMOR+8;
 
-	//Row Fourteen: Quest Items
-	public static final int SKULL	= ROW14+0;
-	public static final int DUST	= ROW14+1;
-	public static final int CANDLE	= ROW14+2;
-	public static final int EMBER	= ROW14+3;
-	public static final int PICKAXE	= ROW14+4;
-	public static final int ORE		= ROW14+5;
-	public static final int TOKEN	= ROW14+6;
+	                                                                                    //32 free slots
 
-	//Row Fifteen: Containers/Bags
-	public static final int VIAL	    = ROW15+0;
-	public static final int POUCH	    = ROW15+1;
-	public static final int HOLDER	    = ROW15+2;
-	public static final int BANDOLIER   = ROW15+3;
-	public static final int HOLSTER	    = ROW15+4;
+	private static final int WANDS              =                           xy(1, 14);  //16 slots
+	public static final int WAND_MAGIC_MISSILE  = WANDS+0;
+	public static final int WAND_FIREBOLT       = WANDS+1;
+	public static final int WAND_FROST          = WANDS+2;
+	public static final int WAND_LIGHTNING      = WANDS+3;
+	public static final int WAND_DISINTEGRATION = WANDS+4;
+	public static final int WAND_PRISMATIC_LIGHT= WANDS+5;
+	public static final int WAND_VENOM          = WANDS+6;
+	public static final int WAND_LIVING_EARTH   = WANDS+7;
+	public static final int WAND_BLAST_WAVE     = WANDS+8;
+	public static final int WAND_CORRUPTION     = WANDS+9;
+	public static final int WAND_WARDING        = WANDS+10;
+	public static final int WAND_REGROWTH       = WANDS+11;
+	public static final int WAND_TRANSFUSION    = WANDS+12;
 
-	//Row Sixteen: Unused
+	private static final int RINGS          =                               xy(1, 15);  //16 slots
+	public static final int RING_GARNET     = RINGS+0;
+	public static final int RING_RUBY       = RINGS+1;
+	public static final int RING_TOPAZ      = RINGS+2;
+	public static final int RING_EMERALD    = RINGS+3;
+	public static final int RING_ONYX       = RINGS+4;
+	public static final int RING_OPAL       = RINGS+5;
+	public static final int RING_TOURMALINE = RINGS+6;
+	public static final int RING_SAPPHIRE   = RINGS+7;
+	public static final int RING_AMETHYST   = RINGS+8;
+	public static final int RING_QUARTZ     = RINGS+9;
+	public static final int RING_AGATE      = RINGS+10;
+	public static final int RING_DIAMOND    = RINGS+11;
+
+	private static final int ARTIFACTS          =                            xy(1, 16);  //32 slots
+	public static final int ARTIFACT_CLOAK      = ARTIFACTS+0;
+	public static final int ARTIFACT_ARMBAND    = ARTIFACTS+1;
+	public static final int ARTIFACT_CAPE       = ARTIFACTS+2;
+	public static final int ARTIFACT_TALISMAN   = ARTIFACTS+3;
+	public static final int ARTIFACT_HOURGLASS  = ARTIFACTS+4;
+	public static final int ARTIFACT_TOOLKIT    = ARTIFACTS+5;
+	public static final int ARTIFACT_SPELLBOOK  = ARTIFACTS+6;
+	public static final int ARTIFACT_BEACON     = ARTIFACTS+7;
+	public static final int ARTIFACT_CHAINS     = ARTIFACTS+8;
+	public static final int ARTIFACT_HORN1      = ARTIFACTS+9;
+	public static final int ARTIFACT_HORN2      = ARTIFACTS+10;
+	public static final int ARTIFACT_HORN3      = ARTIFACTS+11;
+	public static final int ARTIFACT_HORN4      = ARTIFACTS+12;
+	public static final int ARTIFACT_CHALICE1   = ARTIFACTS+13;
+	public static final int ARTIFACT_CHALICE2   = ARTIFACTS+14;
+	public static final int ARTIFACT_CHALICE3   = ARTIFACTS+15;
+	public static final int ARTIFACT_SANDALS    = ARTIFACTS+16;
+	public static final int ARTIFACT_SHOES      = ARTIFACTS+17;
+	public static final int ARTIFACT_BOOTS      = ARTIFACTS+18;
+	public static final int ARTIFACT_GREAVES    = ARTIFACTS+19;
+	public static final int ARTIFACT_ROSE1      = ARTIFACTS+20;
+	public static final int ARTIFACT_ROSE2      = ARTIFACTS+21;
+	public static final int ARTIFACT_ROSE3      = ARTIFACTS+22;
+
+	                                                                                    //32 free slots
+
+	private static final int SCROLLS        =                               xy(1, 20);  //16 slots
+	public static final int SCROLL_KAUNAN   = SCROLLS+0;
+	public static final int SCROLL_SOWILO   = SCROLLS+1;
+	public static final int SCROLL_LAGUZ    = SCROLLS+2;
+	public static final int SCROLL_YNGVI    = SCROLLS+3;
+	public static final int SCROLL_GYFU     = SCROLLS+4;
+	public static final int SCROLL_RAIDO    = SCROLLS+5;
+	public static final int SCROLL_ISAZ     = SCROLLS+6;
+	public static final int SCROLL_MANNAZ   = SCROLLS+7;
+	public static final int SCROLL_NAUDIZ   = SCROLLS+8;
+	public static final int SCROLL_BERKANAN = SCROLLS+9;
+	public static final int SCROLL_ODAL     = SCROLLS+10;
+	public static final int SCROLL_TIWAZ    = SCROLLS+11;
+
+	private static final int POTIONS        =                               xy(1, 21);  //16 slots
+	public static final int POTION_CRIMSON  = POTIONS+0;
+	public static final int POTION_AMBER    = POTIONS+1;
+	public static final int POTION_GOLDEN   = POTIONS+2;
+	public static final int POTION_JADE     = POTIONS+3;
+	public static final int POTION_TURQUOISE= POTIONS+4;
+	public static final int POTION_AZURE    = POTIONS+5;
+	public static final int POTION_INDIGO   = POTIONS+6;
+	public static final int POTION_MAGENTA  = POTIONS+7;
+	public static final int POTION_BISTRE   = POTIONS+8;
+	public static final int POTION_CHARCOAL = POTIONS+9;
+	public static final int POTION_SILVER   = POTIONS+10;
+	public static final int POTION_IVORY    = POTIONS+11;
+
+	private static final int SEEDS          =                               xy(1, 22);  //16 slots
+	public static final int SEED_ROTBERRY   = SEEDS+0;
+	public static final int SEED_FIREBLOOM  = SEEDS+1;
+	public static final int SEED_STARFLOWER = SEEDS+2;
+	public static final int SEED_BLINDWEED  = SEEDS+3;
+	public static final int SEED_SUNGRASS   = SEEDS+4;
+	public static final int SEED_ICECAP     = SEEDS+5;
+	public static final int SEED_STORMVINE  = SEEDS+6;
+	public static final int SEED_SORROWMOSS = SEEDS+7;
+	public static final int SEED_DREAMFOIL  = SEEDS+8;
+	public static final int SEED_EARTHROOT  = SEEDS+9;
+	public static final int SEED_FADELEAF   = SEEDS+10;
+	public static final int SEED_BLANDFRUIT = SEEDS+11;
+
+	                                                                                    //32 free slots
+
+	private static final int FOOD       =                                   xy(1, 25);  //16 slots
+	public static final int MEAT        = FOOD+0;
+	public static final int STEAK       = FOOD+1;
+	public static final int OVERPRICED  = FOOD+2;
+	public static final int CARPACCIO   = FOOD+3;
+	public static final int BLANDFRUIT  = FOOD+4;
+	public static final int RATION      = FOOD+5;
+	public static final int PASTY       = FOOD+6;
+	public static final int CANDY_CANE  = FOOD+7;
+
+	private static final int QUEST  =                                       xy(1, 26);  //32 slots
+	public static final int SKULL   = QUEST+0;
+	public static final int DUST    = QUEST+1;
+	public static final int CANDLE  = QUEST+2;
+	public static final int EMBER   = QUEST+3;
+	public static final int PICKAXE = QUEST+4;
+	public static final int ORE     = QUEST+5;
+	public static final int TOKEN   = QUEST+6;
+
+	private static final int BAGS       =                                   xy(1, 28);  //16 slots
+	public static final int VIAL        = BAGS+0;
+	public static final int POUCH       = BAGS+1;
+	public static final int HOLDER      = BAGS+2;
+	public static final int BANDOLIER   = BAGS+3;
+	public static final int HOLSTER     = BAGS+4;
+
+	                                                                                    //64 free slots
 
 }
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java
index f01236984..be753d8c3 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java
@@ -167,10 +167,10 @@ public class WndBag extends WndTabbed {
 		
 		// Equipped items
 		Belongings stuff = Dungeon.hero.belongings;
-		placeItem( stuff.weapon != null ? stuff.weapon : new Placeholder( ItemSpriteSheet.WEAPON ) );
-		placeItem( stuff.armor != null ? stuff.armor : new Placeholder( ItemSpriteSheet.ARMOR ) );
-		placeItem( stuff.misc1 != null ? stuff.misc1 : new Placeholder( ItemSpriteSheet.RING ) );
-		placeItem( stuff.misc2 != null ? stuff.misc2 : new Placeholder( ItemSpriteSheet.RING ) );
+		placeItem( stuff.weapon != null ? stuff.weapon : new Placeholder( ItemSpriteSheet.WEAPON_HOLDER ) );
+		placeItem( stuff.armor != null ? stuff.armor : new Placeholder( ItemSpriteSheet.ARMOR_HOLDER ) );
+		placeItem( stuff.misc1 != null ? stuff.misc1 : new Placeholder( ItemSpriteSheet.RING_HOLDER ) );
+		placeItem( stuff.misc2 != null ? stuff.misc2 : new Placeholder( ItemSpriteSheet.RING_HOLDER ) );
 
 		boolean backpack = (container == Dungeon.hero.belongings.backpack);
 		if (!backpack) {