Skip to content
Snippets Groups Projects
Commit 01c95cfe authored by dg's avatar dg
Browse files

High Sun Paladin Aeryn

tol falas monstsers belong to tol falas faction
sunwall town got a tad better


git-svn-id: http://svn.net-core.org/repos/t-engine4@707 51575b47-30f0-44d4-a5cc-537603b46e54
parent 1df0782b
No related branches found
No related tags found
No related merge requests found
......@@ -331,6 +331,20 @@ function _M:tooltip()
end
local rank, rank_color = self:TextRank()
local effs = {}
for tid, act in pairs(self.sustain_talents) do
if act then effs[#effs+1] = ("- #LIGHT_GREEN#%s"):format(self:getTalentFromId(tid).name) end
end
for eff_id, p in pairs(self.tmp) do
local e = self.tempeffect_def[eff_id]
if e.status == "detrimental" then
effs[#effs+1] = ("- #LIGHT_RED#%s"):format(e.desc)
else
effs[#effs+1] = ("- #LIGHT_GREEN#%s"):format(e.desc)
end
end
return ([[%s%s
Rank: %s%s
#00ffff#Level: %d
......@@ -340,7 +354,7 @@ Stats: %d / %d / %d / %d / %d / %d
Size: #ANTIQUE_WHITE#%s
%s
Faction: %s%s (%s)
]]):format(
%s]]):format(
rank_color, self.name,
rank_color, rank,
self.level,
......@@ -355,7 +369,8 @@ Faction: %s%s (%s)
self:getCon(),
self:TextSizeCategory(),
self.desc or "",
factcolor, Faction.factions[self.faction].name, factstate
factcolor, Faction.factions[self.faction].name, factstate,
table.concat(effs, "\n")
)
end
......
......@@ -20,7 +20,7 @@
local Talents = require("engine.interface.ActorTalents")
newEntity{
define_as = "BASE_NPC_SUNWALL_HUMAN",
define_as = "BASE_NPC_SUNWALL_TOWN",
type = "humanoid", subtype = "human",
display = "p", color=colors.WHITE,
faction = "sunwall",
......@@ -42,7 +42,7 @@ newEntity{
stats = { str=12, dex=8, mag=6, con=10 },
}
newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
newEntity{ base = "BASE_NPC_SUNWALL_TOWN",
name = "human guard", color=colors.LIGHT_UMBER,
desc = [[A stern looking guard, he will not let you disturb the town.]],
level_range = {1, 50}, exp_worth = 1,
......@@ -56,8 +56,8 @@ newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
resolvers.talents{ [Talents.T_RUSH]=1, [Talents.T_PERFECT_STRIKE]=1, },
}
newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
name = "human archer", color=colors.UMBER,
newEntity{ base = "BASE_NPC_SUNWALL_TOWN",
name = "elven archer", color=colors.UMBER,
desc = [[A stern looking guard, he will not let you disturb the town.]],
level_range = {1, 50}, exp_worth = 1,
rarity = 7,
......@@ -68,7 +68,7 @@ newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
resolvers.equip{ {type="weapon", subtype="longbow", autoreq=true}, {type="ammo", subtype="arrow", autoreq=true} },
}
newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
newEntity{ base = "BASE_NPC_SUNWALL_TOWN",
name = "human sun-paladin", color=colors.GOLD,
desc = [[A human in a shiny plate armour.]],
level_range = {5, 50}, exp_worth = 1,
......@@ -87,7 +87,7 @@ newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
},
}
newEntity{ base = "BASE_NPC_SUNWALL_HUMAN",
newEntity{ base = "BASE_NPC_SUNWALL_TOWN",
name = "elven sun-mage", color=colors.YELLOW,
desc = [[An elf dressed in glowing robes.]],
level_range = {3, 50}, exp_worth = 1,
......
......@@ -25,13 +25,14 @@ local Talents = require("engine.interface.ActorTalents")
-- The boss of Moria, no "rarity" field means it will not be randomly generated
newEntity{ define_as = "GOLBUG",
type = "humanoid", subtype = "orc", unique = true,
faction = "orc-pride",
name = "Golbug the Destroyer",
display = "o", color=colors.VIOLET,
desc = [[A huge and muscular orc of unknown breed. He looks both menacing and cunning...]],
level_range = {28, 45}, exp_worth = 2,
max_life = 350, life_rating = 16, fixed_rating = true,
max_stamina = 245,
rank = 4,
rank = 5,
size_category = 3,
stats = { str=22, dex=19, cun=34, mag=10, con=16 },
......
......@@ -24,6 +24,7 @@ local Talents = require("engine.interface.ActorTalents")
newEntity{ base="BASE_NPC_ORC", define_as = "UKRUK",
unique = true,
name = "Ukruk the Fierce",
faction = "orc-pride",
color=colors.VIOLET,
desc = [[This ugly orc looks really nasty and vicious. He is obviously looking for something and bears an unkown symbol on his shield.]],
level_range = {50, 50}, exp_worth = 2,
......
......@@ -26,6 +26,7 @@ local Talents = require("engine.interface.ActorTalents")
-- The boss of Tol Falas, no "rarity" field means it will not be randomly generated
newEntity{ define_as = "THE_MASTER",
faction = "tol-falas",
type = "undead", subtype = "vampire", unique = true,
name = "The Master",
display = "V", color=colors.VIOLET,
......
......@@ -18,3 +18,47 @@
-- darkgod@te4.org
load("/data/general/npcs/sunwall-town.lua")
load("/data/general/npcs/.lua", function(e) e.faction = "sunwall" end)
local Talents = require("engine.interface.ActorTalents")
newEntity{ define_as = "SUN_PALADIN_AERYN",
type = "humanoid", subtype = "human",
display = "p",
faction = "sunwall",
name = "High Sun Paladin Aeryn", color=colors.VIOLET, unique = true,
desc = [[A beautiful women, clad in a shining plate armour. Power radiates from her.]],
level_range = {7, 50}, exp_worth = 2,
rank = 4,
size_category = 3,
female = true,
max_life = 150, life_rating = 14, fixed_rating = true,
stats = { str=15, dex=10, cun=12, mag=16, con=14 },
open_door = true,
autolevel = "warriormage",
ai = "dumb_talented_simple", ai_state = { talent_in=2, },
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
resolvers.drops{chance=100, nb=3, {ego_chance=100} },
resolvers.equip{
{type="weapon", subtype="mace", autoreq=true},
{type="armor", subtype="shield", autoreq=true},
{type="armor", subtype="massive", autoreq=true},
{type="jewelry", subtype="ring", defined="RING_LOST_LOVE", autoreq=true},
},
resolvers.talents{
[Talents.T_MASSIVE_ARMOUR_TRAINING]=1,
[Talents.T_CHANT_OF_FORTITUDE]=2,
[Talents.T_SEARING_LIGHT]=3,
[Talents.T_MARTYRDOM]=3,
[Talents.T_BARRIER]=3,
[Talents.T_WEAPON_OF_LIGHT]=2,
},
on_die = function(self, who)
game.player:resolveSource():setQuestStatus("start-orc", engine.Quest.COMPLETED, "sunwall-outpost")
end,
}
......@@ -18,3 +18,70 @@
-- darkgod@te4.org
load("/data/general/objects/objects.lua")
newEntity{ base = "BASE_RING",
define_as = "RING_LOST_LOVE", rarity=false,
name = "Choker of Dread", unique=true,
unided_name = "dark amulet", color=colors.LIGHT_DARK,
desc = [[The evilness of undeath radiates from this amulet.]],
cost = 5000,
wielder = {
see_invisible = 10,
blind_immune = 1,
combat_spellpower = 5,
combat_dam = 5,
},
max_power = 60, power_regen = 1,
use_power = { name = "summon an elder vampire to your side", power = 60, use = function(self, who)
-- Find space
local x, y = util.findFreeGrid(who.x, who.y, 5, true, {[engine.Map.ACTOR]=true})
if not x then
game.logPlayer(who, "Not enough space to invoke the vampire!")
return
end
print("Invoking guardian on", x, y)
local NPC = require "mod.class.NPC"
local vampire = NPC.new{
type = "undead", subtype = "vampires",
display = "V",
name = "elder vampire", color=colors.RED,
desc=[[A terrible robed undead figure, this creature has existed in its unlife for many centuries by stealing the life of others. It can
summon the very shades of its victims from beyond the grave to come enslaved to its aid.]],
combat = { dam=resolvers.rngavg(9,13), atk=10, apr=9, damtype=DamageType.DRAINLIFE, dammod={str=1.9} },
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
autolevel = "warriormage",
ai = "summoned", ai_real = "dumb_talented_simple", ai_state = { talent_in=3, },
energy = { mod=1 },
stats = { str=12, dex=12, mag=12, con=12 },
life_regen = 3,
size_category = 3,
rank = 3,
resolvers.tmasteries{ ["technique/other"]=0.5, ["spell/phantasm"]=0.8, },
resists = { [DamageType.COLD] = 80, [DamageType.NATURE] = 80, [DamageType.LIGHT] = -50, },
blind_immune = 1,
confusion_immune = 1,
see_invisible = 5,
undead = 1,
level_range = {who.level, who.level}, exp_worth = 0,
max_life = resolvers.rngavg(90,100),
combat_armor = 12, combat_def = 10,
resolvers.talents{ [who.T_STUN]=2, [who.T_BLUR_SIGHT]=3, [who.T_PHANTASMAL_SHIELD]=2, [who.T_ROTTING_DISEASE]=3, },
faction = who.faction,
summoner = who,
summon_time = 10,
}
vampire:resolve()
game.zone:addEntity(game.level, vampire, "actor", x, y)
game:playSoundNear(who, "talents/spell_generic")
end },
}
......@@ -18,14 +18,16 @@
-- darkgod@te4.org
return {
name = "Sun Wall Outpost",
name = "Sunwall Outpost",
level_range = {1, 10},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
width = 50, height = 50,
persistent = "zone",
-- all_remembered = true,
all_lited = true,
ambiant_music = "80s_song.ogg",
generator = {
map = {
class = "engine.generator.map.Town",
......@@ -42,10 +44,11 @@ return {
actor = {
class = "engine.generator.actor.Random",
nb_npc = {20, 30},
guardian = "SUN_PALADIN_AERYN",
},
object = {
class = "engine.generator.object.Random",
nb_object = {0, 0},
nb_object = {3, 6},
},
},
levels =
......
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