Advertisement
Guest User

outcast mage tome4

a guest
Feb 18th, 2012
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.31 KB | None | 0 0
  1. -- ToME - Tales of Maj'Eyal
  2. -- Copyright (C) 2009, 2010, 2011 Nicolas Casalini
  3. --
  4. -- This program is free software: you can redistribute it and/or modify
  5. -- it under the terms of the GNU General Public License as published by
  6. -- the Free Software Foundation, either version 3 of the License, or
  7. -- (at your option) any later version.
  8. --
  9. -- This program is distributed in the hope that it will be useful,
  10. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. -- GNU General Public License for more details.
  13. --
  14. -- You should have received a copy of the GNU General Public License
  15. -- along with this program.  If not, see <http://www.gnu.org/licenses/>.
  16. --
  17. -- Nicolas Casalini "DarkGod"
  18. -- darkgod@te4.org
  19.  
  20. newBirthDescriptor{
  21.     type = "class",
  22.     name = "Mage",
  23.     desc = {
  24.         "Mages are the wielders of arcane powers, able to cast powerful spells of destruction or to heal their wounds with nothing but a thought.",
  25.     },
  26.     descriptor_choices =
  27.     {
  28.         subclass =
  29.         {
  30.             __ALL__ = "disallow",
  31.             Alchemist = "allow",
  32.             Archmage = "allow",
  33.             Necromancer = "allow",
  34.             ["Outcast Mage"] = "allow",
  35.         },
  36.     },
  37.     copy = {
  38.         mana_regen = 0.5,
  39.         mana_rating = 7,
  40.         resolvers.inscription("RUNE:_MANASURGE", {cooldown=25, dur=10, mana=620}),
  41.     },
  42. }
  43.  
  44. newBirthDescriptor{
  45.     type = "subclass",
  46.     name = "Archmage",
  47.     locked = function() return profile.mod.allow_build.mage end,
  48.     locked_desc = "Hated, harrowed, hunted, hidden... Our ways are forbidden, but our cause is just. In our veiled valley we find solace from the world's wrath, free to study our arts. Only through charity and friendship can you earn our trust.",
  49.     desc = {
  50.         "An Archmage devotes his whole life to the study of magic above anything else.",
  51.         "Most Archmagi lack basic skills that others take for granted (like general fighting sense), but they make up for it by their raw magical power.",
  52.         "Archmagi start with knowledge of many schools of magic. However, they usually refuse to have anything to do with Necromancy.",
  53.         "Most Archmagi have been trained in the secret town of Angolwen and possess a unique spell to teleport to it directly.",
  54.         "Their most important stats are: Magic and Willpower",
  55.         "#GOLD#Stat modifiers:",
  56.         "#LIGHT_BLUE# * +0 Strength, +0 Dexterity, +0 Constitution",
  57.         "#LIGHT_BLUE# * +5 Magic, +3 Willpower, +1 Cunning",
  58.     },
  59.     stats = { mag=5, wil=3, cun=1, },
  60.     talents_types = {
  61.         ["spell/arcane"]={true, 0.3},
  62.         ["spell/fire"]={true, 0.3},
  63.         ["spell/earth"]={true, 0.3},
  64.         ["spell/water"]={true, 0.3},
  65.         ["spell/air"]={true, 0.3},
  66.         ["spell/phantasm"]={true, 0.3},
  67.         ["spell/temporal"]={false, 0.3},
  68.         ["spell/meta"]={false, 0.3},
  69.         ["spell/divination"]={true, 0.3},
  70.         ["spell/conveyance"]={true, 0.3},
  71.         ["spell/aegis"]={true, 0.3},
  72.         ["cunning/survival"]={false, -0.1},
  73.     },
  74.     birth_example_particles = "arcane_power",
  75.     talents = {
  76.         [ActorTalents.T_ARCANE_POWER] = 1,
  77.         [ActorTalents.T_FLAME] = 1,
  78.         [ActorTalents.T_LIGHTNING] = 1,
  79.         [ActorTalents.T_PHASE_DOOR] = 1,
  80.     },
  81.     copy = {
  82.         -- Mages start in angolwen
  83.         class_start_check = function(self)
  84.             if self.descriptor.world == "Maj'Eyal" and (self.descriptor.race == "Human" or self.descriptor.race == "Elf" or self.descriptor.race == "Halfling") then
  85.                 self.archmage_race_start_quest = self.starting_quest
  86.                 self.default_wilderness = {"zone-pop", "angolwen-portal"}
  87.                 self.starting_zone = "town-angolwen"
  88.                 self.starting_quest = "start-archmage"
  89.                 self.starting_intro = "archmage"
  90.                 self:learnTalent(self.T_TELEPORT_ANGOLWEN, true)
  91.             end
  92.         end,
  93.  
  94.         -- All mages are of angolwen faction
  95.         faction = "angolwen",
  96.         max_life = 90,
  97.         resolvers.equip{ id=true,
  98.             {type="weapon", subtype="staff", name="elm staff", autoreq=true, ego_chance=-1000},
  99.             {type="armor", subtype="cloth", name="linen robe", autoreq=true, ego_chance=-1000},
  100.         },
  101.         resolvers.generic(function(self)
  102.             if profile.mod.allow_build.mage_pyromancer then self:learnTalentType("spell/wildfire", false) self:setTalentTypeMastery("spell/wildfire", 1.3) end
  103.             if profile.mod.allow_build.mage_cryomancer then self:learnTalentType("spell/ice", false) self:setTalentTypeMastery("spell/ice", 1.3) end
  104.             if profile.mod.allow_build.mage_geomancer then self:learnTalentType("spell/stone", false) self:setTalentTypeMastery("spell/stone", 1.3) end
  105.             if profile.mod.allow_build.mage_tempest then self:learnTalentType("spell/storm", false) self:setTalentTypeMastery("spell/storm", 1.3) end
  106.         end),
  107.     },
  108.     copy_add = {
  109.         life_rating = -4,
  110.     },
  111. }
  112.  
  113. newBirthDescriptor{
  114.     type = "subclass",
  115.     name = "Alchemist",
  116.     desc = {
  117.         "An Alchemist is a manipulator of materials using magic.",
  118.         "They do not use the forbidden arcane arts practised by the mages of old - such perverters of nature have been shunned or actively hunted down since the Spellblaze.",
  119.         "Alchemists can transmute gems to bring forth elemental effects, turning them into balls of fire, torrents of acid, and other effects.  They can also reinforce armour with magical effects using gems, and channel arcane staffs to produce bolts of energy.",
  120.         "Though normally physically weak, most alchemists are accompanied by magical golems which they construct and use as bodyguards.  These golems are enslaved to their master's will, and can grow in power as their master advances through the arts.",
  121.         "Their most important stats are: Magic and Dexterity",
  122.         "#GOLD#Stat modifiers:",
  123.         "#LIGHT_BLUE# * +0 Strength, +3 Dexterity, +0 Constitution",
  124.         "#LIGHT_BLUE# * +5 Magic, +1 Willpower, +0 Cunning",
  125.     },
  126.     stats = { mag=5, dex=3, wil=1, },
  127.     talents_types = {
  128.         ["spell/explosives"]={true, 0.3},
  129.         ["spell/infusion"]={true, 0.3},
  130.         ["spell/golemancy"]={true, 0.3},
  131.         ["spell/advanced-golemancy"]={false, 0.3},
  132.         ["spell/stone-alchemy"]={true, 0.3},
  133.         ["spell/fire-alchemy"]={false, 0.3},
  134.         ["spell/staff-combat"]={true, 0.3},
  135.         ["cunning/survival"]={false, -0.1},
  136.         ["technique/combat-training"]={false, 0},
  137.     },
  138.     talents = {
  139.         [ActorTalents.T_CREATE_ALCHEMIST_GEMS] = 1,
  140.         [ActorTalents.T_REFIT_GOLEM] = 1,
  141.         [ActorTalents.T_THROW_BOMB] = 1,
  142.         [ActorTalents.T_FIRE_INFUSION] = 1,
  143.         [ActorTalents.T_CHANNEL_STAFF] = 1,
  144.     },
  145.     copy = {
  146.         max_life = 90,
  147.         resolvers.equip{ id=true,
  148.             {type="weapon", subtype="staff", name="elm staff", autoreq=true, ego_chance=-1000},
  149.             {type="armor", subtype="cloth", name="linen robe", autoreq=true, ego_chance=-1000}
  150.         },
  151.         resolvers.inventory{ id=true,
  152.             {type="gem",},
  153.             {type="gem",},
  154.             {type="gem",},
  155.         },
  156.         resolvers.generic(function(self) self:birth_create_alchemist_golem() end),
  157.         birth_create_alchemist_golem = function(self)
  158.             -- Make and wield some alchemist gems
  159.             local t = self:getTalentFromId(self.T_CREATE_ALCHEMIST_GEMS)
  160.             local gem = t.make_gem(self, t, "GEM_AGATE")
  161.             self:wearObject(gem, true, true)
  162.             self:sortInven()
  163.  
  164.             -- Invoke the golem
  165.             if not self.alchemy_golem then
  166.                 local t = self:getTalentFromId(self.T_REFIT_GOLEM)
  167.                 t.action(self, t)
  168.             end
  169.         end,
  170.     },
  171.     copy_add = {
  172.         life_rating = -1,
  173.     },
  174. }
  175.  
  176. newBirthDescriptor{
  177.     type = "subclass",
  178.     name = "Necromancer",
  179.     locked = function() return profile.mod.allow_build.mage_necromancer and true or "hide" end,
  180.     locked_desc = "The road to necromancy is a macabre path indeed. Walk with the dead, and drink deeply of their black knowledge.",
  181.     not_on_random_boss = true,
  182.     desc = {
  183.         "While most magic is viewed with suspicion since the Spellblaze, the stigma surrounding the black art of Necromancy has been around since time immemorial.",
  184.         "These dark spellcasters extinguish life, twist death, and raise armies of undead monsters to sate their lust for power and pursue their ultimate goal: Eternal life.",
  185.         "Their most important stats are: Magic and Willpower",
  186.         "#GOLD#Stat modifiers:",
  187.         "#LIGHT_BLUE# * +0 Strength, +0 Dexterity, +0 Constitution",
  188.         "#LIGHT_BLUE# * +5 Magic, +3 Willpower, +1 Cunning",
  189.     },
  190.     stats = { mag=5, wil=3, cun=1, },
  191.     talents_types = {
  192.         ["spell/ice"]={true, 0},
  193.         ["spell/necrotic-minions"]={true, 0.3},
  194.         ["spell/advanced-necrotic-minions"]={false, 0.3},
  195.         ["spell/death"]={true, 0.3},
  196.         ["spell/nightfall"]={true, 0.3},
  197.         ["cunning/survival"]={false, -0.1},
  198.     },
  199.     birth_example_particles = "necrotic-aura",
  200.     talents = {
  201.         [ActorTalents.T_NECROTIC_AURA] = 1,
  202.         [ActorTalents.T_CREATE_MINIONS] = 1,
  203.     },
  204.     copy = {
  205.         necrotic_aura_base_souls = 1,
  206.         max_life = 90,
  207.         resolvers.equip{ id=true,
  208.             {type="weapon", subtype="staff", name="elm staff", autoreq=true, ego_chance=-1000},
  209.             {type="armor", subtype="cloth", name="linen robe", autoreq=true, ego_chance=-1000},
  210.         },
  211.     },
  212.     copy_add = {
  213.         life_rating = -3,
  214.     },
  215. }
  216. newBirthDescriptor{
  217.     type = "subclass",
  218.     name = "Outcast Mage",
  219.     desc = {
  220.         "Outcast Mages are mages that have been expelled from Angolwen for practising some of the ... less savoury magical arts.",
  221.         "Robbed of a full magical education, they so far forget their heritage as to wield swords and other weapons, which they have learnt to channel spells through.",
  222.         "They have also learnt to use traps, both mundane and magical, to great effect",
  223.         "Their most important stats are: Strength, Magic, and Willpower",
  224.         "#GOLD# Stat Modifiers:",
  225.         "#LIGHT_BLUE# * +3 Strength, +0 Dexterity, +0 Constitution",
  226.         "#LIGHT_BLUE# * +2 Magic, +3 Willpower, +1 Cunning",
  227.     },
  228.     stats = {str=3, mag=2, wil=3, cun=1, },
  229.     talents_types = {
  230.     ["spell/necrotic-minions"]={true, 0.3},
  231.     ["spell/fire"]={true, 0.3},
  232.     ["spell/earth"]={true, 0.3},
  233.     ["spell/water"]={true, 0.3},
  234.     ["spell/air"]={true, 0.3},
  235.     ["spell/enhancement"]={false, 0.3},
  236.     ["technique/magical-combat"]={true, 0.3},
  237.     ["cunning/trapping"]={false, 0.3},
  238.     ["celestial/glyphs"]={false, 0.3},
  239.     ["cunning/survival"]={false, -0.1},
  240.     ["technique/combat-training"]={true, 0.1},
  241.     },
  242.     birth_example_particles = "necrotic-aura",
  243.     talents = {
  244.         [ActorTalents.T_NECROTIC_AURA] = 1,
  245.         [ActorTalents.T_CREATE_MINIONS] = 1,
  246.         [ActorTalents.T_FLAME] = 1,
  247.         [ActorTalents.T_ARCANE_COMBAT] = 1,
  248.         [ActorTalents.T_WEAPON_COMBAT] = 1,
  249.         [ActorTalents.T_LIGHTNING] = 1,
  250.     },
  251.     copy = {
  252.         necrotic_aura_base_souls = 1,
  253.         max_life = 100,
  254.         resolvers.equip{ id=true,
  255.             {type="weapon", subtype="longsword", name="iron longsword", autoreq=true, ego_chance=-1000},
  256.             {type="armor", subtype="cloth", name="linen robe", autoreq=true, ego_chance=-1000},
  257.         },
  258.     },
  259.     copy_add = {
  260.         life_rating = -2,
  261.     },
  262. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement