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

Upgrade eruan to link everythign together

git-svn-id: http://svn.net-core.org/repos/t-engine4@850 51575b47-30f0-44d4-a5cc-537603b46e54
parent 7192a548
No related branches found
No related tags found
No related merge requests found
Showing with 225 additions and 16 deletions
......@@ -21,7 +21,8 @@ newChat{ id="welcome",
text = [[Thanks for your help. What may I do for you?]],
answers = {
{"Tell me more about the Gates of Morning.", jump="explain-gates"},
{"I need help to hunt for clue about the staff.", jump="clues"},
{"I need help to hunt for clue about the staff.", jump="clues", cond=function(npc, player) return not player:hasQuest("orc-pride") end},
{"I am back from Mount Doom, where the orcs took the staff.", jump="mount-doom", cond=function(npc, player) return player:hasQuest("mount-doom") and player:hasQuest("mount-doom"):isCompleted() end},
{"Sorry I have to go!"},
}
}
......@@ -57,4 +58,33 @@ The known bastions of the Pride are:
},
}
newChat{ id="mount-doom",
text = [[I have heard about that, some good men lost their life for this, I hope it was worth it.]],
answers = {
{"Yes my lady, they delayed the orcs so that I could get to the heart of the volcano. *#LIGHT_GREEN#Tell her what happened#WHITE#*", jump="mount-doom-success",
cond=function(npc, player) return player:isQuestStatus("mount-doom", engine.Quest.COMPLETED, "stopped") end,
},
{"I am afraid I was too late, but still I have some precious informations. *#LIGHT_GREEN#Tell her what happened#WHITE#*", jump="mount-doom-fail",
cond=function(npc, player) return player:isQuestStatus("mount-doom", engine.Quest.COMPLETED, "not-stopped") end,
},
},
}
newChat{ id="mount-doom-success",
text = [[Blue Wizards ? I have never heard of them, there were rumours about a new master of the Pride, it seems they got two.
Thanks for all, you must continue your hunt, now you know what to look for.]],
answers = {
{"I will avenge your men.", action=function(npc, player) player:setQuestStatus("mount-doom", engine.Quest.DONE) end}
},
}
newChat{ id="mount-doom-fail",
text = [[Blue Wizards ? I have never heard of them, there were rumours about a new master of the Pride, it seems they got two.
I am afraid with the power they gained today they will be even harder to stop, but we do not have a choice.]],
answers = {
{"I will avenge your men.", action=function(npc, player) player:setQuestStatus("mount-doom", engine.Quest.DONE) end}
},
}
return "welcome"
-- ToME - Tales of Middle-Earth
-- Copyright (C) 2009, 2010 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
newChat{ id="welcome",
text = [[@playername@, I am part of a group of Sun Paladins sent by Aeryn, we arrived here tracking the orcs.
They have gone through that portal, a few of my friends were pulled in with them.
Earlier we captured an orc, he revealed the staff you seek is to be used to absord the power of a remote place for some dark rituals.
You must traverse this portal, if you have any means to, and stop the orcs.]],
answers = {
{"I think I can use the portal, do not worry!"},
}
}
return "welcome"
-- ToME - Tales of Middle-Earth
-- Copyright (C) 2009, 2010 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
defineTile('.', "SAND")
defineTile('#', "PALMTREE")
defineTile('~', "DEEP_WATER")
defineTile('&', "MOUNT_DOOM_PORTAL")
defineTile('s', "SAND", nil, "SUN_PALADIN_GUREN")
subGenerator{
x = 0, y = 0, w = 50, h = 43,
generator = "engine.generator.map.Forest",
data = {
edge_entrances = {8,2},
zoom = 6,
sqrt_percent = 40,
noise = "fbm_perlin",
floor = "SAND",
wall = "PALMTREE",
up = "UP",
down = "DOWN",
do_ponds = {
nb = {0, 2},
size = {w=25, h=25},
pond = {{0.6, "DEEP_WATER"}, {0.8, "SHALLOW_WATER"}},
},
},
define_up = true,
}
checkConnectivity({26,44}, "entrance", "boss-area", "boss-area")
return {
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[ ]],
[[..................................................]],
[[..#...................~~...~......#...............]],
[[.....#............#...~~~~~~...........#...#....#.]],
[[...#........#.........~~&&&~~......#.....#..#.....]],
[[.........#...........~~~&&&s.............#....#...]],
[[..............#......~~~&&&~~~....#...#........#..]],
[[.......................~~~~~~.....................]]
}
......@@ -22,10 +22,10 @@ name = "The Doom of the World!"
desc = function(self, who)
local desc = {}
desc[#desc+1] = "You were sent to Mount Doom, in the ancient land of Mordor, where the One Ring was once forged by Sauron and destroyed by Frodo Baggins."
desc[#desc+1] = "This place is still full of the power of the ring and the Blue Wizard intend to absorb this power using the Staff of Absorption!"
desc[#desc+1] = "This place is still full of the power of the ring and the orcs intend to absorb this power using the Staff of Absorption!"
desc[#desc+1] = "Whatever their plan may be, they must be stopped at all cost."
desc[#desc+1] = "The volcano is attacked by orcs, a few Sun Paladins made it there with you, they will hold the line at the cost of their lives to buy you some time."
desc[#desc+1] = "Honor their sacrifice, do not let the Blue Wizards finish their work!"
desc[#desc+1] = "Honor their sacrifice, do not let the orcs finish their work!"
if self:isCompleted("not-stopped") then
desc[#desc+1] = ""
desc[#desc+1] = "You arrived too late, the place has been drained of its power and the blue wizards have left."
......@@ -57,6 +57,10 @@ start_fyrk = function(self)
local fyrk = game.zone:makeEntityByName(game.level, "actor", "FYRK")
game.zone:addEntity(game.level, fyrk, "actor", 6, 455)
game.logPlayer(game.player, "#VIOLET#The Blue Wizards flee through a portal, as you prepare to follow them a huge faeros appears to block the way.")
game.player:setQuestStatus("mount-doom", engine.Quest.DONE)
if self:isCompleted("not-stopped")
game.logPlayer(game.player, "#VIOLET#A portal activates in the distance, you hear the orcs shout 'The Blue Wizards have departed, follow them!'")
else
game.logPlayer(game.player, "#VIOLET#The Blue Wizards flee through a portal, as you prepare to follow them a huge faeros appears to block the way.")
end
game.player:setQuestStatus("mount-doom", engine.Quest.COMPLETED)
end
......@@ -50,18 +50,16 @@ desc = function(self, who)
return table.concat(desc, "\n")
end
--[[
on_grant = function(self, who)
-- Reveal moria entrance
-- Reveal entrances
local g = mod.class.Grid.new{
show_tooltip=true,
name="A gate into the mines of Moria",
name="Entrance to Rak'shor Pride bastion",
display='>', color=colors.UMBER,
notice = true,
change_level=1, change_zone="moria"
change_level=1, change_zone="rak-shor-pride"
}
g:resolve() g:resolve(nil, true)
game.zone:addEntity(game.memory_levels["wilderness-1"], g, "terrain", 44, 28)
game.logPlayer(game.player, "The elder points the mines on your map, to the north on the western side of the misty mountains.")
game.zone:addEntity(game.memory_levels["wilderness-arda-fareast-1"], g, "terrain", 38, 49)
game.logPlayer(game.player, "Aeryn points the known locations on your map.")
end
]]
......@@ -21,3 +21,44 @@ load("/data/general/npcs/sandworm.lua")
load("/data/general/npcs/orc.lua")
local Talents = require("engine.interface.ActorTalents")
newEntity{ define_as = "SUN_PALADIN_GUREN",
type = "humanoid", subtype = "human",
display = "p",
faction = "sunwall",
name = "Sun Paladin Guren", color=colors.GOLD, unique = true,
desc = [[A human warrior, clad in a shining plate armour. Power radiates from him.]],
level_range = {50, 50}, exp_worth = 2,
life_regen = 10,
rank = 3,
size_category = 3,
female = true,
max_life = 150, life_rating = 27, fixed_rating = true,
infravision = 20,
stats = { str=15, dex=10, cun=12, mag=16, con=14 },
move_others=true,
open_door = true,
autolevel = "warriormage",
ai = "dumb_talented_simple", ai_state = { talent_in=2, ai_move="move_astar", },
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
resolvers.drops{chance=100, nb=3, {ego_chance=100} },
resolvers.equip{
{type="weapon", subtype="mace", autoreq=true},
{type="armor", subtype="shield", autoreq=true},
{type="armor", subtype="massive", autoreq=true},
},
resolvers.talents{
[Talents.T_MASSIVE_ARMOUR_TRAINING]=5,
[Talents.T_CHANT_OF_LIGHT]=5,
[Talents.T_SEARING_LIGHT]=5,
[Talents.T_MARTYRDOM]=5,
[Talents.T_BARRIER]=5,
[Talents.T_WEAPON_OF_LIGHT]=5,
},
can_talk = "pre-mount-doom-eruan",
}
......@@ -28,7 +28,7 @@ return {
-- all_remembered = true,
all_lited = true,
persistant = "zone",
ambiant_music = "Rainy Day.ogg",
ambiant_music = "Bazaar of Tal-Mashad.ogg",
generator = {
map = {
class = "engine.generator.map.Forest",
......@@ -67,5 +67,11 @@ return {
up = "UP_WILDERNESS",
}, },
},
[5] = {
generator = { map = {
class = "engine.generator.map.Static",
map = "zones/eruan-last",
}, },
},
},
}
......@@ -205,8 +205,8 @@ newEntity{
on_acquire_target = function(self, who)
self:doEmote("Damn you, you only postpone your death! Fyrk!", 60)
game.player:hasQuest("mount-doom"):start_fyrk()
game.player:hasQuest("mount-doom"):setStatus(engine.Quest.COMPLETED, "stopped")
game.player:hasQuest("mount-doom"):start_fyrk()
end,
}
......
......@@ -63,8 +63,8 @@ return {
game.level.turn_counter = game.level.turn_counter - 1
game.player.changed = true
if game.level.turn_counter < 0 then
game.player:hasQuest("mount-doom"):start_fyrk()
game.player:hasQuest("mount-doom"):setStatus(engine.Quest.COMPLETED, "not-stopped")
game.player:hasQuest("mount-doom"):start_fyrk()
end
end,
}
......@@ -25,7 +25,7 @@ return {
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 = 50, height = 50,
-- persistent = "zone",
persistent = "zone",
-- all_remembered = true,
all_lited = true,
ambiant_music = "Bazaar of Tal-Mashad.ogg",
......
No preview for this file type
No preview for this file type
No preview for this file type
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