diff --git a/assets/common/items/armor/back/admin.ron b/assets/common/items/armor/back/admin.ron
index cd009c926a..cacbdc1610 100644
--- a/assets/common/items/armor/back/admin.ron
+++ b/assets/common/items/armor/back/admin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Debug,
-)
\ No newline at end of file
+    tags: [],
+)
diff --git a/assets/common/items/armor/back/backpack_0.ron b/assets/common/items/armor/back/backpack_0.ron
index 1bfe94bf62..14c4380464 100644
--- a/assets/common/items/armor/back/backpack_0.ron
+++ b/assets/common/items/armor/back/backpack_0.ron
@@ -9,5 +9,6 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
     slots: 18,
 )
diff --git a/assets/common/items/armor/back/dungeon_purple-0.ron b/assets/common/items/armor/back/dungeon_purple-0.ron
index 2a9fdd7b13..45a2ee2027 100644
--- a/assets/common/items/armor/back/dungeon_purple-0.ron
+++ b/assets/common/items/armor/back/dungeon_purple-0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/back/leather_adventurer.ron b/assets/common/items/armor/back/leather_adventurer.ron
index 7fd045613d..84ae5a60a3 100644
--- a/assets/common/items/armor/back/leather_adventurer.ron
+++ b/assets/common/items/armor/back/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/back/short_0.ron b/assets/common/items/armor/back/short_0.ron
index 746a2eec73..de02121abe 100644
--- a/assets/common/items/armor/back/short_0.ron
+++ b/assets/common/items/armor/back/short_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/back/short_1.ron b/assets/common/items/armor/back/short_1.ron
index 859ef261bb..481036d430 100644
--- a/assets/common/items/armor/back/short_1.ron
+++ b/assets/common/items/armor/back/short_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/back/velorite_mage_0.ron b/assets/common/items/armor/back/velorite_mage_0.ron
index 0034156b76..22b553472d 100644
--- a/assets/common/items/armor/back/velorite_mage_0.ron
+++ b/assets/common/items/armor/back/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/back/warlock.ron b/assets/common/items/armor/back/warlock.ron
index b9ebf9f592..6b5a529c0e 100644
--- a/assets/common/items/armor/back/warlock.ron
+++ b/assets/common/items/armor/back/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/back/warlord.ron b/assets/common/items/armor/back/warlord.ron
index 119b123c76..327af6133b 100644
--- a/assets/common/items/armor/back/warlord.ron
+++ b/assets/common/items/armor/back/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/bag/heavy_seabag.ron b/assets/common/items/armor/bag/heavy_seabag.ron
index 985a3d19a8..030483a6c9 100644
--- a/assets/common/items/armor/bag/heavy_seabag.ron
+++ b/assets/common/items/armor/bag/heavy_seabag.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
     slots: 14,
 )
diff --git a/assets/common/items/armor/bag/knitted_red_pouch.ron b/assets/common/items/armor/bag/knitted_red_pouch.ron
index 1d0dfb459f..42488de9a9 100644
--- a/assets/common/items/armor/bag/knitted_red_pouch.ron
+++ b/assets/common/items/armor/bag/knitted_red_pouch.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
     slots: 9,
 )
diff --git a/assets/common/items/armor/bag/liana_kit.ron b/assets/common/items/armor/bag/liana_kit.ron
index 1ec94e42ff..8ccd518c51 100644
--- a/assets/common/items/armor/bag/liana_kit.ron
+++ b/assets/common/items/armor/bag/liana_kit.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
     slots: 12,
 )
diff --git a/assets/common/items/armor/bag/mindflayer_spellbag.ron b/assets/common/items/armor/bag/mindflayer_spellbag.ron
index 5a3cd0d5b0..b976909fcc 100644
--- a/assets/common/items/armor/bag/mindflayer_spellbag.ron
+++ b/assets/common/items/armor/bag/mindflayer_spellbag.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Epic,
+    tags: [],
     slots: 27,
 )
diff --git a/assets/common/items/armor/bag/reliable_backpack.ron b/assets/common/items/armor/bag/reliable_backpack.ron
index 5b219f4531..46ee50f283 100644
--- a/assets/common/items/armor/bag/reliable_backpack.ron
+++ b/assets/common/items/armor/bag/reliable_backpack.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
     slots: 16,
 )
diff --git a/assets/common/items/armor/bag/soulkeeper_cursed.ron b/assets/common/items/armor/bag/soulkeeper_cursed.ron
index a465d21901..239dee216d 100644
--- a/assets/common/items/armor/bag/soulkeeper_cursed.ron
+++ b/assets/common/items/armor/bag/soulkeeper_cursed.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Legendary,
+    tags: [],
     slots: 36,
 )
diff --git a/assets/common/items/armor/bag/soulkeeper_pure.ron b/assets/common/items/armor/bag/soulkeeper_pure.ron
index fd5977c10d..b518e56f4b 100644
--- a/assets/common/items/armor/bag/soulkeeper_pure.ron
+++ b/assets/common/items/armor/bag/soulkeeper_pure.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Legendary,
+    tags: [],
     slots: 36,
 )
diff --git a/assets/common/items/armor/bag/sturdy_red_backpack.ron b/assets/common/items/armor/bag/sturdy_red_backpack.ron
index cadd2570eb..ac95243400 100644
--- a/assets/common/items/armor/bag/sturdy_red_backpack.ron
+++ b/assets/common/items/armor/bag/sturdy_red_backpack.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
     slots: 18,
 )
diff --git a/assets/common/items/armor/bag/tiny_leather_pouch.ron b/assets/common/items/armor/bag/tiny_leather_pouch.ron
index 994f908241..4190c763d2 100644
--- a/assets/common/items/armor/bag/tiny_leather_pouch.ron
+++ b/assets/common/items/armor/bag/tiny_leather_pouch.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Common,
+    tags: [],
     slots: 6,
 )
diff --git a/assets/common/items/armor/bag/tiny_red_pouch.ron b/assets/common/items/armor/bag/tiny_red_pouch.ron
index 7e68e045d2..03adf1f18e 100644
--- a/assets/common/items/armor/bag/tiny_red_pouch.ron
+++ b/assets/common/items/armor/bag/tiny_red_pouch.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Common,
+    tags: [],
     slots: 3,
 )
diff --git a/assets/common/items/armor/bag/troll_hide_pack.ron b/assets/common/items/armor/bag/troll_hide_pack.ron
index 1f2163343f..34d688eb75 100644
--- a/assets/common/items/armor/bag/troll_hide_pack.ron
+++ b/assets/common/items/armor/bag/troll_hide_pack.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
     slots: 18,
 )
diff --git a/assets/common/items/armor/bag/woven_red_bag.ron b/assets/common/items/armor/bag/woven_red_bag.ron
index cfe3fbe18c..a94a0df64e 100644
--- a/assets/common/items/armor/bag/woven_red_bag.ron
+++ b/assets/common/items/armor/bag/woven_red_bag.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
     slots: 15,
 )
