diff --git a/game/engines/default/engine/UserChat.lua b/game/engines/default/engine/UserChat.lua
index 13d48042be7a829eeb0bbb04cc2b20cf8de227a5..498fa7457ebe069fe2c52b71a912663643fc3aab 100644
--- a/game/engines/default/engine/UserChat.lua
+++ b/game/engines/default/engine/UserChat.lua
@@ -74,7 +74,7 @@ end
 -- TODO: make it betetr than a simple dialog
 function _M:talkBox()
 	if not profile.auth then return end
-	local d = require("engine.dialogs.GetText").new("Talk", self.cur_channel..":", 0, 250, function(text)
+	local d = require("engine.dialogs.GetText").new("Talk", self.cur_channel, 0, 250, function(text)
 		self:talk(text)
 	end)
 	game:registerDialog(d)
diff --git a/game/engines/default/engine/ui/Dialog.lua b/game/engines/default/engine/ui/Dialog.lua
index 2bc4f390ef445e70379c92c45add99eefa274d79..a2dbc4420f4f2d855b2157ab1833dd9a1c3f539a 100644
--- a/game/engines/default/engine/ui/Dialog.lua
+++ b/game/engines/default/engine/ui/Dialog.lua
@@ -145,8 +145,8 @@ function _M:resize(w, h, nogen)
 	self.w, self.h = math.floor(w), math.floor(h)
 	self.display_x = math.floor(self.force_x or (gamew - self.w) / 2)
 	self.display_y = math.floor(self.force_y or (gameh - self.h) / 2)
-	self.ix, self.iy = 5, 22 + 3
-	self.iw, self.ih = w - 2 * 5, h - 8 - 22 - 3
+	self.ix, self.iy = 5, 8 + 3 + self.font_bold_h
+	self.iw, self.ih = w - 2 * 5, h - 8 - 8 - 3 - self.font_bold_h
 
 	if not nogen then self:generate() end
 end
diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index d83a944277e2722749fbb5d86937e9aa01bb1cde..f5fc6fc4d6d144bd0e5b05fe3cd805a8e0f37399 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -85,8 +85,8 @@ function _M:run()
 	self.flash = LogFlasher.new(0, 0, self.w, 20, nil, "/data/font/USENET_.ttf", 16, {255,255,255}, {0,0,0})
 	self.logdisplay = LogDisplay.new(0, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, nil, "/data/font/USENET_.ttf", 14, {255,255,255}, "/data/gfx/ui/message-log.png")
 	self.player_display = PlayerDisplay.new(0, 230, 200, self.h * 0.8 - 230, {30,30,0})
-	self.hotkeys_display = HotkeysDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png", "/data/font/USENET_.ttf", 12)
-	self.npcs_display = ActorsSeenDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png", "/data/font/USENET_.ttf", 12)
+	self.hotkeys_display = HotkeysDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png", "/data/font/SVBasicManual.ttf", 14)
+	self.npcs_display = ActorsSeenDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png", "/data/font/SVBasicManual.ttf", 14)
 	self.tooltip = Tooltip.new("/data/font/USENET_.ttf", 14, {255,255,255}, {30,30,30,230})
 	self.tooltip2 = Tooltip.new(nil, nil, {255,255,255}, {30,30,30,230})
 	self.flyers = FlyingText.new("/data/font/INSULA__.ttf", 14, "/data/font/INSULA__.ttf", 17)
diff --git a/game/modules/tome/class/PlayerDisplay.lua b/game/modules/tome/class/PlayerDisplay.lua
index bbdb123914d5ef2b74d36cb5534bb4fab3c87333..d8d04ef64fc50bcd54120c7aa035da0b03818eab 100644
--- a/game/modules/tome/class/PlayerDisplay.lua
+++ b/game/modules/tome/class/PlayerDisplay.lua
@@ -28,7 +28,7 @@ function _M:init(x, y, w, h, bgcolor)
 	self.display_y = y
 	self.w, self.h = w, h
 	self.bgcolor = bgcolor
-	self.font = core.display.newFont("/data/font/VeraMono.ttf", 14)
+	self.font = core.display.newFont("/data/font/SVBasicManual.ttf", 16)
 	self.mouse = Mouse.new()
 	self:resize(x, y, w, h)
 end
diff --git a/game/modules/tome/data/font/SVBasicManual-Bold.ttf b/game/modules/tome/data/font/SVBasicManual-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0926f1e38380d0df491d5293245b853b9aaaaa24
Binary files /dev/null and b/game/modules/tome/data/font/SVBasicManual-Bold.ttf differ
diff --git a/game/modules/tome/data/font/SVBasicManual.ttf b/game/modules/tome/data/font/SVBasicManual.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..a8c8682d2def773ac5bda074faad4c6b39a3237f
Binary files /dev/null and b/game/modules/tome/data/font/SVBasicManual.ttf differ
diff --git a/game/modules/tome/data/zones/scintillating-caves/npcs.lua b/game/modules/tome/data/zones/scintillating-caves/npcs.lua
index b5e57f05b0d869ea309254aa5c4c46be6302c1f1..3e6334877189f858d8b72a66a401011399998496 100644
--- a/game/modules/tome/data/zones/scintillating-caves/npcs.lua
+++ b/game/modules/tome/data/zones/scintillating-caves/npcs.lua
@@ -30,7 +30,7 @@ local Talents = require("engine.interface.ActorTalents")
 newEntity{ base="BASE_NPC_CRYSTAL", define_as = "SPELLBLAZE_CRYSTAL",
 	allow_infinite_dungeon = true,
 	unique = true,
-	name = "Spellblaze Crystal", tint=colors.PURPLE,
+	name = "Spellblaze Crystal", tint=colors.PURPLE, image = "npc/spellblaze_crystal.png",
 	color=colors.VIOLET,
 	desc = [[A formation of purple crystal. It seems strangely aware.]],
 	level_range = {7, nil}, exp_worth = 2,
diff --git a/game/modules/tome/load.lua b/game/modules/tome/load.lua
index d7df4b4554ebdf2a8e5d70492e8cb5f850329703..4834a6cce12d03c61f06647c7ab688186c97a791 100644
--- a/game/modules/tome/load.lua
+++ b/game/modules/tome/load.lua
@@ -57,9 +57,12 @@ _2DNoise = n:makeTexture2D(64, 64)
 -- Dialogs fonts
 UIBase.font = core.display.newFont("/data/font/USENET_.ttf", 16)
 UIBase.font_bold = core.display.newFont("/data/font/USENET_.ttf", 16)
+UIBase.font_mono = core.display.newFont("/data/font/SVBasicManual.ttf", 16)
 UIBase.font_bold:setStyle("bold")
 UIBase.font_h = UIBase.font:lineSkip()
 UIBase.font_bold_h = UIBase.font_bold:lineSkip()
+UIBase.font_mono_w = UIBase.font_mono:size(" ")
+UIBase.font_mono_h = UIBase.font_mono:lineSkip()
 
 -- Achievements
 WorldAchievements:loadDefinition("/data/achievements/")