diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index b7f699f9a71cbb40d6f40df79f01d3cf775d477b..0e950ed82e23e8ef742a59d248a109431ef0316f 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -64,8 +64,9 @@ module(..., package.seeall, class.inherit(engine.GameTurnBased, engine.interface
 -- Difficulty settings
 DIFFICULTY_EASY = 1
 DIFFICULTY_NORMAL = 2
-DIFFICULTY_NIGHTMARE = 3
-DIFFICULTY_INSANE = 4
+DIFFICULTY_HARDCORE = 3
+DIFFICULTY_NIGHTMARE = 4
+DIFFICULTY_INSANE = 5
 
 function _M:init()
 	engine.GameTurnBased.init(self, engine.KeyBind.new(), 1000, 100)
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index 12b2e10f4e1546d3cae7a257c5c29d5710dd0368..f49ecef901011b81ad61f999612f39a9a02bfc76 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -381,7 +381,7 @@ end
 function _M:heal(value, src)
 	-- Difficulty settings
 	if game.difficulty == game.DIFFICULTY_EASY then
-		value = value * 1.1
+		value = value * 1.3
 	end
 
 	mod.class.Actor.heal(self, value, src)
diff --git a/game/modules/tome/data/birth/descriptors.lua b/game/modules/tome/data/birth/descriptors.lua
index f85644a1dfb722e68bdb27683d8e14d5e931e8d3..37504bdc5f4c52cfdb58860cf58f72aa3838f236 100644
--- a/game/modules/tome/data/birth/descriptors.lua
+++ b/game/modules/tome/data/birth/descriptors.lua
@@ -107,9 +107,9 @@ newBirthDescriptor{
 	display_name = "Discovery",
 	desc =
 	{
-		"Discovery game mode",
+		"Easy game mode",
 		"All damage done to the player decreased by 30%",
-		"All healing for the player increased by 10%",
+		"All healing for the player increased by 30%",
 		"At level 1,2,3,5,7,10,14,18,24,30,40 get one more 'life' that allows to resurrect at the start of the level.",
 		"Achievements are not granted.",
 	},
@@ -128,16 +128,34 @@ newBirthDescriptor{
 	name = "Normal",
 	selection_default = profile.mod.allow_build.tutorial_done,
 	desc =
+	{
+		"Normal game mode",
+		"At level 1,2,3,5,7,10,14,18,24,30,40 get one more 'life' that allows to resurrect at the start of the level.",
+	},
+	descriptor_choices =
+	{
+		race = { ["Tutorial Human"] = "forbid", },
+		class = { ["Tutorial Adventurer"] = "forbid", },
+	},
+	copy = {
+		__game_difficulty = 2,
+		easy_mode_lifes = 1,
+	},
+}
+newBirthDescriptor{
+	type = "difficulty",
+	name = "Hardcore",
+	desc =
 	{
 		"Normal game setting",
-		"No changes to the rules.",
+		"Only one life, unless ways to self-resurrect are found in-game.",
 	},
 	descriptor_choices =
 	{
 		race = { ["Tutorial Human"] = "forbid", },
 		class = { ["Tutorial Adventurer"] = "forbid", },
 	},
-	copy = { __game_difficulty = 2 },
+	copy = { __game_difficulty = 3 },
 }
 newBirthDescriptor{
 	type = "difficulty",
@@ -145,6 +163,7 @@ newBirthDescriptor{
 	desc =
 	{
 		"Hard game setting",
+		"Only one life, unless ways to self-resurrect are found in-game.",
 		"All zone levels increased by 40% + 5",
 		"All damage done to the player increased by 30%",
 	},
@@ -153,7 +172,7 @@ newBirthDescriptor{
 		race = { ["Tutorial Human"] = "forbid", },
 		class = { ["Tutorial Adventurer"] = "forbid", },
 	},
-	copy = { __game_difficulty = 3 },
+	copy = { __game_difficulty = 4 },
 }
 newBirthDescriptor{
 	type = "difficulty",
@@ -161,6 +180,7 @@ newBirthDescriptor{
 	desc =
 	{
 		"Absolutely unfair game setting",
+		"Only one life, unless ways to self-resurrect are found in-game.",
 		"All zone levels increased by 100% + 10",
 		"All damage done to the player increased by 60%",
 		"Player rank is normal instead of elite",
@@ -170,7 +190,7 @@ newBirthDescriptor{
 		race = { ["Tutorial Human"] = "forbid", },
 		class = { ["Tutorial Adventurer"] = "forbid", },
 	},
-	copy = { __game_difficulty = 4, rank=2 },
+	copy = { __game_difficulty = 5, rank=2 },
 }