diff --git a/game/modules/tome/ai/tactical.lua b/game/modules/tome/ai/tactical.lua
index 95d9fb36d36fc49ff00b0795e253c6f1296db737..db479795b8c55fb42ff472079fcd6dccf44485d0 100644
--- a/game/modules/tome/ai/tactical.lua
+++ b/game/modules/tome/ai/tactical.lua
@@ -17,6 +17,8 @@
 -- Nicolas Casalini "DarkGod"
 -- darkgod@te4.org
 
+local print = function() end
+
 -- Internal functions
 local checkLOS = function(sx, sy, tx, ty)
 	what = what or "block_sight"
diff --git a/game/modules/tome/data/general/npcs/all.lua b/game/modules/tome/data/general/npcs/all.lua
index f01de81f5ec8e07b59dbb7b9a12b4a14a8326bca..a29a6741c09deec4a8a74cb46a526f9931b14261 100644
--- a/game/modules/tome/data/general/npcs/all.lua
+++ b/game/modules/tome/data/general/npcs/all.lua
@@ -78,6 +78,7 @@ loadIfNot("/data/general/npcs/troll.lua")
 loadIfNot("/data/general/npcs/vampire.lua")
 loadIfNot("/data/general/npcs/vermin.lua")
 loadIfNot("/data/general/npcs/wight.lua")
+loadIfNot("/data/general/npcs/wild-drake.lua")
 loadIfNot("/data/general/npcs/xorn.lua")
 
 loadIfNot("/data/general/npcs/humanoid_random_boss.lua")
diff --git a/game/modules/tome/data/general/npcs/bone-giant.lua b/game/modules/tome/data/general/npcs/bone-giant.lua
index a106780ca1647a67e586207a3606d13d7988043a..eea9cbc3e8c80e1d43adf9888ab4be8b89b05fc5 100644
--- a/game/modules/tome/data/general/npcs/bone-giant.lua
+++ b/game/modules/tome/data/general/npcs/bone-giant.lua
@@ -96,3 +96,29 @@ newEntity{ base = "BASE_NPC_BONE_GIANT",
 	melee_project = {[DamageType.BLIGHT]=resolvers.mbonus(15, 5)},
 	resolvers.talents{ [Talents.T_BONE_ARMOUR]={base=3, every=10, max=5}, [Talents.T_THROW_BONES]={base=4, every=10, max=7}, [Talents.T_STUN]={base=3, every=10, max=5}, },
 }
+
+newEntity{ base = "BASE_NPC_BONE_GIANT",
+	name = "runed bone giant", color=colors.RED,
+	desc = [[A towering creature, made from the bones of hundreds of dead bodies, rune-etched and infused with hateful sorceries.]],
+	level_range = {40, nil}, exp_worth = 1,
+	rarity = 5,
+	rank = 3,
+	ai = "tactical",
+	max_life = resolvers.rngavg(100,120),
+	combat_armor = 20, combat_def = 40,
+	melee_project = {[DamageType.BLIGHT]=resolvers.mbonus(15, 15)},
+	autolevel = "warriormage",
+	resists = {all = 30},
+	resolvers.talents{
+		[Talents.T_BONE_ARMOUR]={base=5, every=10, max=7},
+		[Talents.T_STUN]={base=3, every=10, max=5},
+		[Talents.T_SKELETON_REASSEMBLE]=5,
+		[Talents.T_ARCANE_POWER]={base=4, every=5, max = 8},
+		[Talents.T_MANATHRUST]={base=4, every=5, max = 10},
+		[Talents.T_MANAFLOW]={base=5, every=5, max = 10},
+		[Talents.T_STRIKE]={base=4, every=5, max = 12},
+		[Talents.T_INNER_POWER]={base=4, every=5, max = 10},
+		[Talents.T_EARTHEN_MISSILES]={base=5, every=5, max = 10},
+	},
+	resolvers.sustains_at_birth(),
+}
diff --git a/game/modules/tome/data/general/npcs/ghost.lua b/game/modules/tome/data/general/npcs/ghost.lua
index 0b2771475b4ef5ff953a28a17e685529bc9ba097..d7f2d585ebd1de7099f87920ddb327940faa41a1 100644
--- a/game/modules/tome/data/general/npcs/ghost.lua
+++ b/game/modules/tome/data/general/npcs/ghost.lua
@@ -118,3 +118,32 @@ newEntity{ base = "BASE_NPC_GHOST",
 		[Talents.T_MIND_DISRUPTION]={base=3, every=7, max=6},
 	},
 }
