diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 8b0daf67bed62e64e13dce38598049bc16229159..5ce86958719948b3e9ef91c3c13af1b3041b0b02 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -3678,6 +3678,7 @@ function _M:updateModdableTile()
 	i = self:getObjectModdableTile(self.INVEN_CLOAK); if config.settings.tome.show_cloak_hoods and i and i.moddable_tile_hood then add[#add+1] = {image = base..(i.moddable_tile):format("hood")..".png", auto_tall=1} done_head = true end
 	i = self:getObjectModdableTile(self.INVEN_HEAD); if not done_head and i and i.moddable_tile then add[#add+1] = {image = base..(i.moddable_tile)..".png", auto_tall=1} done_head = true end
 	if not done_head and self:attr("moddable_tile_head_underwear") then add[#add+1] = {image = base..self:attr("moddable_tile_head_underwear"), auto_tall=1} end
+	self:triggerHook{"Actor:updateModdableTile:middle", base=base, add=add}
 	i = self:getObjectModdableTile(self.INVEN_HANDS); if i and i.moddable_tile then add[#add+1] = {image = base..(i.moddable_tile)..".png", auto_tall=1} end
 	i = self:getObjectModdableTile(self.INVEN_QUIVER); if i and i.moddable_tile then add[#add+1] = {image = base..(i.moddable_tile)..".png", auto_tall=1} end
 	if not self:attr("disarmed") then
diff --git a/game/modules/tome/data/gfx/particles/fan_of_knives.lua b/game/modules/tome/data/gfx/particles/fan_of_knives.lua
new file mode 100644
index 0000000000000000000000000000000000000000..cdc8260eb3b890fca1b833e41b3ad0dcd6f0d823
--- /dev/null
+++ b/game/modules/tome/data/gfx/particles/fan_of_knives.lua
@@ -0,0 +1,42 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009 - 2017 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+
+base_size = 64
+local radius = radius * engine.Map.tile_w
+local life = 11
+local first = true
+
+return {system_rotation = math.deg(dir) + 45, system_rotationv = 0,	generator = function()
+	return {
+		life = life,
+		size = rng.range(32, 64), sizev = 0, sizea = 0,
+
+		x = 0, xv = 0, xa = 0,
+		y = 0, yv = 0, ya = 0,
+		dir = -math.rad(45), dirv = dirv, dira = 0,
+		vel = radius / life, velv = 0, vela = 0,
+
+		r = 1, rv = 0, ra = 0,
+		g = 1, gv = 0, ga = 0,
+		b = 1, bv = 0, ba = 0,
+		a = 1, av = av, aa = 0,
+	}
+end }, function(self)
+	if first then self.ps:emit(1) first = nil end
+end, 1, tile
diff --git a/game/modules/tome/data/gfx/particles_images/ureslak_tentacles.png b/game/modules/tome/data/gfx/particles_images/ureslak_tentacles.png
new file mode 100644
index 0000000000000000000000000000000000000000..763b8a8a7725848a2513beac0ef22c7b884249bc
Binary files /dev/null and b/game/modules/tome/data/gfx/particles_images/ureslak_tentacles.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..5befd4f1be9ee7c9966574a9fdd1c28ca2d9209b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..569e7dfe45f1380f6c74aab35ea6c1bfe920243e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..30f7c66299e9e8bb7f5dc66e3dab309eb485b1a2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2dd153baed780f7963ba7733dd90e8b287e5b09
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..a999b3dfacef0cfab60fdae7e39b5a049da82e79
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..928928d5ecd91ccc2b668ba7a94a8885b33153f1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..770c50ae1ee5d09e4159f98dad5044e5d83b004a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f7f2f542b7f8e498af2d9dcd97e7509ffd58fcc
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..a279acaa4cf6e7e6534abd4fbc9c382e4f14c7c2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e8b0f19be70aa7554dd82512aa778f702b678a4
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_female/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..5befd4f1be9ee7c9966574a9fdd1c28ca2d9209b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..569e7dfe45f1380f6c74aab35ea6c1bfe920243e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..30f7c66299e9e8bb7f5dc66e3dab309eb485b1a2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2dd153baed780f7963ba7733dd90e8b287e5b09
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..a999b3dfacef0cfab60fdae7e39b5a049da82e79
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..928928d5ecd91ccc2b668ba7a94a8885b33153f1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..770c50ae1ee5d09e4159f98dad5044e5d83b004a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f7f2f542b7f8e498af2d9dcd97e7509ffd58fcc
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..a279acaa4cf6e7e6534abd4fbc9c382e4f14c7c2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e8b0f19be70aa7554dd82512aa778f702b678a4
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/dwarf_male/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..00f4e97423d133fea9480055a1e1c82e3716de2f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..fda84f8eacf5e37853cc8b58e9f3e9c30a7b7e20
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..88ac9973139cdb3cc09997f4021dfdf44d229532
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..b895d92aa88923b98a34ebcab90d336ba4302a22
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..77eb81ccc8f89d3a2ba87546f78ba5cd150cd3b7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f791e0ebeceabcd31243e2b15cb31e6a9485a16
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..be25a8b2b68d631c3e999056d97e1e5ce392b2f8
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf9d92fc044422356826620d4e07bd3b778edf6c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..468658b6295f6aedae47a370d4237929cb7d05e6
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5bbf2c26f6553ab802d53d3e36beab28e183b7f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_female/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd1f5ba386e0892109e22924cca01e592cf8ddf1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1c4f9f236d4b873f82d4b27ae562d8e9390b051
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..575084996835e49f44da52dda3da28a927bb1548
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..462a4cb48dbda2e600005a85784aa3a57544c9c8
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e08da21c27483ca3a634431edfc94c44589ee20
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..96dbe92afa257d4b6c1a2a6d7e83c27ee109696c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..183669d66c8f62fc35ccd021a9b85d7032f7d8ce
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..bad0b7b5f1e28e4f2ce0c1ca809df21216678a69
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..78e713a7165ebeec8e73e2d852bdc34ad99f35ed
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..65a2de41bff5f08f588dd1fc789f4cde1217cf5f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/elf_male/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..900caaad94f6f065e57a4d5286133bced69fc0fb
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..3938324120e3ee69e68f01398965817c58cb3271
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..915c31c5df97951cb2b8a1434fee9a3864db1537
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..559a8c31fdbdd2463a150e72dadf95428863e2ed
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..86efd85080b6748a5717d5a2dd517233aec6e71e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..71c4df7eb6e2b2bbb2a36516eca1143af98ca833
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..d16c97406f0ebcea7d64815ab82098e1b9bc43cf
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b5b90b42b72ece1ce97947f8a555eeecbdc1101
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..c355a5dc5f45da452829dfe82449e7ff7ea63d77
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb2f6441a178b9caa0a63d6cccaa5de7108ac167
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ghoul/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..9bae60f5cda8e7ba3f61b6576e23fc4fdbbe18e2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9421178dc2e55f2f4287a95e10fd3081609f923
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d075e25e1d99a00dcae0f85fbd958011e376b02
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..e00839a44f580eb89ecc0b044966a39b8556fb27
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..06e07d4de03f1cab500b6d3cf3127e473841b2f7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..b62f1f86599a7d83ba3120c6784ada2f5464f1e2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..f654aa23261212f69b6cd3a645c96eac2298601a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0d6dfd8335941034af0d10500ed6fca4e261fe3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..584ec976756cf0095f8bd12131ba52e8de4a3931
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..64713472b6fab41f7ddae33350da472f00acde02
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_female/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..9bae60f5cda8e7ba3f61b6576e23fc4fdbbe18e2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9421178dc2e55f2f4287a95e10fd3081609f923
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d075e25e1d99a00dcae0f85fbd958011e376b02
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..e00839a44f580eb89ecc0b044966a39b8556fb27
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..06e07d4de03f1cab500b6d3cf3127e473841b2f7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..b62f1f86599a7d83ba3120c6784ada2f5464f1e2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..f654aa23261212f69b6cd3a645c96eac2298601a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0d6dfd8335941034af0d10500ed6fca4e261fe3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..584ec976756cf0095f8bd12131ba52e8de4a3931
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..64713472b6fab41f7ddae33350da472f00acde02
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/halfling_male/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..00f4e97423d133fea9480055a1e1c82e3716de2f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..fda84f8eacf5e37853cc8b58e9f3e9c30a7b7e20
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..88ac9973139cdb3cc09997f4021dfdf44d229532
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..b895d92aa88923b98a34ebcab90d336ba4302a22
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..77eb81ccc8f89d3a2ba87546f78ba5cd150cd3b7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f791e0ebeceabcd31243e2b15cb31e6a9485a16
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..be25a8b2b68d631c3e999056d97e1e5ce392b2f8
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf9d92fc044422356826620d4e07bd3b778edf6c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..468658b6295f6aedae47a370d4237929cb7d05e6
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5bbf2c26f6553ab802d53d3e36beab28e183b7f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_female/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8b7a6b3c447c9b4e450060da7366d1b363c1c4e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc1d20f7c0e83f0f503bbb9c9174b7c3ab376dd9
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fbbb5337aadb9b9248a5f34f64b74cf49b2f07f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..045033b564f3b0e3fee671fe11f9b145ccf83e12
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..79a04f6c73669065df3fbe21bacbfbdd6c88f952
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8753c7bf3f9ae3157c59b5c7540bb2f8e796a61
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8759d178a7b2c61cbcd8bf22635c8a67b9f69cd
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4e7cf7a6d92e1a5a519b022d0b5132656ffc16f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..b61fe20d987315aaf8bec0fe4242e8e1b5afdc97
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a1dfdabd4a8fb2f66d9c4694e62a03638b87192
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/human_male/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..4485805fcd45bd043859b95ee63cba96b6f9ff68
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..f262f44f7bebbf42c2e6e886c58697bc043f0572
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..08590da5d0693ef8586299f8fe98e8ae85415405
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..7fe6570a1541c87bb1b716c5ab45a6ace87d9ee1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..a608a2c7886e6410b7619d44760851cb396613c3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..44d98bfcafa3b3237d45ed36ed00587ffbb2eb4b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b2d6809e4bea12af7e61012a050d6d83409771d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..e44679f531138b3861ee10240ad59c987d72e068
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..e103cbbd6813666fe1467b18fdaff552eb7f6ea7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c57a8d3bb05bfae95dc3d6296f9543866adc7f2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_female/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a6a1bcfbd7ec13b99e566ee1aa537dee5cd975b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..d80fa2ebc0757f3d9ab25fc8b1be95065cbc8fe6
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..16343ded8fb552afd851acbd0f085c89dd19bb05
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..30fc6d67040e4cfdd9c98770fccd92fb201a7094
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..f31787ffa7a5c5f59efcaa452231978f90beb818
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..da862c974b151211ad38666c3c081d3df822caa9
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..21ec4ea3e7fa1a7e4460c4b83b65affed5a33725
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb6cd015199ef259fe53e87b23854f85b825f2de
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..19559f3214545684c6be9fd83370f634878d8c25
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..e542e96f79e6d9a897c56f6b7fa67434304ccc10
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/ogre_male/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..569e157a818511828dcc7f454e07d34f3bd1f22d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..09156b0d458468bf0c6ef7ff0acaee3499f09360
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b0148371daa9e4c17d947160bd9de37caa05b55
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..35537683ea94dd9881d73492c160f420228baac9
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..4872ef5912e5f2a8717b174653a20d1905b4d46d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..104a1961ecc89cc563aef7a32912ea10cc30ae02
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..b754a895f6ed0b98c81f6121692adb404481a355
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7ab3938cb5558f355370959a1be6818a9ea622d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..cbcc99790e569fe3f7a7d890130a9dcd0751ac96
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6738c751c783f6f58506f4f92281765855c9758
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/orc_male/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..5befd4f1be9ee7c9966574a9fdd1c28ca2d9209b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..569e7dfe45f1380f6c74aab35ea6c1bfe920243e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..30f7c66299e9e8bb7f5dc66e3dab309eb485b1a2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2dd153baed780f7963ba7733dd90e8b287e5b09
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..a999b3dfacef0cfab60fdae7e39b5a049da82e79
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..928928d5ecd91ccc2b668ba7a94a8885b33153f1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..770c50ae1ee5d09e4159f98dad5044e5d83b004a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f7f2f542b7f8e498af2d9dcd97e7509ffd58fcc
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..a279acaa4cf6e7e6534abd4fbc9c382e4f14c7c2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e8b0f19be70aa7554dd82512aa778f702b678a4
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/runic_golem/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8b7a6b3c447c9b4e450060da7366d1b363c1c4e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc1d20f7c0e83f0f503bbb9c9174b7c3ab376dd9
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fbbb5337aadb9b9248a5f34f64b74cf49b2f07f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..045033b564f3b0e3fee671fe11f9b145ccf83e12
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..79a04f6c73669065df3fbe21bacbfbdd6c88f952
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8753c7bf3f9ae3157c59b5c7540bb2f8e796a61
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8759d178a7b2c61cbcd8bf22635c8a67b9f69cd
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4e7cf7a6d92e1a5a519b022d0b5132656ffc16f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..b61fe20d987315aaf8bec0fe4242e8e1b5afdc97
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a1dfdabd4a8fb2f66d9c4694e62a03638b87192
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/skeleton/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..654c1f1f54e8f5121c152abda53edf3d7ef652a3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..b044dc985fdd9b1c3c585dd9f9282ffed9a3c12b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..110c04314c821fe6bc6bd73fe00d4b8bc12a1665
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_dart_launcher.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_dart_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4df0e08355155226831b8d69139f3d33d448a55
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_dart_launcher.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_grappling_hook.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_grappling_hook.png
new file mode 100644
index 0000000000000000000000000000000000000000..64d4bf8acd9b62f59328aeb4fd553f8b66c33157
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_grappling_hook.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_hidden_blades.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_hidden_blades.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c1643e7925992e19a8864a0173a96992a1a23b3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_hidden_blades.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cea02b85f07e61f060a7143bf3e9b7c3a40bc5d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ad4fca307f97956b6c26c6dbdb244e1d2da2d09
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/mastery_smokescreen.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/rogues_brew.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/rogues_brew.png
new file mode 100644
index 0000000000000000000000000000000000000000..cfa37b6eaa8ff902f4c1f7386b5f1425e48022a1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/rogues_brew.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/smokescreen.png b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/smokescreen.png
new file mode 100644
index 0000000000000000000000000000000000000000..1963953d6be3adce0abf522230af11a61ffbad92
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/player/yeek/artifices/smokescreen.png differ
diff --git a/game/modules/tome/data/talents/cunning/artifice.lua b/game/modules/tome/data/talents/cunning/artifice.lua
index a7893b43dbc727f2b2413d8fb3248bb7bc9d498f..69a49992f0e7f14ca5c5ddfe11cffda5d82d8794 100644
--- a/game/modules/tome/data/talents/cunning/artifice.lua
+++ b/game/modules/tome/data/talents/cunning/artifice.lua
@@ -27,6 +27,17 @@ local Chat = require "engine.Chat"
 artifice_tool_tids = {T_HIDDEN_BLADES="T_ASSASSINATE", T_SMOKESCREEN="T_SMOKESCREEN_MASTERY", T_ROGUE_S_BREW="T_ROGUE_S_BREW_MASTERY", T_DART_LAUNCHER="T_DART_LAUNCHER_MASTERY", T_GRAPPLING_HOOK="T_GRAPPLING_HOOK_MASTERY",}
 Talents.artifice_tool_tids = artifice_tool_tids
 
+-- Hook to show artifices on the doll
+class:bindHook("Actor:updateModdableTile:middle", function(self, data)
+	if not self.artifice_tools then return end
+	for _, tool in pairs(self.artifice_tools) do
+		local img = self:callTalent(tool, "getDollImage")
+		if img then
+			data.add[#data.add+1] = {image = data.base..img..".png", auto_tall=1}
+		end
+	end
+end)
+
 --- initialize artifice tools, update mastery level and unlearn any unselected tools talents
 function artifice_tools_setup(self, t)
 	self.artifice_tools = self.artifice_tools or {}
@@ -123,6 +134,7 @@ newTalent{
 		end}
 		local tool_id, m_id = self:talentDialog(d)
 		artifice_tools_setup(self, t)
+		self:updateModdableTile()
 		return tool_id ~= nil -- only use energy/cooldown if a tool was prepared
 	end,
 	info = function(self, t)
@@ -154,6 +166,7 @@ newTalent{
 		end}
 		local tool_id, m_id = self:talentDialog(d)
 		artifice_tools_setup(self, t)
+		self:updateModdableTile()
 		return tool_id ~= nil -- only use energy/cooldown if a tool was prepared
 	end,
 	info = function(self, t)
@@ -186,6 +199,7 @@ newTalent{
 		end}
 		local tool_id, m_id = self:talentDialog(d)
 		artifice_tools_setup(self, t)
+		self:updateModdableTile()
 		return tool_id ~= nil -- only use energy/cooldown if a tool was prepared
 	end,
 	info = function(self, t)
@@ -240,6 +254,7 @@ newTalent{
 		end}
 		local tool_id = self:talentDialog(d)
 		artifice_tools_setup(self, t)
+		self:updateModdableTile()
 		return tool_id ~= nil -- only use energy/cooldown if a new tool was mastered
 	end,
 	info = function(self, t)
@@ -286,6 +301,7 @@ newTalent{
 	mode = "passive",
 	points = 1,
 	cooldown = 4,
+	getDollImage = function(self, t) return self:knowTalent(self.T_ASSASSINATE) and "artifices/mastery_hidden_blades" or "artifices/hidden_blades" end,
 	getDamage = function (self, t) return self:combatTalentWeaponDamage(t, 1.0, 1.8) end,
 	callbackOnCrit = function(self, t, kind, dam, chance, target)
 		if not target then return end
@@ -391,6 +407,7 @@ newTalent{
 	type = {"cunning/tools", 1},
 	points = 1,
 	cooldown = 20,
+	getDollImage = function(self, t) return self:knowTalent(self.T_ROGUE_S_BREW_MASTERY) and "artifices/mastery_rogues_brew" or "artifices/rogues_brew" end,
 	tactical = { HEAL = 1.5, STAMINA = 1.5,
 		CURE = function(self, t, target)
 			local num, max = 0, t.getCure(self, t)
@@ -489,6 +506,7 @@ newTalent{
 	requires_target = true,
 	no_break_stealth = true,
 	radius = 2,
+	getDollImage = function(self, t) return self:knowTalent(self.T_SMOKESCREEN_MASTERY) and "artifices/mastery_smokescreen" or "artifices/smokescreen" end,
 	getDamage = function(self,t) 
 		if self:knowTalent(self.T_SMOKESCREEN_MASTERY) then
 			return self:callTalent(self.T_SMOKESCREEN_MASTERY, "getDamage")
@@ -596,6 +614,7 @@ newTalent{
 	stamina = 5,
 	requires_target = true,
 	no_break_stealth = true,
+	getDollImage = function(self, t) return self:knowTalent(self.T_DART_LAUNCHER_MASTERY) and "artifices/mastery_dart_launcher" or "artifices/dart_launcher" end,
 	getDamage = function(self, t) return 15 + self:combatTalentStatDamage(t, "cun", 12, 150) end,
 	getSleepPower = function(self, t) return 15 + self:combatTalentStatDamage(t, "cun", 15, 180) end,
 	target = function(self, t)
@@ -668,6 +687,7 @@ newTalent{
 	cooldown = 8,
 	stamina = 14,
 	requires_target = true,
+	getDollImage = function(self, t) return self:knowTalent(self.T_GRAPPLING_HOOK_MASTERY) and "artifices/mastery_grappling_hook" or "artifices/grappling_hook" end,
 	target = function(self, t) return {type="bolt", range=t.range(self,t), talent=t} end,
 	action = function(self, t)
 		local tg = self:getTalentTarget(t)
@@ -798,4 +818,4 @@ newTalent{
 		format(t.getDamage(self, t)*100, damDesc(self, DamageType.PHYSICAL, t.getSecondaryDamage(self,t)), damDesc(self, DamageType.NATURE, t.getSecondaryDamage(self,t)))
 	end,
 }
--- idea: Flash powder tool: Set off a bright flash with smoke and "phase-door" to a nearby spot.  Mastery: triggers stealth and makes NPC's in LOS lose track.
\ No newline at end of file
+-- idea: Flash powder tool: Set off a bright flash with smoke and "phase-door" to a nearby spot.  Mastery: triggers stealth and makes NPC's in LOS lose track.
diff --git a/game/modules/tome/data/talents/cunning/cunning.lua b/game/modules/tome/data/talents/cunning/cunning.lua
index bd87b8ddbe6c64766871e0d4eddcfaea0f16f9b2..098cc407efea174129bcecad6a0c3eb73e92be61 100644
--- a/game/modules/tome/data/talents/cunning/cunning.lua
+++ b/game/modules/tome/data/talents/cunning/cunning.lua
@@ -22,7 +22,7 @@ newTalentType{ allow_random=true, type="cunning/stealth-base", name = "stealth",
 newTalentType{ allow_random=true, type="cunning/stealth", name = "stealth", description = "Allows the user to enter stealth." }
 newTalentType{ allow_random=true, type="cunning/trapping", name = "trapping", description = "The knowledge of trap laying and assorted trickeries." }
 newTalentType{ allow_random=true, type="cunning/traps", name = "traps", description = "Collection of known traps." }
-newTalentType{ allow_random=true, type="cunning/poisons", name = "poisons", min_lev = 10, description = "The knowledge of poisons and how to apply them to 'good' effects." }
+newTalentType{ allow_random=true, type="cunning/poisons", name = "poisons", description = "The knowledge of poisons and how to apply them to 'good' effects." }
 newTalentType{ allow_random=true, type="cunning/poisons-effects", name = "poisons", description = "Collection of known poisons." }
 newTalentType{ allow_random=true, type="cunning/dirty", name = "dirty fighting", description = "Teaches various talents to cripple your foes." }
 newTalentType{ allow_random=true, type="cunning/lethality", name = "lethality", description = "How to make your foes feel the pain." }
diff --git a/game/modules/tome/data/talents/techniques/throwing-knives.lua b/game/modules/tome/data/talents/techniques/throwing-knives.lua
index 0c55d46150955791a1d8422ec6ad8eea1e5b11ed..91e23ec43c445202041b1e81089da14e550c6dd6 100644
--- a/game/modules/tome/data/talents/techniques/throwing-knives.lua
+++ b/game/modules/tome/data/talents/techniques/throwing-knives.lua
@@ -239,6 +239,14 @@ newTalent{
 			if not target then return end
 			tgts[#tgts+1] = {act=target, cnt=0}
 		end)
+
+		local dir = math.atan2(x-self.x, -y+self.y) - math.pi / 2
+		local tile = "shockbolt/object/knife_voratun"
+		for i = -6, 6 do
+			local dir = dir + math.pi / 28 * i
+			game.level.map:particleEmitter(self.x, self.y, 1, "fan_of_knives", {tile=tile, dir=dir, radius=tg.radius})
+		end
+
 		local tgt_cnt = #tgts
 		if tgt_cnt > 0 then
 			local tgt_max = math.min(3, math.ceil(count/tgt_cnt))
diff --git a/game/modules/tome/data/timed_effects/physical.lua b/game/modules/tome/data/timed_effects/physical.lua
index e894535fdb27d9470e859248bdbfb56460e29c88..29bf9dadf90e704afa97c32c0def51fea95aeb51 100644
--- a/game/modules/tome/data/timed_effects/physical.lua
+++ b/game/modules/tome/data/timed_effects/physical.lua
@@ -4004,6 +4004,9 @@ newEffect{
 		return {dam=dam}
 	end,
 	activate = function(self, eff)
+		if core.shader.active() then
+			self:effectParticles(eff, {type="shader_shield", args={size_factor=1.5, img="ureslak_tentacles"}, shader={type="tentacles", wobblingType=0, appearTime=0.8, time_factor=2000, noup=0.0}})
+		end
 	end,
 }