Skip to content
Snippets Groups Projects
Commit 0397d695 authored by dg's avatar dg
Browse files

plouf

git-svn-id: http://svn.net-core.org/repos/t-engine4@469 51575b47-30f0-44d4-a5cc-537603b46e54
parent 61cc92e3
No related branches found
No related tags found
No related merge requests found
......@@ -187,7 +187,10 @@ function _M:changeLevel(lev, zone)
local old_lev = (self.level and not zone) and self.level.level or -1000
if zone then
if self.zone then self.zone:leaveLevel(false, lev, old_lev) end
if self.zone then
self.zone:leaveLevel(false, lev, old_lev)
if self.zone.on_leave then self.zone.on_leave(lev, old_lev, zone) end
end
self.zone = Zone.new(zone)
end
self.zone:getLevel(self, lev, old_lev)
......
local Talents = require("engine.interface.ActorTalents")
newEntity{
define_as = "BASE_NPC_ORC",
type = "humanoid", subtype = "orc",
display = "o", color=colors.UMBER,
combat = { dam=resolvers.rngavg(5,12), atk=2, apr=6, physspeed=2 },
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, QUIVER=1 },
resolvers.drops{chance=20, nb=1, {} },
resolvers.drops{chance=20, nb=1, {type="money"} },
life_rating = 11,
autolevel = "warrior",
ai = "dumb_talented_simple", ai_state = { talent_in=4, },
energy = { mod=1 },
stats = { str=20, dex=8, mag=6, con=16 },
}
newEntity{ base = "BASE_NPC_ORC",
define_as = "HILL_ORC_WARRIOR",
name = "hill orc warrior", color=colors.LIGHT_UMBER,
desc = [[He is a hardy well-weathered survivor.]],
level_range = {1, 50}, exp_worth = 1,
rarity = 4,
max_life = resolvers.rngavg(70,80),
resolvers.equip{
{type="weapon", subtype="longsword", autoreq=true},
{type="armor", subtype="shield", autoreq=true},
},
combat_armor = 2, combat_def = 0,
resolvers.talents{ [Talents.T_SHIELD_PUMMEL]=1, },
}
newEntity{ base = "BASE_NPC_ORC",
define_as = "HILL_ORC_ARCHER",
name = "hill orc archer", color=colors.UMBER,
desc = [[He is a hardy well-weathered survivor.]],
level_range = {1, 50}, exp_worth = 1,
rarity = 7,
max_life = resolvers.rngavg(70,80),
combat_armor = 5, combat_def = 1,
resolvers.talents{ [Talents.T_SHOOT]=1, },
ai_state = { talent_in=1, },
autolevel = "archer",
resolvers.equip{
{type="weapon", subtype="longbow", autoreq=true},
{type="ammo", subtype="arrow", autoreq=true},
},
}
defineTile('.', "GRASS")
defineTile('o', "GRASS", nil, "HILL_ORC_WARRIOR")
defineTile('O', "GRASS", nil, "HILL_ORC_ARCHER")
startx = 1
starty = 1
return {
[[.....oooo..OO..###]],
[[....oooo...OO.####]],
[[...oooo..OOO..####]],
[[..oooo.OOO...#####]],
[[oooo..OOO...######]],
[[oo..OOO....#######]],
[[..OOO.....<#######]],
[[OOO...############]],
[[O...##############]],
[[..################]],
[[##################]],
}
load("/data/general/grids/forest.lua")
load("/data/general/npcs/orc.lua")
local Talents = require("engine.interface.ActorTalents")
-- The boss of Amon Sul, no "rarity" field means it will not be randomly generated
newEntity{ base="BASE_NPC_ORC", define_as = "SHADE_OF_ANGMAR",
unique = true,
name = "Ukruk the Fierce",
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 = {20, 50}, exp_worth = 2,
max_life = 150, life_rating = 15, fixed_rating = true,
resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_ANGMAR"}, {type="armor", subtype="light"}, },
resolvers.talents{
[Talents.T_MANA_POOL]=1, [Talents.T_MANATHRUST]=4, [Talents.T_FREEZE]=4, [Talents.T_TIDAL_WAVE]=2,
[Talents.T_STAMINA_POOL]=1, [Talents.T_SWORD_MASTERY]=3, [Talents.T_STUNNING_BLOW]=1,
},
autolevel = "warriormage",
ai = "dumb_talented_simple", ai_state = { talent_in=4, },
}
load("/data/general/objects/objects.lua")
return {
name = "Ambush!",
level_range = {20, 50},
level_scheme = "player",
max_level = 1,
actor_adjust_level = function(zone, level, e) return zone.base_level + 20 end,
width = 50, height = 50,
-- all_remembered = true,
all_lited = true,
-- persistant = true,
generator = {
map = {
class = "engine.generator.map.Static",
map = "zones/tol-falas-ambush",
},
actor = {
class = "engine.generator.actor.Random",
nb_npc = {0, 0},
},
object = {
class = "engine.generator.object.Random",
nb_object = {0, 0},
},
trap = {
class = "engine.generator.trap.Random",
nb_trap = {0, 0},
},
},
on_leave = function(lev, old_lev, newzone)
game.logPlayer(game.player
end,
}
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