diff --git a/assets/common/items/armor/belt/assassin.ron b/assets/common/items/armor/belt/assassin.ron
index 9b8861a8ae..c058f86b94 100644
--- a/assets/common/items/armor/belt/assassin.ron
+++ b/assets/common/items/armor/belt/assassin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/bonerattler.ron b/assets/common/items/armor/belt/bonerattler.ron
index 911b00698c..0e92fb84e2 100644
--- a/assets/common/items/armor/belt/bonerattler.ron
+++ b/assets/common/items/armor/belt/bonerattler.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/cloth_blue_0.ron b/assets/common/items/armor/belt/cloth_blue_0.ron
index 63f94481b8..2ead514736 100644
--- a/assets/common/items/armor/belt/cloth_blue_0.ron
+++ b/assets/common/items/armor/belt/cloth_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/cloth_green_0.ron b/assets/common/items/armor/belt/cloth_green_0.ron
index 382fd7d56f..952605b13e 100644
--- a/assets/common/items/armor/belt/cloth_green_0.ron
+++ b/assets/common/items/armor/belt/cloth_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/cloth_purple_0.ron b/assets/common/items/armor/belt/cloth_purple_0.ron
index 19dcf4a0b8..afd0fc7401 100644
--- a/assets/common/items/armor/belt/cloth_purple_0.ron
+++ b/assets/common/items/armor/belt/cloth_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/cultist_belt.ron b/assets/common/items/armor/belt/cultist_belt.ron
index b1e593be4c..fee30d35a7 100644
--- a/assets/common/items/armor/belt/cultist_belt.ron
+++ b/assets/common/items/armor/belt/cultist_belt.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/druid.ron b/assets/common/items/armor/belt/druid.ron
index 74b5b2c6b4..1778016f46 100644
--- a/assets/common/items/armor/belt/druid.ron
+++ b/assets/common/items/armor/belt/druid.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/leather_0.ron b/assets/common/items/armor/belt/leather_0.ron
index c577366f77..ee4ef7f357 100644
--- a/assets/common/items/armor/belt/leather_0.ron
+++ b/assets/common/items/armor/belt/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/leather_2.ron b/assets/common/items/armor/belt/leather_2.ron
index f0f9e5d3b5..a3b0f23a32 100644
--- a/assets/common/items/armor/belt/leather_2.ron
+++ b/assets/common/items/armor/belt/leather_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/leather_adventurer.ron b/assets/common/items/armor/belt/leather_adventurer.ron
index af56b777b0..187ddc53aa 100644
--- a/assets/common/items/armor/belt/leather_adventurer.ron
+++ b/assets/common/items/armor/belt/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/plate_0.ron b/assets/common/items/armor/belt/plate_0.ron
index 7ed91ac2e2..f82ddd629b 100644
--- a/assets/common/items/armor/belt/plate_0.ron
+++ b/assets/common/items/armor/belt/plate_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/steel_0.ron b/assets/common/items/armor/belt/steel_0.ron
index 43eaacf59d..f97a186550 100644
--- a/assets/common/items/armor/belt/steel_0.ron
+++ b/assets/common/items/armor/belt/steel_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/tarasque.ron b/assets/common/items/armor/belt/tarasque.ron
index ac7b654622..567779bb4b 100644
--- a/assets/common/items/armor/belt/tarasque.ron
+++ b/assets/common/items/armor/belt/tarasque.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/twig.ron b/assets/common/items/armor/belt/twig.ron
index 7cc86cfd35..3fbe526fd9 100644
--- a/assets/common/items/armor/belt/twig.ron
+++ b/assets/common/items/armor/belt/twig.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/twigsflowers.ron b/assets/common/items/armor/belt/twigsflowers.ron
index 0bd4638439..23374046b8 100644
--- a/assets/common/items/armor/belt/twigsflowers.ron
+++ b/assets/common/items/armor/belt/twigsflowers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/twigsleaves.ron b/assets/common/items/armor/belt/twigsleaves.ron
index 5c428b1647..50f597b147 100644
--- a/assets/common/items/armor/belt/twigsleaves.ron
+++ b/assets/common/items/armor/belt/twigsleaves.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/velorite_mage_0.ron b/assets/common/items/armor/belt/velorite_mage_0.ron
index 4f9f0f6f75..671238d880 100644
--- a/assets/common/items/armor/belt/velorite_mage_0.ron
+++ b/assets/common/items/armor/belt/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/warlock.ron b/assets/common/items/armor/belt/warlock.ron
index 13090bcf11..8d9ddd0614 100644
--- a/assets/common/items/armor/belt/warlock.ron
+++ b/assets/common/items/armor/belt/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/belt/warlord.ron b/assets/common/items/armor/belt/warlord.ron
index 038abb0854..1856ae9948 100644
--- a/assets/common/items/armor/belt/warlord.ron
+++ b/assets/common/items/armor/belt/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/assassin.ron b/assets/common/items/armor/chest/assassin.ron
index e34d74407c..045f734b24 100644
--- a/assets/common/items/armor/chest/assassin.ron
+++ b/assets/common/items/armor/chest/assassin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/bonerattler.ron b/assets/common/items/armor/chest/bonerattler.ron
index e2f609a790..628f7d2c2c 100644
--- a/assets/common/items/armor/chest/bonerattler.ron
+++ b/assets/common/items/armor/chest/bonerattler.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/cloth_blue_0.ron b/assets/common/items/armor/chest/cloth_blue_0.ron
index 7592e1e5e8..15212dc6c3 100644
--- a/assets/common/items/armor/chest/cloth_blue_0.ron
+++ b/assets/common/items/armor/chest/cloth_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/cloth_green_0.ron b/assets/common/items/armor/chest/cloth_green_0.ron
index 2141a19e40..a1157ddf54 100644
--- a/assets/common/items/armor/chest/cloth_green_0.ron
+++ b/assets/common/items/armor/chest/cloth_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/cloth_purple_0.ron b/assets/common/items/armor/chest/cloth_purple_0.ron
index 104f19ba21..61013cfc0c 100644
--- a/assets/common/items/armor/chest/cloth_purple_0.ron
+++ b/assets/common/items/armor/chest/cloth_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/cultist_chest_blue.ron b/assets/common/items/armor/chest/cultist_chest_blue.ron
index b7cdb46189..6abfad9c7a 100644
--- a/assets/common/items/armor/chest/cultist_chest_blue.ron
+++ b/assets/common/items/armor/chest/cultist_chest_blue.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/cultist_chest_purple.ron b/assets/common/items/armor/chest/cultist_chest_purple.ron
index 57676da60e..a268cb5334 100644
--- a/assets/common/items/armor/chest/cultist_chest_purple.ron
+++ b/assets/common/items/armor/chest/cultist_chest_purple.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/druid.ron b/assets/common/items/armor/chest/druid.ron
index a455fdaf7a..a478f480d9 100644
--- a/assets/common/items/armor/chest/druid.ron
+++ b/assets/common/items/armor/chest/druid.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/leather_0.ron b/assets/common/items/armor/chest/leather_0.ron
index aee90be404..17aaf77fe4 100644
--- a/assets/common/items/armor/chest/leather_0.ron
+++ b/assets/common/items/armor/chest/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/leather_2.ron b/assets/common/items/armor/chest/leather_2.ron
index 524c86d484..749da4db1d 100644
--- a/assets/common/items/armor/chest/leather_2.ron
+++ b/assets/common/items/armor/chest/leather_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/leather_adventurer.ron b/assets/common/items/armor/chest/leather_adventurer.ron
index 85dc6603c2..ea6caa82ea 100644
--- a/assets/common/items/armor/chest/leather_adventurer.ron
+++ b/assets/common/items/armor/chest/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/plate_green_0.ron b/assets/common/items/armor/chest/plate_green_0.ron
index c561370496..58724b374b 100644
--- a/assets/common/items/armor/chest/plate_green_0.ron
+++ b/assets/common/items/armor/chest/plate_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/rugged.ron b/assets/common/items/armor/chest/rugged.ron
index 9ef7387b84..05d690740c 100644
--- a/assets/common/items/armor/chest/rugged.ron
+++ b/assets/common/items/armor/chest/rugged.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/steel_0.ron b/assets/common/items/armor/chest/steel_0.ron
index 66f55df851..58c346e008 100644
--- a/assets/common/items/armor/chest/steel_0.ron
+++ b/assets/common/items/armor/chest/steel_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/tarasque.ron b/assets/common/items/armor/chest/tarasque.ron
index 19ae895edf..7239fcf622 100644
--- a/assets/common/items/armor/chest/tarasque.ron
+++ b/assets/common/items/armor/chest/tarasque.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/twig.ron b/assets/common/items/armor/chest/twig.ron
index 2c19c88308..41eeb25fe9 100644
--- a/assets/common/items/armor/chest/twig.ron
+++ b/assets/common/items/armor/chest/twig.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/twigsflowers.ron b/assets/common/items/armor/chest/twigsflowers.ron
index bb0af6ac07..7b72cdeb9b 100644
--- a/assets/common/items/armor/chest/twigsflowers.ron
+++ b/assets/common/items/armor/chest/twigsflowers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/twigsleaves.ron b/assets/common/items/armor/chest/twigsleaves.ron
index 134dc38dbd..6983782860 100644
--- a/assets/common/items/armor/chest/twigsleaves.ron
+++ b/assets/common/items/armor/chest/twigsleaves.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/velorite_mage_0.ron b/assets/common/items/armor/chest/velorite_mage_0.ron
index 66f34078ac..6498069dd3 100644
--- a/assets/common/items/armor/chest/velorite_mage_0.ron
+++ b/assets/common/items/armor/chest/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/warlock.ron b/assets/common/items/armor/chest/warlock.ron
index ade247dec7..8ccc069e30 100644
--- a/assets/common/items/armor/chest/warlock.ron
+++ b/assets/common/items/armor/chest/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/warlord.ron b/assets/common/items/armor/chest/warlord.ron
index feb00e87bd..b985e3175d 100644
--- a/assets/common/items/armor/chest/warlord.ron
+++ b/assets/common/items/armor/chest/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_green_0.ron b/assets/common/items/armor/chest/worker_green_0.ron
index f5ad6ad68e..4a1d1ae231 100644
--- a/assets/common/items/armor/chest/worker_green_0.ron
+++ b/assets/common/items/armor/chest/worker_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_green_1.ron b/assets/common/items/armor/chest/worker_green_1.ron
index e38bf81f40..dc1c542a21 100644
--- a/assets/common/items/armor/chest/worker_green_1.ron
+++ b/assets/common/items/armor/chest/worker_green_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_orange_0.ron b/assets/common/items/armor/chest/worker_orange_0.ron
index 27ec2a9544..8dc5fd089f 100644
--- a/assets/common/items/armor/chest/worker_orange_0.ron
+++ b/assets/common/items/armor/chest/worker_orange_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_orange_1.ron b/assets/common/items/armor/chest/worker_orange_1.ron
index c1468459ce..f9d9bbd3fa 100644
--- a/assets/common/items/armor/chest/worker_orange_1.ron
+++ b/assets/common/items/armor/chest/worker_orange_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_purple_0.ron b/assets/common/items/armor/chest/worker_purple_0.ron
index 8133ecd89f..e13413135f 100644
--- a/assets/common/items/armor/chest/worker_purple_0.ron
+++ b/assets/common/items/armor/chest/worker_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_purple_1.ron b/assets/common/items/armor/chest/worker_purple_1.ron
index af8ea4be98..7aa9707e76 100644
--- a/assets/common/items/armor/chest/worker_purple_1.ron
+++ b/assets/common/items/armor/chest/worker_purple_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_red_0.ron b/assets/common/items/armor/chest/worker_red_0.ron
index ce3bee75a3..ef4e370099 100644
--- a/assets/common/items/armor/chest/worker_red_0.ron
+++ b/assets/common/items/armor/chest/worker_red_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_red_1.ron b/assets/common/items/armor/chest/worker_red_1.ron
index e773744171..bc0b028678 100644
--- a/assets/common/items/armor/chest/worker_red_1.ron
+++ b/assets/common/items/armor/chest/worker_red_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_yellow_0.ron b/assets/common/items/armor/chest/worker_yellow_0.ron
index a4b3160d01..e23862382f 100644
--- a/assets/common/items/armor/chest/worker_yellow_0.ron
+++ b/assets/common/items/armor/chest/worker_yellow_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/chest/worker_yellow_1.ron b/assets/common/items/armor/chest/worker_yellow_1.ron
index cd5848a950..0b8de82a4e 100644
--- a/assets/common/items/armor/chest/worker_yellow_1.ron
+++ b/assets/common/items/armor/chest/worker_yellow_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/assassin.ron b/assets/common/items/armor/foot/assassin.ron
index 15f1e84952..d4236ca206 100644
--- a/assets/common/items/armor/foot/assassin.ron
+++ b/assets/common/items/armor/foot/assassin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/bonerattler.ron b/assets/common/items/armor/foot/bonerattler.ron
index 208d5a05ef..d83a6dde27 100644
--- a/assets/common/items/armor/foot/bonerattler.ron
+++ b/assets/common/items/armor/foot/bonerattler.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/cloth_blue_0.ron b/assets/common/items/armor/foot/cloth_blue_0.ron
index bd4ba2ff2b..b5c70238e9 100644
--- a/assets/common/items/armor/foot/cloth_blue_0.ron
+++ b/assets/common/items/armor/foot/cloth_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/cloth_green_0.ron b/assets/common/items/armor/foot/cloth_green_0.ron
index ddccadad8f..8b3b52205e 100644
--- a/assets/common/items/armor/foot/cloth_green_0.ron
+++ b/assets/common/items/armor/foot/cloth_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/cloth_purple_0.ron b/assets/common/items/armor/foot/cloth_purple_0.ron
index d939474622..38df61bf13 100644
--- a/assets/common/items/armor/foot/cloth_purple_0.ron
+++ b/assets/common/items/armor/foot/cloth_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/cultist_boots.ron b/assets/common/items/armor/foot/cultist_boots.ron
index 25646f2d9f..da720e40b4 100644
--- a/assets/common/items/armor/foot/cultist_boots.ron
+++ b/assets/common/items/armor/foot/cultist_boots.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/druid.ron b/assets/common/items/armor/foot/druid.ron
index c0623f8b0e..9bc8abc377 100644
--- a/assets/common/items/armor/foot/druid.ron
+++ b/assets/common/items/armor/foot/druid.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/jackalope_slippers.ron b/assets/common/items/armor/foot/jackalope_slippers.ron
index 9e828b2b12..091bfbbc84 100644
--- a/assets/common/items/armor/foot/jackalope_slippers.ron
+++ b/assets/common/items/armor/foot/jackalope_slippers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/leather_0.ron b/assets/common/items/armor/foot/leather_0.ron
index 857b7d6ec6..f8657eb430 100644
--- a/assets/common/items/armor/foot/leather_0.ron
+++ b/assets/common/items/armor/foot/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/leather_2.ron b/assets/common/items/armor/foot/leather_2.ron
index 5b5368478d..1c24f94bb7 100644
--- a/assets/common/items/armor/foot/leather_2.ron
+++ b/assets/common/items/armor/foot/leather_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/leather_adventurer.ron b/assets/common/items/armor/foot/leather_adventurer.ron
index 6edbf1489d..3369b5f82b 100644
--- a/assets/common/items/armor/foot/leather_adventurer.ron
+++ b/assets/common/items/armor/foot/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/plate_0.ron b/assets/common/items/armor/foot/plate_0.ron
index 79c1ef0b95..1408c3b485 100644
--- a/assets/common/items/armor/foot/plate_0.ron
+++ b/assets/common/items/armor/foot/plate_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/sandals_0.ron b/assets/common/items/armor/foot/sandals_0.ron
index 935537888a..673ecd1f90 100644
--- a/assets/common/items/armor/foot/sandals_0.ron
+++ b/assets/common/items/armor/foot/sandals_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/steel_0.ron b/assets/common/items/armor/foot/steel_0.ron
index 4fa4afc307..49ca7b4782 100644
--- a/assets/common/items/armor/foot/steel_0.ron
+++ b/assets/common/items/armor/foot/steel_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/tarasque.ron b/assets/common/items/armor/foot/tarasque.ron
index 25fba263c7..b8026139fc 100644
--- a/assets/common/items/armor/foot/tarasque.ron
+++ b/assets/common/items/armor/foot/tarasque.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/twig.ron b/assets/common/items/armor/foot/twig.ron
index c261e07977..8d799d1ab3 100644
--- a/assets/common/items/armor/foot/twig.ron
+++ b/assets/common/items/armor/foot/twig.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/twigsflowers.ron b/assets/common/items/armor/foot/twigsflowers.ron
index f64bab848e..22b188712a 100644
--- a/assets/common/items/armor/foot/twigsflowers.ron
+++ b/assets/common/items/armor/foot/twigsflowers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/twigsleaves.ron b/assets/common/items/armor/foot/twigsleaves.ron
index edd7cdc56a..93a4857127 100644
--- a/assets/common/items/armor/foot/twigsleaves.ron
+++ b/assets/common/items/armor/foot/twigsleaves.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/velorite_mage_0.ron b/assets/common/items/armor/foot/velorite_mage_0.ron
index cf7d799801..12dc4d8935 100644
--- a/assets/common/items/armor/foot/velorite_mage_0.ron
+++ b/assets/common/items/armor/foot/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/warlock.ron b/assets/common/items/armor/foot/warlock.ron
index 7ada97e62f..2fe2ea919a 100644
--- a/assets/common/items/armor/foot/warlock.ron
+++ b/assets/common/items/armor/foot/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/foot/warlord.ron b/assets/common/items/armor/foot/warlord.ron
index ad7f8cba15..dd795009c8 100644
--- a/assets/common/items/armor/foot/warlord.ron
+++ b/assets/common/items/armor/foot/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/assassin.ron b/assets/common/items/armor/hand/assassin.ron
index 069ab1e39b..b0f5f026ee 100644
--- a/assets/common/items/armor/hand/assassin.ron
+++ b/assets/common/items/armor/hand/assassin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/bonerattler.ron b/assets/common/items/armor/hand/bonerattler.ron
index 5900e7a77d..4c5c316efc 100644
--- a/assets/common/items/armor/hand/bonerattler.ron
+++ b/assets/common/items/armor/hand/bonerattler.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/cloth_blue_0.ron b/assets/common/items/armor/hand/cloth_blue_0.ron
index 337e2c74e3..946d7d5096 100644
--- a/assets/common/items/armor/hand/cloth_blue_0.ron
+++ b/assets/common/items/armor/hand/cloth_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/cloth_green_0.ron b/assets/common/items/armor/hand/cloth_green_0.ron
index acae6a4f0d..7c8f5297be 100644
--- a/assets/common/items/armor/hand/cloth_green_0.ron
+++ b/assets/common/items/armor/hand/cloth_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/cloth_purple_0.ron b/assets/common/items/armor/hand/cloth_purple_0.ron
index 865ff3578b..19dc537539 100644
--- a/assets/common/items/armor/hand/cloth_purple_0.ron
+++ b/assets/common/items/armor/hand/cloth_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/cultist_hands_blue.ron b/assets/common/items/armor/hand/cultist_hands_blue.ron
index c5b3fae240..78cbbc7590 100644
--- a/assets/common/items/armor/hand/cultist_hands_blue.ron
+++ b/assets/common/items/armor/hand/cultist_hands_blue.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/cultist_hands_purple.ron b/assets/common/items/armor/hand/cultist_hands_purple.ron
index 2d93729d04..b3e944bc92 100644
--- a/assets/common/items/armor/hand/cultist_hands_purple.ron
+++ b/assets/common/items/armor/hand/cultist_hands_purple.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/druid.ron b/assets/common/items/armor/hand/druid.ron
index c8f00418d7..abca18a39a 100644
--- a/assets/common/items/armor/hand/druid.ron
+++ b/assets/common/items/armor/hand/druid.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/leather_0.ron b/assets/common/items/armor/hand/leather_0.ron
index 722829a8b3..a47f26bcdb 100644
--- a/assets/common/items/armor/hand/leather_0.ron
+++ b/assets/common/items/armor/hand/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/leather_2.ron b/assets/common/items/armor/hand/leather_2.ron
index 177fe3eb07..c0be4105a0 100644
--- a/assets/common/items/armor/hand/leather_2.ron
+++ b/assets/common/items/armor/hand/leather_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/leather_adventurer.ron b/assets/common/items/armor/hand/leather_adventurer.ron
index 6b9ab354a0..227ebbe8b6 100644
--- a/assets/common/items/armor/hand/leather_adventurer.ron
+++ b/assets/common/items/armor/hand/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/plate_0.ron b/assets/common/items/armor/hand/plate_0.ron
index 5aea39a651..0469dd3bb7 100644
--- a/assets/common/items/armor/hand/plate_0.ron
+++ b/assets/common/items/armor/hand/plate_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/steel_0.ron b/assets/common/items/armor/hand/steel_0.ron
index 714126c3e0..772dbd9780 100644
--- a/assets/common/items/armor/hand/steel_0.ron
+++ b/assets/common/items/armor/hand/steel_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/tarasque.ron b/assets/common/items/armor/hand/tarasque.ron
index 60a67cb634..00d0d2a523 100644
--- a/assets/common/items/armor/hand/tarasque.ron
+++ b/assets/common/items/armor/hand/tarasque.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/twig.ron b/assets/common/items/armor/hand/twig.ron
index 83139293ad..6484eb5758 100644
--- a/assets/common/items/armor/hand/twig.ron
+++ b/assets/common/items/armor/hand/twig.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/twigsflowers.ron b/assets/common/items/armor/hand/twigsflowers.ron
index df13a1736e..6fef157d8c 100644
--- a/assets/common/items/armor/hand/twigsflowers.ron
+++ b/assets/common/items/armor/hand/twigsflowers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/twigsleaves.ron b/assets/common/items/armor/hand/twigsleaves.ron
index 90e7dd82a3..4b1c9728e6 100644
--- a/assets/common/items/armor/hand/twigsleaves.ron
+++ b/assets/common/items/armor/hand/twigsleaves.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/velorite_mage_0.ron b/assets/common/items/armor/hand/velorite_mage_0.ron
index 9872fae4bd..81eb510f9e 100644
--- a/assets/common/items/armor/hand/velorite_mage_0.ron
+++ b/assets/common/items/armor/hand/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/warlock.ron b/assets/common/items/armor/hand/warlock.ron
index 1c36991322..b05c98b268 100644
--- a/assets/common/items/armor/hand/warlock.ron
+++ b/assets/common/items/armor/hand/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/hand/warlord.ron b/assets/common/items/armor/hand/warlord.ron
index acb84db01d..722a1ad6fd 100644
--- a/assets/common/items/armor/hand/warlord.ron
+++ b/assets/common/items/armor/hand/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/head/assa_mask_0.ron b/assets/common/items/armor/head/assa_mask_0.ron
index 5d25c4be52..a6cf805c34 100644
--- a/assets/common/items/armor/head/assa_mask_0.ron
+++ b/assets/common/items/armor/head/assa_mask_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/head/leather_0.ron b/assets/common/items/armor/head/leather_0.ron
index fe175bac01..fcb6d867a0 100644
--- a/assets/common/items/armor/head/leather_0.ron
+++ b/assets/common/items/armor/head/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/head/warlock.ron b/assets/common/items/armor/head/warlock.ron
index 6d0182716b..97ad1c36a7 100644
--- a/assets/common/items/armor/head/warlock.ron
+++ b/assets/common/items/armor/head/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/head/warlord.ron b/assets/common/items/armor/head/warlord.ron
index b505dd0dcf..a8b13a16b2 100644
--- a/assets/common/items/armor/head/warlord.ron
+++ b/assets/common/items/armor/head/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/neck/neck_0.ron b/assets/common/items/armor/neck/neck_0.ron
index e31aacb465..64087a68f6 100644
--- a/assets/common/items/armor/neck/neck_0.ron
+++ b/assets/common/items/armor/neck/neck_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/neck/neck_1.ron b/assets/common/items/armor/neck/neck_1.ron
index df762fb5cd..e36af099b6 100644
--- a/assets/common/items/armor/neck/neck_1.ron
+++ b/assets/common/items/armor/neck/neck_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/assassin.ron b/assets/common/items/armor/pants/assassin.ron
index c2829143cf..65d247fe76 100644
--- a/assets/common/items/armor/pants/assassin.ron
+++ b/assets/common/items/armor/pants/assassin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/bonerattler.ron b/assets/common/items/armor/pants/bonerattler.ron
index 2f2048240a..85575b8570 100644
--- a/assets/common/items/armor/pants/bonerattler.ron
+++ b/assets/common/items/armor/pants/bonerattler.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/cloth_blue_0.ron b/assets/common/items/armor/pants/cloth_blue_0.ron
index f48e6f4a93..dc2de84afa 100644
--- a/assets/common/items/armor/pants/cloth_blue_0.ron
+++ b/assets/common/items/armor/pants/cloth_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/cloth_green_0.ron b/assets/common/items/armor/pants/cloth_green_0.ron
index 0002d26a10..7f3378424a 100644
--- a/assets/common/items/armor/pants/cloth_green_0.ron
+++ b/assets/common/items/armor/pants/cloth_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/cloth_purple_0.ron b/assets/common/items/armor/pants/cloth_purple_0.ron
index f0e7f6d519..969bc1eabf 100644
--- a/assets/common/items/armor/pants/cloth_purple_0.ron
+++ b/assets/common/items/armor/pants/cloth_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/cultist_legs_blue.ron b/assets/common/items/armor/pants/cultist_legs_blue.ron
index f58ef00f72..3702f459a3 100644
--- a/assets/common/items/armor/pants/cultist_legs_blue.ron
+++ b/assets/common/items/armor/pants/cultist_legs_blue.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/cultist_legs_purple.ron b/assets/common/items/armor/pants/cultist_legs_purple.ron
index 007a27b19b..c80fdc1b44 100644
--- a/assets/common/items/armor/pants/cultist_legs_purple.ron
+++ b/assets/common/items/armor/pants/cultist_legs_purple.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/druid.ron b/assets/common/items/armor/pants/druid.ron
index fdca0d659e..051eb6acb1 100644
--- a/assets/common/items/armor/pants/druid.ron
+++ b/assets/common/items/armor/pants/druid.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/hunting.ron b/assets/common/items/armor/pants/hunting.ron
index ac8258c1c1..75bc8ed1a4 100644
--- a/assets/common/items/armor/pants/hunting.ron
+++ b/assets/common/items/armor/pants/hunting.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/leather_0.ron b/assets/common/items/armor/pants/leather_0.ron
index f1d0924839..ca6b94d8f2 100644
--- a/assets/common/items/armor/pants/leather_0.ron
+++ b/assets/common/items/armor/pants/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/leather_2.ron b/assets/common/items/armor/pants/leather_2.ron
index 22b363abfd..1c80fee2dd 100644
--- a/assets/common/items/armor/pants/leather_2.ron
+++ b/assets/common/items/armor/pants/leather_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/leather_adventurer.ron b/assets/common/items/armor/pants/leather_adventurer.ron
index 5ee6f11da7..d0b0534a84 100644
--- a/assets/common/items/armor/pants/leather_adventurer.ron
+++ b/assets/common/items/armor/pants/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/plate_green_0.ron b/assets/common/items/armor/pants/plate_green_0.ron
index dec3ed0d36..7521ed2d68 100644
--- a/assets/common/items/armor/pants/plate_green_0.ron
+++ b/assets/common/items/armor/pants/plate_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/rugged.ron b/assets/common/items/armor/pants/rugged.ron
index 4c8d4ac65a..293afc8a91 100644
--- a/assets/common/items/armor/pants/rugged.ron
+++ b/assets/common/items/armor/pants/rugged.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/steel_0.ron b/assets/common/items/armor/pants/steel_0.ron
index a4107db885..367ab1193d 100644
--- a/assets/common/items/armor/pants/steel_0.ron
+++ b/assets/common/items/armor/pants/steel_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/tarasque.ron b/assets/common/items/armor/pants/tarasque.ron
index 320a0da07b..f19a7eac38 100644
--- a/assets/common/items/armor/pants/tarasque.ron
+++ b/assets/common/items/armor/pants/tarasque.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/twig.ron b/assets/common/items/armor/pants/twig.ron
index 6cf14421dd..b87af412ae 100644
--- a/assets/common/items/armor/pants/twig.ron
+++ b/assets/common/items/armor/pants/twig.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/twigsflowers.ron b/assets/common/items/armor/pants/twigsflowers.ron
index 91d894ed1e..bc8a9bd377 100644
--- a/assets/common/items/armor/pants/twigsflowers.ron
+++ b/assets/common/items/armor/pants/twigsflowers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/twigsleaves.ron b/assets/common/items/armor/pants/twigsleaves.ron
index b100aade6d..b76e1ef31d 100644
--- a/assets/common/items/armor/pants/twigsleaves.ron
+++ b/assets/common/items/armor/pants/twigsleaves.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/velorite_mage_0.ron b/assets/common/items/armor/pants/velorite_mage_0.ron
index bc30434a1d..661dbd0539 100644
--- a/assets/common/items/armor/pants/velorite_mage_0.ron
+++ b/assets/common/items/armor/pants/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/warlock.ron b/assets/common/items/armor/pants/warlock.ron
index f03da6f0e2..8d16738276 100644
--- a/assets/common/items/armor/pants/warlock.ron
+++ b/assets/common/items/armor/pants/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/warlord.ron b/assets/common/items/armor/pants/warlord.ron
index a7b8e06a13..71b7ae7eab 100644
--- a/assets/common/items/armor/pants/warlord.ron
+++ b/assets/common/items/armor/pants/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/pants/worker_blue_0.ron b/assets/common/items/armor/pants/worker_blue_0.ron
index 9296727f21..a2cf9f7b08 100644
--- a/assets/common/items/armor/pants/worker_blue_0.ron
+++ b/assets/common/items/armor/pants/worker_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/ring/ring_0.ron b/assets/common/items/armor/ring/ring_0.ron
index 923f2466fa..c1d4e65674 100644
--- a/assets/common/items/armor/ring/ring_0.ron
+++ b/assets/common/items/armor/ring/ring_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/ring/ring_gold_0.ron b/assets/common/items/armor/ring/ring_gold_0.ron
index 256c3fa02f..6149fec8a9 100644
--- a/assets/common/items/armor/ring/ring_gold_0.ron
+++ b/assets/common/items/armor/ring/ring_gold_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/ring/ring_purp_high_0.ron b/assets/common/items/armor/ring/ring_purp_high_0.ron
index 8ba421fdf8..863dd6907a 100644
--- a/assets/common/items/armor/ring/ring_purp_high_0.ron
+++ b/assets/common/items/armor/ring/ring_purp_high_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/assassin.ron b/assets/common/items/armor/shoulder/assassin.ron
index 3e5df29267..5dd0fca5ca 100644
--- a/assets/common/items/armor/shoulder/assassin.ron
+++ b/assets/common/items/armor/shoulder/assassin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/bonerattler.ron b/assets/common/items/armor/shoulder/bonerattler.ron
index 0ced92ba0c..7ffc6bdff6 100644
--- a/assets/common/items/armor/shoulder/bonerattler.ron
+++ b/assets/common/items/armor/shoulder/bonerattler.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/cloth_blue_0.ron b/assets/common/items/armor/shoulder/cloth_blue_0.ron
index 0eeb743252..e871eb66e4 100644
--- a/assets/common/items/armor/shoulder/cloth_blue_0.ron
+++ b/assets/common/items/armor/shoulder/cloth_blue_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/cloth_blue_1.ron b/assets/common/items/armor/shoulder/cloth_blue_1.ron
index 944e6ebb51..b3cc1a9780 100644
--- a/assets/common/items/armor/shoulder/cloth_blue_1.ron
+++ b/assets/common/items/armor/shoulder/cloth_blue_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/cloth_green_0.ron b/assets/common/items/armor/shoulder/cloth_green_0.ron
index 960c32da5d..d069f517e4 100644
--- a/assets/common/items/armor/shoulder/cloth_green_0.ron
+++ b/assets/common/items/armor/shoulder/cloth_green_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/cloth_purple_0.ron b/assets/common/items/armor/shoulder/cloth_purple_0.ron
index 0ee60100ed..1238c718a7 100644
--- a/assets/common/items/armor/shoulder/cloth_purple_0.ron
+++ b/assets/common/items/armor/shoulder/cloth_purple_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [ClothItem],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron
index 37723c5c80..8069c5cdc3 100644
--- a/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron
+++ b/assets/common/items/armor/shoulder/cultist_shoulder_blue.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron
index 021447aa44..d1ae261e23 100644
--- a/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron
+++ b/assets/common/items/armor/shoulder/cultist_shoulder_purple.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/druidshoulder.ron b/assets/common/items/armor/shoulder/druidshoulder.ron
index 570e1cfaa2..3b08aa2b29 100644
--- a/assets/common/items/armor/shoulder/druidshoulder.ron
+++ b/assets/common/items/armor/shoulder/druidshoulder.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/iron_spikes.ron b/assets/common/items/armor/shoulder/iron_spikes.ron
index 4e5af911ff..b016c82ba1 100644
--- a/assets/common/items/armor/shoulder/iron_spikes.ron
+++ b/assets/common/items/armor/shoulder/iron_spikes.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_0.ron b/assets/common/items/armor/shoulder/leather_0.ron
index 8b8319b90f..c551338e0d 100644
--- a/assets/common/items/armor/shoulder/leather_0.ron
+++ b/assets/common/items/armor/shoulder/leather_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_1.ron b/assets/common/items/armor/shoulder/leather_1.ron
index 93bb62655d..e5fd445778 100644
--- a/assets/common/items/armor/shoulder/leather_1.ron
+++ b/assets/common/items/armor/shoulder/leather_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_2.ron b/assets/common/items/armor/shoulder/leather_2.ron
index f021dd2ec5..6cec22e471 100644
--- a/assets/common/items/armor/shoulder/leather_2.ron
+++ b/assets/common/items/armor/shoulder/leather_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_adventurer.ron b/assets/common/items/armor/shoulder/leather_adventurer.ron
index 03cf73bf83..9ee24ad808 100644
--- a/assets/common/items/armor/shoulder/leather_adventurer.ron
+++ b/assets/common/items/armor/shoulder/leather_adventurer.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_iron_0.ron b/assets/common/items/armor/shoulder/leather_iron_0.ron
index 5bb268473e..d1705fbfa0 100644
--- a/assets/common/items/armor/shoulder/leather_iron_0.ron
+++ b/assets/common/items/armor/shoulder/leather_iron_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_iron_1.ron b/assets/common/items/armor/shoulder/leather_iron_1.ron
index 84a229e827..980c26a06b 100644
--- a/assets/common/items/armor/shoulder/leather_iron_1.ron
+++ b/assets/common/items/armor/shoulder/leather_iron_1.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_iron_2.ron b/assets/common/items/armor/shoulder/leather_iron_2.ron
index 710e093419..4c5005c49f 100644
--- a/assets/common/items/armor/shoulder/leather_iron_2.ron
+++ b/assets/common/items/armor/shoulder/leather_iron_2.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_iron_3.ron b/assets/common/items/armor/shoulder/leather_iron_3.ron
index 54368c633f..e749bb15d2 100644
--- a/assets/common/items/armor/shoulder/leather_iron_3.ron
+++ b/assets/common/items/armor/shoulder/leather_iron_3.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/leather_strips.ron b/assets/common/items/armor/shoulder/leather_strips.ron
index 7d28b59695..7ff99561a2 100644
--- a/assets/common/items/armor/shoulder/leather_strips.ron
+++ b/assets/common/items/armor/shoulder/leather_strips.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/plate_0.ron b/assets/common/items/armor/shoulder/plate_0.ron
index e7b45ab80e..38e890af99 100644
--- a/assets/common/items/armor/shoulder/plate_0.ron
+++ b/assets/common/items/armor/shoulder/plate_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/steel_0.ron b/assets/common/items/armor/shoulder/steel_0.ron
index 58c2e2e82f..778be25538 100644
--- a/assets/common/items/armor/shoulder/steel_0.ron
+++ b/assets/common/items/armor/shoulder/steel_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/tarasque.ron b/assets/common/items/armor/shoulder/tarasque.ron
index 90d9882617..5a5639846c 100644
--- a/assets/common/items/armor/shoulder/tarasque.ron
+++ b/assets/common/items/armor/shoulder/tarasque.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/twigs.ron b/assets/common/items/armor/shoulder/twigs.ron
index 4094e8b255..ae1413c410 100644
--- a/assets/common/items/armor/shoulder/twigs.ron
+++ b/assets/common/items/armor/shoulder/twigs.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/twigsflowers.ron b/assets/common/items/armor/shoulder/twigsflowers.ron
index d4d9516e4a..e6ab824376 100644
--- a/assets/common/items/armor/shoulder/twigsflowers.ron
+++ b/assets/common/items/armor/shoulder/twigsflowers.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/twigsleaves.ron b/assets/common/items/armor/shoulder/twigsleaves.ron
index d7d643badb..a5c880ecd5 100644
--- a/assets/common/items/armor/shoulder/twigsleaves.ron
+++ b/assets/common/items/armor/shoulder/twigsleaves.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/velorite_mage_0.ron b/assets/common/items/armor/shoulder/velorite_mage_0.ron
index 45dc1b3004..5e06b5a57a 100644
--- a/assets/common/items/armor/shoulder/velorite_mage_0.ron
+++ b/assets/common/items/armor/shoulder/velorite_mage_0.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/warlock.ron b/assets/common/items/armor/shoulder/warlock.ron
index a442668d90..465b42e175 100644
--- a/assets/common/items/armor/shoulder/warlock.ron
+++ b/assets/common/items/armor/shoulder/warlock.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/shoulder/warlord.ron b/assets/common/items/armor/shoulder/warlord.ron
index 7f9308cb83..1c0f8c5416 100644
--- a/assets/common/items/armor/shoulder/warlord.ron
+++ b/assets/common/items/armor/shoulder/warlord.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/armor/tabard/admin.ron b/assets/common/items/armor/tabard/admin.ron
index e3c21deb14..2f638df69b 100644
--- a/assets/common/items/armor/tabard/admin.ron
+++ b/assets/common/items/armor/tabard/admin.ron
@@ -9,4 +9,5 @@ ItemDef(
         ),
     )),
     quality: Debug,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/boss_drops/exp_flask.ron b/assets/common/items/boss_drops/exp_flask.ron