+
+newEntity{ base = "BASE_NPC_GHOST",
+	name = "ruin banshee", color=colors.GREY, image="npc/ruin_banshee.png",
+	desc = [[A vengeful, screaming soul given form with the breath of Urh'Rok himself. The vapors of the Fearscape seep from its dimension-bending form, withering and searing.]],
+	level_range = {42, nil}, exp_worth = 1,
+	rarity = 15,
+	rank = 3,
+	max_life = resolvers.rngavg(240,270),
+
+	ai = "tactical",
+
+	combat_armor = 0, combat_def = resolvers.mbonus(10, 50),
+	on_melee_hit = {[DamageType.BLIGHT]=resolvers.mbonus(25, 25)},
+	melee_project = {[DamageType.BLIGHT]=resolvers.mbonus(25, 25)},
+	invisibility = resolvers.mbonus(10, 20),
+
+	combat = { dam=resolvers.mbonus(85, 85), atk=resolvers.mbonus(45, 45), apr=100, dammod={str=0.7, mag=0.7} },
+
+	resolvers.talents{
+		[Talents.T_PHASE_DOOR]=10,
+		[Talents.T_SILENCE]={base=2, every=10, max=6},
+		[Talents.T_MIND_DISRUPTION]={base=3, every=7, max=8},
+		[Talents.T_CORRUPTED_NEGATION]={base=5, every=6, max=8},
+		[Talents.T_CORROSIVE_WORM]={base=4, every=5, max=12},
+		[Talents.T_POISON_STORM]={base=4, every=5, max=12},
+		[Talents.T_CURSE_OF_DEATH]={base=5, every=6, max=8},
+		[Talents.T_CURSE_OF_IMPOTENCE]={base=5, every=6, max=8},
+	},
+}
diff --git a/game/modules/tome/data/general/npcs/lich.lua b/game/modules/tome/data/general/npcs/lich.lua
index 511df47bab2bc7f97e36fb123e7b38ce6f3bb0b2..379d8bf2db1c1ea6a1d82233110cdf330574eac4 100644
--- a/game/modules/tome/data/general/npcs/lich.lua
+++ b/game/modules/tome/data/general/npcs/lich.lua
@@ -167,3 +167,39 @@ newEntity{ base = "BASE_NPC_LICH",
 		[Talents.T_SHADOW_WARRIORS]=5,
 	},
 }
+
+newEntity{ base = "BASE_NPC_LICH",
+	name = "blood lich", color=colors.LIGHT_RED,
+	desc=[[The seething, pumping, disembodied blood of a horrendously powerful necromancer. To strike it is to bathe in the rivers of the Fearscape itself.]],
+	level_range = {45, nil}, exp_worth = 1,
+	rarity = 3,
+	max_life = resolvers.rngavg(100,150),
+	combat_armor = 0, combat_def = 45,
+	on_melee_hit = {[DamageType.BLIGHT]=resolvers.mbonus(25, 30)},
+
+	mana_regen = 100,
+
+	resolvers.talents{
+		[Talents.T_FREEZE]={base=5, every=10, max=10},
+		[Talents.T_TIDAL_WAVE]={base=3, every=10, max=5},
+		[Talents.T_ARCANE_POWER]={base=4, every=5, max = 8},
+		[Talents.T_MANATHRUST]={base=4, every=5, max = 10},
+		[Talents.T_MANAFLOW]={base=5, every=5, max = 10},
+		[Talents.T_GLOOM]={base=4, every=5, max = 12},
+		[Talents.T_WEAKNESS]={base=4, every=5, max = 10},
+		[Talents.T_TORMENT]={base=5, every=5, max = 10},
+		[Talents.T_LIFE_LEECH]={base=5, every=5, max = 10},
+		[Talents.T_WILLFUL_STRIKE]={base=5, every=5, max = 10},
+		[Talents.T_UNSEEN_FORCE]={base=5, every=5, max = 10},
+		[Talents.T_BLOOD_SPRAY]={base=5, every=5, max = 10},
+		[Talents.T_BLOOD_GRASP]={base=5, every=5, max = 10},
+		[Talents.T_BLOOD_BOIL]={base=5, every=5, max = 10},
+		[Talents.T_BLOOD_FURY]={base=5, every=5, max = 10},
+-- Utility spells
+		[Talents.T_PHASE_DOOR]=10,
+		[Talents.T_CALL_SHADOWS]=8,
+		[Talents.T_FOCUS_SHADOWS]=5,
+		[Talents.T_SHADOW_MAGES]=5,
+		[Talents.T_SHADOW_WARRIORS]=5,
+	},
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/general/npcs/major-demon.lua b/game/modules/tome/data/general/npcs/major-demon.lua
index abbbb16cedbdd0709ba80ff11224a597eaf552d4..9da7141ffb058b281491de291c03afe77b115c0f 100644
--- a/game/modules/tome/data/general/npcs/major-demon.lua
+++ b/game/modules/tome/data/general/npcs/major-demon.lua
@@ -198,3 +198,85 @@ It moves swiftly toward you, casting terrible spells and swinging its weapons at
 		[Talents.T_TWILIGHT_SURGE]={base=5, every=8, max=8},
 	},
 }
