From 519a05b21e76158febefb9022719c080e44acd35 Mon Sep 17 00:00:00 2001
From: Hachem_Muche <Hachem_Muche@stanfordalumni.org>
Date: Sat, 31 Mar 2018 14:25:59 -0700
Subject: [PATCH] Update the definitions of some bosses to use class
 autolevelling:

Trollmire troll bosses: 75% Berserker class advancement starting at level 11
Aluin the Fallen: 50% Sun Paladin and 50% Cursed starting at level 36
The Shade: 75% Archmage starting at level 12
The Possessed: 75% Arcane Blade starting at level 12
Kor's Fury: 50% Archmage, 50% Corruptor starting at level 39
Epoch: 100% Paradox Mage starting at level 36
The Abomination: 50% Anorithil and 50% Cursed class advancement starting at level 36
Nimisil: 100% Anorithil starting at level 44
Snaproot: 100% Summoner starting at level 51
Corrupted Sand Wyrm: 50% Corruptor, 50% Wyrmic starting at level 48
Massok the Dragonslayer: 100% Berserker, starting at level 46
Pale Drake: 50% Archmage, 50% Corruptor starting at level 41
Fallen Sun Paladin Aeryn: 100% Sun Paladin starting at level 57
---
 game/modules/tome/data/zones/daikara/npcs.lua       | 1 +
 game/modules/tome/data/zones/deep-bellow/npcs.lua   | 3 +++
 game/modules/tome/data/zones/dreadfell/npcs.lua     | 3 +++
 game/modules/tome/data/zones/high-peak/npcs.lua     | 1 +
 game/modules/tome/data/zones/maze/npcs.lua          | 1 +
 game/modules/tome/data/zones/old-forest/npcs.lua    | 1 +
 game/modules/tome/data/zones/paradox-plane/npcs.lua | 2 +-
 game/modules/tome/data/zones/ruins-kor-pul/npcs.lua | 5 +++++
 game/modules/tome/data/zones/sandworm-lair/npcs.lua | 6 +++++-
 game/modules/tome/data/zones/trollmire/npcs.lua     | 6 ++++++
 10 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/game/modules/tome/data/zones/daikara/npcs.lua b/game/modules/tome/data/zones/daikara/npcs.lua