index 7eddd6dac5..259600bc98 100644
--- a/assets/common/items/boss_drops/exp_flask.ron
+++ b/assets/common/items/boss_drops/exp_flask.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "PotionExp",        
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/boss_drops/lantern.ron b/assets/common/items/boss_drops/lantern.ron
index 7d27f79c08..cc0b9691ec 100644
--- a/assets/common/items/boss_drops/lantern.ron
+++ b/assets/common/items/boss_drops/lantern.ron
@@ -10,4 +10,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/boss_drops/potions.ron b/assets/common/items/boss_drops/potions.ron
index 34df359720..e53b76187e 100644
--- a/assets/common/items/boss_drops/potions.ron
+++ b/assets/common/items/boss_drops/potions.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/boss_drops/xp_potion.ron b/assets/common/items/boss_drops/xp_potion.ron
index cff913c7ac..f71e011e60 100644
--- a/assets/common/items/boss_drops/xp_potion.ron
+++ b/assets/common/items/boss_drops/xp_potion.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Potion",        
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/consumable/potion_big.ron b/assets/common/items/consumable/potion_big.ron
index df3986aa2b..1373e1fa39 100644
--- a/assets/common/items/consumable/potion_big.ron
+++ b/assets/common/items/consumable/potion_big.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/consumable/potion_med.ron b/assets/common/items/consumable/potion_med.ron
index 82b2755a07..3e0a4a7272 100644
--- a/assets/common/items/consumable/potion_med.ron
+++ b/assets/common/items/consumable/potion_med.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/consumable/potion_minor.ron b/assets/common/items/consumable/potion_minor.ron
index f829d67b1e..3638e8ad6c 100644
--- a/assets/common/items/consumable/potion_minor.ron
+++ b/assets/common/items/consumable/potion_minor.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/amethyst.ron b/assets/common/items/crafting_ing/amethyst.ron
index 05fd4ad0ef..3ca22b6d88 100644
--- a/assets/common/items/crafting_ing/amethyst.ron
+++ b/assets/common/items/crafting_ing/amethyst.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Amethyst",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/animal_pelt.ron b/assets/common/items/crafting_ing/animal_pelt.ron
index b8844c6cd6..45aa54da92 100644
--- a/assets/common/items/crafting_ing/animal_pelt.ron
+++ b/assets/common/items/crafting_ing/animal_pelt.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "AnimalPelt",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/bloodsteel_ingot.ron b/assets/common/items/crafting_ing/bloodsteel_ingot.ron
index 3480c54dfb..7498e625b7 100644
--- a/assets/common/items/crafting_ing/bloodsteel_ingot.ron
+++ b/assets/common/items/crafting_ing/bloodsteel_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "BloodsteelIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/bloodstone_ore.ron b/assets/common/items/crafting_ing/bloodstone_ore.ron
index cb657a8fc7..40b07d6fa3 100644
--- a/assets/common/items/crafting_ing/bloodstone_ore.ron
+++ b/assets/common/items/crafting_ing/bloodstone_ore.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "BloodstoneOre",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/bone.ron b/assets/common/items/crafting_ing/bone.ron
index 31fd51a4f2..4ba5d9ed50 100644
--- a/assets/common/items/crafting_ing/bone.ron
+++ b/assets/common/items/crafting_ing/bone.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Bone",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/bowl.ron b/assets/common/items/crafting_ing/bowl.ron
index 10b83a58e3..deb2209fa4 100644
--- a/assets/common/items/crafting_ing/bowl.ron
+++ b/assets/common/items/crafting_ing/bowl.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Bowl",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/bronze_ingot.ron b/assets/common/items/crafting_ing/bronze_ingot.ron
index 723451ccc2..065e2e1773 100644
--- a/assets/common/items/crafting_ing/bronze_ingot.ron
+++ b/assets/common/items/crafting_ing/bronze_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "BronzeIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/carapace.ron b/assets/common/items/crafting_ing/carapace.ron
index ce0f515708..1124c341f6 100644
--- a/assets/common/items/crafting_ing/carapace.ron
+++ b/assets/common/items/crafting_ing/carapace.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Carapace",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/claw.ron b/assets/common/items/crafting_ing/claw.ron
index 6bae2ccd4a..7b5fa6842d 100644
--- a/assets/common/items/crafting_ing/claw.ron
+++ b/assets/common/items/crafting_ing/claw.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Claw",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/cloth_scraps.ron b/assets/common/items/crafting_ing/cloth_scraps.ron
index 1c1e0cb3b9..ad3c6f6a4e 100644
--- a/assets/common/items/crafting_ing/cloth_scraps.ron
+++ b/assets/common/items/crafting_ing/cloth_scraps.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "ClothScraps",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/cloth_scraps_red.ron b/assets/common/items/crafting_ing/cloth_scraps_red.ron
index 4fa8452d4e..1db0028301 100644
--- a/assets/common/items/crafting_ing/cloth_scraps_red.ron
+++ b/assets/common/items/crafting_ing/cloth_scraps_red.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "ClothScrapsRed",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/coal.ron b/assets/common/items/crafting_ing/coal.ron
index d9f2a64b95..dbf6bd81fc 100644
--- a/assets/common/items/crafting_ing/coal.ron
+++ b/assets/common/items/crafting_ing/coal.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Coal",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/cobalt_ingot.ron b/assets/common/items/crafting_ing/cobalt_ingot.ron
index 997e4f24f4..7e981db9e4 100644
--- a/assets/common/items/crafting_ing/cobalt_ingot.ron
+++ b/assets/common/items/crafting_ing/cobalt_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "CobaltIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/cobalt_ore.ron b/assets/common/items/crafting_ing/cobalt_ore.ron
index 9170e362a1..c282aa63c6 100644
--- a/assets/common/items/crafting_ing/cobalt_ore.ron
+++ b/assets/common/items/crafting_ing/cobalt_ore.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "CobaltOre",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/copper_ingot.ron b/assets/common/items/crafting_ing/copper_ingot.ron
index 61a43daf71..b1509eaa6b 100644
--- a/assets/common/items/crafting_ing/copper_ingot.ron
+++ b/assets/common/items/crafting_ing/copper_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "CopperIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/copper_ore.ron b/assets/common/items/crafting_ing/copper_ore.ron
index 540b7e6917..913f4ae334 100644
--- a/assets/common/items/crafting_ing/copper_ore.ron
+++ b/assets/common/items/crafting_ing/copper_ore.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "CopperOre",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/diamond.ron b/assets/common/items/crafting_ing/diamond.ron
index 10b8dff3a8..7096e8122c 100644
--- a/assets/common/items/crafting_ing/diamond.ron
+++ b/assets/common/items/crafting_ing/diamond.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Diamond",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/eldwood_logs.ron b/assets/common/items/crafting_ing/eldwood_logs.ron
index 3f805e74a5..2e80cd7539 100644
--- a/assets/common/items/crafting_ing/eldwood_logs.ron
+++ b/assets/common/items/crafting_ing/eldwood_logs.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "EldwoodLogs",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/ember.ron b/assets/common/items/crafting_ing/ember.ron
index c397d976b1..04b6a67c86 100644
--- a/assets/common/items/crafting_ing/ember.ron
+++ b/assets/common/items/crafting_ing/ember.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Ember",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/emerald.ron b/assets/common/items/crafting_ing/emerald.ron
index bb6abd8db9..e2758fb742 100644
--- a/assets/common/items/crafting_ing/emerald.ron
+++ b/assets/common/items/crafting_ing/emerald.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Emerald",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/empty_vial.ron b/assets/common/items/crafting_ing/empty_vial.ron
index c7ae79a9a9..3661c76e55 100644
--- a/assets/common/items/crafting_ing/empty_vial.ron
+++ b/assets/common/items/crafting_ing/empty_vial.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "EmptyVial",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/fang.ron b/assets/common/items/crafting_ing/fang.ron
index 49639a44a5..2accdeb1ad 100644
--- a/assets/common/items/crafting_ing/fang.ron
+++ b/assets/common/items/crafting_ing/fang.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Fang",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/feather.ron b/assets/common/items/crafting_ing/feather.ron
index a1d670db60..5c70d8bebf 100644
--- a/assets/common/items/crafting_ing/feather.ron
+++ b/assets/common/items/crafting_ing/feather.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Feather",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/frostwood_logs.ron b/assets/common/items/crafting_ing/frostwood_logs.ron
index 28c4e95e45..642837bbdf 100644
--- a/assets/common/items/crafting_ing/frostwood_logs.ron
+++ b/assets/common/items/crafting_ing/frostwood_logs.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "FrostwoodLogs",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/fur.ron b/assets/common/items/crafting_ing/fur.ron
index 5e06a7ba3b..525f7abf0b 100644
--- a/assets/common/items/crafting_ing/fur.ron
+++ b/assets/common/items/crafting_ing/fur.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Fur",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/hardwood_logs.ron b/assets/common/items/crafting_ing/hardwood_logs.ron
index e3a6fe70d9..8e264143a3 100644
--- a/assets/common/items/crafting_ing/hardwood_logs.ron
+++ b/assets/common/items/crafting_ing/hardwood_logs.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "HardwoodLogs",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/honey.ron b/assets/common/items/crafting_ing/honey.ron
index e2aaecdb83..1424c97545 100644
--- a/assets/common/items/crafting_ing/honey.ron
+++ b/assets/common/items/crafting_ing/honey.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Honey",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/horn.ron b/assets/common/items/crafting_ing/horn.ron
index 9f08802aac..cc14fdc450 100644
--- a/assets/common/items/crafting_ing/horn.ron
+++ b/assets/common/items/crafting_ing/horn.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Horn",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/icy_fang.ron b/assets/common/items/crafting_ing/icy_fang.ron
index 9a3987ce92..6125a0c6ee 100644
--- a/assets/common/items/crafting_ing/icy_fang.ron
+++ b/assets/common/items/crafting_ing/icy_fang.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "IcyShard",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/iron_ingot.ron b/assets/common/items/crafting_ing/iron_ingot.ron
index 1efb55ce2c..1bdc4a3fea 100644
--- a/assets/common/items/crafting_ing/iron_ingot.ron
+++ b/assets/common/items/crafting_ing/iron_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "IronIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/iron_ore.ron b/assets/common/items/crafting_ing/iron_ore.ron
index 096f4eef2a..b9591e4485 100644
--- a/assets/common/items/crafting_ing/iron_ore.ron
+++ b/assets/common/items/crafting_ing/iron_ore.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "IronOre",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/leather_scraps.ron b/assets/common/items/crafting_ing/leather_scraps.ron
index 70cfec964c..59bda8bcdc 100644
--- a/assets/common/items/crafting_ing/leather_scraps.ron
+++ b/assets/common/items/crafting_ing/leather_scraps.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "LeatherScraps",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/leather_troll.ron b/assets/common/items/crafting_ing/leather_troll.ron
index aed22f2733..792db7868e 100644
--- a/assets/common/items/crafting_ing/leather_troll.ron
+++ b/assets/common/items/crafting_ing/leather_troll.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "TrollLeather",
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/mindflayer_bag_damaged.ron b/assets/common/items/crafting_ing/mindflayer_bag_damaged.ron
index 530bc6233f..9721076ed0 100644
--- a/assets/common/items/crafting_ing/mindflayer_bag_damaged.ron
+++ b/assets/common/items/crafting_ing/mindflayer_bag_damaged.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "FlayerBagDamaged",
     ),
     quality: Epic,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/oil.ron b/assets/common/items/crafting_ing/oil.ron
index 226ff0b7bc..66254542fa 100644
--- a/assets/common/items/crafting_ing/oil.ron
+++ b/assets/common/items/crafting_ing/oil.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Oil",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/plant_fiber.ron b/assets/common/items/crafting_ing/plant_fiber.ron
index cbb1e189f8..49e3fba223 100644
--- a/assets/common/items/crafting_ing/plant_fiber.ron
+++ b/assets/common/items/crafting_ing/plant_fiber.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "PlantFiber",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/plates.ron b/assets/common/items/crafting_ing/plates.ron
index 497faefa85..462c5e6218 100644
--- a/assets/common/items/crafting_ing/plates.ron
+++ b/assets/common/items/crafting_ing/plates.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Plate",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/raptor_feather.ron b/assets/common/items/crafting_ing/raptor_feather.ron
index 83e6dea685..67dbdab13d 100644
--- a/assets/common/items/crafting_ing/raptor_feather.ron
+++ b/assets/common/items/crafting_ing/raptor_feather.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "RaptorFeather",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/ruby.ron b/assets/common/items/crafting_ing/ruby.ron
index d240f7480f..a62f073495 100644
--- a/assets/common/items/crafting_ing/ruby.ron
+++ b/assets/common/items/crafting_ing/ruby.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Ruby",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/sapphire.ron b/assets/common/items/crafting_ing/sapphire.ron
index a5cf2e5c22..1adf67ccff 100644
--- a/assets/common/items/crafting_ing/sapphire.ron
+++ b/assets/common/items/crafting_ing/sapphire.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Sapphire",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/scales.ron b/assets/common/items/crafting_ing/scales.ron
index d077d541d8..de1cc1963a 100644
--- a/assets/common/items/crafting_ing/scales.ron
+++ b/assets/common/items/crafting_ing/scales.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Scale",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/steel_ingot.ron b/assets/common/items/crafting_ing/steel_ingot.ron
index 87644e58bc..f6086246ec 100644
--- a/assets/common/items/crafting_ing/steel_ingot.ron
+++ b/assets/common/items/crafting_ing/steel_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "SteelIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/stones.ron b/assets/common/items/crafting_ing/stones.ron
index 3ea370f48c..5af24d8573 100644
--- a/assets/common/items/crafting_ing/stones.ron
+++ b/assets/common/items/crafting_ing/stones.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Stones",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/tin_ingot.ron b/assets/common/items/crafting_ing/tin_ingot.ron
index 4f9afd5578..6950f38ff3 100644
--- a/assets/common/items/crafting_ing/tin_ingot.ron
+++ b/assets/common/items/crafting_ing/tin_ingot.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "TinIngot",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/tin_ore.ron b/assets/common/items/crafting_ing/tin_ore.ron
index 09881556be..40959de977 100644
--- a/assets/common/items/crafting_ing/tin_ore.ron
+++ b/assets/common/items/crafting_ing/tin_ore.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "TinOre",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/topaz.ron b/assets/common/items/crafting_ing/topaz.ron
index 1e1e03587f..f8065659b9 100644
--- a/assets/common/items/crafting_ing/topaz.ron
+++ b/assets/common/items/crafting_ing/topaz.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Topaz",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/twigs.ron b/assets/common/items/crafting_ing/twigs.ron
index db5e041a89..7f20e63600 100644
--- a/assets/common/items/crafting_ing/twigs.ron
+++ b/assets/common/items/crafting_ing/twigs.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Twigs",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_ing/venomsac.ron b/assets/common/items/crafting_ing/venomsac.ron
index a17deb5ff1..8cf40cd163 100644
--- a/assets/common/items/crafting_ing/venomsac.ron
+++ b/assets/common/items/crafting_ing/venomsac.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "VenomSac",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/vine.ron b/assets/common/items/crafting_ing/vine.ron
index fb3ed65a9a..b776d818b1 100644
--- a/assets/common/items/crafting_ing/vine.ron
+++ b/assets/common/items/crafting_ing/vine.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Vine",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/viscous_ooze.ron b/assets/common/items/crafting_ing/viscous_ooze.ron
index 3cd2f0a062..ca2159e8b8 100644
--- a/assets/common/items/crafting_ing/viscous_ooze.ron
+++ b/assets/common/items/crafting_ing/viscous_ooze.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "ViscousOoze",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/wood_logs.ron b/assets/common/items/crafting_ing/wood_logs.ron
index 3f1c44c98d..96d3b925f4 100644
--- a/assets/common/items/crafting_ing/wood_logs.ron
+++ b/assets/common/items/crafting_ing/wood_logs.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "WoodLogs",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_ing/wool.ron b/assets/common/items/crafting_ing/wool.ron
index aeac78196f..38c055d8b4 100644
--- a/assets/common/items/crafting_ing/wool.ron
+++ b/assets/common/items/crafting_ing/wool.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Wool",
     ),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/crafting_tools/craftsman_hammer.ron b/assets/common/items/crafting_tools/craftsman_hammer.ron
index d80aaccaf3..af1b77a203 100644
--- a/assets/common/items/crafting_tools/craftsman_hammer.ron
+++ b/assets/common/items/crafting_tools/craftsman_hammer.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "CraftsmanHammer",
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_tools/mortar_pestle.ron b/assets/common/items/crafting_tools/mortar_pestle.ron
index 4b084010ea..d91a3b71fe 100644
--- a/assets/common/items/crafting_tools/mortar_pestle.ron
+++ b/assets/common/items/crafting_tools/mortar_pestle.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "MortarPestle",
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/crafting_tools/sewing_set.ron b/assets/common/items/crafting_tools/sewing_set.ron
index 45f25e3c6b..d8f5ac2a84 100644
--- a/assets/common/items/crafting_tools/sewing_set.ron
+++ b/assets/common/items/crafting_tools/sewing_set.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "SewingSet",
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/debug/admin.ron b/assets/common/items/debug/admin.ron
index 16e18773eb..3eeed622c8 100644
--- a/assets/common/items/debug/admin.ron
+++ b/assets/common/items/debug/admin.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/admin_back.ron b/assets/common/items/debug/admin_back.ron
index c59fd0bd43..1425d8c1f6 100644
--- a/assets/common/items/debug/admin_back.ron
+++ b/assets/common/items/debug/admin_back.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/admin_black_hole.ron b/assets/common/items/debug/admin_black_hole.ron
index c883bf33ef..a799fa831c 100644
--- a/assets/common/items/debug/admin_black_hole.ron
+++ b/assets/common/items/debug/admin_black_hole.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: Artifact,
+    tags: [],
     slots: 900,
 )
diff --git a/assets/common/items/debug/boost.ron b/assets/common/items/debug/boost.ron
index 1079711cbb..8e8c101fb3 100644
--- a/assets/common/items/debug/boost.ron
+++ b/assets/common/items/debug/boost.ron
@@ -13,5 +13,6 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
 // And the ground is pretty hard at maximum velocity...
diff --git a/assets/common/items/debug/cultist_belt.ron b/assets/common/items/debug/cultist_belt.ron
index 9e77d29e3c..9a0529f3c9 100644
--- a/assets/common/items/debug/cultist_belt.ron
+++ b/assets/common/items/debug/cultist_belt.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/cultist_boots.ron b/assets/common/items/debug/cultist_boots.ron
index 938652154a..425fb9e91b 100644
--- a/assets/common/items/debug/cultist_boots.ron
+++ b/assets/common/items/debug/cultist_boots.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/cultist_chest_blue.ron b/assets/common/items/debug/cultist_chest_blue.ron
index 5d827a9dbd..9029128195 100644
--- a/assets/common/items/debug/cultist_chest_blue.ron
+++ b/assets/common/items/debug/cultist_chest_blue.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/cultist_hands_blue.ron b/assets/common/items/debug/cultist_hands_blue.ron
index 080ca2b3b0..71a43df9c6 100644
--- a/assets/common/items/debug/cultist_hands_blue.ron
+++ b/assets/common/items/debug/cultist_hands_blue.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/cultist_legs_blue.ron b/assets/common/items/debug/cultist_legs_blue.ron
index b63b957c20..8362061d70 100644
--- a/assets/common/items/debug/cultist_legs_blue.ron
+++ b/assets/common/items/debug/cultist_legs_blue.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/cultist_purp_2h_boss-0.ron b/assets/common/items/debug/cultist_purp_2h_boss-0.ron
index 42af4bcd69..9a19cd112e 100644
--- a/assets/common/items/debug/cultist_purp_2h_boss-0.ron
+++ b/assets/common/items/debug/cultist_purp_2h_boss-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/cultist_shoulder_blue.ron b/assets/common/items/debug/cultist_shoulder_blue.ron
index 273661b694..e87f3acb33 100644
--- a/assets/common/items/debug/cultist_shoulder_blue.ron
+++ b/assets/common/items/debug/cultist_shoulder_blue.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/dungeon_purple-0.ron b/assets/common/items/debug/dungeon_purple-0.ron
index 379aa17fe3..ef80eb5100 100644
--- a/assets/common/items/debug/dungeon_purple-0.ron
+++ b/assets/common/items/debug/dungeon_purple-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
diff --git a/assets/common/items/debug/possess.ron b/assets/common/items/debug/possess.ron
index 1079711cbb..8e8c101fb3 100644
--- a/assets/common/items/debug/possess.ron
+++ b/assets/common/items/debug/possess.ron
@@ -13,5 +13,6 @@ ItemDef(
         )
     ),
     quality: Debug,
+    tags: [],
 )
 // And the ground is pretty hard at maximum velocity...
