diff --git a/game/engines/default/engine/Game.lua b/game/engines/default/engine/Game.lua
index c81ecc4466ce1d5fb864d8a362334757828fec40..a28a6f4312ade21eabf84fe9ef13e4b4321cd0fc 100644
--- a/game/engines/default/engine/Game.lua
+++ b/game/engines/default/engine/Game.lua
@@ -367,10 +367,10 @@ end
 function _M:setResolution(res, force)
 	local r = available_resolutions[res]
 	if force and not r then
-		local _, _, w, h = res:find("([0-9][0-9][0-9]+)x([0-9][0-9][0-9]+)")
+		local _, _, w, h, f = res:find("([0-9][0-9][0-9]+)x([0-9][0-9][0-9]+)(.*)")
 		w = tonumber(w)
 		h = tonumber(h)
-		if w and h then r = {w, h, false} end
+		if w and h then r = {w, h, f==" Fullscreen" and true or false} end
 	end
 	if not r then return false, "unknown resolution" end
 
diff --git a/game/modules/tome/data/talents/cursed/slaughter.lua b/game/modules/tome/data/talents/cursed/slaughter.lua
index 135b4343f4617ca3e5910de80bc428524cbc438e..bb8b0d9cbdc8410fa99bf2d33c39cb6733e403a1 100644
--- a/game/modules/tome/data/talents/cursed/slaughter.lua
+++ b/game/modules/tome/data/talents/cursed/slaughter.lua
@@ -63,6 +63,7 @@ newTalent{
 	random_ego = "attack",
 	cooldown = 15,
 	hate = 0.2,
+	requires_target = true,
 	action = function(self, t)
 		if not self:hasAxeWeapon() and not self:hasCursedWeapon() then
 			game.logPlayer(self, "You cannot use %s without an axe or a cursed weapon!", t.name)
diff --git a/game/modules/tome/data/talents/spells/water.lua b/game/modules/tome/data/talents/spells/water.lua
index 21fdd4ac79865cd80ae4e1b42de542993917f77d..f0c4a460df481758434764ee0b485b7987738b07 100644
--- a/game/modules/tome/data/talents/spells/water.lua
+++ b/game/modules/tome/data/talents/spells/water.lua
@@ -103,6 +103,7 @@ newTalent{
 	tactical = { ESCAPE = 2, ATTACKAREA = 1, DISABLE = 1 },
 	direct_hit = true,
 	range = 0,
+	requires_target = true,
 	radius = function(self, t)
 		return 1 + 0.5 * t.getDuration(self, t)
 	end,
@@ -149,6 +150,7 @@ newTalent{
 	tactical = { ATTACKAREA = 2 },
 	range = 0,
 	radius = 3,
+	requires_target = true,
 	target = function(self, t)
 		return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false}
 	end,
diff --git a/game/modules/tome/data/talents/techniques/2hweapon.lua b/game/modules/tome/data/talents/techniques/2hweapon.lua
index 6cca1dfd541d34a6f24ab0373bdef4e18eb23678..4014bb5c427ab4c1baea3626892ea5e503dee823 100644
--- a/game/modules/tome/data/talents/techniques/2hweapon.lua
+++ b/game/modules/tome/data/talents/techniques/2hweapon.lua
@@ -29,6 +29,7 @@ newTalent{
 	tactical = { ATTACKAREA = 3 },
 	range = 0,
 	radius = 1,
+	requires_target = true,
 	target = function(self, t)
 		return {type="ball", range=self:getTalentRange(t), selffire=false, radius=self:getTalentRadius(t)}
 	end,
diff --git a/src/core_lua.c b/src/core_lua.c
index d67bc0f6c75079e49373975f44c5d9db7548df17..004fd5bb14b255c672ae13167b4f3d4fdfda852f 100644
--- a/src/core_lua.c
+++ b/src/core_lua.c
@@ -1649,6 +1649,7 @@ static int sdl_set_window_size(lua_State *L)
 	int h = luaL_checknumber(L, 2);
 	bool fullscreen = lua_toboolean(L, 3);
 
+	printf("Setting resolution to %dx%d (%s)\n", w, h, fullscreen ? "fullscreen" : "windowed");
 	do_resize(w, h, fullscreen);
 
 	lua_pushboolean(L, TRUE);