index ad569705a5..704868246f 100644
--- a/game/modules/tome/data/zones/daikara/npcs.lua
+++ b/game/modules/tome/data/zones/daikara/npcs.lua
@@ -166,6 +166,7 @@ newEntity{ base="BASE_NPC_ORC_GRUSHNAK", define_as = "MASSOK",
 	open_door = true,
 
 	autolevel = "warrior",
+	auto_classes={{class="Berserker", start_level=46}},
 	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 	resolvers.inscriptions(4, {"wild infusion", "healing infusion", "regeneration infusion", "heroism infusion"}),
diff --git a/game/modules/tome/data/zones/deep-bellow/npcs.lua b/game/modules/tome/data/zones/deep-bellow/npcs.lua
index 5edf50272a..1248812224 100644
--- a/game/modules/tome/data/zones/deep-bellow/npcs.lua
+++ b/game/modules/tome/data/zones/deep-bellow/npcs.lua
@@ -197,6 +197,9 @@ newEntity{ base="BASE_NPC_CORRUPTED_HORROR", define_as = "ABOMINATION",
 	end,
 
 	autolevel = "warriormage",
+	auto_classes={{class="Anorithil", start_level=36, level_rate=50},
+		{class="Cursed", start_level=36, level_rate=50}
+	},
 	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 	resolvers.inscriptions(4, {}),
diff --git a/game/modules/tome/data/zones/dreadfell/npcs.lua b/game/modules/tome/data/zones/dreadfell/npcs.lua
index 25a968f7e8..54df1b15d6 100644
--- a/game/modules/tome/data/zones/dreadfell/npcs.lua
+++ b/game/modules/tome/data/zones/dreadfell/npcs.lua
@@ -186,6 +186,9 @@ newEntity{ define_as = "PALE_DRAKE",
 	resolvers.sustains_at_birth(),
 
 	autolevel = "caster",
+	auto_classes={{class="Archmage", start_level=41, level_rate=50},
+		{class="Corruptor", start_level=41, level_rate=50}
+	},
 	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"ranged",
 	resolvers.inscriptions(4, "rune"),
diff --git a/game/modules/tome/data/zones/high-peak/npcs.lua b/game/modules/tome/data/zones/high-peak/npcs.lua
index a50e87c670..52d2141c87 100644
--- a/game/modules/tome/data/zones/high-peak/npcs.lua
+++ b/game/modules/tome/data/zones/high-peak/npcs.lua
@@ -290,6 +290,7 @@ newEntity{ define_as = "FALLEN_SUN_PALADIN_AERYN",
 		[Talents.T_SPECTRAL_SHIELD]=1,
 		[Talents.T_IRRESISTIBLE_SUN]=1,
 	},
+	auto_classes={{class="Sun Paladin", start_level=57, level_rate=100}},
 	resolvers.sustains_at_birth(),
 }
 
diff --git a/game/modules/tome/data/zones/maze/npcs.lua b/game/modules/tome/data/zones/maze/npcs.lua
index 926aa36423..cbbe35af2e 100644
--- a/game/modules/tome/data/zones/maze/npcs.lua
+++ b/game/modules/tome/data/zones/maze/npcs.lua
@@ -165,6 +165,7 @@ newEntity{ base = "BASE_NPC_SPIDER", define_as = "NIMISIL",
 	combat = {dam=80, atk=30, apr=15, dammod={mag=1.1}, damtype=DamageType.ARCANE},
 
 	autolevel = "caster",
+	auto_classes={{class="Anorithil", start_level=44}},
 	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
 	resolvers.inscriptions(5, {}),
 	inc_damage = {all=40},
diff --git a/game/modules/tome/data/zones/old-forest/npcs.lua b/game/modules/tome/data/zones/old-forest/npcs.lua
index 8807a0e71e..18d77ca103 100644
--- a/game/modules/tome/data/zones/old-forest/npcs.lua
+++ b/game/modules/tome/data/zones/old-forest/npcs.lua
@@ -193,6 +193,7 @@ newEntity{ define_as = "SNAPROOT", -- backup guardian
 		[Talents.T_MASSIVE_BLOW] = 1, 
 	},
 	autolevel = "warriorwill",
+	auto_classes={{class="Summoner", start_level=51}},
 	ai = "tactical", ai_state = { talent_in=2, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 	resolvers.inscriptions(6, "infusion"),
diff --git a/game/modules/tome/data/zones/paradox-plane/npcs.lua b/game/modules/tome/data/zones/paradox-plane/npcs.lua
index 3a15f9c4ea..78a25b9a9d 100644
--- a/game/modules/tome/data/zones/paradox-plane/npcs.lua
+++ b/game/modules/tome/data/zones/paradox-plane/npcs.lua
@@ -74,7 +74,7 @@ newEntity{ define_as = "EPOCH",
 		[Talents.T_HASTE]={base=1, every=7},
 		[Talents.T_DIMENSIONAL_STEP]=5,
 	},
-
+	auto_classes={{class="Paradox Mage", start_level=36}},
 	resolvers.sustains_at_birth(),
 
 	autolevel = "caster",
diff --git a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
index 2181b3ff4c..cdb6fd3525 100644
--- a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
+++ b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
@@ -74,6 +74,7 @@ newEntity{ define_as = "SHADE",
 	inc_damage = {all=-20},
 
 	autolevel = "warriormage",
+	auto_classes={{class="Archmage", start_level=12, level_rate=75}},
 	ai = "tactical", ai_state = { talent_in=3, ai_move="move_astar", },
 
 	on_die = function(self, who)
@@ -114,6 +115,7 @@ newEntity{ base = "BASE_NPC_THIEF", define_as = "THE_POSSESSED",
 	},
 
 	autolevel = "rogue",
+	auto_classes={{class="Arcane Blade", start_level=12, level_rate=75}},
 	ai = "tactical", ai_state = { talent_in=2, ai_move="move_astar", },
 
 	on_die = function(self, who)
@@ -174,6 +176,9 @@ newEntity{ define_as = "KOR_FURY",
 	},
 
 	autolevel = "caster",
+	auto_classes={{class="Archmage", start_level=39, level_rate=50},
+		{class="Corruptor", start_level=39, level_rate=50}
+	},
 	ai = "tactical", ai_state = { ai_target="target_player_radius", ai_move="move_complex", sense_radius=50, talent_in=1, },
 	ai_tactic = resolvers.tactic"ranged",
 	resolvers.inscriptions(4, "rune"),
diff --git a/game/modules/tome/data/zones/sandworm-lair/npcs.lua b/game/modules/tome/data/zones/sandworm-lair/npcs.lua
index dffab08d2f..0a4f78e313 100644
--- a/game/modules/tome/data/zones/sandworm-lair/npcs.lua
+++ b/game/modules/tome/data/zones/sandworm-lair/npcs.lua
@@ -190,7 +190,8 @@ newEntity{ define_as = "CORRUPTED_SAND_WYRM",
 	combat = { dam=140, atk=130, apr=25, dammod={str=1.2} },
 
 	resists = { [DamageType.BLIGHT] = 25, [DamageType.NATURE] = 50 },
-
+	equilibrium_regen = -10,
+	vim_regen = 5,
 	body = { INVEN = 10, BODY=1 },
 
 	can_pass = {pass_wall=20},
@@ -213,6 +214,9 @@ newEntity{ define_as = "CORRUPTED_SAND_WYRM",
 	resolvers.sustains_at_birth(),
 
 	autolevel = "warriormage",
+	auto_classes={{class="Corruptor", start_level=48, level_rate=50},
+		{class="Wyrmic", start_level=48, level_rate=50},
+	},
 	ai = "tactical", ai_state = { ai_target="target_player_radius", ai_move="move_complex", sense_radius=400, talent_in=1, },
 	dont_pass_target = true,
 	resolvers.inscriptions(4, "infusion"),
diff --git a/game/modules/tome/data/zones/trollmire/npcs.lua b/game/modules/tome/data/zones/trollmire/npcs.lua
index 995478ecff..ac8c74f4cb 100644
--- a/game/modules/tome/data/zones/trollmire/npcs.lua
+++ b/game/modules/tome/data/zones/trollmire/npcs.lua
@@ -75,6 +75,7 @@ newEntity{ define_as = "TROLL_PROX",
 	inc_damage = { all = -40 },
 
 	autolevel = "warrior",
+	auto_classes={{class="Berserker", start_level=11, level_rate=75},},
 	ai = "tactical", ai_state = { talent_in=3, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 
@@ -137,6 +138,7 @@ newEntity{ define_as = "TROLL_SHAX",
 	inc_damage = { all = -40 },
 
 	autolevel = "warrior",
+	auto_classes={{class="Berserker", start_level=11, level_rate=75},},
 	ai = "tactical", ai_state = { talent_in=3, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 
@@ -200,6 +202,7 @@ This is the troll the notes spoke about, no doubt.]],
 	resolvers.inscriptions(1, {"wild infusion", "heroism infusion"}),
 
 	autolevel = "warrior",
+	auto_classes={{class="Berserker", start_level=11, level_rate=75},},
 	ai = "tactical", ai_state = { talent_in=3, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 
@@ -264,6 +267,9 @@ newEntity{ define_as = "ALUIN",
 	resolvers.sustains_at_birth(),
 
 	autolevel = "warriormage",
+	auto_classes={{class="Sun Paladin", start_level=36, level_rate=50},
+		{class="Cursed", start_level=36, level_rate=50}
+	},
 	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
 	ai_tactic = resolvers.tactic"melee",
 	resolvers.inscriptions(4, {}),
-- 
GitLab