Skip to content
Snippets Groups Projects
Commit 720851b1 authored by dg's avatar dg
Browse files

Orc necromancers improved with the new necromancer talents

Vampires made beefier


git-svn-id: http://svn.net-core.org/repos/t-engine4@4262 51575b47-30f0-44d4-a5cc-537603b46e54
parent 00a60d11
No related branches found
No related tags found
No related merge requests found
......@@ -93,6 +93,28 @@ function resolvers.calc.talents(t, e)
return nil
end
--- Talents resolver, random choice of one
function resolvers.rngtalent(list)
return {__resolver="rngtalent", list}
end
function resolvers.calc.rngtalent(t, e)
local lvls = false
local levelup_talents = e._levelup_talents or {}
local tid = rng.table(table.keys(t[1]))
local level = t[1][tid]
if type(level) == "table" then
levelup_talents[tid] = level
level = level.base
lvls = true
end
print("RNG Talent resolver for", e.name, ":", tid, "=>", level)
e:learnTalent(tid, true, level)
if lvls then e._levelup_talents = levelup_talents end
return nil
end
--- Talents masteries
function resolvers.tmasteries(list)
return {__resolver="tmasteries", list}
......
......@@ -64,19 +64,25 @@ newEntity{ base = "BASE_NPC_ORC_RAK_SHOR",
{type="armor", subtype="cloth", autoreq=true},
},
combat_armor = 0, combat_def = 5,
summon = {
{type="undead", subtype="skeleton", number=1, hasxp=false},
{type="humanoid", subtype="ghoul", number=1, hasxp=false},
},
make_escort = {
{type="undead", subtype="ghoul", no_subescort=true, chance=50, number=resolvers.mbonus(3, 2)},
{type="undead", subtype="skeleton", no_subescort=true, chance=50, number=resolvers.mbonus(3, 2)},
},
necrotic_aura_base_souls = resolvers.rngavg(5, 10),
resolvers.talents{
[Talents.T_SUMMON]=1,
[Talents.T_SOUL_ROT]={base=5, every=10, max=8},
[Talents.T_NECROTIC_AURA] = 1,
[Talents.T_AURA_MASTERY] = 5,
[Talents.T_CREATE_MINIONS]={base=4, every=5, max=7},
[Talents.T_RIGOR_MORTIS]={base=3, every=5, max=7},
[Talents.T_INVOKE_DARKNESS]={base=5, every=5, max=9},
[Talents.T_VAMPIRIC_GIFT]={base=2, every=7, max=7},
},
resolvers.rngtalent{
[Talents.T_CIRCLE_OF_DEATH]={base=3, every=5, max=7},
[Talents.T_SURGE_OF_UNDEATH]={base=3, every=5, max=7},
[Talents.T_WILL_O__THE_WISP]={base=3, every=5, max=7},
[Talents.T_FORGERY_OF_HAZE]={base=3, every=5, max=7},
[Talents.T_FROSTDUSK]={base=3, every=5, max=7},
},
resolvers.sustains_at_birth(),
}
newEntity{ base = "BASE_NPC_ORC_RAK_SHOR",
......@@ -128,4 +134,5 @@ newEntity{ base = "BASE_NPC_ORC_RAK_SHOR",
[Talents.T_BONE_SHIELD]={base=5, every=150, max=8},
[Talents.T_BLOOD_SPRAY]={base=4, every=10, max=8},
},
resolvers.sustains_at_birth(),
}
......@@ -51,7 +51,7 @@ newEntity{
ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=9, },
stats = { str=12, dex=12, mag=12, con=12 },
infravision = 10,
life_regen = 3,
life_regen = 3, life_rating = 14,
size_category = 3,
rank = 2,
......@@ -61,7 +61,10 @@ newEntity{
resolvers.sustains_at_birth(),
resolvers.talents{ [Talents.T_BLURRED_MORTALITY]={base=1, every=7, max=6} },
resolvers.talents{
[Talents.T_BLURRED_MORTALITY]={base=1, every=7, max=6},
[Talents.T_VAMPIRIC_GIFT]={base=1, every=7, max=6},
},
resists = { [DamageType.COLD] = 80, [DamageType.NATURE] = 80, [DamageType.LIGHT] = -50, },
blind_immune = 1,
......@@ -80,7 +83,10 @@ newEntity{ base = "BASE_NPC_VAMPIRE",
max_life = resolvers.rngavg(40,50),
combat_armor = 7, combat_def = 6,
resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5} },
resolvers.talents{
[Talents.T_STUN]={base=1, every=7, max=5},
[Talents.T_INVOKE_DARKNESS]={base=3, every=7, max=5},
},
}
newEntity{ base = "BASE_NPC_VAMPIRE",
......@@ -91,7 +97,12 @@ newEntity{ base = "BASE_NPC_VAMPIRE",
max_life = resolvers.rngavg(70,80),
combat_armor = 9, combat_def = 6,
resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5}, [Talents.T_BLUR_SIGHT]={base=1, every=7, max=5}, [Talents.T_ROTTING_DISEASE]={base=1, every=7, max=5}, },
resolvers.talents{
[Talents.T_STUN]={base=1, every=7, max=5},
[Talents.T_BLUR_SIGHT]={base=1, every=7, max=5},
[Talents.T_ROTTING_DISEASE]={base=1, every=7, max=5},
[Talents.T_CIRCLE_OF_DEATH]={base=1, every=7, max=6},
},
}
newEntity{ base = "BASE_NPC_VAMPIRE",
......@@ -102,7 +113,13 @@ newEntity{ base = "BASE_NPC_VAMPIRE",
max_life = resolvers.rngavg(80,90),
combat_armor = 10, combat_def = 8,
ai = "dumb_talented_simple", ai_state = { talent_in=6, },
resolvers.talents{ [Talents.T_STUN]={base=1, every=7, max=5}, [Talents.T_BLUR_SIGHT]={base=2, every=7, max=5}, [Talents.T_PHANTASMAL_SHIELD]={base=1, every=7, max=5}, [Talents.T_ROTTING_DISEASE]={base=2, every=7, max=5}, },
resolvers.talents{
[Talents.T_STUN]={base=1, every=7, max=5},
[Talents.T_BLUR_SIGHT]={base=2, every=7, max=5},
[Talents.T_PHANTASMAL_SHIELD]={base=1, every=7, max=5},
[Talents.T_ROTTING_DISEASE]={base=2, every=7, max=5},
[Talents.T_COLD_FLAMES]={base=1, every=7, max=6},
},
}
newEntity{ base = "BASE_NPC_VAMPIRE",
......@@ -117,7 +134,14 @@ It can summon the very shades of its victims from beyond the grave to come ensla
ai = "tactical", ai_state = { talent_in=4, },
resolvers.inscriptions(1, "rune"),
summon = {{type="undead", number=1, hasxp=false}, },
resolvers.talents{ [Talents.T_STUN]={base=2, every=7, max=6}, [Talents.T_SUMMON]=1, [Talents.T_BLUR_SIGHT]={base=3, every=7, max=7}, [Talents.T_PHANTASMAL_SHIELD]={base=2, every=7, max=6}, [Talents.T_ROTTING_DISEASE]={base=3, every=7, max=7}, },
resolvers.talents{
[Talents.T_STUN]={base=2, every=7, max=6},
[Talents.T_SUMMON]=1,
[Talents.T_BLUR_SIGHT]={base=3, every=7, max=7},
[Talents.T_PHANTASMAL_SHIELD]={base=2, every=7, max=6},
[Talents.T_ROTTING_DISEASE]={base=3, every=7, max=7},
[Talents.T_FORGERY_OF_HAZE]={base=2, every=7, max=5},
},
on_die = function(self, who)
local part = "ELDER_VAMPIRE_BLOOD"
if game.player:hasQuest("brotherhood-of-alchemists") then
......@@ -137,7 +161,15 @@ newEntity{ base = "BASE_NPC_VAMPIRE",
ai = "tactical", ai_state = { talent_in=3, },
resolvers.inscriptions(1, "rune"),
summon = {{type="undead", number=1, hasxp=false}, },
resolvers.talents{ [Talents.T_STUN]={base=4, every=7, max=8}, [Talents.T_SUMMON]=1, [Talents.T_BLUR_SIGHT]={base=4, every=7, max=8}, [Talents.T_PHANTASMAL_SHIELD]={base=5, every=7, max=8}, [Talents.T_ROTTING_DISEASE]={base=5, every=7, max=8}, },
resolvers.talents{
[Talents.T_FORGERY_OF_HAZE]={base=2, every=7, max=6},
[Talents.T_IMPENDING_DOOM]={base=2, every=7, max=6},
[Talents.T_STUN]={base=4, every=7, max=8},
[Talents.T_SUMMON]=1,
[Talents.T_BLUR_SIGHT]={base=4, every=7, max=8},
[Talents.T_PHANTASMAL_SHIELD]={base=5, every=7, max=8},
[Talents.T_ROTTING_DISEASE]={base=5, every=7, max=8},
},
make_escort = {
{type="undead", number=resolvers.mbonus(2, 2)},
},
......
......@@ -79,6 +79,7 @@ newEntity{ define_as = "THE_MASTER",
[Talents.T_CIRCLE_OF_DEATH]={base=3, every=5, max=5},
[Talents.T_SURGE_OF_UNDEATH]={base=3, every=5, max=5},
[Talents.T_WILL_O__THE_WISP]={base=3, every=5, max=5},
[Talents.T_VAMPIRIC_GIFT]={base=2, every=7, max=5},
[Talents.T_CONGEAL_TIME]={base=2, every=5, max=5},
[Talents.T_MANATHRUST]={base=4, every=5, max=8},
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment