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

Norgos lair is sometimes invaded by shivgoroth

git-svn-id: http://svn.net-core.org/repos/t-engine4@6661 51575b47-30f0-44d4-a5cc-537603b46e54
parent fbf105ac
No related branches found
No related tags found
No related merge requests found
game/modules/tome/data/gfx/shockbolt/npc/animal_bear_norgos_the_frozen.png

9.5 KiB

......@@ -23,7 +23,11 @@ desc = function(self, who)
desc[#desc+1] = "The Thaloren forest is disrupted. Corruption is spreading. Norgos the guardian bear is said to have gone mad.\n"
desc[#desc+1] = "On the western border of the forest a gloomy aura has been set up. Things inside are... twisted.\n"
if self:isCompleted("norgos") then
desc[#desc+1] = "#LIGHT_GREEN#* You have explored Norgos' Lair and put it to rest.#WHITE#"
if self:isCompleted("norgos-invaded") then
desc[#desc+1] = "#LIGHT_GREEN#* You have explored Norgos' Lair and stopped the shivgoroth invasion.#WHITE#"
else
desc[#desc+1] = "#LIGHT_GREEN#* You have explored Norgos' Lair and put it to rest.#WHITE#"
end
else
desc[#desc+1] = "#SLATE#* You must explore Norgos' Lair.#WHITE#"
end
......
......@@ -17,15 +17,79 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
load("/data/general/npcs/bear.lua", rarity(0))
load("/data/general/npcs/vermin.lua", rarity(3))
load("/data/general/npcs/canine.lua", rarity(1))
load("/data/general/npcs/snake.lua", rarity(0))
load("/data/general/npcs/plant.lua", rarity(0))
local Talents = require("engine.interface.ActorTalents")
load("/data/general/npcs/all.lua", rarity(4, 35))
if not currentZone.is_invaded then
load("/data/general/npcs/bear.lua", rarity(0))
load("/data/general/npcs/vermin.lua", rarity(3))
load("/data/general/npcs/canine.lua", rarity(1))
load("/data/general/npcs/snake.lua", rarity(0))
load("/data/general/npcs/plant.lua", rarity(0))
local Talents = require("engine.interface.ActorTalents")
load("/data/general/npcs/all.lua", rarity(4, 35))
else
load("/data/general/npcs/bear.lua", rarity(0))
load("/data/general/npcs/vermin.lua", rarity(3))
load("/data/general/npcs/canine.lua", rarity(1))
load("/data/general/npcs/snake.lua", rarity(0))
load("/data/general/npcs/shivgoroth.lua", function(e)
if e.rarity and e.level_range then
e.level_range[1] = e.level_range[1] - 9
e.start_level = e.start_level - 9
e.inc_damage = e.inc_damage or {}
e.inc_damage.all = (e.inc_damage.all or 0) - 30
e.healing_factor = 0.4
e.combat_def = math.max(0, (e.combat_def or 0) - 12)
end
end)
load("/data/general/npcs/all.lua", rarity(4, 35))
newEntity{ base="BASE_NPC_BEAR", define_as = "FROZEN_NORGOS",
allow_infinite_dungeon = true,
unique = true,
name = "Norgos, the Frozen",
display = "q", color=colors.VIOLET,
resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/animal_bear_norgos_the_frozen.png", display_h=2, display_y=-1}}},
desc = [[This ancient bear long guarded the western side of the forest, but as of late he started growing mad, attacking even the thaloren.
It seems to have fallen prey to the shivgoroth invading the area. Dead and frozen it seems like a statue, animated by the elementals.]],
killer_message = "and was turned into icicles",
level_range = {7, nil}, exp_worth = 2,
max_life = 200, life_rating = 17, fixed_rating = true, life_regen = 0,
max_stamina = 85,
max_mana = 200,
stats = { str=15, dex=15, cun=8, mag=20, wil=20, con=20 },
tier1 = true,
rank = 4,
size_category = 5,
infravision = 10,
instakill_immune = 1,
move_others=true,
never_move = 1,
combat = { dam=resolvers.levelup(17, 1, 0.8), atk=10, apr=9, dammod={str=1.2} },
resists = { [DamageType.COLD] = 20 },
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
resolvers.drops{chance=100, nb=1, {unique=true, not_properties={"lore"}} },
resolvers.drops{chance=100, nb=3, {tome_drops="boss"} },
resolvers.talents{
[Talents.T_ICE_STORM]={base=1, every=6, max=6},
[Talents.T_FROZEN_GROUND]={base=1, every=6, max=6},
},
autolevel = "caster",
ai = "tactical", ai_state = { talent_in=2, ai_move="move_astar", },
ai_tactic = resolvers.tactic"melee",
on_die = function(self, who)
game.player:resolveSource():setQuestStatus("start-thaloren", engine.Quest.COMPLETED, "norgos")
game.player:resolveSource():setQuestStatus("start-thaloren", engine.Quest.COMPLETED, "norgos-invaded")
end,
}
end
newEntity{ base="BASE_NPC_BEAR", define_as = "NORGOS",
allow_infinite_dungeon = true,
......
......@@ -17,6 +17,10 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
local layout = game.state:alternateZoneTier1(short_name, {"INVADED", 1})
layout="INVADED"
local is_invaded = layout == "INVADED"
return {
name = "Norgos Lair",
level_range = {1, 5},
......@@ -36,6 +40,7 @@ return {
ambient_music = "Woods of Eremae.ogg",
min_material_level = function() return game.state:isAdvanced() and 3 or 1 end,
max_material_level = function() return game.state:isAdvanced() and 4 or 2 end,
is_invaded = is_invaded,
generator = {
map = {
class = "engine.generator.map.Roomer",
......@@ -52,7 +57,7 @@ return {
class = "mod.class.generator.actor.Random",
nb_npc = {20, 30},
filters = { {max_ood=2}, },
guardian = "NORGOS",
guardian = is_invaded and "FROZEN_NORGOS" or "NORGOS",
},
object = {
class = "engine.generator.object.Random",
......@@ -78,7 +83,7 @@ return {
if not config.settings.tome.weather_effects then return end
local Map = require "engine.Map"
level.foreground_particle = require("engine.Particles").new("snowing", 1, {width=Map.viewport.width, height=Map.viewport.height})
level.foreground_particle = require("engine.Particles").new("snowing", 1, {width=Map.viewport.width, height=Map.viewport.height, factor=game.zone.is_invaded and 6 or 1})
end,
foreground = function(level, x, y, nb_keyframes)
......
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