+
+newEntity{ base = "BASE_NPC_MAJOR_DEMON",
+	name = "champion of Urh'Rok", color=colors.GREY,
+	--resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/demon_major_daelach.png", display_h=2, display_y=-1}}},
+	desc = [[One of Urh'Rok's own champions. A thousand nightmares made flesh and screaming steel towering before you in the form of a massive, armored humanoid.]],
+	level_range = {43, nil}, exp_worth = 1,
+	rarity = 7,
+	rank = 3,
+	global_speed = 1.3,
+	size_category = 4,
+	autolevel = "warrior",
+	life_rating = 25,
+	combat_armor = 90, combat_def = 60,
+	mana_regen = 100, positive_regen = 100, negative_regen = 100, equilibrium_regen = -100, vim_regen = 100, stamina_regen = 100,
+
+	ai = "tactical",
+
+	resolvers.equip{ {type="weapon", subtype="greatsword", autoreq=true}, },
+
+	resists={all = resolvers.mbonus(25, 20)},
+
+	stun_immune = 1,
+	blind_immune = 1,
+	knockback_immune = 1,
+
+	resolvers.talents{
+		[Talents.T_CORRUPTED_STRENGTH]={base=5, every=8, max=8},
+		[Talents.T_DISARM]=5,
+		[Talents.T_RUSH]={base=8, every=8, max=8},
+		[Talents.T_WEAPON_COMBAT]={base=8, every=5, max=12},
+		[Talents.T_GHOULISH_LEAP]={base=1, every=8, max=5},
+		[Talents.T_DEATH_DANCE]={base=5, every=8, max=10},
+		[Talents.T_STUNNING_BLOW]={base=5, every=8, max=8},
+		[Talents.T_SUNDER_ARMOUR]={base=5, every=8, max=10},
+		[Talents.T_SUNDER_ARMS]={base=5, every=8, max=10},
+	},
+}
+
+newEntity{ base = "BASE_NPC_MAJOR_DEMON",
+	name = "forge-giant", color=colors.RED,
+	--resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/demon_major_daelach.png", display_h=2, display_y=-1}}},
+	desc = [[A burning giant wielding a forge hammer of the underworld in each hand-- weapons imbued by Urh'Rok himself with the power to crush and shape felsteel. Enter their range at your peril.]],
+	level_range = {47, nil}, exp_worth = 1,
+	rarity = 8,
+	rank = 3,
+	global_speed = 1,
+	size_category = 5,
+	autolevel = "warriormage",
+	life_rating = 30,
+	combat_armor = 32, combat_def = 40,
+	mana_regen = 100, positive_regen = 100, negative_regen = 100, equilibrium_regen = -100, vim_regen = 100, stamina_regen = 100,
+
+	ai = "tactical",
+
+	resolvers.equip{ {type="weapon", subtype="mace", autoreq=true}, },
+	resolvers.equip{ {type="weapon", subtype="mace", autoreq=true}, },
+
+	resists={[DamageType.PHYSICAL] = resolvers.mbonus(15, 10), [DamageType.FIRE] = 100},
+	on_melee_hit = {[DamageType.FIRE]=resolvers.mbonus(25, 25)},
+	melee_project = {[DamageType.FIRE]=resolvers.mbonus(25, 35)},
+
+	stun_immune = 1,
+	knockback_immune = 1,
+
+
+	resolvers.talents{
+		[Talents.T_CORRUPTED_STRENGTH]={base=5, every=8, max=8},
+		[Talents.T_DUAL_WEAPON_TRAINING]={base=1, every=8, max=6},
+		[Talents.T_DUAL_WEAPON_DEFENSE]={base=5, every=8, max=8},
+		[Talents.T_WEAPON_COMBAT]={base=8, every=5, max=12},
+		[Talents.T_WEAPONS_MASTERY]={base=7, every=8, max=14},
+		[Talents.T_THROW_BOULDER]={base=5, every=8, max=14},
+		[Talents.T_FIREBEAM]={base=5, every=8, max=8},
+		[Talents.T_WILDFIRE]={base=5, every=8, max=8},
+		[Talents.T_INFERNO]={base=5, every=8, max=8},
+		[Talents.T_FLAME]={base=5, every=8, max=10},
+		[Talents.T_FLAMESHOCK]={base=5, every=8, max=10},
+		[Talents.T_FIREFLASH]={base=5, every=8, max=10},
+		[Talents.T_BURNING_WAKE]={base=5, every=8, max=10},
+		[Talents.T_CLEANSING_FLAMES]={base=5, every=8, max=10},
+	},
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/general/npcs/troll.lua b/game/modules/tome/data/general/npcs/troll.lua
index 43d1e9881ab18b6c0b08aa46afc854edce10e9ad..0aa039730ddab3de3d36205e3f0f5bfc98591990 100644
--- a/game/modules/tome/data/general/npcs/troll.lua
+++ b/game/modules/tome/data/general/npcs/troll.lua
@@ -114,3 +114,33 @@ newEntity{ base = "BASE_NPC_TROLL",
 		[Talents.T_THUNDERSTORM]={base=3, every=7, max=8},
 	},
 }
+
+newEntity{ base = "BASE_NPC_TROLL",
+	name = "patchwork troll", color=colors.PURPLE, image="npc/troll_patchwork.png",
+	desc = [[A disgusting and mismatched construct of necromantically-enhanced troll bits and shattered weapons. Confused and furious, it rends and shatters its surroundings with impossible strength, moving with speed found nowhere in nature.]],
+	level_range = {38, nil}, exp_worth = 1,
+	rarity = 6,
+	rank = 3,
+	global_speed = 1.6,
+	life_rating = 25,
+	max_life = resolvers.rngavg(220,240),
+
+	combat_armor = 60, combat_def = 0,
+	combat = { dam=resolvers.levelup(resolvers.rngavg(25,110), 1, 2), atk=resolvers.rngavg(25,70), apr=15, dammod={str=1.5} },
+	autolevel = "warrior",
+	ai = "tactical",
+	stamina_regen = 100,
+	stun_immune = 1,
+	knockback_immune = 1,
+	blind_immune = 1,
+
+	resolvers.talents{
+		[Talents.T_STUN]={base=5, every=6, max=12},
+		[Talents.T_RUSH]=8,
+		[Talents.T_BLINDING_SPEED]={base=4, every=7, max=10},
+		[Talents.T_FAST_METABOLISM]={base=5, every=5, max=30},
+		[Talents.T_UNFLINCHING_RESOLVE]={base=5, every=5, max=10},
+		[Talents.T_JUGGERNAUT]={base=5, every=5, max=10},
+	},
+	resolvers.sustains_at_birth(),
+}
diff --git a/game/modules/tome/data/general/npcs/wild-drake.lua b/game/modules/tome/data/general/npcs/wild-drake.lua
new file mode 100644
index 0000000000000000000000000000000000000000..5c2c587e1772d5724d538e165cb5d1f2e43d3ad2
--- /dev/null
+++ b/game/modules/tome/data/general/npcs/wild-drake.lua
@@ -0,0 +1,112 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009, 2010, 2011 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
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{
+	define_as = "BASE_NPC_WILD_DRAKE",
+	type = "dragon", subtype = "wild",
+	display = "D", color=colors.SLATE,
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, PSIONIC_FOCUS=1, BODY=1 },
+	resolvers.drops{chance=100, nb=1, {type="money"} },
+
+	infravision = 10,
+	life_rating = 15,
+	rank = 2,
+	size_category = 5,
+
+	autolevel = "drake",
+	ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=2, },
+	stats = { str=20, dex=20, mag=30, con=16 },
+
+	knockback_immune = 1,
+	stun_immune = 1,
+	resolvers.sustains_at_birth(),
+}
+
+
+newEntity{ base = "BASE_NPC_WILD_DRAKE",
+	name = "spire dragon", color=colors.SLATE, display="D",
+	desc = [[A monstrous, coiled wyrm, patient and hateful. Its hide, studded with spikes and crests and blades, turns aside steel and sorcery with equal ease.]],
+	--resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/dragon_cold_ice_wyrm.png", display_h=2, display_y=-1}}},
+	level_range = {35, nil}, exp_worth = 1,
+	rarity = 6,
+	rank = 3,
+	global_speed = 1.3,
+	size_category = 5,
+	autolevel = "warrior",
+	max_life = resolvers.rngavg(170,190),
+	combat_armor = 70, combat_def = 50,
+	combat = { dam=resolvers.levelup(resolvers.rngavg(25,110), 1, 2), atk=resolvers.rngavg(25,70), apr=45, dammod={str=1.5} },
+	resists={all = resolvers.mbonus(25, 30)},
+	--resolvers.equip{ {type="gem", autoreq=true}, },
+	resolvers.drops{chance=100, nb=2, {type="gem"} },
+
+	ai = "tactical",
+
+	resolvers.talents{
+		[Talents.T_CONSTRICT]={base=4, every=5, max = 10},
+		[Talents.T_RUSHING_CLAWS]={base=3, every=5, max = 5},
+		[Talents.T_KINETIC_AURA]={base=4, every=5, max = 8},
+		[Talents.T_KINETIC_SHIELD]={base=4, every=5, max = 8},
+		[Talents.T_SHATTERING_CHARGE]={base=4, every=5, max = 10},
+		[Talents.T_INSATIABLE]={base=5, every=5, max = 30},
+	},
+}
+
+newEntity{ base = "BASE_NPC_WILD_DRAKE",
+	name = "blinkwyrm", color=colors.YELLOW, display="D",
+	desc = [[A shifting, writhing, snake-like dragon, blinking in and out of existance, just waiting for you to turn your back.]],
+	--resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/dragon_cold_ice_wyrm.png", display_h=2, display_y=-1}}},
+	level_range = {40, nil}, exp_worth = 1,
+	rarity = 7,
+	rank = 3,
+	global_speed = 1.4,
+	size_category = 4,
+	autolevel = "caster",
+	max_life = resolvers.rngavg(100,120),
+	combat_armor = 0, combat_def = 90,
+	mana_regen = 100, positive_regen = 100, negative_regen = 100, equilibrium_regen = -100, vim_regen = 100, stamina_regen = 100,
+
+	ai = "tactical",
+
+	resolvers.talents{
+		[Talents.T_DISRUPTION_SHIELD]={base=4, every=5, max = 10},
+		[Talents.T_DISPLACEMENT_SHIELD]={base=3, every=5, max = 10},
+		[Talents.T_TIME_SHIELD]={base=4, every=5, max = 10},
+		[Talents.T_ARCANE_POWER]={base=4, every=5, max = 8},
+		[Talents.T_MANATHRUST]={base=4, every=5, max = 10},
+		[Talents.T_MANAFLOW]={base=5, every=5, max = 10},
+		[Talents.T_DISPERSE_MAGIC]={base=4, every=5, max = 8},
+		[Talents.T_QUICKEN_SPELLS]={base=4, every=5, max = 10},
+		[Talents.T_METAFLOW]={base=5, every=5, max = 10},
+		[Talents.T_ESSENCE_OF_SPEED]={base=4, every=5, max = 10},
+		[Talents.T_MINDLASH]={base=5, every=5, max = 10},
+		[Talents.T_KINETIC_LEECH]={base=5, every=5, max = 10},
+		[Talents.T_THERMAL_LEECH]={base=4, every=5, max = 10},
+		[Talents.T_CHARGE_LEECH]={base=5, every=5, max = 10},
+		[Talents.T_INSATIABLE]={base=5, every=5, max = 30},
+		[Talents.T_PHASE_DOOR]={base=5, every=5, max = 10},
+		[Talents.T_PROBABILITY_TRAVEL]={base=5, every=5, max = 10},
+	},
+
+	resolvers.inscriptions(2, {"phase door rune", "phase door rune"}),
+
+}
diff --git a/game/modules/tome/data/maps/vaults/bandit-fortress.lua b/game/modules/tome/data/maps/vaults/bandit-fortress.lua
index e70d307ca9e6da959c2f24bf1d3ebed952b8d364..513df380ddad5387b71ef24b3855097403ed3a2d 100644
--- a/game/modules/tome/data/maps/vaults/bandit-fortress.lua
+++ b/game/modules/tome/data/maps/vaults/bandit-fortress.lua
@@ -41,17 +41,17 @@ defineTile('A', "DEEP_WATER", nil, {random_filter={add_levels=10, type = "aquati
 
 return {
 
-[[~~~~~A~~~~~~~~~~~~~~~A~~~~~~~~~~~~~A~~~~]],
-[[~##########~~~~~~~~~~~~~~~~~~##########~]],
-[[~#.p.....p#~~~A~~~~~~~~~~~~~~#.....p..#~]],
-[[A#.######.#~~~~~~~~~~~~~~~~~~#.######.#A]],
-[[~#.#xxxx#.#~~~~~~~~~A~~~~~A~~#.#xxx.#.#~]],
-[[~#p#HHHH#.####################p#TTTT#p#~]],
-[[~#.#pppP#.#*$$pH.+.#HLH.D..+^#.#HHHH#.#~]],
-[[A#.#....#p#$*$pH.#.#LHH.D..#^#.#xxx.#.#~]],
-[[~#.###+##.########.#########.#.##+###.#A]],
-[[~#..p.....#..DDLL#.%.........+.p....p.#~]],
-[[~#####+####%######+####################~]],
+[[........................................]],
+[[.##########~~~~~~~~~~~~~~~~~~##########.]],
+[[.#.p.....p#~~~A~~~~~~~~~~~~~~#.....p..#.]],
+[[.#.######.#~~~~~~~~~~~~~~~~~~#.######.#.]],
+[[.#.#xxxx#.#~~~~~~~~~A~~~~~A~~#.#xxx.#.#.]],
+[[.#p#HHHH#.####################p#TTTT#p#.]],
+[[.#.#pppP#.#*$$pH.+.#HLH.D..+^#.#HHHH#.#.]],
+[[.#.#....#p#$*$pH.#.#LHH.D..#^#.#xxx.#.#.]],
+[[.#.###+##.########.#########.#.##+###.#.]],
+[[.#..p.....#..DDLL#.%.........+.p....p.#.]],
+[[.#####+####%######+####################.]],
 [[~A~~~#.#**#^.../$#P.....p....+.pp/#~~~~~]],
 [[~~~~~#.#**#$.../$#.p.......p.#.pP/#~A~~~]],
 [[~~~~~#.#**#$.../$#...p.....p.#ppp/#~~~~~]],
@@ -70,16 +70,16 @@ return {
 [[~~A~~#.#**#xxxxxD#.p.......P.#ppp/#A~~~~]],
 [[~~~~~#.#**########.....p.....#.pP/#~~~A~]],
 [[~~~~~#.#**%DDDLLL#.p.....p...+.pp/#~~~~~]],
-[[~#####+###########+####################~]],
-[[~#.p....p.+..P......H....TT..+.....p..#~]],
-[[~#.###+##.#.....p......p..TT^#.##+###.#A]],
-[[~#.#....#.#%################%#p#xxx.#.#~]],
-[[~#.#pppP#.#....DDLL#LLDD.....#.#TTTT#.#~]],
-[[~#p#HHHH#.####################.#HHHH#p#~]],
-[[A#.#xxxx#p#~~~~A~~~~~~~~~A~~~#.#xxx.#.#A]],
-[[~#.######.#~~~~~~~~~~~~~~~~~~#.######.#~]],
-[[~#..p.....#~~~~~~~~~~~~~~~~A~#p...p...#~]],
-[[~##########~~~~~A~~~~~~~~~~~~##########~]],
-[[~~~~~A~~~~~~~~~~~~~~~~~~~~~~~~~~A~~~~~~~]],
+[[.#####+###########+####################.]],
+[[.#.p....p.+..P......H....TT..+.....p..#.]],
+[[.#.###+##.#.....p......p..TT^#.##+###.#.]],
+[[.#.#....#.#%################%#p#xxx.#.#.]],
+[[.#.#pppP#.#....DDLL#LLDD.....#.#TTTT#.#.]],
+[[.#p#HHHH#.####################.#HHHH#p#.]],
+[[.#.#xxxx#p#~~~~A~~~~~~~~~A~~~#.#xxx.#.#.]],
+[[.#.######.#~~~~~~~~~~~~~~~~~~#.######.#.]],
+[[.#..p.....#~~~~~~~~~~~~~~~~A~#p...p...#.]],
+[[.##########~~~~~A~~~~~~~~~~~~##########.]],
+[[........................................]],
 
 }
\ No newline at end of file
diff --git a/game/modules/tome/data/talents/psionic/augmented-mobility.lua b/game/modules/tome/data/talents/psionic/augmented-mobility.lua
index ad8d851d1b26b5deb3df9d6eb3f8233aec027ee3..98da34f76ff79322a7608e7543a50f5139c96a40 100644
--- a/game/modules/tome/data/talents/psionic/augmented-mobility.lua
+++ b/game/modules/tome/data/talents/psionic/augmented-mobility.lua
@@ -154,10 +154,15 @@ newTalent{
 				end
 				local dam = self:spellCrit(self:combatTalentMindDamage(t, 20, 600))
 				self:project(tg, x, y, DamageType.BATTER, self:spellCrit(rng.avg(2*dam/3, dam, 3)))
-				local _ _, x, y = self:canProject(tg, x, y)
+				--local _ _, x, y = self:canProject(tg, x, y)
 				game.level.map:particleEmitter(self.x, self.y, tg.radius, "flamebeam", {tx=x-self.x, ty=y-self.y})
 				game:playSoundNear(self, "talents/lightning")
-				self:move(x, y, true)
+				--self:move(x, y, true)
+				local fx, fy = util.findFreeGrid(x, y, 5, true, {[Map.ACTOR]=true})
+				if not fx then
+					return
+				end
+				self:move(fx, fy, true)
 			else
 				game.logSeen(self, "You can't move there.")
 				return nil
@@ -189,7 +194,12 @@ newTalent{
 				tx, ty = lx, ly
 				lx, ly = l()
 			end
-			self:move(tx, ty, true)
+			--self:move(tx, ty, true)
+			local fx, fy = util.findFreeGrid(tx, ty, 5, true, {[Map.ACTOR]=true})
+			if not fx then
+				return
+			end
+			self:move(fx, fy, true)
 			return true
 		end
 	end,
diff --git a/game/modules/tome/data/talents/psionic/focus.lua b/game/modules/tome/data/talents/psionic/focus.lua
index 7826da7942e6a5c59d2566dead2340f613c76e1f..6e7c2f5ca1b03c7a2b995622c2144da7851c00e5 100644
--- a/game/modules/tome/data/talents/psionic/focus.lua
+++ b/game/modules/tome/data/talents/psionic/focus.lua
@@ -29,11 +29,11 @@ newTalent{
 	points = 5,
 	random_ego = "attack",
 	cooldown = function(self, t)
-		local c = 15
+		local c = 5
 		local gem_level = getGemLevel(self)
-		return c - gem_level
+		return math.max(c - gem_level, 0)
 	end,
-	psi = 15,
+	psi = 10,
 	tactical = { ATTACK = 2 },
 	range = function(self, t)
 		local r = 5
diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua
index 58d93a050f5b1976d32fe5f6f8a8c1249956a533..45855ea31a801bdf8453f25c5ea930768e338109 100644
--- a/game/modules/tome/data/timed_effects.lua
+++ b/game/modules/tome/data/timed_effects.lua
@@ -395,7 +395,7 @@ newEffect{
 newEffect{
 	name = "STUNNED",
 	desc = "Stunned",
-	long_desc = function(self, eff) return ("The target is stunned, reducing damage by 70%%, healing received by 50%, putting random talents on cooldown and reducing movement speed by 50%%. While stunned talents do not cooldown."):format() end,
+	long_desc = function(self, eff) return ("The target is stunned, reducing damage by 70%%, healing received by 50%%, putting random talents on cooldown and reducing movement speed by 50%%. While stunned talents do not cooldown."):format() end,
 	type = "physical",
 	status = "detrimental",
 	parameters = {},
diff --git a/ideas/quests.ods b/ideas/quests.ods
index f550cb98cd7336617a730bef972982b7f811c6df..267fd2f43118649e1707a2466a6528a062a536b1 100644
Binary files a/ideas/quests.ods and b/ideas/quests.ods differ
diff --git a/ideas/setting.ods b/ideas/setting-eyal.ods
similarity index 100%
rename from ideas/setting.ods
rename to ideas/setting-eyal.ods