From 03eef3c1a5f63ef10fa206ab3523a820449a1dba Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Wed, 15 Oct 2014 11:35:15 +0200
Subject: [PATCH] Races can define "_forbid_start_override" to not be subjected
 to archmages/chronomancers/.. different starting zones

---
 game/modules/tome/data/birth/classes/celestial.lua    | 2 +-
 game/modules/tome/data/birth/classes/chronomancer.lua | 2 +-
 game/modules/tome/data/birth/classes/mage.lua         | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/game/modules/tome/data/birth/classes/celestial.lua b/game/modules/tome/data/birth/classes/celestial.lua
index c3e2c4c02d..96514a5baa 100644
--- a/game/modules/tome/data/birth/classes/celestial.lua
+++ b/game/modules/tome/data/birth/classes/celestial.lua
@@ -37,7 +37,7 @@ newBirthDescriptor{
 	},
 	copy = {
 		class_start_check = function(self)
-			if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race == "Human" or self.descriptor.race == "Elf") then
+			if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race == "Human" or self.descriptor.race == "Elf") and not self._forbid_start_override then
 				self.celestial_race_start_quest = self.starting_quest
 				self.default_wilderness = {"zone-pop", "ruined-gates-of-morning"}
 				self.starting_zone = "town-gates-of-morning"
diff --git a/game/modules/tome/data/birth/classes/chronomancer.lua b/game/modules/tome/data/birth/classes/chronomancer.lua
index c3feec1c45..64cea8be3a 100644
--- a/game/modules/tome/data/birth/classes/chronomancer.lua
+++ b/game/modules/tome/data/birth/classes/chronomancer.lua
@@ -37,7 +37,7 @@ newBirthDescriptor{
 	copy = {
 		-- Chronomancers start in Point Zero
 		class_start_check = function(self)
-			if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race ~= "Undead" and self.descriptor.race ~= "Dwarf" and self.descriptor.race ~= "Yeek") then
+			if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race ~= "Undead" and self.descriptor.race ~= "Dwarf" and self.descriptor.race ~= "Yeek") and not self._forbid_start_override then
 				self.chronomancer_race_start_quest = self.starting_quest
 				self.default_wilderness = {"zone-pop", "angolwen-portal"}
 				self.starting_zone = "town-point-zero"
diff --git a/game/modules/tome/data/birth/classes/mage.lua b/game/modules/tome/data/birth/classes/mage.lua
index bcf139442a..e801ea881d 100644
--- a/game/modules/tome/data/birth/classes/mage.lua
+++ b/game/modules/tome/data/birth/classes/mage.lua
@@ -200,7 +200,7 @@ newBirthDescriptor{
 	copy = {
 		-- Mages start in angolwen
 		class_start_check = function(self)
-			if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race == "Human" or self.descriptor.race == "Elf" or self.descriptor.race == "Halfling") then
+			if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race == "Human" or self.descriptor.race == "Elf" or self.descriptor.race == "Halfling") and not self._forbid_start_override then
 				self.archmage_race_start_quest = self.starting_quest
 				self.default_wilderness = {"zone-pop", "angolwen-portal"}
 				self.starting_zone = "town-angolwen"
-- 
GitLab