From b321ce2c40a730d0ff733bdfc7ce3f1e8f245cbb Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Thu, 7 Jun 2012 13:43:43 +0000 Subject: [PATCH] naga invasion event -- NOT COMPLETE ! git-svn-id: http://svn.net-core.org/repos/t-engine4@5210 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/Zone.lua | 1 + game/modules/tome/class/GameState.lua | 8 +- game/modules/tome/data/birth/worlds.lua | 3 - game/modules/tome/data/factions.lua | 57 +++---- .../tome/data/general/events/naga-portal.lua | 149 ++++++++++++++++++ .../data/general/events/old-battle-field.lua | 13 +- .../data/zones/infinite-dungeon/objects.lua | 39 ----- ideas/events | 6 +- ideas/factions.ods | Bin 14136 -> 13872 bytes 9 files changed, 200 insertions(+), 76 deletions(-) create mode 100644 game/modules/tome/data/general/events/naga-portal.lua diff --git a/game/engines/default/engine/Zone.lua b/game/engines/default/engine/Zone.lua index f5146148cc..f13bd31f9a 100644 --- a/game/engines/default/engine/Zone.lua +++ b/game/engines/default/engine/Zone.lua @@ -292,6 +292,7 @@ function _M:makeEntity(level, type, filter, force_level, prob_filter) if type == "actor" then base_list = self.npc_list elseif type == "object" then base_list = self.object_list elseif type == "trap" then base_list = self.trap_list + elseif filter.base_list then base_list = filter.base_list end else base_list = self:getEntities(level, type) if not base_list then return nil end end local list = self:computeRarities(type, base_list, level, function(e) return self:checkFilter(e, filter, type) end, filter.add_levels, filter.special_rarity) e = self:pickEntity(list) diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua index bec318a6d6..d91418415c 100644 --- a/game/modules/tome/class/GameState.lua +++ b/game/modules/tome/class/GameState.lua @@ -1513,7 +1513,11 @@ function _M:createRandomBoss(base, data) ngd = NameGenerator.new(randart_name_rules.default) name = ngd:generate() end - b.name = name.." the "..b.name + if data.name_scheme then + b.name = data.name_scheme:gsub("#rng#", name):gsub("#base#", b.name) + else + b.name = name.." the "..b.name + end b.unique = b.name b.randboss = true local boss_id = "RND_BOSS_"..b.name:upper():gsub("[^A-Z]", "_") @@ -1759,7 +1763,7 @@ function _M:startEvents() local levels = {} for i = 1, game.zone.max_level do levels[i] = {} end - for i, e in ipairs(evts) do + for i, e in ipairs(evts) do if e.always or rng.percent(e.percent) then local lev = nil if e.one_per_level then diff --git a/game/modules/tome/data/birth/worlds.lua b/game/modules/tome/data/birth/worlds.lua index 2d4108581d..cf3dd82c9c 100644 --- a/game/modules/tome/data/birth/worlds.lua +++ b/game/modules/tome/data/birth/worlds.lua @@ -120,10 +120,7 @@ newBirthDescriptor{ end end, - -- Give the orb of knowledge - resolvers.inventory{ id=true, {defined="ORB_KNOWLEDGE"}}, resolvers.equip{ id=true, {name="iron pickaxe", ego_chance=-1000}}, - resolvers.generic(function(e) e.hotkey[12] = {"inventory", "Orb of Knowledge"} end), -- Override normal stuff before_starting_zone = function(self) self.starting_level = 1 diff --git a/game/modules/tome/data/factions.lua b/game/modules/tome/data/factions.lua index f13d2adb60..2e180f1713 100644 --- a/game/modules/tome/data/factions.lua +++ b/game/modules/tome/data/factions.lua @@ -19,34 +19,35 @@ -- CSV export local src = [[ -,Enemies,Undead,Allied Kingdoms,Shalore,Thalore,Iron Throne,The Way,Angolwen,Dreadfell,,Temple of Creation|H,Water lair|H,Assassin lair|H,Rhalore,Zigur,,Sunwall,Orc Pride,,Sandworm Burrowers,Victim,Slavers,,Sorcerers,Fearscape,,Sher'Tul -Enemies,,,,,,,,,,,,,,,,,,,,,,,,,,, -Undead,-1,,,,,,,,,,,,,,,,,,,,,,,,,, -Allied Kingdoms,-1,-1,,,,,,,,,,,,,,,,,,,,,,,,, -Shalore,-1,-1,0.5,,,,,,,,,,,,,,,,,,,,,,,, -Thalore,-1,-1,0.7,0.2,,,,,,,,,,,,,,,,,,,,,,, -Iron Throne,-1,-1,0.2,0.2,0.2,,,,,,,,,,,,,,,,,,,,,, -The Way,-1,-1,0,0,0,0,,,,,,,,,,,,,,,,,,,,, -Angolwen,-1,-1,,,,,,,,,,,,,,,,,,,,,,,,, -Dreadfell,,-1,-1,-1,-1,-1,-1,-1,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,, -Temple of Creation|H,,,,,,,,,,,,,,,,,,,,,,,,,,, -Water lair|H,-1,,,,,,,,,,-1,,,,,,,,,,,,,,,, -Assassin lair|H,,,,,,,,,,,,,,,,,,,,,,,,,,, -Rhalore,-1,-1,-1,-1,-1,-1,-1,-1,-1,,-1,-1,-1,,,,,,,,,,,,,, -Zigur,-1,-1,1,1,1,1,0.2,-1,-1,,,,,-1,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,, -Sunwall,-1,-1,,,,,,,-1,,,,-1,-1,,,,,,,,,,,,, -Orc Pride,,-1,-1,-1,-1,-1,-1,-1,-1,,,,,-1,-1,,-1,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,, -Sandworm Burrowers,,,,,,,,,,,,,,,,,,,,,,,,,,, -Victim,,,,,,,,,,,,,,,,,,,,,,,,,,, -Slavers,-1,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,, -Sorcerers,,-1,-1,-1,-1,-1,-1,-1,-1,,,,,-1,-1,,-1,1,,,,,,,,, -Fearscape,,-1,-1,-1,-1,-1,-1,-1,,,-1,-1,-1,-1,-1,,-1,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,, -Sher'Tul,,,,,,,,,,,,,,,,,,,,,,,,,-1,, +,Enemies,Undead,Allied Kingdoms,Shalore,Thalore,Iron Throne,The Way,Angolwen,Dreadfell,,Temple of Creation|H,Water lair|H,Assassin lair|H,Rhalore,Zigur,,Vargh Republic,Sunwall,Orc Pride,,Sandworm Burrowers,Victim,Slavers,,Sorcerers,Fearscape,,Sher'Tul +Enemies,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Undead,-1,,,,,,,,,,,,,,,,,,,,,,,,,,, +Allied Kingdoms,-1,-1,,,,,,,,,,,,,,,,,,,,,,,,,, +Shalore,-1,-1,0.5,,,,,,,,,,,,,,,,,,,,,,,,, +Thalore,-1,-1,0.7,0.2,,,,,,,,,,,,,,,,,,,,,,,, +Iron Throne,-1,-1,0.2,0.2,0.2,,,,,,,,,,,,,,,,,,,,,,, +The Way,-1,-1,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Angolwen,-1,-1,,,,,,,,,,,,,,,,,,,,,,,,,, +Dreadfell,,-1,-1,-1,-1,-1,-1,-1,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Temple of Creation|H,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Water lair|H,-1,,,,,,,,,,-1,,,,,,,,,,,,,,,,, +Assassin lair|H,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Rhalore,-1,-1,-1,-1,-1,-1,-1,-1,-1,,-1,-1,-1,,,,,,,,,,,,,,, +Zigur,-1,-1,1,1,1,1,0.2,-1,-1,,,,,-1,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Vargh Republic,-1,-1,-1,-1,-1,-1,-1,-1,-1,,-1,,-1,-1,-1,,,,,,,,,,,,, +Sunwall,-1,-1,,,,,,,-1,,,,-1,-1,,,-1,,,,,,,,,,, +Orc Pride,,-1,-1,-1,-1,-1,-1,-1,-1,,,,,-1,-1,,-1,-1,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Sandworm Burrowers,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Victim,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Slavers,-1,,,,,,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Sorcerers,,-1,-1,-1,-1,-1,-1,-1,-1,,,,,-1,-1,,-1,-1,1,,,,,,,,, +Fearscape,,-1,-1,-1,-1,-1,-1,-1,,,-1,-1,-1,-1,-1,,-1,-1,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Sher'Tul,,,,,,,,,,,,,,,,,,,,,,,,,,-1,, ]] local facts = {} diff --git a/game/modules/tome/data/general/events/naga-portal.lua b/game/modules/tome/data/general/events/naga-portal.lua new file mode 100644 index 0000000000..5cd132eef1 --- /dev/null +++ b/game/modules/tome/data/general/events/naga-portal.lua @@ -0,0 +1,149 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011, 2012 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +-- Find a random spot +local x, y = rng.range(1, level.map.w - 2), rng.range(1, level.map.h - 2) +local tries = 0 +while (not game.player:canMove(x, y) or level.map.attrs(x, y, "no_teleport")) and tries < 100 do + x, y = rng.range(1, level.map.w - 2), rng.range(1, level.map.h - 2) + tries = tries + 1 +end +if tries >= 100 then return false end + +local id = "naga-invasion-"..game.turn + +local changer = function(id) + local npcs = mod.class.NPC:loadList{"/data/general/npcs/naga.lua"} + local objects = mod.class.Object:loadList("/data/general/objects/objects.lua") + local terrains = mod.class.Grid:loadList{"/data/general/grids/basic.lua", "/data/general/grids/water.lua"} + terrains.WATER_UP_WILDERNESS.change_level_shift_back = true + terrains.WATER_UP_WILDERNESS.change_zone_auto_stairs = true + local zone = mod.class.Zone.new(id, { + name = "water cavern", + level_range = {zone:level_adjust_level(level, zone, "actor"), zone:level_adjust_level(level, zone, "actor")}, + level_scheme = "player", + max_level = 1, + actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end, + width = 30, height = 30, + ambient_music = "Dark Secrets.ogg", + reload_lists = false, + color_shown = {0.5, 1, 0.8, 1}, + color_obscure = {0.5*0.6, 1*0.6, 0.8*0.6, 0.6}, + persistent = "zone", + generator = { + map = { + class = "engine.generator.map.Cavern", + zoom = 12, + min_floor = 250, + floor = "WATER_FLOOR", + wall = "WATER_WALL", + up = "WATER_UP", + down = "WATER_DOWN", + door = "WATER_FLOOR", + }, + actor = { + class = "mod.class.generator.actor.Random", + nb_npc = {12, 12}, + guardian = {random_elite={life_rating=function(v) return v * 1.5 + 4 end, nb_rares=4, name_scheme="#rng# the Tidebender"}}, + }, + object = { + class = "engine.generator.object.Random", + filters = {{type="gem"}}, + nb_object = {6, 9}, + }, + trap = { + class = "engine.generator.trap.Random", + nb_trap = {6, 9}, + }, + }, + post_process = function(level) for uid, e in pairs(level.entities) do e.faction = e.hard_faction or "vargh-republic" end end, +-- levels = { [1] = { generator = { map = { up = "CAVEFLOOR", }, }, }, }, + npc_list = npcs, + grid_list = terrains, + object_list = objects, + trap_list = mod.class.Trap:loadList("/data/general/traps/water.lua"), + }) + return zone +end + +local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull() +g.name = "naga invasion coral portal" +g.display='&' g.color_r=0 g.color_g=0 g.color_b=255 g.notice = true +g.change_level=1 g.change_zone=id g.glow=true +g.add_displays = g.add_displays or {} +g.add_displays[#g.add_displays+1] = mod.class.Grid.new{z=18, image="terrain/naga_portal.png", display_h=2, display_y=-1, embed_particles = { + {name="naga_portal_smoke", rad=2, args={smoke="particles_images/smoke_whispery_bright"}}, + {name="naga_portal_smoke", rad=2, args={smoke="particles_images/smoke_heavy_bright"}}, + {name="naga_portal_smoke", rad=2, args={smoke="particles_images/smoke_dark"}}, +}} +g.nice_tiler = nil +g:initGlow() +g.real_change = changer +g.change_level_check = function(self) + game:changeLevel(1, self.real_change(self.change_zone), {temporary_zone_shift=true}) + self.change_level_check = nil + self.real_change = nil + return true +end +g.block_move = function(self, x, y, who, act, couldpass) + if not who or not who.player or not act then return false end + if self.broken then + game.log("#VIOLET#The portal is already broken!") + return false + end + + require("engine.ui.Dialog"):yesnoPopup("Coral Portal", "Do you wish to enter the portal or just destroy it?", function(ret) + game.log("#VIOLET#The portal is broken!") + if ret then + self:change_level_check() + end + self.broken = true + self.change_level = nil + end, "Destroy", "Enter") + + return false +end + +game.zone:addEntity(game.level, g, "terrain", x, y) + +local respawn = function(self) + local i, j = util.findFreeGrid(self.naga_portal_x, self.naga_portal_y, 10, true, {[engine.Map.ACTOR]=true}) + if not i then return end + + local npcs = mod.class.NPC:loadList{"/data/general/npcs/naga.lua"} + local m = game.zone:makeEntity(game.level, "actor", {base_list=npcs}, nil, true) + if not m then return end + + m.naga_portal_x = self.naga_portal_x + m.naga_portal_y = self.naga_portal_y + m.naga_respawn = self.naga_respawn + m.exp_worth = 0 + m.no_drops = true + m.faction = "vargh-republic" + m.on_die = function(self) self:naga_respawn() end + game.zone:addEntity(game.level, m, "actor", i, j) + game.logSeen(m, "#VIOLET#A naga steps out of the coral portal!") +end + +-- Spawn two that will keep on being replenished +local base = {naga_portal_x=x, naga_portal_y=y, naga_respawn=respawn} +respawn(base) +respawn(base) + +return true diff --git a/game/modules/tome/data/general/events/old-battle-field.lua b/game/modules/tome/data/general/events/old-battle-field.lua index 435eef66b6..c1bd9b78c0 100644 --- a/game/modules/tome/data/general/events/old-battle-field.lua +++ b/game/modules/tome/data/general/events/old-battle-field.lua @@ -35,7 +35,7 @@ while not check(x, y) and tries < 100 do x, y = rng.range(3, level.map.w - 4), rng.range(3, level.map.h - 4) tries = tries + 1 end -if tries < 100 then +if tries < 100 then local id = "old-battle-field-"..game.turn local changer = function(id) @@ -79,6 +79,17 @@ if tries < 100 then local g = game.zone:makeEntityByName(game.level, "terrain", "CAVE_LADDER_UP_WILDERNESS") game.zone:addEntity(game.level, g, "terrain", spot.x, spot.y) + -- A "boss" comes + local nb = 20 + while nb > 0 do + local spot = game.level:pickSpot{type="pop", subtype="undead"} + if not game.level.map(spot.x, spot.y, game.level.map.ACTOR) then + local m = game.zone:makeEntity(game.level, "actor", {random_elite={life_rating=function(v) return v * 1.5 + 4 end, nb_rares=6}}, nil, true) + if m then game.zone:addEntity(game.level, m, "actor", spot.x, spot.y) m:setTarget(game.player) break end + end + nb = nb - 1 + end + require("engine.ui.Dialog"):simpleLongPopup("Onslaught", "You have survived the onslaught of undeads, you notice a way to climb up you had not seen before in a wall nearby.", 400) elseif game.level.turn_counter % 50 == 0 then for i = 1, math.floor(game.level.nb_pop) do diff --git a/game/modules/tome/data/zones/infinite-dungeon/objects.lua b/game/modules/tome/data/zones/infinite-dungeon/objects.lua index 3b69175258..c7fc4a4abe 100644 --- a/game/modules/tome/data/zones/infinite-dungeon/objects.lua +++ b/game/modules/tome/data/zones/infinite-dungeon/objects.lua @@ -18,42 +18,3 @@ -- darkgod@te4.org load("/data/general/objects/objects.lua") - --- Id stuff -newEntity{ define_as = "ORB_KNOWLEDGE", - power_source = {unknown=true}, - unique = true, quest=true, - type = "orb", subtype="orb", - unided_name = "orb", no_unique_lore = true, - name = "Orb of Knowledge", identified = true, - display = "*", color=colors.VIOLET, image = "object/ruby.png", - encumber = 1, - save_hotkey = true, - desc = [[This orb was given to you by Elisa the halfling scryer, it will automatically identify normal and rare items for you and can be activated to identify all others.]], - - on_drop = function(self, who) - if who == game.player then - game.logPlayer(who, "You cannot bring yourself to drop the %s", self:getName()) - return true - end - end, - - max_power = 1, power_regen = 1, - use_power = { name = "use the orb", power = 1, - use = function(self, who) - for inven_id, inven in pairs(who.inven) do - for item, o in ipairs(inven) do - if not o:isIdentified() then - o:identify(true) - game.logPlayer(who, "You have: %s", o:getName{do_colour=true}) - end - end - end - return {id=true, used=true} - end - }, - - carrier = { - auto_id = 2, - }, -} diff --git a/ideas/events b/ideas/events index c4273dd949..9516d00c1c 100644 --- a/ideas/events +++ b/ideas/events @@ -2,9 +2,9 @@ * naga invasion portal: nagas pouring out: enter the water portal; end up in a water cave (provide air bubbles) and defeat the naga leader * 3 pedesrals, stay on each for 3 turns; each time a rare pops; when all 3 dead a portal pops and a randboss pops from it * 7 neutral cultists are spread on the level with a back stone nearby; when one is killed a timer starts, if all killed before timer is out a stair to a secret cave is revealed with an artifact inside -* a few tombstones that can be interraced with; if disturbed a random undead (rare or randboss) may pop -* old battle field: many tombs in close space, if disturbed the player falls into the ground into a small cave; for 100 turns undeads pop faster and faster, if survived a pile of treasure is generated -* damp cave: filled with thieves & bandits with some rares; uses building generator; hosts a pile of gems +++ a few tombstones that can be interraced with; if disturbed a random undead (rare or randboss) may pop +++ old battle field: many tombs in close space, if disturbed the player falls into the ground into a small cave; for 100 turns undeads pop faster and faster, if survived a pile of treasure is generated +++ damp cave: filled with thieves & bandits with some rares; uses building generator; hosts a pile of gems * a necromancer starts on the other side of the level (not on boss levels); kills npcs, when enough killed he makes a huge bone golem rare * a huge meteor falls near the player, destroying anything and poping losgoroths * zone appropriate battle fields: yeachs vs. yeeks; zigur vs corrupters, ... diff --git a/ideas/factions.ods b/ideas/factions.ods index 563530743d0fc9280d8aa04081e91676930b2eb5..dd211c8dcf570bb2ef8c64aa355befbed6838230 100644 GIT binary patch literal 13872 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 literal 14136 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 D`%R~H -- GitLab