diff --git a/assets/common/items/flowers/blue.ron b/assets/common/items/flowers/blue.ron
index b61c3a2c40..176d2de5d6 100644
--- a/assets/common/items/flowers/blue.ron
+++ b/assets/common/items/flowers/blue.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Flower",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/flowers/pink.ron b/assets/common/items/flowers/pink.ron
index 075d24afcd..e6e47f00a4 100644
--- a/assets/common/items/flowers/pink.ron
+++ b/assets/common/items/flowers/pink.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Flower",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/flowers/red.ron b/assets/common/items/flowers/red.ron
index 463b5b5100..705755f7de 100644
--- a/assets/common/items/flowers/red.ron
+++ b/assets/common/items/flowers/red.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "FlowerRed",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/flowers/sunflower.ron b/assets/common/items/flowers/sunflower.ron
index 593d22eeca..fcefe9b00c 100644
--- a/assets/common/items/flowers/sunflower.ron
+++ b/assets/common/items/flowers/sunflower.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Flower",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/flowers/white.ron b/assets/common/items/flowers/white.ron
index 5769441093..d409535adc 100644
--- a/assets/common/items/flowers/white.ron
+++ b/assets/common/items/flowers/white.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Flower",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/flowers/yellow.ron b/assets/common/items/flowers/yellow.ron
index 1a57fc78f3..f7d768e4e7 100644
--- a/assets/common/items/flowers/yellow.ron
+++ b/assets/common/items/flowers/yellow.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Flower",
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/apple.ron b/assets/common/items/food/apple.ron
index 2969acd184..98c4c5c22c 100644
--- a/assets/common/items/food/apple.ron
+++ b/assets/common/items/food/apple.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/apple_mushroom_curry.ron b/assets/common/items/food/apple_mushroom_curry.ron
index 0f2db8f2a6..44ef1a8809 100644
--- a/assets/common/items/food/apple_mushroom_curry.ron
+++ b/assets/common/items/food/apple_mushroom_curry.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/food/apple_stick.ron b/assets/common/items/food/apple_stick.ron
index 1d7208b26e..d320091e8c 100644
--- a/assets/common/items/food/apple_stick.ron
+++ b/assets/common/items/food/apple_stick.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/carrot.ron b/assets/common/items/food/carrot.ron
index 477b757d3c..b8d72e5a81 100644
--- a/assets/common/items/food/carrot.ron
+++ b/assets/common/items/food/carrot.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/cheese.ron b/assets/common/items/food/cheese.ron
index cdd967d1af..5a3628d3c5 100644
--- a/assets/common/items/food/cheese.ron
+++ b/assets/common/items/food/cheese.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/coconut.ron b/assets/common/items/food/coconut.ron
index 7c728d55e2..bfef86d87a 100644
--- a/assets/common/items/food/coconut.ron
+++ b/assets/common/items/food/coconut.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/coltsfoot.ron b/assets/common/items/food/coltsfoot.ron
index 923e428f9a..6d3e9e58a4 100644
--- a/assets/common/items/food/coltsfoot.ron
+++ b/assets/common/items/food/coltsfoot.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/dandelion.ron b/assets/common/items/food/dandelion.ron
index 6195240040..76874283ef 100644
--- a/assets/common/items/food/dandelion.ron
+++ b/assets/common/items/food/dandelion.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/fish.ron b/assets/common/items/food/fish.ron
index de9a11eb2a..39100fd3ef 100644
--- a/assets/common/items/food/fish.ron
+++ b/assets/common/items/food/fish.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/garlic.ron b/assets/common/items/food/garlic.ron
index 90bda55862..2d5764d6da 100644
--- a/assets/common/items/food/garlic.ron
+++ b/assets/common/items/food/garlic.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/lettuce.ron b/assets/common/items/food/lettuce.ron
index 4b274e9d10..64c2a73ee7 100644
--- a/assets/common/items/food/lettuce.ron
+++ b/assets/common/items/food/lettuce.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/meat.ron b/assets/common/items/food/meat.ron
index e121ff67de..ca1042c262 100644
--- a/assets/common/items/food/meat.ron
+++ b/assets/common/items/food/meat.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/mushroom.ron b/assets/common/items/food/mushroom.ron
index 08b26aed8a..83099256a2 100644
--- a/assets/common/items/food/mushroom.ron
+++ b/assets/common/items/food/mushroom.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/mushroom_stick.ron b/assets/common/items/food/mushroom_stick.ron
index 7ce46c94d9..c547171df1 100644
--- a/assets/common/items/food/mushroom_stick.ron
+++ b/assets/common/items/food/mushroom_stick.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/onion.ron b/assets/common/items/food/onion.ron
index 3fd3010e5b..ccb363a63d 100644
--- a/assets/common/items/food/onion.ron
+++ b/assets/common/items/food/onion.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/plainsalad.ron b/assets/common/items/food/plainsalad.ron
index a947cf6f9e..7f0ccb4a5e 100644
--- a/assets/common/items/food/plainsalad.ron
+++ b/assets/common/items/food/plainsalad.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/sage.ron b/assets/common/items/food/sage.ron
index 1bcaa3adfb..fece489d54 100644
--- a/assets/common/items/food/sage.ron
+++ b/assets/common/items/food/sage.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/sunflower_icetea.ron b/assets/common/items/food/sunflower_icetea.ron
index 9c50803c55..3dd98e1cbc 100644
--- a/assets/common/items/food/sunflower_icetea.ron
+++ b/assets/common/items/food/sunflower_icetea.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/food/tomato.ron b/assets/common/items/food/tomato.ron
index 0a8d99a0ee..09c07e9205 100644
--- a/assets/common/items/food/tomato.ron
+++ b/assets/common/items/food/tomato.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/food/tomatosalad.ron b/assets/common/items/food/tomatosalad.ron
index e4171eca15..0893de237c 100644
--- a/assets/common/items/food/tomatosalad.ron
+++ b/assets/common/items/food/tomatosalad.ron
@@ -18,4 +18,5 @@ ItemDef(
         ]
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_basic_red.ron b/assets/common/items/glider/glider_basic_red.ron
index ec778d7356..143a11b15d 100644
--- a/assets/common/items/glider/glider_basic_red.ron
+++ b/assets/common/items/glider/glider_basic_red.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_basic_white.ron b/assets/common/items/glider/glider_basic_white.ron
index c9249f2ab1..44531fd86b 100644
--- a/assets/common/items/glider/glider_basic_white.ron
+++ b/assets/common/items/glider/glider_basic_white.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_blue.ron b/assets/common/items/glider/glider_blue.ron
index c81fc3de46..ec786ea4e1 100644
--- a/assets/common/items/glider/glider_blue.ron
+++ b/assets/common/items/glider/glider_blue.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_cloverleaf.ron b/assets/common/items/glider/glider_cloverleaf.ron
index 3383848d5a..0b5ce1fc0b 100644
--- a/assets/common/items/glider/glider_cloverleaf.ron
+++ b/assets/common/items/glider/glider_cloverleaf.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_leaves.ron b/assets/common/items/glider/glider_leaves.ron
index 9cd55183c7..bbf8d49ad7 100644
--- a/assets/common/items/glider/glider_leaves.ron
+++ b/assets/common/items/glider/glider_leaves.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_monarch.ron b/assets/common/items/glider/glider_monarch.ron
index 275ce27d47..76b0045064 100644
--- a/assets/common/items/glider/glider_monarch.ron
+++ b/assets/common/items/glider/glider_monarch.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_morpho.ron b/assets/common/items/glider/glider_morpho.ron
index c1eea2a6dc..3e90929395 100644
--- a/assets/common/items/glider/glider_morpho.ron
+++ b/assets/common/items/glider/glider_morpho.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_moth.ron b/assets/common/items/glider/glider_moth.ron
index 28a214c3dc..5a94eb3a51 100644
--- a/assets/common/items/glider/glider_moth.ron
+++ b/assets/common/items/glider/glider_moth.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_purp.ron b/assets/common/items/glider/glider_purp.ron
index b90ce5d243..cab8b6904e 100644
--- a/assets/common/items/glider/glider_purp.ron
+++ b/assets/common/items/glider/glider_purp.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: Legendary,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_sandraptor.ron b/assets/common/items/glider/glider_sandraptor.ron
index b5ca241472..7871d6117e 100644
--- a/assets/common/items/glider/glider_sandraptor.ron
+++ b/assets/common/items/glider/glider_sandraptor.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_snowraptor.ron b/assets/common/items/glider/glider_snowraptor.ron
index b3ee61f7a6..6e24427fa0 100644
--- a/assets/common/items/glider/glider_snowraptor.ron
+++ b/assets/common/items/glider/glider_snowraptor.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/glider/glider_woodraptor.ron b/assets/common/items/glider/glider_woodraptor.ron
index 40f4e8a651..fb905d0d74 100644
--- a/assets/common/items/glider/glider_woodraptor.ron
+++ b/assets/common/items/glider/glider_woodraptor.ron
@@ -7,4 +7,5 @@ ItemDef(
         ),
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/grasses/long.ron b/assets/common/items/grasses/long.ron
index 3c67b29fbc..5853b1d690 100644
--- a/assets/common/items/grasses/long.ron
+++ b/assets/common/items/grasses/long.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Grass",
     )
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/grasses/medium.ron b/assets/common/items/grasses/medium.ron
index b23f12000a..64beff93a9 100644
--- a/assets/common/items/grasses/medium.ron
+++ b/assets/common/items/grasses/medium.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Grass",
     )
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/grasses/short.ron b/assets/common/items/grasses/short.ron
index 57b8392519..55fc47cdf4 100644
--- a/assets/common/items/grasses/short.ron
+++ b/assets/common/items/grasses/short.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Grass",
     )
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/lantern/black_0.ron b/assets/common/items/lantern/black_0.ron
index 48def45c5f..f54179a990 100644
--- a/assets/common/items/lantern/black_0.ron
+++ b/assets/common/items/lantern/black_0.ron
@@ -10,4 +10,5 @@ ItemDef(
         ),
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/lantern/blue_0.ron b/assets/common/items/lantern/blue_0.ron
index 0d5c71ae74..f839bb4bd1 100644
--- a/assets/common/items/lantern/blue_0.ron
+++ b/assets/common/items/lantern/blue_0.ron
@@ -10,4 +10,5 @@ ItemDef(
         ),
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/lantern/green_0.ron b/assets/common/items/lantern/green_0.ron
index 7eb9ece282..9c1556a5d5 100644
--- a/assets/common/items/lantern/green_0.ron
+++ b/assets/common/items/lantern/green_0.ron
@@ -10,4 +10,5 @@ ItemDef(
         ),
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/lantern/red_0.ron b/assets/common/items/lantern/red_0.ron
index 0cb720adbd..53a8517dc7 100644
--- a/assets/common/items/lantern/red_0.ron
+++ b/assets/common/items/lantern/red_0.ron
@@ -10,4 +10,5 @@ ItemDef(
         ),
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/back/backpack_0.ron b/assets/common/items/npc_armor/back/backpack_0.ron
index 245ab110df..75d1e809cb 100644
--- a/assets/common/items/npc_armor/back/backpack_0.ron
+++ b/assets/common/items/npc_armor/back/backpack_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/back/backpack_blue_0.ron b/assets/common/items/npc_armor/back/backpack_blue_0.ron
index 665c6a1639..fc34ec36f7 100644
--- a/assets/common/items/npc_armor/back/backpack_blue_0.ron
+++ b/assets/common/items/npc_armor/back/backpack_blue_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/back/dungeon_purple-0.ron b/assets/common/items/npc_armor/back/dungeon_purple-0.ron
index f049d17d10..0ff9efc262 100644
--- a/assets/common/items/npc_armor/back/dungeon_purple-0.ron
+++ b/assets/common/items/npc_armor/back/dungeon_purple-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/back/leather_blue_0.ron b/assets/common/items/npc_armor/back/leather_blue_0.ron
index d8a321d866..282b419469 100644
--- a/assets/common/items/npc_armor/back/leather_blue_0.ron
+++ b/assets/common/items/npc_armor/back/leather_blue_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/belt/cultist_belt.ron b/assets/common/items/npc_armor/belt/cultist_belt.ron
index 00813b2141..7b0abda30c 100644
--- a/assets/common/items/npc_armor/belt/cultist_belt.ron
+++ b/assets/common/items/npc_armor/belt/cultist_belt.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/cultist_chest_purple.ron b/assets/common/items/npc_armor/chest/cultist_chest_purple.ron
index 246e194a84..5fb93245d0 100644
--- a/assets/common/items/npc_armor/chest/cultist_chest_purple.ron
+++ b/assets/common/items/npc_armor/chest/cultist_chest_purple.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/leather_blue_0.ron b/assets/common/items/npc_armor/chest/leather_blue_0.ron
index 144c81ee5e..a908907165 100644
--- a/assets/common/items/npc_armor/chest/leather_blue_0.ron
+++ b/assets/common/items/npc_armor/chest/leather_blue_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/plate_green_0.ron b/assets/common/items/npc_armor/chest/plate_green_0.ron
index 771db3388b..d22f3f99c5 100644
--- a/assets/common/items/npc_armor/chest/plate_green_0.ron
+++ b/assets/common/items/npc_armor/chest/plate_green_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/plate_red_0.ron b/assets/common/items/npc_armor/chest/plate_red_0.ron
index 8443377f62..bc59433616 100644
--- a/assets/common/items/npc_armor/chest/plate_red_0.ron
+++ b/assets/common/items/npc_armor/chest/plate_red_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_green_0.ron b/assets/common/items/npc_armor/chest/worker_green_0.ron
index 6632e53cda..33ba7a86f9 100644
--- a/assets/common/items/npc_armor/chest/worker_green_0.ron
+++ b/assets/common/items/npc_armor/chest/worker_green_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_green_1.ron b/assets/common/items/npc_armor/chest/worker_green_1.ron
index bba97dd57c..697772c95f 100644
--- a/assets/common/items/npc_armor/chest/worker_green_1.ron
+++ b/assets/common/items/npc_armor/chest/worker_green_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_orange_0.ron b/assets/common/items/npc_armor/chest/worker_orange_0.ron
index ad68f5542e..d54dca7450 100644
--- a/assets/common/items/npc_armor/chest/worker_orange_0.ron
+++ b/assets/common/items/npc_armor/chest/worker_orange_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_orange_1.ron b/assets/common/items/npc_armor/chest/worker_orange_1.ron
index 48e34fb2d4..a92f7c59a3 100644
--- a/assets/common/items/npc_armor/chest/worker_orange_1.ron
+++ b/assets/common/items/npc_armor/chest/worker_orange_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_purple_0.ron b/assets/common/items/npc_armor/chest/worker_purple_0.ron
index 98d6d0f65a..0e332ada54 100644
--- a/assets/common/items/npc_armor/chest/worker_purple_0.ron
+++ b/assets/common/items/npc_armor/chest/worker_purple_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_purple_1.ron b/assets/common/items/npc_armor/chest/worker_purple_1.ron
index 6bc00e25ec..feeea0613e 100644
--- a/assets/common/items/npc_armor/chest/worker_purple_1.ron
+++ b/assets/common/items/npc_armor/chest/worker_purple_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_red_0.ron b/assets/common/items/npc_armor/chest/worker_red_0.ron
index cd37b92a52..c5dc3d5019 100644
--- a/assets/common/items/npc_armor/chest/worker_red_0.ron
+++ b/assets/common/items/npc_armor/chest/worker_red_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_red_1.ron b/assets/common/items/npc_armor/chest/worker_red_1.ron
index 0deb676eb1..9eac995464 100644
--- a/assets/common/items/npc_armor/chest/worker_red_1.ron
+++ b/assets/common/items/npc_armor/chest/worker_red_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_yellow_0.ron b/assets/common/items/npc_armor/chest/worker_yellow_0.ron
index de7be724c7..121af29b35 100644
--- a/assets/common/items/npc_armor/chest/worker_yellow_0.ron
+++ b/assets/common/items/npc_armor/chest/worker_yellow_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/chest/worker_yellow_1.ron b/assets/common/items/npc_armor/chest/worker_yellow_1.ron
index 4623756ebd..561d85f4d5 100644
--- a/assets/common/items/npc_armor/chest/worker_yellow_1.ron
+++ b/assets/common/items/npc_armor/chest/worker_yellow_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/foot/cultist_boots.ron b/assets/common/items/npc_armor/foot/cultist_boots.ron
index a767753d73..a61d5adf16 100644
--- a/assets/common/items/npc_armor/foot/cultist_boots.ron
+++ b/assets/common/items/npc_armor/foot/cultist_boots.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/hand/cultist_hands_purple.ron b/assets/common/items/npc_armor/hand/cultist_hands_purple.ron
index acb85e1fe3..3b067742c7 100644
--- a/assets/common/items/npc_armor/hand/cultist_hands_purple.ron
+++ b/assets/common/items/npc_armor/hand/cultist_hands_purple.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/pants/cultist_legs_purple.ron b/assets/common/items/npc_armor/pants/cultist_legs_purple.ron
index 649e8d6ae1..5d366ff2c2 100644
--- a/assets/common/items/npc_armor/pants/cultist_legs_purple.ron
+++ b/assets/common/items/npc_armor/pants/cultist_legs_purple.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/pants/leather_blue_0.ron b/assets/common/items/npc_armor/pants/leather_blue_0.ron
index c8b8f8874d..44d7fa645e 100644
--- a/assets/common/items/npc_armor/pants/leather_blue_0.ron
+++ b/assets/common/items/npc_armor/pants/leather_blue_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/pants/plate_green_0.ron b/assets/common/items/npc_armor/pants/plate_green_0.ron
index 7d70fb0cac..b5b693a66a 100644
--- a/assets/common/items/npc_armor/pants/plate_green_0.ron
+++ b/assets/common/items/npc_armor/pants/plate_green_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/pants/plate_red_0.ron b/assets/common/items/npc_armor/pants/plate_red_0.ron
index af0ac1b877..b94c79701c 100644
--- a/assets/common/items/npc_armor/pants/plate_red_0.ron
+++ b/assets/common/items/npc_armor/pants/plate_red_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron b/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron
index 083c5404d6..5223c9aa3a 100644
--- a/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron
+++ b/assets/common/items/npc_armor/shoulder/cultist_shoulder_purple.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron
index 69e29ca551..5ff8652556 100644
--- a/assets/common/items/npc_weapons/axe/malachite_axe-0.ron
+++ b/assets/common/items/npc_weapons/axe/malachite_axe-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/axe/starter_axe.ron b/assets/common/items/npc_weapons/axe/starter_axe.ron
index a87a8e0871..38913830e8 100644
--- a/assets/common/items/npc_weapons/axe/starter_axe.ron
+++ b/assets/common/items/npc_weapons/axe/starter_axe.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron
index bf12d042fa..486340c34b 100644
--- a/assets/common/items/npc_weapons/bow/horn_longbow-0.ron
+++ b/assets/common/items/npc_weapons/bow/horn_longbow-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/bow/saurok_bow.ron b/assets/common/items/npc_weapons/bow/saurok_bow.ron
index 5fd67f2123..3b90d3e039 100644
--- a/assets/common/items/npc_weapons/bow/saurok_bow.ron
+++ b/assets/common/items/npc_weapons/bow/saurok_bow.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/dagger/starter_dagger.ron b/assets/common/items/npc_weapons/dagger/starter_dagger.ron
index 0300bcf1ac..24ff9b1c59 100644
--- a/assets/common/items/npc_weapons/dagger/starter_dagger.ron
+++ b/assets/common/items/npc_weapons/dagger/starter_dagger.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/empty/empty.ron b/assets/common/items/npc_weapons/empty/empty.ron
index bea2a82516..d3176bda5a 100644
--- a/assets/common/items/npc_weapons/empty/empty.ron
+++ b/assets/common/items/npc_weapons/empty/empty.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron
index be35c48871..9a0ad62c6c 100644
--- a/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron
+++ b/assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron
index ea545e2f1d..5e6e83e2dc 100644
--- a/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/cyclops_hammer.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron
index 3edf1cebca..8691e128c9 100644
--- a/assets/common/items/npc_weapons/hammer/ogre_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/ogre_hammer.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/hammer/starter_hammer.ron b/assets/common/items/npc_weapons/hammer/starter_hammer.ron
index accb83e2d2..26fc3cea1a 100644
--- a/assets/common/items/npc_weapons/hammer/starter_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/starter_hammer.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/hammer/troll_hammer.ron b/assets/common/items/npc_weapons/hammer/troll_hammer.ron
index b2402d91bf..7ac33bfd81 100644
--- a/assets/common/items/npc_weapons/hammer/troll_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/troll_hammer.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron
index ef65f8122d..6433e1abad 100644
--- a/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron
+++ b/assets/common/items/npc_weapons/hammer/wendigo_hammer.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/shield/shield_1.ron b/assets/common/items/npc_weapons/shield/shield_1.ron
index 39ff6c8159..01b4fc4e79 100644
--- a/assets/common/items/npc_weapons/shield/shield_1.ron
+++ b/assets/common/items/npc_weapons/shield/shield_1.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/staff/bone_staff.ron b/assets/common/items/npc_weapons/staff/bone_staff.ron
index 6455cb7a58..c2c4f9fec3 100644
--- a/assets/common/items/npc_weapons/staff/bone_staff.ron
+++ b/assets/common/items/npc_weapons/staff/bone_staff.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/staff/cultist_staff.ron b/assets/common/items/npc_weapons/staff/cultist_staff.ron
index c71b93e97e..9c900aaa83 100644
--- a/assets/common/items/npc_weapons/staff/cultist_staff.ron
+++ b/assets/common/items/npc_weapons/staff/cultist_staff.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron
index 774f63279a..ff6531eaa1 100644
--- a/assets/common/items/npc_weapons/staff/mindflayer_staff.ron
+++ b/assets/common/items/npc_weapons/staff/mindflayer_staff.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Legendary,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/staff/ogre_staff.ron b/assets/common/items/npc_weapons/staff/ogre_staff.ron
index 5b9a8ff23f..0cedaf4332 100644
--- a/assets/common/items/npc_weapons/staff/ogre_staff.ron
+++ b/assets/common/items/npc_weapons/staff/ogre_staff.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/staff/saurok_staff.ron b/assets/common/items/npc_weapons/staff/saurok_staff.ron
index 4730447a09..ff2d7b57b2 100644
--- a/assets/common/items/npc_weapons/staff/saurok_staff.ron
+++ b/assets/common/items/npc_weapons/staff/saurok_staff.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron
index f112732e69..02ccff2d57 100644
--- a/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron
+++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron
index 7d2ff54fe6..bc5072d977 100644
--- a/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron
+++ b/assets/common/items/npc_weapons/sword/cultist_purp_2h_boss-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/sword/dullahan_sword.ron b/assets/common/items/npc_weapons/sword/dullahan_sword.ron
index 70b5bc872d..29c7356f44 100644
--- a/assets/common/items/npc_weapons/sword/dullahan_sword.ron
+++ b/assets/common/items/npc_weapons/sword/dullahan_sword.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/sword/saurok_sword.ron b/assets/common/items/npc_weapons/sword/saurok_sword.ron
index e58358127c..445d28722a 100644
--- a/assets/common/items/npc_weapons/sword/saurok_sword.ron
+++ b/assets/common/items/npc_weapons/sword/saurok_sword.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/sword/starter_sword.ron b/assets/common/items/npc_weapons/sword/starter_sword.ron
index a2199851fb..178eef5752 100644
--- a/assets/common/items/npc_weapons/sword/starter_sword.ron
+++ b/assets/common/items/npc_weapons/sword/starter_sword.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron
index fd780c722a..197537c5b3 100644
--- a/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron
+++ b/assets/common/items/npc_weapons/sword/zweihander_sword_0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/broom.ron b/assets/common/items/npc_weapons/tool/broom.ron
index 5acc0b7b97..706e4ac95f 100644
--- a/assets/common/items/npc_weapons/tool/broom.ron
+++ b/assets/common/items/npc_weapons/tool/broom.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/fishing_rod.ron b/assets/common/items/npc_weapons/tool/fishing_rod.ron
index f95090de85..ee4f2cca74 100644
--- a/assets/common/items/npc_weapons/tool/fishing_rod.ron
+++ b/assets/common/items/npc_weapons/tool/fishing_rod.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/hoe.ron b/assets/common/items/npc_weapons/tool/hoe.ron
index 442f003b4d..d81f904d3b 100644
--- a/assets/common/items/npc_weapons/tool/hoe.ron
+++ b/assets/common/items/npc_weapons/tool/hoe.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/pickaxe.ron b/assets/common/items/npc_weapons/tool/pickaxe.ron
index 4925c8fbe6..6421a7bc87 100644
--- a/assets/common/items/npc_weapons/tool/pickaxe.ron
+++ b/assets/common/items/npc_weapons/tool/pickaxe.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/pitchfork.ron b/assets/common/items/npc_weapons/tool/pitchfork.ron
index 48cb72c1a8..4b88ac3058 100644
--- a/assets/common/items/npc_weapons/tool/pitchfork.ron
+++ b/assets/common/items/npc_weapons/tool/pitchfork.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/rake.ron b/assets/common/items/npc_weapons/tool/rake.ron
index 55e5988834..1b660c9eb2 100644
--- a/assets/common/items/npc_weapons/tool/rake.ron
+++ b/assets/common/items/npc_weapons/tool/rake.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/shovel-0.ron b/assets/common/items/npc_weapons/tool/shovel-0.ron
index a5961017e4..00104a97ff 100644
--- a/assets/common/items/npc_weapons/tool/shovel-0.ron
+++ b/assets/common/items/npc_weapons/tool/shovel-0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/tool/shovel-1.ron b/assets/common/items/npc_weapons/tool/shovel-1.ron
index e466084a1a..c6cce260d1 100644
--- a/assets/common/items/npc_weapons/tool/shovel-1.ron
+++ b/assets/common/items/npc_weapons/tool/shovel-1.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/beast_claws.ron b/assets/common/items/npc_weapons/unique/beast_claws.ron
index f28be29396..5f662cb20f 100644
--- a/assets/common/items/npc_weapons/unique/beast_claws.ron
+++ b/assets/common/items/npc_weapons/unique/beast_claws.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadlowbasic.ron b/assets/common/items/npc_weapons/unique/quadlowbasic.ron
index 74c32b4641..e4f62f5350 100644
--- a/assets/common/items/npc_weapons/unique/quadlowbasic.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowbasic.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron
index 585f808f40..e081aa67be 100644
--- a/assets/common/items/npc_weapons/unique/quadlowbreathe.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowbreathe.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadlowquick.ron b/assets/common/items/npc_weapons/unique/quadlowquick.ron
index a2278202e9..0d92fce499 100644
--- a/assets/common/items/npc_weapons/unique/quadlowquick.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowquick.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadlowranged.ron b/assets/common/items/npc_weapons/unique/quadlowranged.ron
index 090292ab96..22b62a3f98 100644
--- a/assets/common/items/npc_weapons/unique/quadlowranged.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowranged.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadlowtail.ron b/assets/common/items/npc_weapons/unique/quadlowtail.ron
index 9b554bb398..144fe62c11 100644
--- a/assets/common/items/npc_weapons/unique/quadlowtail.ron
+++ b/assets/common/items/npc_weapons/unique/quadlowtail.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadmedbasic.ron b/assets/common/items/npc_weapons/unique/quadmedbasic.ron
index fc6cedd22b..275165aff2 100644
--- a/assets/common/items/npc_weapons/unique/quadmedbasic.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedbasic.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadmedcharge.ron b/assets/common/items/npc_weapons/unique/quadmedcharge.ron
index 6418ea601e..4c7f9faa1e 100644
--- a/assets/common/items/npc_weapons/unique/quadmedcharge.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedcharge.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadmedhoof.ron b/assets/common/items/npc_weapons/unique/quadmedhoof.ron
index eed0adea73..d33f264582 100644
--- a/assets/common/items/npc_weapons/unique/quadmedhoof.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedhoof.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadmedjump.ron b/assets/common/items/npc_weapons/unique/quadmedjump.ron
index 674b6a8479..17702a94bf 100644
--- a/assets/common/items/npc_weapons/unique/quadmedjump.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedjump.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadmedquick.ron b/assets/common/items/npc_weapons/unique/quadmedquick.ron
index 0535f15b89..69b3223b96 100644
--- a/assets/common/items/npc_weapons/unique/quadmedquick.ron
+++ b/assets/common/items/npc_weapons/unique/quadmedquick.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron
index 0c8ca574ee..f965504c06 100644
--- a/assets/common/items/npc_weapons/unique/quadsmallbasic.ron
+++ b/assets/common/items/npc_weapons/unique/quadsmallbasic.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron
index a247a656af..cf6a6489c9 100644
--- a/assets/common/items/npc_weapons/unique/stone_golems_fist.ron
+++ b/assets/common/items/npc_weapons/unique/stone_golems_fist.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/theropodbasic.ron b/assets/common/items/npc_weapons/unique/theropodbasic.ron
index 0f77fd2e10..e91b354e74 100644
--- a/assets/common/items/npc_weapons/unique/theropodbasic.ron
+++ b/assets/common/items/npc_weapons/unique/theropodbasic.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/npc_weapons/unique/theropodbird.ron b/assets/common/items/npc_weapons/unique/theropodbird.ron
index bc054515a0..7921c82e88 100644
--- a/assets/common/items/npc_weapons/unique/theropodbird.ron
+++ b/assets/common/items/npc_weapons/unique/theropodbird.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/ore/velorite.ron b/assets/common/items/ore/velorite.ron
index 74f0ec0634..a9d5fcdd79 100644
--- a/assets/common/items/ore/velorite.ron
+++ b/assets/common/items/ore/velorite.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "Velorite",      
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/ore/veloritefrag.ron b/assets/common/items/ore/veloritefrag.ron
index b5e050e131..8791035a32 100644
--- a/assets/common/items/ore/veloritefrag.ron
+++ b/assets/common/items/ore/veloritefrag.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: "VeloriteFrag",        
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/tag_examples/cloth_item.ron b/assets/common/items/tag_examples/cloth_item.ron
new file mode 100644
index 0000000000..dd4e975ad1
--- /dev/null
+++ b/assets/common/items/tag_examples/cloth_item.ron
@@ -0,0 +1,23 @@
+ItemDef(
+    name: "Any cloth item",
+    description: "Various colored fabric armors.",
+    kind: TagExamples(
+        item_ids: [
+            "common.items.armor.foot.cloth_blue_0",
+            "common.items.armor.hand.cloth_blue_0",
+            "common.items.armor.pants.cloth_blue_0",
+            "common.items.armor.shoulder.cloth_blue_0",
+            "common.items.armor.foot.cloth_green_0",
+            "common.items.armor.hand.cloth_green_0",
+            "common.items.armor.pants.cloth_green_0",
+            "common.items.armor.shoulder.cloth_green_0",
+            "common.items.armor.foot.cloth_purple_0",
+            "common.items.armor.hand.cloth_purple_0",
+            "common.items.armor.pants.cloth_purple_0",
+            "common.items.armor.shoulder.cloth_purple_0",
+        ],
+    ),
+    quality: Common,
+    tags: [ClothItem],
+)
+
diff --git a/assets/common/items/testing/test_bag_18_slot.ron b/assets/common/items/testing/test_bag_18_slot.ron
index 08e41f7659..c33cc51a40 100644
--- a/assets/common/items/testing/test_bag_18_slot.ron
+++ b/assets/common/items/testing/test_bag_18_slot.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
     slots: 18,
 )
