diff --git a/game/modules/tome/data/zones/carn-dum/npcs.lua b/game/modules/tome/data/zones/carn-dum/npcs.lua index 450995345276c330a88cd4a8d2060b49ee3ee9a4..dcbc871e5013292cb66682fa47591825a599239f 100644 --- a/game/modules/tome/data/zones/carn-dum/npcs.lua +++ b/game/modules/tome/data/zones/carn-dum/npcs.lua @@ -67,7 +67,60 @@ newEntity{ define_as = "RANTHA_THE_WORM", ai = "dumb_talented_simple", ai_state = { talent_in=1, ai_move="move_astar", }, on_die = function(self, who) + game.state:activateBackupGuardian("MASSOK", 7, 43, "I have heard there is a dargon hunter in Carn Dûm that is unhappy about the wyrm being already dead.") game.player:resolveSource():grantQuest("starter-zones") game.player:resolveSource():setQuestStatus("starter-zones", engine.Quest.COMPLETED, "carn-dum") end, } + +newEntity{ base="BASE_NPC_ORC_GRUSHNAK", define_as = "MASSOK", + name = "Massok the Dragonslayer", color=colors.VIOLET, unique = true, + desc = [[A huge and heavily-scarred orc with a humungous sword. His helm is fashioned from a dragon skull.]], + level_range = {45, 55}, exp_worth = 3, + rank = 4, + max_life = 500, life_rating = 25, fixed_rating = true, + infravision = 20, + stats = { str=15, dex=10, cun=12, wil=45, mag=16, con=14 }, + move_others=true, + + instakill_immune = 1, + stun_immune = 1, + blind_immune = 1, + combat_armor = 10, combat_def = 10, + stamina_regen = 40, + + open_door = true, + + autolevel = "warrior", + ai = "dumb_talented_simple", ai_state = { talent_in=1, ai_move="move_astar", }, + + body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, HEAD=1, FEET=1, FINGER=2, NECK=1 }, + + resists = { [DamageType.COLD] = 100 }, + + resolvers.equip{ + {type="weapon", subtype="battleaxe", ego_change=100, autoreq=true}, + {type="armor", subtype="massive", ego_chance=100, autoreq=true}, + {type="armor", subtype="head", defined="RUNED_SKULL", autoreq=true}, + {type="armor", subtype="feet", ego_chance=100, autoreq=true}, + }, + resolvers.drops{chance=100, nb=5, {ego_chance=100} }, + + resolvers.talents{ + [Talents.T_WEAPON_COMBAT]=7, + [Talents.T_HEAVY_ARMOUR_TRAINING]=7, + [Talents.T_MASSIVE_ARMOUR_TRAINING]=7, + [Talents.T_WEAPONS_MASTERY]=7, + [Talents.T_RUSH]=9, + [Talents.T_BATTLE_CALL]=5, + [Talents.T_STUNNING_BLOW]=4, + [Talents.T_JUGGERNAUT]=5, + [Talents.T_SHATTERING_IMPACT]=5, + [Talents.T_BATTLE_SHOUT]=5, + [Talents.T_BERSERKER]=5, + [Talents.T_UNSTOPPABLE]=5, + [Talents.T_MORTAL_TERROR]=5, + [Talents.T_BLOODBATH]=5, + }, + resolvers.sustains_at_birth(), +} diff --git a/game/modules/tome/data/zones/carn-dum/objects.lua b/game/modules/tome/data/zones/carn-dum/objects.lua index e4a962b7837f523260cf4efb0addcc26af11c257..eb2b1ae282a2f9f477002754d42d67bdabc92311 100644 --- a/game/modules/tome/data/zones/carn-dum/objects.lua +++ b/game/modules/tome/data/zones/carn-dum/objects.lua @@ -44,3 +44,25 @@ newEntity{ base = "BASE_LEATHER_BOOT", inc_stats = { [Stats.STAT_STR] = 4, [Stats.STAT_DEX] = 4, [Stats.STAT_CUN] = 4, }, }, } + +newEntity{ base = "BASE_HELM", + define_as = "RUNED_SKULL", + name = "Dragonskull Helm", unique=true, unided_name="skull helm", + desc = [[Traces of a dragon's power still remain in this bleached and cracked skull.]], + require = { stat = { mag=24 }, }, + cost = 200, + + wielder = { + resists = { + [DamageType.FIRE] = 15, + [DamageType.COLD] = 15, + [DamageType.LIGHTNING] = 15, + }, + esp = {dragon=1}, + combat_armor = 2, + fatigue = 12, + combat_physresist = 12, + combat_mentalresist = 12, + combat_spellresist = 12, + }, +} diff --git a/game/modules/tome/data/zones/grushnak-pride/npcs.lua b/game/modules/tome/data/zones/grushnak-pride/npcs.lua index 3eaf894e2a38708dddadde84c026061bc3652aa0..75dd0b91705387ec6478730e1efd72423523f828 100644 --- a/game/modules/tome/data/zones/grushnak-pride/npcs.lua +++ b/game/modules/tome/data/zones/grushnak-pride/npcs.lua @@ -37,6 +37,7 @@ newEntity{ base="BASE_NPC_ORC_GRUSHNAK", define_as = "GRUSHNAK", instakill_immune = 1, stun_immune = 1, combat_armor = 10, combat_def = 10, + stamina_regen = 40, open_door = true, diff --git a/game/modules/tome/resolvers.lua b/game/modules/tome/resolvers.lua index 92778ab7535fa2472dda82996d7947b8643b2db6..4178b89fc41a31bf29d4fc2da156a1612708b478 100644 --- a/game/modules/tome/resolvers.lua +++ b/game/modules/tome/resolvers.lua @@ -51,7 +51,7 @@ function resolvers.calc.equip(t, e) e:wearObject(o, true, false) -- Do not drop it unless it is an ego or better - if not o.egoed and not o.unique then o.no_drop = true end + if not o.egoed and not o.unique then o.no_drop = true print(" * "..o.name.." => no drop") end if filter.force_drop then o.no_drop = nil end game.zone:addEntity(game.level, o, "object")