diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua
index 7b453a86dd3b02537132ef983005759b629b0f34..3007eed1578222088f18d4c8819c9939e1e70b57 100644
--- a/game/modules/tome/class/GameState.lua
+++ b/game/modules/tome/class/GameState.lua
@@ -154,8 +154,8 @@ function _M:generateRandart(add)
 	end
 
 	-- Determine power
-	local points = lev * 0.65 + rng.range(5, 15)
-	local nb_powers = 2 + rng.range(1, lev / 5)
+	local points = lev * 0.7 + rng.range(5, 15)
+	local nb_powers = 2 + rng.dice(math.max(1, lev / 10), 2)
 	local powers = {}
 	print("Creating randart "..o.name.." with level "..lev)