diff --git a/assets/common/items/testing/test_bag_9_slot.ron b/assets/common/items/testing/test_bag_9_slot.ron
index 4618b6179e..bea076ce70 100644
--- a/assets/common/items/testing/test_bag_9_slot.ron
+++ b/assets/common/items/testing/test_bag_9_slot.ron
@@ -11,5 +11,6 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
     slots: 9,
 )
diff --git a/assets/common/items/testing/test_boots.ron b/assets/common/items/testing/test_boots.ron
index 6a40f3f4c9..ecc6cf63b5 100644
--- a/assets/common/items/testing/test_boots.ron
+++ b/assets/common/items/testing/test_boots.ron
@@ -11,4 +11,5 @@ ItemDef(
         )
     ),
     quality: Low,
+    tags: [],
 )
diff --git a/assets/common/items/utility/bomb.ron b/assets/common/items/utility/bomb.ron
index 4d1e23107f..033e51a644 100644
--- a/assets/common/items/utility/bomb.ron
+++ b/assets/common/items/utility/bomb.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: Bomb,
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/utility/bomb_pile.ron b/assets/common/items/utility/bomb_pile.ron
index 66dc038417..c906a93ba9 100644
--- a/assets/common/items/utility/bomb_pile.ron
+++ b/assets/common/items/utility/bomb_pile.ron
@@ -6,4 +6,5 @@ ItemDef(
 		amount: 10,
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/utility/collar.ron b/assets/common/items/utility/collar.ron
index a7c49c8331..100b504efe 100644
--- a/assets/common/items/utility/collar.ron
+++ b/assets/common/items/utility/collar.ron
@@ -6,4 +6,5 @@ ItemDef(
     ),
     amount: 1,
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/utility/firework_blue.ron b/assets/common/items/utility/firework_blue.ron
index 3087bc3891..e4be4e79bd 100644
--- a/assets/common/items/utility/firework_blue.ron
+++ b/assets/common/items/utility/firework_blue.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: Firework(Blue),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/utility/firework_green.ron b/assets/common/items/utility/firework_green.ron
index 72aabc2981..1e28a1fc6c 100644
--- a/assets/common/items/utility/firework_green.ron
+++ b/assets/common/items/utility/firework_green.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: Firework(Green),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/utility/firework_purple.ron b/assets/common/items/utility/firework_purple.ron
index 357cf5eb8b..2d94a2b174 100644
--- a/assets/common/items/utility/firework_purple.ron
+++ b/assets/common/items/utility/firework_purple.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: Firework(Purple),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/utility/firework_red.ron b/assets/common/items/utility/firework_red.ron
index 004967be14..647a0ad26a 100644
--- a/assets/common/items/utility/firework_red.ron
+++ b/assets/common/items/utility/firework_red.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: Firework(Red),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/utility/firework_yellow.ron b/assets/common/items/utility/firework_yellow.ron
index 02bca798c7..4b855cfb04 100644
--- a/assets/common/items/utility/firework_yellow.ron
+++ b/assets/common/items/utility/firework_yellow.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: Firework(Yellow),
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/utility/training_dummy.ron b/assets/common/items/utility/training_dummy.ron
index d6c003df34..33898f4952 100644
--- a/assets/common/items/utility/training_dummy.ron
+++ b/assets/common/items/utility/training_dummy.ron
@@ -5,4 +5,5 @@ ItemDef(
         kind: TrainingDummy,
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron
index 91fc7f98b6..78cb547034 100644
--- a/assets/common/items/weapons/axe/bloodsteel_axe-0.ron
+++ b/assets/common/items/weapons/axe/bloodsteel_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron
index 4ae7a21165..d19166eb4c 100644
--- a/assets/common/items/weapons/axe/bloodsteel_axe-1.ron
+++ b/assets/common/items/weapons/axe/bloodsteel_axe-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron
index 7ad948d4eb..2977a50d46 100644
--- a/assets/common/items/weapons/axe/bloodsteel_axe-2.ron
+++ b/assets/common/items/weapons/axe/bloodsteel_axe-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/bronze_axe-0.ron b/assets/common/items/weapons/axe/bronze_axe-0.ron
index 509db1a76c..f0c0ffdefe 100644
--- a/assets/common/items/weapons/axe/bronze_axe-0.ron
+++ b/assets/common/items/weapons/axe/bronze_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
-)
\ No newline at end of file
+    tags: [],
+)
diff --git a/assets/common/items/weapons/axe/bronze_axe-1.ron b/assets/common/items/weapons/axe/bronze_axe-1.ron
index 0b9822c925..64c0950eb8 100644
--- a/assets/common/items/weapons/axe/bronze_axe-1.ron
+++ b/assets/common/items/weapons/axe/bronze_axe-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/cobalt_axe-0.ron b/assets/common/items/weapons/axe/cobalt_axe-0.ron
index cc8136a39b..e971a68d64 100644
--- a/assets/common/items/weapons/axe/cobalt_axe-0.ron
+++ b/assets/common/items/weapons/axe/cobalt_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-0.ron b/assets/common/items/weapons/axe/iron_axe-0.ron
index edcfe7fc01..d19c0ccc65 100644
--- a/assets/common/items/weapons/axe/iron_axe-0.ron
+++ b/assets/common/items/weapons/axe/iron_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-1.ron b/assets/common/items/weapons/axe/iron_axe-1.ron
index c13537612a..2ebfa4ab01 100644
--- a/assets/common/items/weapons/axe/iron_axe-1.ron
+++ b/assets/common/items/weapons/axe/iron_axe-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-2.ron b/assets/common/items/weapons/axe/iron_axe-2.ron
index 5587256351..fedd993900 100644
--- a/assets/common/items/weapons/axe/iron_axe-2.ron
+++ b/assets/common/items/weapons/axe/iron_axe-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-3.ron b/assets/common/items/weapons/axe/iron_axe-3.ron
index c801068869..f185f924fe 100644
--- a/assets/common/items/weapons/axe/iron_axe-3.ron
+++ b/assets/common/items/weapons/axe/iron_axe-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-4.ron b/assets/common/items/weapons/axe/iron_axe-4.ron
index b954b1308c..9116c5b252 100644
--- a/assets/common/items/weapons/axe/iron_axe-4.ron
+++ b/assets/common/items/weapons/axe/iron_axe-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-5.ron b/assets/common/items/weapons/axe/iron_axe-5.ron
index 756fab48c4..2b0a8f112b 100644
--- a/assets/common/items/weapons/axe/iron_axe-5.ron
+++ b/assets/common/items/weapons/axe/iron_axe-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-6.ron b/assets/common/items/weapons/axe/iron_axe-6.ron
index d62cff2294..fb4d59b791 100644
--- a/assets/common/items/weapons/axe/iron_axe-6.ron
+++ b/assets/common/items/weapons/axe/iron_axe-6.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-7.ron b/assets/common/items/weapons/axe/iron_axe-7.ron
index 180769f438..6e31acfec8 100644
--- a/assets/common/items/weapons/axe/iron_axe-7.ron
+++ b/assets/common/items/weapons/axe/iron_axe-7.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-8.ron b/assets/common/items/weapons/axe/iron_axe-8.ron
index 9ec1e1db5d..0c4a57cd86 100644
--- a/assets/common/items/weapons/axe/iron_axe-8.ron
+++ b/assets/common/items/weapons/axe/iron_axe-8.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/iron_axe-9.ron b/assets/common/items/weapons/axe/iron_axe-9.ron
index 4e4cde5057..9c1cb27ff4 100644
--- a/assets/common/items/weapons/axe/iron_axe-9.ron
+++ b/assets/common/items/weapons/axe/iron_axe-9.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/malachite_axe-0.ron b/assets/common/items/weapons/axe/malachite_axe-0.ron
index 1c1b901132..65ec9531ca 100644
--- a/assets/common/items/weapons/axe/malachite_axe-0.ron
+++ b/assets/common/items/weapons/axe/malachite_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/orc_axe-0.ron b/assets/common/items/weapons/axe/orc_axe-0.ron
index cd7969e1cf..9997734d56 100644
--- a/assets/common/items/weapons/axe/orc_axe-0.ron
+++ b/assets/common/items/weapons/axe/orc_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/starter_axe.ron b/assets/common/items/weapons/axe/starter_axe.ron
index 37b9b1431d..7ee597fadd 100644
--- a/assets/common/items/weapons/axe/starter_axe.ron
+++ b/assets/common/items/weapons/axe/starter_axe.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-0.ron b/assets/common/items/weapons/axe/steel_axe-0.ron
index 9a4efa2f92..df30c3151b 100644
--- a/assets/common/items/weapons/axe/steel_axe-0.ron
+++ b/assets/common/items/weapons/axe/steel_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-1.ron b/assets/common/items/weapons/axe/steel_axe-1.ron
index 83c5c7d84a..65da695813 100644
--- a/assets/common/items/weapons/axe/steel_axe-1.ron
+++ b/assets/common/items/weapons/axe/steel_axe-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-2.ron b/assets/common/items/weapons/axe/steel_axe-2.ron
index 5da1136e72..9d85cfd445 100644
--- a/assets/common/items/weapons/axe/steel_axe-2.ron
+++ b/assets/common/items/weapons/axe/steel_axe-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-3.ron b/assets/common/items/weapons/axe/steel_axe-3.ron
index 477208f836..65ed471467 100644
--- a/assets/common/items/weapons/axe/steel_axe-3.ron
+++ b/assets/common/items/weapons/axe/steel_axe-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-4.ron b/assets/common/items/weapons/axe/steel_axe-4.ron
index 3bc9e5e909..62f9a6edc8 100644
--- a/assets/common/items/weapons/axe/steel_axe-4.ron
+++ b/assets/common/items/weapons/axe/steel_axe-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-5.ron b/assets/common/items/weapons/axe/steel_axe-5.ron
index 3460142677..8b49ff350b 100644
--- a/assets/common/items/weapons/axe/steel_axe-5.ron
+++ b/assets/common/items/weapons/axe/steel_axe-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/steel_axe-6.ron b/assets/common/items/weapons/axe/steel_axe-6.ron
index 650aa5a48e..4a7fbc9a28 100644
--- a/assets/common/items/weapons/axe/steel_axe-6.ron
+++ b/assets/common/items/weapons/axe/steel_axe-6.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/worn_iron_axe-0.ron b/assets/common/items/weapons/axe/worn_iron_axe-0.ron
index 935db023e9..b0004c1b4e 100644
--- a/assets/common/items/weapons/axe/worn_iron_axe-0.ron
+++ b/assets/common/items/weapons/axe/worn_iron_axe-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/worn_iron_axe-1.ron b/assets/common/items/weapons/axe/worn_iron_axe-1.ron
index 3d535c97e6..4d5195801a 100644
--- a/assets/common/items/weapons/axe/worn_iron_axe-1.ron
+++ b/assets/common/items/weapons/axe/worn_iron_axe-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/worn_iron_axe-2.ron b/assets/common/items/weapons/axe/worn_iron_axe-2.ron
index ed777c29de..a6ea3196a0 100644
--- a/assets/common/items/weapons/axe/worn_iron_axe-2.ron
+++ b/assets/common/items/weapons/axe/worn_iron_axe-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/worn_iron_axe-3.ron b/assets/common/items/weapons/axe/worn_iron_axe-3.ron
index 54ed1655a8..cef489a30f 100644
--- a/assets/common/items/weapons/axe/worn_iron_axe-3.ron
+++ b/assets/common/items/weapons/axe/worn_iron_axe-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/axe/worn_iron_axe-4.ron b/assets/common/items/weapons/axe/worn_iron_axe-4.ron
index c0238d670f..c04e4ff556 100644
--- a/assets/common/items/weapons/axe/worn_iron_axe-4.ron
+++ b/assets/common/items/weapons/axe/worn_iron_axe-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/horn_longbow-0.ron b/assets/common/items/weapons/bow/horn_longbow-0.ron
index b5f8d7699f..c5b9248292 100644
--- a/assets/common/items/weapons/bow/horn_longbow-0.ron
+++ b/assets/common/items/weapons/bow/horn_longbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/iron_longbow-0.ron b/assets/common/items/weapons/bow/iron_longbow-0.ron
index 78b086a35e..34770e7633 100644
--- a/assets/common/items/weapons/bow/iron_longbow-0.ron
+++ b/assets/common/items/weapons/bow/iron_longbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/leafy_longbow-0.ron b/assets/common/items/weapons/bow/leafy_longbow-0.ron
index 25bfa06017..dd3521572d 100644
--- a/assets/common/items/weapons/bow/leafy_longbow-0.ron
+++ b/assets/common/items/weapons/bow/leafy_longbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/leafy_shortbow-0.ron b/assets/common/items/weapons/bow/leafy_shortbow-0.ron
index 46ff2edd2a..e8167e7f1f 100644
--- a/assets/common/items/weapons/bow/leafy_shortbow-0.ron
+++ b/assets/common/items/weapons/bow/leafy_shortbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron
index 585cfec405..5bb6e26768 100644
--- a/assets/common/items/weapons/bow/nature_ore_longbow-0.ron
+++ b/assets/common/items/weapons/bow/nature_ore_longbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/rare_longbow.ron b/assets/common/items/weapons/bow/rare_longbow.ron
index e0f8b8d02c..f9cc9b0e4b 100644
--- a/assets/common/items/weapons/bow/rare_longbow.ron
+++ b/assets/common/items/weapons/bow/rare_longbow.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/starter_bow.ron b/assets/common/items/weapons/bow/starter_bow.ron
index 6d579fd528..7fb71a72f9 100644
--- a/assets/common/items/weapons/bow/starter_bow.ron
+++ b/assets/common/items/weapons/bow/starter_bow.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/wood_longbow-0.ron b/assets/common/items/weapons/bow/wood_longbow-0.ron
index 716863c463..e528d61154 100644
--- a/assets/common/items/weapons/bow/wood_longbow-0.ron
+++ b/assets/common/items/weapons/bow/wood_longbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/wood_longbow-1.ron b/assets/common/items/weapons/bow/wood_longbow-1.ron
index b23d93d237..b3cb675fa5 100644
--- a/assets/common/items/weapons/bow/wood_longbow-1.ron
+++ b/assets/common/items/weapons/bow/wood_longbow-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/wood_shortbow-0.ron b/assets/common/items/weapons/bow/wood_shortbow-0.ron
index 1a59612735..9df405f453 100644
--- a/assets/common/items/weapons/bow/wood_shortbow-0.ron
+++ b/assets/common/items/weapons/bow/wood_shortbow-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/bow/wood_shortbow-1.ron b/assets/common/items/weapons/bow/wood_shortbow-1.ron
index 132a506ecb..d323263c73 100644
--- a/assets/common/items/weapons/bow/wood_shortbow-1.ron
+++ b/assets/common/items/weapons/bow/wood_shortbow-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/dagger/basic_0.ron b/assets/common/items/weapons/dagger/basic_0.ron
index 62913c4659..5179da5408 100644
--- a/assets/common/items/weapons/dagger/basic_0.ron
+++ b/assets/common/items/weapons/dagger/basic_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/dagger/cultist_0.ron b/assets/common/items/weapons/dagger/cultist_0.ron
index 9464b14fb0..617932f662 100644
--- a/assets/common/items/weapons/dagger/cultist_0.ron
+++ b/assets/common/items/weapons/dagger/cultist_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/dagger/starter_dagger.ron b/assets/common/items/weapons/dagger/starter_dagger.ron
index 0d5e5b4e32..316eb88e9a 100644
--- a/assets/common/items/weapons/dagger/starter_dagger.ron
+++ b/assets/common/items/weapons/dagger/starter_dagger.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/empty/empty.ron b/assets/common/items/weapons/empty/empty.ron
index 37a239cb98..442cc89aab 100644
--- a/assets/common/items/weapons/empty/empty.ron
+++ b/assets/common/items/weapons/empty/empty.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/bronze_hammer-0.ron b/assets/common/items/weapons/hammer/bronze_hammer-0.ron
index 7dd2ac408e..44d71ea76e 100644
--- a/assets/common/items/weapons/hammer/bronze_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/bronze_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/bronze_hammer-1.ron b/assets/common/items/weapons/hammer/bronze_hammer-1.ron
index 25d9e09855..88564cc4bf 100644
--- a/assets/common/items/weapons/hammer/bronze_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/bronze_hammer-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron
index 3419ec5721..05ea199ce6 100644
--- a/assets/common/items/weapons/hammer/cobalt_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/cobalt_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron
index 474f09cbb5..3f591b292d 100644
--- a/assets/common/items/weapons/hammer/cobalt_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/cobalt_hammer-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron
index ddefb19926..0367daafe4 100644
--- a/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron
+++ b/assets/common/items/weapons/hammer/cultist_purp_2h-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/flimsy_hammer.ron b/assets/common/items/weapons/hammer/flimsy_hammer.ron
index a017441bee..4c6f509d06 100644
--- a/assets/common/items/weapons/hammer/flimsy_hammer.ron
+++ b/assets/common/items/weapons/hammer/flimsy_hammer.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/hammer_1.ron b/assets/common/items/weapons/hammer/hammer_1.ron
index 3feb1658f6..f3257e1a33 100644
--- a/assets/common/items/weapons/hammer/hammer_1.ron
+++ b/assets/common/items/weapons/hammer/hammer_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-0.ron b/assets/common/items/weapons/hammer/iron_hammer-0.ron
index 7f604f97ea..d7ad1d0772 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-1.ron b/assets/common/items/weapons/hammer/iron_hammer-1.ron
index 9eea0766ae..9e0620fd48 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-2.ron b/assets/common/items/weapons/hammer/iron_hammer-2.ron
index ad792b4109..55d7ada738 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-3.ron b/assets/common/items/weapons/hammer/iron_hammer-3.ron
index b37c10e0eb..8308b3bf68 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-4.ron b/assets/common/items/weapons/hammer/iron_hammer-4.ron
index 5456e732f3..446430580b 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-4.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-5.ron b/assets/common/items/weapons/hammer/iron_hammer-5.ron
index cb868b7417..915d806b3f 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-5.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-6.ron b/assets/common/items/weapons/hammer/iron_hammer-6.ron
index f1fc1e3e19..6ae5516593 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-6.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-6.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-7.ron b/assets/common/items/weapons/hammer/iron_hammer-7.ron
index 0bf7ef8389..354110e363 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-7.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-7.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/iron_hammer-8.ron b/assets/common/items/weapons/hammer/iron_hammer-8.ron
index 93fc183829..4f65a8b0ed 100644
--- a/assets/common/items/weapons/hammer/iron_hammer-8.ron
+++ b/assets/common/items/weapons/hammer/iron_hammer-8.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/mjolnir.ron b/assets/common/items/weapons/hammer/mjolnir.ron
index e804e29ec9..2b59a4e030 100644
--- a/assets/common/items/weapons/hammer/mjolnir.ron
+++ b/assets/common/items/weapons/hammer/mjolnir.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Legendary,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/hammer/ramshead_hammer.ron b/assets/common/items/weapons/hammer/ramshead_hammer.ron
index 1221aa1432..5aed246180 100644
--- a/assets/common/items/weapons/hammer/ramshead_hammer.ron
+++ b/assets/common/items/weapons/hammer/ramshead_hammer.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/runic_hammer.ron b/assets/common/items/weapons/hammer/runic_hammer.ron
index 0f39b2b3c5..84a0212e8e 100644
--- a/assets/common/items/weapons/hammer/runic_hammer.ron
+++ b/assets/common/items/weapons/hammer/runic_hammer.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/starter_hammer.ron b/assets/common/items/weapons/hammer/starter_hammer.ron
index 79503805d8..0e6f45ac4e 100644
--- a/assets/common/items/weapons/hammer/starter_hammer.ron
+++ b/assets/common/items/weapons/hammer/starter_hammer.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/steel_hammer-0.ron b/assets/common/items/weapons/hammer/steel_hammer-0.ron
index 1e9d715a34..d34d4c1415 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/steel_hammer-1.ron b/assets/common/items/weapons/hammer/steel_hammer-1.ron
index 14f1d494b8..0a9d90e20d 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/steel_hammer-2.ron b/assets/common/items/weapons/hammer/steel_hammer-2.ron
index ad546e4b2b..083baa5e07 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/steel_hammer-3.ron b/assets/common/items/weapons/hammer/steel_hammer-3.ron
index e74106526a..d8da2588bd 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/steel_hammer-4.ron b/assets/common/items/weapons/hammer/steel_hammer-4.ron
index 7c256f30cd..644cb869bb 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-4.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/steel_hammer-5.ron b/assets/common/items/weapons/hammer/steel_hammer-5.ron
index 5c266923e1..f798885c17 100644
--- a/assets/common/items/weapons/hammer/steel_hammer-5.ron
+++ b/assets/common/items/weapons/hammer/steel_hammer-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/stone_hammer-0.ron b/assets/common/items/weapons/hammer/stone_hammer-0.ron
index fa90c09493..f2650a467d 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/stone_hammer-1.ron b/assets/common/items/weapons/hammer/stone_hammer-1.ron
index 9ed2ae8378..939f040b78 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/stone_hammer-2.ron b/assets/common/items/weapons/hammer/stone_hammer-2.ron
index 864830660e..d0d2595ee2 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/stone_hammer-3.ron b/assets/common/items/weapons/hammer/stone_hammer-3.ron
index 278b23666b..04c9204247 100644
--- a/assets/common/items/weapons/hammer/stone_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/stone_hammer-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/wood_hammer-0.ron b/assets/common/items/weapons/hammer/wood_hammer-0.ron
index ba56f59df6..0cdb3f1c0e 100644
--- a/assets/common/items/weapons/hammer/wood_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/wood_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron
index eaf971771c..edbc8c334f 100644
--- a/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron
+++ b/assets/common/items/weapons/hammer/worn_iron_hammer-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron
index edb7855aa6..8f68eb2930 100644
--- a/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron
+++ b/assets/common/items/weapons/hammer/worn_iron_hammer-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron
index c88709a11e..dda968a16d 100644
--- a/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron
+++ b/assets/common/items/weapons/hammer/worn_iron_hammer-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron
index 0cdfc9eb9c..0af9b74aa5 100644
--- a/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron
+++ b/assets/common/items/weapons/hammer/worn_iron_hammer-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sceptre/fork0.ron b/assets/common/items/weapons/sceptre/fork0.ron
index 01f5966b79..569d542e4b 100644
--- a/assets/common/items/weapons/sceptre/fork0.ron
+++ b/assets/common/items/weapons/sceptre/fork0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/loops0.ron b/assets/common/items/weapons/sceptre/loops0.ron
index fb58f390b7..1bcb6a9186 100644
--- a/assets/common/items/weapons/sceptre/loops0.ron
+++ b/assets/common/items/weapons/sceptre/loops0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: High,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/moon0.ron b/assets/common/items/weapons/sceptre/moon0.ron
index 84691f2592..55f0f4c8eb 100644
--- a/assets/common/items/weapons/sceptre/moon0.ron
+++ b/assets/common/items/weapons/sceptre/moon0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Common,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/root_evil.ron b/assets/common/items/weapons/sceptre/root_evil.ron
index 1e6f0c870c..81cc14bb31 100644
--- a/assets/common/items/weapons/sceptre/root_evil.ron
+++ b/assets/common/items/weapons/sceptre/root_evil.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Legendary,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/root_green0.ron b/assets/common/items/weapons/sceptre/root_green0.ron
index ba7f2682ef..58de4d9e49 100644
--- a/assets/common/items/weapons/sceptre/root_green0.ron
+++ b/assets/common/items/weapons/sceptre/root_green0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron
index c0fbe93799..b892b01d27 100644
--- a/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron
+++ b/assets/common/items/weapons/sceptre/sceptre_velorite_0.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Epic,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/staff_nature.ron b/assets/common/items/weapons/sceptre/staff_nature.ron
index 272c634c77..879edc92b5 100644
--- a/assets/common/items/weapons/sceptre/staff_nature.ron
+++ b/assets/common/items/weapons/sceptre/staff_nature.ron
@@ -13,4 +13,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/sceptre/starter_sceptre.ron b/assets/common/items/weapons/sceptre/starter_sceptre.ron
index d5aa4cb20a..bb862f5ac8 100644
--- a/assets/common/items/weapons/sceptre/starter_sceptre.ron
+++ b/assets/common/items/weapons/sceptre/starter_sceptre.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sceptre/totem_green.ron b/assets/common/items/weapons/sceptre/totem_green.ron
index 13e47c89a0..529639f1bd 100644
--- a/assets/common/items/weapons/sceptre/totem_green.ron
+++ b/assets/common/items/weapons/sceptre/totem_green.ron
@@ -14,4 +14,5 @@ ItemDef(
         )
     ),
     quality: Moderate,
