diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 9014632562e0360aacde75395f4bc3cefe051490..581b4412e6b49dfbacb35fc6ada34fd12457b5fd 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -1057,7 +1057,8 @@ function _M:addedToLevel(level, x, y) -- Find an actor with that filter local m = game.zone:makeEntity(game.level, "actor", filter) - if m then game.zone:addEntity(game.level, m, "actor", x, y) end + if m and m:canMove(x, y) then game.zone:addEntity(game.level, m, "actor", x, y) + else m:removed() end end end self.make_escort = nil diff --git a/game/modules/tome/data/general/npcs/orc.lua b/game/modules/tome/data/general/npcs/orc.lua index 4e19d5f5c7940dabb8b08820ea0bae3271c1431e..311714327cd01c91e67a4ca0b8821d06b7422d9c 100644 --- a/game/modules/tome/data/general/npcs/orc.lua +++ b/game/modules/tome/data/general/npcs/orc.lua @@ -102,6 +102,11 @@ newEntity{ base = "BASE_NPC_ORC", define_as = "URUK-HAI_FIRE_WYRMIC", {type="weapon", subtype="battleaxe", autoreq=true}, }, combat_armor = 2, combat_def = 0, + + make_escort = { + {type="humanoid", subtype="orc", name="uruk-hai", number=resolvers.mbonus(3, 2)}, + }, + resolvers.talents{ [Talents.T_BELLOWING_ROAR]=2, [Talents.T_WING_BUFFET]=2, @@ -121,6 +126,11 @@ newEntity{ base = "BASE_NPC_ORC", {type="weapon", subtype="battleaxe", autoreq=true}, }, combat_armor = 2, combat_def = 0, + + make_escort = { + {type="humanoid", subtype="orc", name="uruk-hai", number=resolvers.mbonus(3, 2)}, + }, + resolvers.talents{ [Talents.T_ICE_CLAW]=2, [Talents.T_ICY_SKIN]=2, diff --git a/game/modules/tome/data/general/npcs/troll.lua b/game/modules/tome/data/general/npcs/troll.lua index af16334cffb44448ad854a027cba8ee8c6ef2fd1..4d7180d9336363410e6abe4379dc5f232d5f2029 100644 --- a/game/modules/tome/data/general/npcs/troll.lua +++ b/game/modules/tome/data/general/npcs/troll.lua @@ -37,7 +37,7 @@ newEntity{ size_category = 4, autolevel = "warrior", - ai = "dumb_talented_simple", ai_state = { talent_in=5, }, + ai = "dumb_talented_simple", ai_state = { talent_in=3, }, energy = { mod=1 }, stats = { str=20, dex=8, mag=6, con=16 }, @@ -65,7 +65,7 @@ newEntity{ base = "BASE_NPC_TROLL", rarity = 7, max_life = resolvers.rngavg(120,140), combat_armor = 7, combat_def = 0, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, }, + resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_KNOCKBACK]=1, }, } newEntity{ base = "BASE_NPC_TROLL", @@ -75,7 +75,7 @@ newEntity{ base = "BASE_NPC_TROLL", rarity = 7, max_life = resolvers.rngavg(120,140), combat_armor = 9, combat_def = 3, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_KNOCKBACK]=1,}, + resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_KNOCKBACK]=1, [Talents.T_KNOCKBACK]=2, }, } newEntity{ base = "BASE_NPC_TROLL", @@ -85,5 +85,22 @@ newEntity{ base = "BASE_NPC_TROLL", rarity = 7, max_life = resolvers.rngavg(120,140), combat_armor = 12, combat_def = 4, - resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=1, [Talents.T_KNOCKBACK]=1, }, + resolvers.talents{ [Talents.T_STAMINA_POOL]=1, [Talents.T_STUN]=3, [Talents.T_KNOCKBACK]=3, [Talents.T_RUSH]=3, }, +} + +newEntity{ base = "BASE_NPC_TROLL", + name = "mountain troll thunderer", color=colors.AQUAMARINE, + desc = [[A large and athletic troll with an extremely tough and warty hide.]], + level_range = {20, 50}, exp_worth = 1, + rarity = 7, + rank = 3, + max_life = resolvers.rngavg(120,140), + mana_regen = 20, + combat_armor = 8, combat_def = 4, + autolevel = "warriormage", + resolvers.talents{ + [Talents.T_STUN]=4, [Talents.T_KNOCKBACK]=3, + [Talents.T_LIGHTNING]=4, + [Talents.T_THUNDERSTORM]=3, + }, } diff --git a/game/modules/tome/data/zones/moria/zone.lua b/game/modules/tome/data/zones/moria/zone.lua index c6782ab8d97c08efaa187273a99c7850fb137d99..5383bb3d63951e46d065923ae7ac58834d7a0c00 100644 --- a/game/modules/tome/data/zones/moria/zone.lua +++ b/game/modules/tome/data/zones/moria/zone.lua @@ -24,7 +24,7 @@ return { max_level = 4, 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 = 100, height = 100, + width = 70, height = 70, -- all_remembered = true, -- all_lited = true, persistant = "zone",