+    tags: [],
 )
diff --git a/assets/common/items/weapons/shield/shield_1.ron b/assets/common/items/weapons/shield/shield_1.ron
index 61f121c8e7..c295f5f02b 100644
--- a/assets/common/items/weapons/shield/shield_1.ron
+++ b/assets/common/items/weapons/shield/shield_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/staff/amethyst_staff.ron b/assets/common/items/weapons/staff/amethyst_staff.ron
index df3a736a06..168d5fe37a 100644
--- a/assets/common/items/weapons/staff/amethyst_staff.ron
+++ b/assets/common/items/weapons/staff/amethyst_staff.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/staff/bone_staff.ron b/assets/common/items/weapons/staff/bone_staff.ron
index b00ddc9cd7..1c1066379b 100644
--- a/assets/common/items/weapons/staff/bone_staff.ron
+++ b/assets/common/items/weapons/staff/bone_staff.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/staff/cultist_staff.ron b/assets/common/items/weapons/staff/cultist_staff.ron
index ae920eb5d4..6394258a83 100644
--- a/assets/common/items/weapons/staff/cultist_staff.ron
+++ b/assets/common/items/weapons/staff/cultist_staff.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/staff/staff_1.ron b/assets/common/items/weapons/staff/staff_1.ron
index ff0595149b..e0f4d16761 100644
--- a/assets/common/items/weapons/staff/staff_1.ron
+++ b/assets/common/items/weapons/staff/staff_1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/staff/starter_staff.ron b/assets/common/items/weapons/staff/starter_staff.ron
index 14fd07cb19..a231366190 100644
--- a/assets/common/items/weapons/staff/starter_staff.ron
+++ b/assets/common/items/weapons/staff/starter_staff.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron
index 07916b5796..017a90786e 100644
--- a/assets/common/items/weapons/sword/cultist_purp_2h-0.ron
+++ b/assets/common/items/weapons/sword/cultist_purp_2h-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron
index 5a88577d08..303d2ebdbb 100644
--- a/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron
+++ b/assets/common/items/weapons/sword/frost_cleaver_2h-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: High,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron
index d302f22a36..bf1c6c6752 100644
--- a/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron
+++ b/assets/common/items/weapons/sword/frost_cleaver_2h-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Epic,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron
index 33c87429d8..83f84776f2 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_dam-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron
index 9aad290dcd..a58721d010 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_dam-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron
index 40c3ea0b9e..4c638e3e1d 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_dam-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron
index 98b0428536..83ed49dbeb 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_fine-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron
index 979f084c99..ab941163ac 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_fine-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron
index cbdcd15d30..c8d906c694 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_fine-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron
index b32630a1df..6cd0df19e3 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_orn-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron
index b32630a1df..6cd0df19e3 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_orn-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron
index 0dd78ad302..45b21e0054 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_orn-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron
index 6a969da4ba..df0a11c561 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_simple-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron
index 6a969da4ba..df0a11c561 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_simple-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron
index c48f58f04e..533f314e3a 100644
--- a/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron
+++ b/assets/common/items/weapons/sword/greatsword_2h_simple-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_dam-0.ron b/assets/common/items/weapons/sword/long_2h_dam-0.ron
index b4a8b1ff23..6dc87df30c 100644
--- a/assets/common/items/weapons/sword/long_2h_dam-0.ron
+++ b/assets/common/items/weapons/sword/long_2h_dam-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_dam-1.ron b/assets/common/items/weapons/sword/long_2h_dam-1.ron
index b4a8b1ff23..6dc87df30c 100644
--- a/assets/common/items/weapons/sword/long_2h_dam-1.ron
+++ b/assets/common/items/weapons/sword/long_2h_dam-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_dam-2.ron b/assets/common/items/weapons/sword/long_2h_dam-2.ron
index b4a8b1ff23..6dc87df30c 100644
--- a/assets/common/items/weapons/sword/long_2h_dam-2.ron
+++ b/assets/common/items/weapons/sword/long_2h_dam-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_dam-3.ron b/assets/common/items/weapons/sword/long_2h_dam-3.ron
index b4a8b1ff23..6dc87df30c 100644
--- a/assets/common/items/weapons/sword/long_2h_dam-3.ron
+++ b/assets/common/items/weapons/sword/long_2h_dam-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_dam-4.ron b/assets/common/items/weapons/sword/long_2h_dam-4.ron
index b4a8b1ff23..6dc87df30c 100644
--- a/assets/common/items/weapons/sword/long_2h_dam-4.ron
+++ b/assets/common/items/weapons/sword/long_2h_dam-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_dam-5.ron b/assets/common/items/weapons/sword/long_2h_dam-5.ron
index b4a8b1ff23..6dc87df30c 100644
--- a/assets/common/items/weapons/sword/long_2h_dam-5.ron
+++ b/assets/common/items/weapons/sword/long_2h_dam-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_fine-0.ron b/assets/common/items/weapons/sword/long_2h_fine-0.ron
index 6cb5ea99aa..caba633326 100644
--- a/assets/common/items/weapons/sword/long_2h_fine-0.ron
+++ b/assets/common/items/weapons/sword/long_2h_fine-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_fine-1.ron b/assets/common/items/weapons/sword/long_2h_fine-1.ron
index 6cb5ea99aa..caba633326 100644
--- a/assets/common/items/weapons/sword/long_2h_fine-1.ron
+++ b/assets/common/items/weapons/sword/long_2h_fine-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_fine-2.ron b/assets/common/items/weapons/sword/long_2h_fine-2.ron
index 6cb5ea99aa..caba633326 100644
--- a/assets/common/items/weapons/sword/long_2h_fine-2.ron
+++ b/assets/common/items/weapons/sword/long_2h_fine-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_fine-3.ron b/assets/common/items/weapons/sword/long_2h_fine-3.ron
index c2401af32c..fd58f8cee2 100644
--- a/assets/common/items/weapons/sword/long_2h_fine-3.ron
+++ b/assets/common/items/weapons/sword/long_2h_fine-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_fine-4.ron b/assets/common/items/weapons/sword/long_2h_fine-4.ron
index 6cb5ea99aa..caba633326 100644
--- a/assets/common/items/weapons/sword/long_2h_fine-4.ron
+++ b/assets/common/items/weapons/sword/long_2h_fine-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_fine-5.ron b/assets/common/items/weapons/sword/long_2h_fine-5.ron
index ecff96d7ec..3146f176bd 100644
--- a/assets/common/items/weapons/sword/long_2h_fine-5.ron
+++ b/assets/common/items/weapons/sword/long_2h_fine-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_orn-0.ron b/assets/common/items/weapons/sword/long_2h_orn-0.ron
index f68c56066c..bf0602dfef 100644
--- a/assets/common/items/weapons/sword/long_2h_orn-0.ron
+++ b/assets/common/items/weapons/sword/long_2h_orn-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_orn-1.ron b/assets/common/items/weapons/sword/long_2h_orn-1.ron
index 31092a3c1a..766d34a0b7 100644
--- a/assets/common/items/weapons/sword/long_2h_orn-1.ron
+++ b/assets/common/items/weapons/sword/long_2h_orn-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_orn-2.ron b/assets/common/items/weapons/sword/long_2h_orn-2.ron
index f68c56066c..bf0602dfef 100644
--- a/assets/common/items/weapons/sword/long_2h_orn-2.ron
+++ b/assets/common/items/weapons/sword/long_2h_orn-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_orn-3.ron b/assets/common/items/weapons/sword/long_2h_orn-3.ron
index f68c56066c..bf0602dfef 100644
--- a/assets/common/items/weapons/sword/long_2h_orn-3.ron
+++ b/assets/common/items/weapons/sword/long_2h_orn-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_orn-4.ron b/assets/common/items/weapons/sword/long_2h_orn-4.ron
index 31092a3c1a..766d34a0b7 100644
--- a/assets/common/items/weapons/sword/long_2h_orn-4.ron
+++ b/assets/common/items/weapons/sword/long_2h_orn-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_orn-5.ron b/assets/common/items/weapons/sword/long_2h_orn-5.ron
index 31092a3c1a..766d34a0b7 100644
--- a/assets/common/items/weapons/sword/long_2h_orn-5.ron
+++ b/assets/common/items/weapons/sword/long_2h_orn-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_simple-0.ron b/assets/common/items/weapons/sword/long_2h_simple-0.ron
index e28f2f652f..05103fb88d 100644
--- a/assets/common/items/weapons/sword/long_2h_simple-0.ron
+++ b/assets/common/items/weapons/sword/long_2h_simple-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_simple-1.ron b/assets/common/items/weapons/sword/long_2h_simple-1.ron
index e28f2f652f..05103fb88d 100644
--- a/assets/common/items/weapons/sword/long_2h_simple-1.ron
+++ b/assets/common/items/weapons/sword/long_2h_simple-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_simple-2.ron b/assets/common/items/weapons/sword/long_2h_simple-2.ron
index d401f19c57..7b94fed5f0 100644
--- a/assets/common/items/weapons/sword/long_2h_simple-2.ron
+++ b/assets/common/items/weapons/sword/long_2h_simple-2.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_simple-3.ron b/assets/common/items/weapons/sword/long_2h_simple-3.ron
index e28f2f652f..05103fb88d 100644
--- a/assets/common/items/weapons/sword/long_2h_simple-3.ron
+++ b/assets/common/items/weapons/sword/long_2h_simple-3.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_simple-4.ron b/assets/common/items/weapons/sword/long_2h_simple-4.ron
index e28f2f652f..05103fb88d 100644
--- a/assets/common/items/weapons/sword/long_2h_simple-4.ron
+++ b/assets/common/items/weapons/sword/long_2h_simple-4.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/long_2h_simple-5.ron b/assets/common/items/weapons/sword/long_2h_simple-5.ron
index e28f2f652f..05103fb88d 100644
--- a/assets/common/items/weapons/sword/long_2h_simple-5.ron
+++ b/assets/common/items/weapons/sword/long_2h_simple-5.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/short_sword_0.ron b/assets/common/items/weapons/sword/short_sword_0.ron
index 07c49cfb03..1788776740 100644
--- a/assets/common/items/weapons/sword/short_sword_0.ron
+++ b/assets/common/items/weapons/sword/short_sword_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/starter_sword.ron b/assets/common/items/weapons/sword/starter_sword.ron
index 92821d4282..ce4d00d23a 100644
--- a/assets/common/items/weapons/sword/starter_sword.ron
+++ b/assets/common/items/weapons/sword/starter_sword.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Low,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/wood_sword.ron b/assets/common/items/weapons/sword/wood_sword.ron
index 0276b6db2f..968781c53d 100644
--- a/assets/common/items/weapons/sword/wood_sword.ron
+++ b/assets/common/items/weapons/sword/wood_sword.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/sword/zweihander_sword_0.ron b/assets/common/items/weapons/sword/zweihander_sword_0.ron
index 2fdc971e04..966abd2a9b 100644
--- a/assets/common/items/weapons/sword/zweihander_sword_0.ron
+++ b/assets/common/items/weapons/sword/zweihander_sword_0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Moderate,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/broom.ron b/assets/common/items/weapons/tool/broom.ron
index 9df66924e5..7b806a4a51 100644
--- a/assets/common/items/weapons/tool/broom.ron
+++ b/assets/common/items/weapons/tool/broom.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/fishing_rod.ron b/assets/common/items/weapons/tool/fishing_rod.ron
index 04cae8452d..739dff74f4 100644
--- a/assets/common/items/weapons/tool/fishing_rod.ron
+++ b/assets/common/items/weapons/tool/fishing_rod.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/hoe.ron b/assets/common/items/weapons/tool/hoe.ron
index 9c1d696ccd..e8dc9aa885 100644
--- a/assets/common/items/weapons/tool/hoe.ron
+++ b/assets/common/items/weapons/tool/hoe.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/pickaxe.ron b/assets/common/items/weapons/tool/pickaxe.ron
index 29ae61ff57..0d951852fa 100644
--- a/assets/common/items/weapons/tool/pickaxe.ron
+++ b/assets/common/items/weapons/tool/pickaxe.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/pitchfork.ron b/assets/common/items/weapons/tool/pitchfork.ron
index f6ae281e95..e3198c8e33 100644
--- a/assets/common/items/weapons/tool/pitchfork.ron
+++ b/assets/common/items/weapons/tool/pitchfork.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/rake.ron b/assets/common/items/weapons/tool/rake.ron
index c3b9958510..7daf778520 100644
--- a/assets/common/items/weapons/tool/rake.ron
+++ b/assets/common/items/weapons/tool/rake.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/shovel-0.ron b/assets/common/items/weapons/tool/shovel-0.ron
index 488733a6e6..4b58f4d110 100644
--- a/assets/common/items/weapons/tool/shovel-0.ron
+++ b/assets/common/items/weapons/tool/shovel-0.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/items/weapons/tool/shovel-1.ron b/assets/common/items/weapons/tool/shovel-1.ron
index 2c862e20e0..08893389ac 100644
--- a/assets/common/items/weapons/tool/shovel-1.ron
+++ b/assets/common/items/weapons/tool/shovel-1.ron
@@ -11,4 +11,5 @@ ItemDef(
         ),
     )),
     quality: Common,
+    tags: [],
 )
\ No newline at end of file
diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron
index bebe0f9ca0..974602a42a 100644
--- a/assets/common/recipe_book.ron
+++ b/assets/common/recipe_book.ron
@@ -2,355 +2,365 @@
     "crafting_hammer": (
         ("common.items.crafting_tools.craftsman_hammer", 1),
         [
-            ("common.items.crafting_ing.twigs", 6),
-            ("common.items.crafting_ing.stones", 6),
+            (Item("common.items.crafting_ing.twigs"), 6),
+            (Item("common.items.crafting_ing.stones"), 6),
         ],
     ),
     "mortar_pestle": (
         ("common.items.crafting_tools.mortar_pestle", 1),
         [
-            ("common.items.crafting_ing.stones", 6),
-            ("common.items.food.coconut", 1),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
+            (Item("common.items.crafting_ing.stones"), 6),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
         ],
     ),
     "sewing_set": (
         ("common.items.crafting_tools.sewing_set", 1),
         [
-            ("common.items.crafting_ing.leather_scraps", 2),
-            ("common.items.crafting_ing.twigs", 4),
-            ("common.items.crafting_ing.stones", 2),
+            (Item("common.items.crafting_ing.leather_scraps"), 2),
+            (Item("common.items.crafting_ing.twigs"), 4),
+            (Item("common.items.crafting_ing.stones"), 2),
         ],
     ),
     "velorite_frag": (
         ("common.items.ore.veloritefrag", 2),
         [
-            ("common.items.ore.velorite", 1),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
+            (Item("common.items.ore.velorite"), 1),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
         ],
     ),
     "potion_s": (
         ("common.items.consumable.potion_minor", 1),
         [
-            ("common.items.crafting_ing.empty_vial", 1),
-            ("common.items.food.apple", 4),
-            ("common.items.crafting_ing.honey", 1),
+            (Item("common.items.crafting_ing.empty_vial"), 1),
+            (Item("common.items.food.apple"), 4),
+            (Item("common.items.crafting_ing.honey"), 1),
         ],
     ),
     "potion_m": (
         ("common.items.consumable.potion_med", 1),
         [
-            ("common.items.consumable.potion_minor", 2),
-            ("common.items.ore.veloritefrag", 4),
+            (Item("common.items.consumable.potion_minor"), 2),
+            (Item("common.items.ore.veloritefrag"), 4),
         ],
     ),
     "collar_basic": (
         ("common.items.utility.collar", 1),
         [
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_ing.ruby", 1),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_ing.ruby"), 1),
         ],
     ),
     "bomb_coconut": (
         ("common.items.utility.bomb", 1),
         [
-            ("common.items.crafting_ing.stones", 10),
-            ("common.items.food.coconut", 2),
-            ("common.items.ore.veloritefrag", 2),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.stones"), 10),
+            (Item("common.items.food.coconut"), 2),
+            (Item("common.items.ore.veloritefrag"), 2),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "firework_blue": (
         ("common.items.utility.firework_blue", 1),
         [
-            ("common.items.crafting_ing.twigs", 1),
-            ("common.items.crafting_ing.stones", 1),
-            ("common.items.food.coconut", 1),
-            ("common.items.ore.veloritefrag", 1),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.twigs"), 1),
+            (Item("common.items.crafting_ing.stones"), 1),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.ore.veloritefrag"), 1),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "firework_green": (
         ("common.items.utility.firework_green", 1),
         [
-            ("common.items.crafting_ing.twigs", 1),
-            ("common.items.crafting_ing.stones", 1),
-            ("common.items.food.coconut", 1),
-            ("common.items.ore.veloritefrag", 1),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.twigs"), 1),
+            (Item("common.items.crafting_ing.stones"), 1),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.ore.veloritefrag"), 1),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "firework_purple": (
         ("common.items.utility.firework_purple", 1),
         [
-            ("common.items.crafting_ing.twigs", 1),
-            ("common.items.crafting_ing.stones", 1),
-            ("common.items.food.coconut", 1),
-            ("common.items.ore.veloritefrag", 1),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.twigs"), 1),
+            (Item("common.items.crafting_ing.stones"), 1),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.ore.veloritefrag"), 1),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "firework_red": (
         ("common.items.utility.firework_red", 1),
         [
-            ("common.items.crafting_ing.twigs", 1),
-            ("common.items.crafting_ing.stones", 1),
-            ("common.items.food.coconut", 1),
-            ("common.items.ore.veloritefrag", 1),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.twigs"), 1),
+            (Item("common.items.crafting_ing.stones"), 1),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.ore.veloritefrag"), 1),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "firework_yellow": (
         ("common.items.utility.firework_yellow", 1),
         [
-            ("common.items.crafting_ing.twigs", 1),
-            ("common.items.crafting_ing.stones", 1),
-            ("common.items.food.coconut", 1),
-            ("common.items.ore.veloritefrag", 1),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.twigs"), 1),
+            (Item("common.items.crafting_ing.stones"), 1),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.ore.veloritefrag"), 1),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "apple_shroom_curry": (
         ("common.items.food.apple_mushroom_curry", 1),
         [
-            ("common.items.food.mushroom", 8),
-            ("common.items.food.coconut", 1),
-            ("common.items.food.apple", 4),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.food.mushroom"), 8),
+            (Item("common.items.food.coconut"), 1),
+            (Item("common.items.food.apple"), 4),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "salad_plain": (
         ("common.items.food.plainsalad", 1),
         [
-            ("common.items.food.lettuce", 1),
-            ("common.items.crafting_ing.bowl", 1),
+            (Item("common.items.food.lettuce"), 1),
+            (Item("common.items.crafting_ing.bowl"), 1),
         ],
     ),
     "salad_tomato": (
         ("common.items.food.tomatosalad", 1),
         [
-            ("common.items.food.lettuce", 1),
-            ("common.items.food.tomato", 2),
-            ("common.items.crafting_ing.bowl", 1),
+            (Item("common.items.food.lettuce"), 1),
+            (Item("common.items.food.tomato"), 2),
+            (Item("common.items.crafting_ing.bowl"), 1),
         ],
     ),
     "apples_stick": (
         ("common.items.food.apple_stick", 1),
-        [("common.items.crafting_ing.twigs", 2), ("common.items.food.apple", 2)],
+        [
+            (Item("common.items.crafting_ing.twigs"), 2),
+            (Item("common.items.food.apple"), 2)
+        ],
     ),
     "mushroom_stick": (
         ("common.items.food.mushroom_stick", 1),
         [
-            ("common.items.crafting_ing.twigs", 2),
-            ("common.items.food.mushroom", 3),
+            (Item("common.items.crafting_ing.twigs"), 2),
+            (Item("common.items.food.mushroom"), 3),
         ],
     ),
     "sunflower_icetea": (
         ("common.items.food.sunflower_icetea", 4),
         [
-            ("common.items.crafting_ing.empty_vial", 1),
-            ("common.items.crafting_ing.icy_fang", 1),
-            ("common.items.flowers.sunflower", 4),
-            ("common.items.crafting_ing.honey", 1),
+            (Item("common.items.crafting_ing.empty_vial"), 1),
+            (Item("common.items.crafting_ing.icy_fang"), 1),
+            (Item("common.items.flowers.sunflower"), 4),
+            (Item("common.items.crafting_ing.honey"), 1),
         ],
     ),
     "Plain Cloth Glider": (
         ("common.items.glider.glider_basic_white", 1),
         [
-            ("common.items.crafting_ing.twigs", 5),
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_ing.cloth_scraps", 10),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.twigs"), 5),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_ing.cloth_scraps"), 10),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Red Cloth Glider": (
         ("common.items.glider.glider_basic_red", 1),
         [
-            ("common.items.crafting_ing.twigs", 5),
-            ("common.items.crafting_ing.cloth_scraps_red", 10),
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.twigs"), 5),
+            (Item("common.items.crafting_ing.cloth_scraps_red"), 10),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Leaves Glider": (
         ("common.items.glider.glider_leaves", 1),
         [
-            ("common.items.crafting_ing.twigs", 5),
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_ing.cloth_scraps", 5),
-            ("common.items.crafting_ing.emerald", 1),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.twigs"), 5),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_ing.cloth_scraps"), 5),
+            (Item("common.items.crafting_ing.emerald"), 1),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Sand Raptor Wings": (
         ("common.items.glider.glider_sandraptor", 1),
         [
-            ("common.items.crafting_ing.raptor_feather", 6),
-            ("common.items.crafting_ing.twigs", 5),
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_ing.cloth_scraps", 5),
-            ("common.items.crafting_ing.ruby", 1),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.raptor_feather"), 6),
+            (Item("common.items.crafting_ing.twigs"), 5),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_ing.cloth_scraps"), 5),
+            (Item("common.items.crafting_ing.ruby"), 1),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Snow Raptor Wings": (
         ("common.items.glider.glider_snowraptor", 1),
         [
-            ("common.items.crafting_ing.raptor_feather", 6),
-            ("common.items.crafting_ing.twigs", 5),
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_ing.cloth_scraps", 5),
-            ("common.items.crafting_ing.icy_fang", 1),
-            ("common.items.crafting_ing.ruby", 1),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.raptor_feather"), 6),
+            (Item("common.items.crafting_ing.twigs"), 5),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_ing.cloth_scraps"), 5),
+            (Item("common.items.crafting_ing.icy_fang"), 1),
+            (Item("common.items.crafting_ing.ruby"), 1),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Wood Raptor Wings": (
         ("common.items.glider.glider_woodraptor", 1),
         [
-            ("common.items.crafting_ing.raptor_feather", 6),
-            ("common.items.crafting_ing.twigs", 15),
-            ("common.items.crafting_ing.leather_scraps", 5),
-            ("common.items.crafting_ing.cloth_scraps", 5),
-            ("common.items.crafting_ing.ruby", 1),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.raptor_feather"), 6),
+            (Item("common.items.crafting_ing.twigs"), 15),
+            (Item("common.items.crafting_ing.leather_scraps"), 5),
+            (Item("common.items.crafting_ing.cloth_scraps"), 5),
+            (Item("common.items.crafting_ing.ruby"), 1),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Soothing Loop": (
         ("common.items.weapons.sceptre.loops0", 1),
         [
-            ("common.items.crafting_ing.twigs", 20),
-            ("common.items.ore.veloritefrag", 8),
-            ("common.items.crafting_ing.ruby", 4),
-            ("common.items.crafting_tools.craftsman_hammer", 0),
+            (Item("common.items.crafting_ing.twigs"), 20),
+            (Item("common.items.ore.veloritefrag"), 8),
+            (Item("common.items.crafting_ing.ruby"), 4),
+            (Item("common.items.crafting_tools.craftsman_hammer"), 0),
         ],
     ),
     "Hunting Bow": (
         ("common.items.weapons.bow.wood_shortbow-0", 1),
         [
-            ("common.items.crafting_ing.leather_scraps", 8),
-            ("common.items.crafting_ing.twigs", 6),
-            ("common.items.crafting_ing.stones", 0),
+            (Item("common.items.crafting_ing.leather_scraps"), 8),
+            (Item("common.items.crafting_ing.twigs"), 6),
+            (Item("common.items.crafting_ing.stones"), 0),
         ],
     ),
     "Forest Spirit": (
         ("common.items.weapons.sword.wood_sword", 1),
         [
-            ("common.items.crafting_ing.leather_scraps", 4),
-            ("common.items.crafting_ing.twigs", 10),
-            ("common.items.ore.veloritefrag", 1),
-            ("common.items.crafting_ing.stones", 0),
+            (Item("common.items.crafting_ing.leather_scraps"), 4),
+            (Item("common.items.crafting_ing.twigs"), 10),
+            (Item("common.items.ore.veloritefrag"), 1),
+            (Item("common.items.crafting_ing.stones"), 0),
         ],
     ),
     "adventure back": (
         ("common.items.armor.back.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 4)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 4)],
     ),
     "adventure belt": (
         ("common.items.armor.belt.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 2)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 2)],
     ),
     "adventure chest": (
         ("common.items.armor.chest.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 12)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 12)],
     ),
     "adventure feet": (
         ("common.items.armor.foot.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 3)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 3)],
     ),
     "adventure hands": (
         ("common.items.armor.hand.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 4)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 4)],
     ),
     "adventure pants": (
         ("common.items.armor.pants.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 8)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 8)],
     ),
     "adventure shoulder": (
         ("common.items.armor.shoulder.leather_adventurer", 1),
-        [("common.items.crafting_ing.leather_scraps", 12)],
+        [(Item("common.items.crafting_ing.leather_scraps"), 12)],
     ),
     "red cloth": (
         ("common.items.crafting_ing.cloth_scraps_red", 1),
         [
-            ("common.items.crafting_ing.cloth_scraps", 1),
-            ("common.items.flowers.red", 1),
-            ("common.items.crafting_tools.mortar_pestle", 0),
+            (Item("common.items.crafting_ing.cloth_scraps"), 1),
+            (Item("common.items.flowers.red"), 1),
+            (Item("common.items.crafting_tools.mortar_pestle"), 0),
         ],
     ),
     "tiny red pouch": (
         ("common.items.armor.bag.tiny_red_pouch", 1),
         [
-            ("common.items.crafting_ing.cloth_scraps_red", 3),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.cloth_scraps_red"), 3),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "tiny leather pouch": (
         ("common.items.armor.bag.tiny_leather_pouch", 1),
         [
-            ("common.items.crafting_ing.leather_scraps", 6),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.leather_scraps"), 6),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "knitted red pouch": (
         ("common.items.armor.bag.knitted_red_pouch", 1),
         [
-            ("common.items.crafting_ing.cloth_scraps_red", 3),
-            ("common.items.armor.bag.tiny_red_pouch", 2),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.cloth_scraps_red"), 3),
+            (Item("common.items.armor.bag.tiny_red_pouch"), 2),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "woven red bag": (
         ("common.items.armor.bag.woven_red_bag", 1),
         [
-            ("common.items.crafting_ing.cloth_scraps_red", 6),
-            ("common.items.armor.bag.knitted_red_pouch", 1),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.cloth_scraps_red"), 6),
+            (Item("common.items.armor.bag.knitted_red_pouch"), 1),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "traveler backpack": (
         ("common.items.armor.back.backpack_0", 1),
         [
-            ("common.items.crafting_ing.diamond", 2),
-            ("common.items.crafting_ing.twigs", 2),
-            ("common.items.crafting_ing.cloth_scraps", 3),
-            ("common.items.crafting_ing.leather_scraps", 3),
-            ("common.items.armor.bag.tiny_leather_pouch", 2),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.diamond"), 2),
+            (Item("common.items.crafting_ing.twigs"), 2),
+            (Item("common.items.crafting_ing.cloth_scraps"), 3),
+            (Item("common.items.crafting_ing.leather_scraps"), 3),
+            (Item("common.items.armor.bag.tiny_leather_pouch"), 2),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "sturdy red backpack": (
         ("common.items.armor.bag.sturdy_red_backpack", 1),
         [
-            ("common.items.crafting_ing.diamond", 2),
-            ("common.items.crafting_ing.cloth_scraps_red", 3),
-            ("common.items.armor.bag.woven_red_bag", 1),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.diamond"), 2),
+            (Item("common.items.crafting_ing.cloth_scraps_red"), 3),
+            (Item("common.items.armor.bag.woven_red_bag"), 1),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "troll hide pack": (
         ("common.items.armor.bag.troll_hide_pack", 1),
         [
-            ("common.items.crafting_ing.leather_troll", 10),
-            ("common.items.crafting_ing.leather_scraps", 10),
-            ("common.items.crafting_ing.diamond", 1),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.leather_troll"), 10),
+            (Item("common.items.crafting_ing.leather_scraps"), 10),
+            (Item("common.items.crafting_ing.diamond"), 1),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
     "Mindflayer Spellbag": (
         ("common.items.armor.bag.mindflayer_spellbag", 1),
         [
-            ("common.items.crafting_ing.mindflayer_bag_damaged", 1),
-            ("common.items.crafting_ing.leather_scraps", 10),
-            ("common.items.crafting_ing.diamond", 4),
-            ("common.items.ore.veloritefrag", 10),
-            ("common.items.crafting_tools.sewing_set", 0),
+            (Item("common.items.crafting_ing.mindflayer_bag_damaged"), 1),
+            (Item("common.items.crafting_ing.leather_scraps"), 10),
+            (Item("common.items.crafting_ing.diamond"), 4),
+            (Item("common.items.ore.veloritefrag"), 10),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
         ],
     ),
+    "cloth_scraps": (
+        ("common.items.crafting_ing.cloth_scraps", 1),
+        [
+            (Tag(ClothItem), 1),
+            (Item("common.items.crafting_tools.sewing_set"), 0),
+        ]
+    ),
 }
diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs
index e294f944e4..f0588cf938 100644
--- a/common/src/comp/inventory/item/mod.rs
+++ b/common/src/comp/inventory/item/mod.rs
@@ -12,6 +12,7 @@ use crate::{
     },
     effect::Effect,
     lottery::Lottery,
+    recipe::RecipeInput,
     terrain::{Block, SpriteKind},
 };
 use core::mem;
@@ -77,6 +78,27 @@ pub enum Quality {
     Debug,     // Red
 }
 
+#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
+pub enum ItemTag {
+    ClothItem,
+}
+
+impl ItemTag {
+    pub fn name(&self) -> &'static str {
+        match self {
+            ItemTag::ClothItem => "cloth item",
+        }
+    }
+
+    /// What item to show in the crafting hud if the player has nothing with the
+    /// tag
+    pub fn exemplar_identifier(&self) -> &'static str {
+        match self {
+            ItemTag::ClothItem => "common.items.tag_examples.cloth_item",
+        }
+    }
+}
+
 #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
 pub enum ItemKind {
     /// Something wieldable
@@ -97,6 +119,11 @@ pub enum ItemKind {
     Ingredient {
         kind: String,
     },
+    TagExamples {
+        /// A list of item names to lookup the appearences of and animate
+        /// through
+        item_ids: Vec<String>,
+    },
 }
 
 impl ItemKind {
@@ -147,6 +174,7 @@ pub struct ItemDef {
     pub description: String,
     pub kind: ItemKind,
     pub quality: Quality,
+    pub tags: Vec<ItemTag>,
     #[serde(default)]
     pub slots: u16,
 }
@@ -199,6 +227,7 @@ impl ItemDef {
         item_config: Option<ItemConfig>,
         kind: ItemKind,
         quality: Quality,
+        tags: Vec<ItemTag>,
         slots: u16,
     ) -> Self {
         Self {
@@ -208,6 +237,7 @@ impl ItemDef {
             description: "test item description".to_owned(),
             kind,
             quality,
+            tags,
             slots,
         }
     }
@@ -231,6 +261,7 @@ impl assets::Compound for ItemDef {
             description,
             kind,
             quality,
+            tags,
             slots,
         } = raw;
 
@@ -257,6 +288,7 @@ impl assets::Compound for ItemDef {
             description,
             kind,
             quality,
+            tags,
             slots,
         })
     }
@@ -269,6 +301,7 @@ struct RawItemDef {
     description: String,
     kind: ItemKind,
     quality: Quality,
+    tags: Vec<ItemTag>,
     #[serde(default)]
     slots: u16,
 }
@@ -345,6 +378,7 @@ impl Item {
             description: empty_def.description.clone(),
             item_definition_id: empty_def.item_definition_id.clone(),
             quality: empty_def.quality,
+            tags: Vec::new(),
             item_config: Some(ItemConfig {
                 ability1: Some(CharacterAbility::BasicMelee {
                     energy_cost: 0.010,
@@ -441,6 +475,13 @@ impl Item {
         self.item_def.item_definition_id == item_def.item_definition_id
     }
 
+    pub fn matches_recipe_input(&self, recipe_input: &RecipeInput) -> bool {
+        match recipe_input {
+            RecipeInput::Item(item_def) => self.is_same_item_def(item_def),
+            RecipeInput::Tag(tag) => self.item_def.tags.contains(tag),
+        }
+    }
+
     pub fn is_stackable(&self) -> bool { self.item_def.is_stackable() }
 
     pub fn name(&self) -> &str { &self.item_def.name }
diff --git a/common/src/comp/inventory/mod.rs b/common/src/comp/inventory/mod.rs
index ad1d7ab78b..c736ab9782 100644
--- a/common/src/comp/inventory/mod.rs
+++ b/common/src/comp/inventory/mod.rs
@@ -16,7 +16,7 @@ use crate::{
         slot::{InvSlotId, SlotId},
         Item,
     },
-    recipe::Recipe,
+    recipe::{Recipe, RecipeInput},
     LoadoutBuilder,
 };
 
@@ -299,15 +299,18 @@ impl Inventory {
     pub fn contains_ingredients<'a>(
         &self,
         recipe: &'a Recipe,
-    ) -> Result<HashMap<InvSlotId, u32>, Vec<(&'a ItemDef, u32)>> {
+    ) -> Result<HashMap<InvSlotId, u32>, Vec<(&'a RecipeInput, u32)>> {
         let mut slot_claims = HashMap::<InvSlotId, u32>::new();
-        let mut missing = Vec::<(&ItemDef, u32)>::new();
+        let mut missing = Vec::<(&RecipeInput, u32)>::new();
 
         for (input, mut needed) in recipe.inputs() {
             let mut contains_any = false;
 
             for (inv_slot_id, slot) in self.slots_with_id() {
-                if let Some(item) = slot.as_ref().filter(|item| item.is_same_item_def(&*input)) {
+                if let Some(item) = slot
+                    .as_ref()
+                    .filter(|item| item.matches_recipe_input(&*input))
+                {
                     let claim = slot_claims.entry(inv_slot_id).or_insert(0);
                     let can_claim = (item.amount() - *claim).min(needed);
                     *claim += can_claim;
diff --git a/common/src/comp/inventory/test_helpers.rs b/common/src/comp/inventory/test_helpers.rs
index 8c2be8b586..ac050ffecd 100644
--- a/common/src/comp/inventory/test_helpers.rs
+++ b/common/src/comp/inventory/test_helpers.rs
@@ -18,6 +18,7 @@ pub(super) fn get_test_bag(slots: u16) -> Item {
             Protection::Normal(0.0),
         )),
         Quality::Common,
+        Vec::new(),
         slots,
     );
 
diff --git a/common/src/recipe.rs b/common/src/recipe.rs
index de712ab227..1cbd7b6745 100644
--- a/common/src/recipe.rs
+++ b/common/src/recipe.rs
@@ -1,15 +1,24 @@
 use crate::{
     assets::{self, AssetExt, AssetHandle},
-    comp::{item::ItemDef, Inventory, Item},
+    comp::{
+        item::{ItemDef, ItemTag},
+        Inventory, Item,
+    },
 };
 use hashbrown::HashMap;
 use serde::{Deserialize, Serialize};
 use std::sync::Arc;
 
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub enum RecipeInput {
+    Item(Arc<ItemDef>),
+    Tag(ItemTag),
+}
+
 #[derive(Clone, Debug, Serialize, Deserialize)]
 pub struct Recipe {
     pub output: (Arc<ItemDef>, u32),
-    pub inputs: Vec<(Arc<ItemDef>, u32)>,
+    pub inputs: Vec<(RecipeInput, u32)>,
 }
 
 #[allow(clippy::type_complexity)]
@@ -18,7 +27,7 @@ impl Recipe {
     pub fn perform(
         &self,
         inv: &mut Inventory,
-    ) -> Result<Option<(Item, u32)>, Vec<(&ItemDef, u32)>> {
+    ) -> Result<Option<(Item, u32)>, Vec<(&RecipeInput, u32)>> {
         // Get ingredient cells from inventory,
         inv.contains_ingredients(self)?
             .into_iter()
@@ -38,7 +47,7 @@ impl Recipe {
         Ok(None)
     }
 
-    pub fn inputs(&self) -> impl ExactSizeIterator<Item = (&Arc<ItemDef>, u32)> {
+    pub fn inputs(&self) -> impl ExactSizeIterator<Item = (&RecipeInput, u32)> {
         self.inputs
             .iter()
             .map(|(item_def, amount)| (item_def, *amount))
@@ -64,10 +73,16 @@ impl RecipeBook {
     }
 }
 
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub enum RawRecipeInput {
+    Item(String),
+    Tag(ItemTag),
+}
+
 #[derive(Deserialize)]
 #[serde(transparent)]
 #[allow(clippy::type_complexity)]
-struct RawRecipeBook(HashMap<String, ((String, u32), Vec<(String, u32)>)>);
+struct RawRecipeBook(HashMap<String, ((String, u32), Vec<(RawRecipeInput, u32)>)>);
 
 impl assets::Asset for RawRecipeBook {
     type Loader = assets::RonLoader;
@@ -85,6 +100,18 @@ impl assets::Compound for RecipeBook {
             let def = Arc::<ItemDef>::load_cloned(&spec.0)?;
             Ok((def, spec.1))
         }
+        #[inline]
+        fn load_recipe_input(
+            spec: &(RawRecipeInput, u32),
+        ) -> Result<(RecipeInput, u32), assets::Error> {
+            let def = match &spec.0 {
+                RawRecipeInput::Item(name) => {
+                    RecipeInput::Item(Arc::<ItemDef>::load_cloned(&name)?)
+                },
+                RawRecipeInput::Tag(tag) => RecipeInput::Tag(*tag),
+            };
+            Ok((def, spec.1))
+        }
 
         let raw = cache.load::<RawRecipeBook>(specifier)?.read();
 
@@ -92,7 +119,10 @@ impl assets::Compound for RecipeBook {
             .0
             .iter()
             .map(|(name, (output, inputs))| {
-                let inputs = inputs.iter().map(load_item_def).collect::<Result<_, _>>()?;
+                let inputs = inputs
+                    .iter()
+                    .map(load_recipe_input)
+                    .collect::<Result<_, _>>()?;
                 let output = load_item_def(output)?;
                 Ok((name.clone(), Recipe { inputs, output }))
             })
diff --git a/voxygen/src/hud/bag.rs b/voxygen/src/hud/bag.rs
index 8194443e8f..676f4d0ff7 100644
--- a/voxygen/src/hud/bag.rs
+++ b/voxygen/src/hud/bag.rs
@@ -94,7 +94,7 @@ pub struct Bag<'a> {
     rot_imgs: &'a ImgsRot,
     tooltip_manager: &'a mut TooltipManager,
     slot_manager: &'a mut SlotManager,
-    _pulse: f32,
+    pulse: f32,
     localized_strings: &'a Localization,
     stats: &'a Stats,
     health: &'a Health,
@@ -130,7 +130,7 @@ impl<'a> Bag<'a> {
             rot_imgs,
             tooltip_manager,
             slot_manager,
-            _pulse: pulse,
+            pulse,
             localized_strings,
             stats,
             energy,
@@ -415,6 +415,7 @@ impl<'a> Widget for Bag<'a> {
             content_source: inventory,
             image_source: self.item_imgs,
             slot_manager: Some(self.slot_manager),
+            pulse: self.pulse,
         };
         let i18n = &self.localized_strings;
         let filled_slot = self.imgs.armor_slot;
@@ -982,6 +983,7 @@ impl<'a> Widget for Bag<'a> {
             content_source: inventory,
             image_source: self.item_imgs,
             slot_manager: Some(self.slot_manager),
+            pulse: self.pulse,
         };
 
         for (i, (pos, item)) in inventory.slots_with_id().enumerate() {
diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs
index db9d1127a0..c47b64fa02 100644
--- a/voxygen/src/hud/crafting.rs
+++ b/voxygen/src/hud/crafting.rs
@@ -1,6 +1,6 @@
 use super::{
     img_ids::{Imgs, ImgsRot},
-    item_imgs::ItemImgs,
+    item_imgs::{animate_by_pulse, ItemImgs},
     TEXT_COLOR, TEXT_DULL_RED_COLOR, TEXT_GRAY_COLOR, UI_HIGHLIGHT_0, UI_MAIN,
 };
 use crate::{
@@ -9,15 +9,21 @@ use crate::{
     ui::{fonts::Fonts, ImageFrame, Tooltip, TooltipManager, Tooltipable},
 };
 use client::{self, Client};
-use common::comp::{
-    item::{ItemDesc, Quality},
-    Inventory,
+use common::{
+    assets::AssetExt,
+    comp::{
+        item::{ItemDef, ItemDesc, Quality},
+        Inventory,
+    },
+    recipe::RecipeInput,
 };
 use conrod_core::{
     color,
     widget::{self, Button, Image, Rectangle, Scrollbar, Text},
     widget_ids, Color, Colorable, Labelable, Positionable, Sizeable, Widget, WidgetCommon,
 };
+use std::sync::Arc;
+
 widget_ids! {
     pub struct Ids {
         window,
@@ -57,6 +63,7 @@ pub struct Crafting<'a> {
     imgs: &'a Imgs,
     fonts: &'a Fonts,
     localized_strings: &'a Localization,
+    pulse: f32,
     rot_imgs: &'a ImgsRot,
     tooltip_manager: &'a mut TooltipManager,
     item_imgs: &'a ItemImgs,
@@ -71,6 +78,7 @@ impl<'a> Crafting<'a> {
         imgs: &'a Imgs,
         fonts: &'a Fonts,
         localized_strings: &'a Localization,
+        pulse: f32,
         rot_imgs: &'a ImgsRot,
         tooltip_manager: &'a mut TooltipManager,
         item_imgs: &'a ItemImgs,
@@ -81,6 +89,7 @@ impl<'a> Crafting<'a> {
             imgs,
             fonts,
             localized_strings,
+            pulse,
             rot_imgs,
             tooltip_manager,
             item_imgs,
@@ -200,10 +209,14 @@ impl<'a> Widget for Crafting<'a> {
             .recipe_book()
             .iter()
             .map(|(name, recipe)| {
-                let at_least_some_ingredients = recipe
-                    .inputs
-                    .iter()
-                    .any(|(input, amount)| *amount > 0 && self.inventory.item_count(input) > 0);
+                let at_least_some_ingredients = recipe.inputs.iter().any(|(input, amount)| {
+                    *amount > 0
+                        && self.inventory.slots().any(|slot| {
+                            slot.as_ref()
+                                .map(|item| item.matches_recipe_input(input))
+                                .unwrap_or(false)
+                        })
+                });
                 let state = if client.available_recipes().contains(name.as_str()) {
                     RecipeIngredientQuantity::All
                 } else if at_least_some_ingredients {
@@ -286,10 +299,12 @@ impl<'a> Widget for Crafting<'a> {
                     // Output Image
                     let (title, desc) = super::util::item_text(&*recipe.output.0);
                     let quality_col = get_quality_col(&*recipe.output.0);
-                    Button::image(
-                        self.item_imgs
-                            .img_id_or_not_found_img((&*recipe.output.0).into()),
-                    )
+                    Button::image(animate_by_pulse(
+                        &self
+                            .item_imgs
+                            .img_ids_or_not_found_img((&*recipe.output.0).into()),
+                        self.pulse,
+                    ))
                     .w_h(55.0, 55.0)
                     .label(&output_text)
                     .label_color(TEXT_COLOR)
@@ -411,9 +426,29 @@ impl<'a> Widget for Crafting<'a> {
                 });
             };
             // Widget generation for every ingredient
-            for (i, (item_def, amount)) in recipe.inputs.iter().enumerate() {
+            for (i, (recipe_input, amount)) in recipe.inputs.iter().enumerate() {
+                let item_def = match recipe_input {
+                    RecipeInput::Item(item_def) => Arc::clone(item_def),
+                    RecipeInput::Tag(tag) => Arc::<ItemDef>::load_expect_cloned(
+                        &self
+                            .inventory
+                            .slots()
+                            .filter_map(|slot| {
+                                slot.as_ref().and_then(|item| {
+                                    if item.matches_recipe_input(recipe_input) {
+                                        Some(item.item_definition_id().to_string())
+                                    } else {
+                                        None
+                                    }
+                                })
+                            })
+                            .next()
+                            .unwrap_or_else(|| tag.exemplar_identifier().to_string()),
+                    ),
+                };
+
                 // Grey color for images and text if their amount is too low to craft the item
-                let item_count_in_inventory = self.inventory.item_count(item_def);
+                let item_count_in_inventory = self.inventory.item_count(&*item_def);
                 let col = if item_count_in_inventory >= u64::from(*amount.max(&1)) {
                     TEXT_COLOR
                 } else {
@@ -434,7 +469,7 @@ impl<'a> Widget for Crafting<'a> {
                 } else {
                     0.0
                 };
-                let quality_col = get_quality_col(&**item_def);
+                let quality_col = get_quality_col(&*item_def);
                 let quality_col_img = match &item_def.quality {
                     Quality::Low => self.imgs.inv_slot_grey,
                     Quality::Common => self.imgs.inv_slot,
@@ -453,18 +488,21 @@ impl<'a> Widget for Crafting<'a> {
                 };
                 frame.set(state.ids.ingredient_frame[i], ui);
                 //Item Image
-                let (title, desc) = super::util::item_text(&**item_def);
-                Button::image(self.item_imgs.img_id_or_not_found_img((&**item_def).into()))
-                    .w_h(22.0, 22.0)
-                    .middle_of(state.ids.ingredient_frame[i])
-                    .with_tooltip(
-                        self.tooltip_manager,
-                        title,
-                        &*desc,
-                        &item_tooltip,
-                        quality_col,
-                    )
-                    .set(state.ids.ingredient_img[i], ui);
+                let (title, desc) = super::util::item_text(&*item_def);
+                Button::image(animate_by_pulse(
+                    &self.item_imgs.img_ids_or_not_found_img((&*item_def).into()),
+                    self.pulse,
+                ))
+                .w_h(22.0, 22.0)
+                .middle_of(state.ids.ingredient_frame[i])
+                .with_tooltip(
+                    self.tooltip_manager,
+                    title,
+                    &*desc,
+                    &item_tooltip,
+                    quality_col,
+                )
+                .set(state.ids.ingredient_img[i], ui);
                 // Ingredients text and amount
                 // Don't show inventory amounts above 999 to avoid the widget clipping
                 let over9k = "99+";
@@ -487,10 +525,14 @@ impl<'a> Widget for Crafting<'a> {
                         .set(state.ids.ingredients[i], ui);
                 } else {
                     // Ingredients
+                    let name = match recipe_input {
+                        RecipeInput::Item(_) => item_def.name().to_string(),
+                        RecipeInput::Tag(tag) => format!("Any {}", tag.name()),
+                    };
                     let input = format!(
                         "{}x {} ({})",
                         amount,
-                        &item_def.name(),
+                        name,
                         if item_count_in_inventory > 99 {
                             over9k
                         } else {
diff --git a/voxygen/src/hud/diary.rs b/voxygen/src/hud/diary.rs
index 78c5753c9b..2e43ce9759 100644
--- a/voxygen/src/hud/diary.rs
+++ b/voxygen/src/hud/diary.rs
@@ -1,6 +1,6 @@
 use super::{
     img_ids::{Imgs, ImgsRot},
-    item_imgs::{ItemImgs, ItemKey::Tool},
+    item_imgs::{animate_by_pulse, ItemImgs, ItemKey::Tool},
     Show, CRITICAL_HP_COLOR, HP_COLOR, TEXT_COLOR, UI_HIGHLIGHT_0, UI_MAIN, XP_COLOR,
 };
 use crate::{
@@ -678,18 +678,22 @@ impl<'a> Widget for Diary<'a> {
                 use skills::{GeneralSkill::*, RollSkill::*, SkillGroupKind::*};
                 use ToolKind::*;
                 // General Combat
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_general_combat_left".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_general_combat_left".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
                 .set(state.general_combat_render_0, ui);
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_general_combat_right".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_general_combat_right".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.general_combat_render_0)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
@@ -1016,10 +1020,12 @@ impl<'a> Widget for Diary<'a> {
             SelectedSkillTree::Weapon(ToolKind::Sword) => {
                 use skills::SwordSkill::*;
                 // Sword
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_sword".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_sword".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
@@ -1459,10 +1465,12 @@ impl<'a> Widget for Diary<'a> {
             SelectedSkillTree::Weapon(ToolKind::Axe) => {
                 use skills::AxeSkill::*;
                 // Axe
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_axe".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_axe".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
@@ -1873,10 +1881,12 @@ impl<'a> Widget for Diary<'a> {
             SelectedSkillTree::Weapon(ToolKind::Hammer) => {
                 use skills::HammerSkill::*;
                 // Hammer
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_hammer".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_hammer".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
@@ -2295,10 +2305,12 @@ impl<'a> Widget for Diary<'a> {
             SelectedSkillTree::Weapon(ToolKind::Bow) => {
                 use skills::BowSkill::*;
                 // Bow
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_bow".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_bow".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .set(state.bow_render, ui);
@@ -2709,10 +2721,12 @@ impl<'a> Widget for Diary<'a> {
             SelectedSkillTree::Weapon(ToolKind::Staff) => {
                 use skills::StaffSkill::*;
                 // Staff
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_staff_fire".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_staff_fire".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
@@ -3093,10 +3107,12 @@ impl<'a> Widget for Diary<'a> {
             SelectedSkillTree::Weapon(ToolKind::Sceptre) => {
                 use skills::SceptreSkill::*;
                 // Sceptre
-                Image::new(
-                    self.item_imgs
-                        .img_id_or_not_found_img(Tool("example_sceptre".to_string())),
-                )
+                Image::new(animate_by_pulse(
+                    &self
+                        .item_imgs
+                        .img_ids_or_not_found_img(Tool("example_sceptre".to_string())),
+                    self.pulse,
+                ))
                 .wh(art_size)
                 .middle_of(state.content_align)
                 .color(Some(Color::Rgba(1.0, 1.0, 1.0, 1.0)))
diff --git a/voxygen/src/hud/item_imgs.rs b/voxygen/src/hud/item_imgs.rs
index dadfc98965..73648e4604 100644
--- a/voxygen/src/hud/item_imgs.rs
+++ b/voxygen/src/hud/item_imgs.rs
@@ -3,7 +3,7 @@ use common::{
     assets::{self, AssetExt, AssetHandle, DotVoxAsset},
     comp::item::{
         armor::{Armor, ArmorKind},
-        Glider, ItemDesc, ItemKind, Lantern, Throwable, Utility,
+        Glider, ItemDef, ItemDesc, ItemKind, Lantern, Throwable, Utility,
     },
     figure::Segment,
 };
@@ -15,6 +15,11 @@ use std::sync::Arc;
 use tracing::{error, warn};
 use vek::*;
 
+pub fn animate_by_pulse(ids: &[Id], pulse: f32) -> Id {
+    let animation_frame = (pulse * 3.0) as usize;
+    ids[animation_frame % ids.len()]
+}
+
 #[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
 pub enum ItemKey {
     Tool(String),
@@ -25,6 +30,7 @@ pub enum ItemKey {
     Consumable(String),
     Throwable(Throwable),
     Ingredient(String),
+    TagExamples(Vec<ItemKey>),
     Empty,
 }
 
@@ -42,6 +48,12 @@ impl<T: ItemDesc> From<&T> for ItemKey {
             ItemKind::Consumable { kind, .. } => ItemKey::Consumable(kind.clone()),
             ItemKind::Throwable { kind, .. } => ItemKey::Throwable(*kind),
             ItemKind::Ingredient { kind, .. } => ItemKey::Ingredient(kind.clone()),
+            ItemKind::TagExamples { item_ids } => ItemKey::TagExamples(
+                item_ids
+                    .iter()
+                    .map(|id| ItemKey::from(&*Arc::<ItemDef>::load_expect_cloned(id)))
+                    .collect(),
+            ),
         }
     }
 }
@@ -135,22 +147,33 @@ impl ItemImgs {
         }
     }
 
-    pub fn img_id(&self, item_key: ItemKey) -> Option<Id> {
+    pub fn img_ids(&self, item_key: ItemKey) -> Vec<Id> {
+        if let ItemKey::TagExamples(keys) = item_key {
+            return keys
+                .iter()
+                .filter_map(|k| self.map.get(k))
+                .cloned()
+                .collect();
+        };
         match self.map.get(&item_key) {
-            Some(id) => Some(*id),
+            Some(id) => vec![*id],
             // There was no specification in the ron
             None => {
                 warn!(
                     ?item_key,
                     "missing specified image file (note: hot-reloading won't work here)",
                 );
-                None
+                Vec::new()
             },
         }
     }
 
-    pub fn img_id_or_not_found_img(&self, item_key: ItemKey) -> Id {
-        self.img_id(item_key).unwrap_or(self.not_found)
+    pub fn img_ids_or_not_found_img(&self, item_key: ItemKey) -> Vec<Id> {
+        let mut ids = self.img_ids(item_key);
+        if ids.is_empty() {
+            ids.push(self.not_found)
+        }
+        ids
     }
 }
 
diff --git a/voxygen/src/hud/mod.rs b/voxygen/src/hud/mod.rs
index f20de04b6f..d0368826e3 100644
--- a/voxygen/src/hud/mod.rs
+++ b/voxygen/src/hud/mod.rs
@@ -23,7 +23,7 @@ mod trade;
 mod util;
 
 pub use hotbar::{SlotContents as HotbarSlotContents, State as HotbarState};
-
+pub use item_imgs::animate_by_pulse;
 pub use settings_window::ScaleChange;
 
 use bag::Bag;
@@ -2128,6 +2128,7 @@ impl Hud {
                 tooltip_manager,
                 &mut self.slot_manager,
                 i18n,
+                self.pulse,
             )
             .set(self.ids.trade, ui_widgets)
             {
@@ -2186,6 +2187,7 @@ impl Hud {
                     &self.imgs,
                     &self.fonts,
                     i18n,
+                    self.pulse,
                     &self.rot_imgs,
                     tooltip_manager,
                     &self.item_imgs,
diff --git a/voxygen/src/hud/skillbar.rs b/voxygen/src/hud/skillbar.rs
index bda0e44f3b..5f607689d5 100644
--- a/voxygen/src/hud/skillbar.rs
+++ b/voxygen/src/hud/skillbar.rs
@@ -418,6 +418,7 @@ impl<'a> Widget for Skillbar<'a> {
             content_source: &content_source,
             image_source: &image_source,
             slot_manager: Some(self.slot_manager),
+            pulse: self.pulse,
         };
         let item_tooltip = Tooltip::new({
             // Edge images [t, b, r, l]
diff --git a/voxygen/src/hud/slots.rs b/voxygen/src/hud/slots.rs
index 1aacf0375c..305c5def4e 100644
--- a/voxygen/src/hud/slots.rs
+++ b/voxygen/src/hud/slots.rs
@@ -44,8 +44,8 @@ impl SlotKey<Inventory, ItemImgs> for InventorySlot {
             .filter(|amount| *amount > 1)
     }
 
-    fn image_id(key: &Self::ImageKey, source: &ItemImgs) -> image::Id {
-        source.img_id_or_not_found_img(key.clone())
+    fn image_ids(key: &Self::ImageKey, source: &ItemImgs) -> Vec<image::Id> {
+        source.img_ids_or_not_found_img(key.clone())
     }
 }
 
@@ -59,8 +59,8 @@ impl SlotKey<Inventory, ItemImgs> for EquipSlot {
 
     fn amount(&self, _: &Inventory) -> Option<u32> { None }
 
-    fn image_id(key: &Self::ImageKey, source: &ItemImgs) -> image::Id {
-        source.img_id_or_not_found_img(key.clone())
+    fn image_ids(key: &Self::ImageKey, source: &ItemImgs) -> Vec<image::Id> {
+        source.img_ids_or_not_found_img(key.clone())
     }
 }
 
@@ -85,8 +85,8 @@ impl SlotKey<Inventory, ItemImgs> for TradeSlot {
             .map(|x| x.min(self.quantity))
     }
 
-    fn image_id(key: &Self::ImageKey, source: &ItemImgs) -> image::Id {
-        source.img_id_or_not_found_img(key.clone())
+    fn image_ids(key: &Self::ImageKey, source: &ItemImgs) -> Vec<image::Id> {
+        source.img_ids_or_not_found_img(key.clone())
     }
 }
 
@@ -162,15 +162,18 @@ impl<'a> SlotKey<HotbarSource<'a>, HotbarImageSource<'a>> for HotbarSlot {
             .filter(|amount| *amount > 1)
     }
 
-    fn image_id(key: &Self::ImageKey, (item_imgs, imgs): &HotbarImageSource<'a>) -> image::Id {
+    fn image_ids(
+        key: &Self::ImageKey,
+        (item_imgs, imgs): &HotbarImageSource<'a>,
+    ) -> Vec<image::Id> {
         match key {
-            HotbarImage::Item(key) => item_imgs.img_id_or_not_found_img(key.clone()),
-            HotbarImage::SnakeArrow => imgs.snake_arrow_0,
-            HotbarImage::FireAoe => imgs.fire_aoe,
-            HotbarImage::SwordWhirlwind => imgs.sword_whirlwind,
-            HotbarImage::HammerLeap => imgs.hammerleap,
-            HotbarImage::AxeLeapSlash => imgs.skill_axe_leap_slash,
-            HotbarImage::BowJumpBurst => imgs.skill_bow_jump_burst,
+            HotbarImage::Item(key) => item_imgs.img_ids_or_not_found_img(key.clone()),
+            HotbarImage::SnakeArrow => vec![imgs.snake_arrow_0],
+            HotbarImage::FireAoe => vec![imgs.fire_aoe],
+            HotbarImage::SwordWhirlwind => vec![imgs.sword_whirlwind],
+            HotbarImage::HammerLeap => vec![imgs.hammerleap],
+            HotbarImage::AxeLeapSlash => vec![imgs.skill_axe_leap_slash],
+            HotbarImage::BowJumpBurst => vec![imgs.skill_bow_jump_burst],
         }
     }
 }
diff --git a/voxygen/src/hud/trade.rs b/voxygen/src/hud/trade.rs
index 6f4343d651..2765061a67 100644
--- a/voxygen/src/hud/trade.rs
+++ b/voxygen/src/hud/trade.rs
@@ -59,6 +59,7 @@ pub struct Trade<'a> {
     //tooltip_manager: &'a mut TooltipManager,
     slot_manager: &'a mut SlotManager,
     localized_strings: &'a Localization,
+    pulse: f32,
 }
 
 impl<'a> Trade<'a> {
@@ -70,6 +71,7 @@ impl<'a> Trade<'a> {
         _tooltip_manager: &'a mut TooltipManager,
         slot_manager: &'a mut SlotManager,
         localized_strings: &'a Localization,
+        pulse: f32,
     ) -> Self {
         Self {
             client,
@@ -80,6 +82,7 @@ impl<'a> Trade<'a> {
             //tooltip_manager,
             slot_manager,
             localized_strings,
+            pulse,
         }
     }
 }
@@ -239,6 +242,7 @@ impl<'a> Trade<'a> {
             content_source: inventory,
             image_source: self.item_imgs,
             slot_manager: Some(self.slot_manager),
+            pulse: self.pulse,
         };
 
         if state.ids.inv_slots.len() < 2 * MAX_TRADE_SLOTS {
diff --git a/voxygen/src/hud/util.rs b/voxygen/src/hud/util.rs
index 3f9408a843..142a1f1c92 100644
--- a/voxygen/src/hud/util.rs
+++ b/voxygen/src/hud/util.rs
@@ -30,6 +30,7 @@ pub fn item_text<'a>(item: &'a impl ItemDesc) -> (&'_ str, Cow<'a, str>) {
         ItemKind::Utility { .. } => Cow::Owned(utility_desc(item.description())),
         ItemKind::Ingredient { .. } => Cow::Owned(ingredient_desc(item.description())),
         ItemKind::Lantern { .. } => Cow::Owned(lantern_desc(item.description())),
+        ItemKind::TagExamples { .. } => Cow::Borrowed(item.description()),
         //_ => Cow::Borrowed(item.description()),
     };
 
diff --git a/voxygen/src/ui/widgets/slot.rs b/voxygen/src/ui/widgets/slot.rs
index f5b99db232..b190acb5c4 100644
--- a/voxygen/src/ui/widgets/slot.rs
+++ b/voxygen/src/ui/widgets/slot.rs
@@ -1,4 +1,5 @@
 //! A widget for selecting a single value along some linear range.
+use crate::hud::animate_by_pulse;
 use conrod_core::{
     builder_methods, image,
     input::state::mouse,
@@ -15,7 +16,7 @@ pub trait SlotKey<C, I>: Copy {
     /// Returns an Option since the slot could be empty
     fn image_key(&self, source: &C) -> Option<(Self::ImageKey, Option<Color>)>;
     fn amount(&self, source: &C) -> Option<u32>;
-    fn image_id(key: &Self::ImageKey, source: &I) -> image::Id;
+    fn image_ids(key: &Self::ImageKey, source: &I) -> Vec<image::Id>;
 }
 
 pub trait SumSlot: Sized + PartialEq + Copy + Send + 'static {}
@@ -43,6 +44,7 @@ pub struct SlotMaker<'a, C, I, S: SumSlot> {
     pub content_source: &'a C,
     pub image_source: &'a I,
     pub slot_manager: Option<&'a mut SlotManager<S>>,
+    pub pulse: f32,
 }
 
 impl<'a, C, I, S> SlotMaker<'a, C, I, S>
@@ -82,6 +84,7 @@ where
             self.amount_text_color,
             self.content_source,
             self.image_source,
+            self.pulse,
         )
         .wh([wh[0] as f64, wh[1] as f64])
         .and_then(self.background_color, |s, c| s.with_background_color(c))
@@ -200,7 +203,7 @@ where
         widget: widget::Id,
         slot: S,
         ui: &conrod_core::Ui,
-        content_img: Option<image::Id>,
+        content_img: Option<Vec<image::Id>>,
     ) -> Interaction {
         // Add to list of slots
         self.slot_ids.push(widget);
@@ -285,7 +288,7 @@ where
         {
             // Start dragging if widget is filled
             if let Some(img) = content_img {
-                self.state = ManagerState::Dragging(widget, slot, img);
+                self.state = ManagerState::Dragging(widget, slot, img[0]);
             }
         }
 
@@ -337,6 +340,8 @@ pub struct Slot<'a, K: SlotKey<C, I> + Into<S>, C, I, S: SumSlot> {
     content_source: &'a C,
     image_source: &'a I,
 
+    pulse: f32,
+
     #[conrod(common_builder)]
     common: widget::CommonBuilder,
 }
@@ -355,7 +360,7 @@ widget_ids! {
 /// Represents the state of the Slot widget.
 pub struct State<K> {
     ids: Ids,
-    cached_image: Option<(K, image::Id)>,
+    cached_images: Option<(K, Vec<image::Id>)>,
 }
 
 impl<'a, K, C, I, S> Slot<'a, K, C, I, S>
@@ -396,6 +401,7 @@ where
         amount_text_color: Color,
         content_source: &'a C,
         image_source: &'a I,
+        pulse: f32,
     ) -> Self {
         Self {
             slot_key,
@@ -413,6 +419,7 @@ where
             slot_manager: None,
             content_source,
             image_source,
+            pulse,
             common: widget::CommonBuilder::default(),
         }
     }
@@ -430,7 +437,7 @@ where
     fn init_state(&self, id_gen: widget::id::Generator) -> Self::State {
         State {
             ids: Ids::new(id_gen),
-            cached_image: None,
+            cached_images: None,
         }
     }
 
@@ -468,31 +475,31 @@ where
         let (image_key, content_color) = slot_key
             .image_key(content_source)
             .map_or((None, None), |(i, c)| (Some(i), c));
-        if state.cached_image.as_ref().map(|c| &c.0) != image_key.as_ref() {
+        if state.cached_images.as_ref().map(|c| &c.0) != image_key.as_ref() {
             state.update(|state| {
-                state.cached_image = image_key.map(|key| {
-                    let image_id = K::image_id(&key, &image_source);
-                    (key, image_id)
+                state.cached_images = image_key.map(|key| {
+                    let image_ids = K::image_ids(&key, &image_source);
+                    (key, image_ids)
                 });
             });
         }
 
         // Get image ids
-        let content_image = state.cached_image.as_ref().map(|c| c.1);
+        let content_images = state.cached_images.as_ref().map(|c| c.1.clone());
         // Get whether this slot is selected
         let interaction = self.slot_manager.map_or(Interaction::None, |m| {
-            m.update(id, slot_key.into(), ui, content_image)
+            m.update(id, slot_key.into(), ui, content_images.clone())
         });
         // No content if it is being dragged
-        let content_image = if let Interaction::Dragging = interaction {
+        let content_images = if let Interaction::Dragging = interaction {
             None
         } else {
-            content_image
+            content_images
         };
         // Go back to getting image ids
         let slot_image = if let Interaction::Selected = interaction {
             selected_slot
-        } else if content_image.is_some() {
+        } else if content_images.is_some() {
             self.filled_slot
         } else {
             empty_slot
@@ -519,7 +526,7 @@ where
 
         // Draw icon (only when there is not content)
         // Note: this could potentially be done by the user instead
-        if let (Some((icon_image, size, color)), true) = (icon, content_image.is_none()) {
+        if let (Some((icon_image, size, color)), true) = (icon, content_images.is_none()) {
             let wh = size.map(|e| e as f64).into_array();
             Image::new(icon_image)
                 .x_y(x, y)
@@ -531,8 +538,8 @@ where
         }
 
         // Draw contents
-        if let Some(content_image) = content_image {
-            Image::new(content_image)
+        if let Some(content_images) = content_images {
+            Image::new(animate_by_pulse(&content_images, self.pulse))
                 .x_y(x, y)
                 .wh((content_size
                     * if let Interaction::Selected = interaction {