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

moar

git-svn-id: http://svn.net-core.org/repos/t-engine4@2724 51575b47-30f0-44d4-a5cc-537603b46e54
parent c1cd4664
No related branches found
No related tags found
No related merge requests found
Showing
with 330 additions and 15 deletions
......@@ -80,12 +80,12 @@ function _M:init()
end
function _M:run()
self.calendar = Calendar.new("/data/calendar_allied.lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
self.flash = LogFlasher.new(0, 0, self.w, 20, nil, nil, nil, {255,255,255}, {0,0,0})
self.logdisplay = LogDisplay.new(0, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, nil, nil, nil, {255,255,255}, "/data/gfx/ui/message-log.png")
self.player_display = PlayerDisplay.new(0, 230, 200, self.h * 0.8 - 230, {30,30,0})
self.hotkeys_display = HotkeysDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png")
self.npcs_display = ActorsSeenDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png")
self.calendar = Calendar.new("/data/calendar_allied.lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
self.tooltip = Tooltip.new(nil, nil, {255,255,255}, {30,30,30,230})
self.tooltip2 = Tooltip.new(nil, nil, {255,255,255}, {30,30,30,230})
self.flyers = FlyingText.new()
......@@ -126,6 +126,7 @@ function _M:run()
if self.level then self:setupDisplayMode(false, "postinit") end
if self.level and self.level.data.day_night then self.state:dayNightCycle() end
if self.level and self.player then self.calendar = Calendar.new("/data/calendar_"..(self.player.calendar or "allied")..".lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11) end
end
--- Checks if the current character is "tainted" by cheating
......@@ -175,6 +176,7 @@ function _M:newGame()
self.creating_player = true
local birth; birth = Birther.new("Character Creation: "..self.player.name.." ("..nb_unlocks.."/"..max_unlocks.." unlocked birth options)", self.player, {"base", "difficulty", "world", "race", "subrace", "sex", "class", "subclass" }, function()
self.calendar = Calendar.new("/data/calendar_"..(self.player.calendar or "allied")..".lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
self.player:check("make_tile")
self.player.make_tile = nil
......@@ -184,8 +186,18 @@ function _M:newGame()
save:close()
self.player:check("before_starting_zone")
self.player.wild_x, self.player.wild_y = self.player.default_wilderness[1], self.player.default_wilderness[2]
-- Configure & create the worldmap
self.player.last_wilderness = self.player.default_wilderness[3] or "wilderness"
self.player.wild_x, self.player.wild_y = 1, 1
self:changeLevel(1, self.player.last_wilderness)
self.player.wild_x, self.player.wild_y = self.player.default_wilderness[1], self.player.default_wilderness[2]
if type(self.player.wild_x) == "string" and type(self.player.wild_y) == "string" then
local spot = self.level:pickSpot{type=self.player.wild_x, subtype=self.player.wild_y} or {x=1,y=1}
self.player.wild_x, self.player.wild_y = spot.x, spot.y
end
-- Generate
if self.player.__game_difficulty then self:setupDifficulty(self.player.__game_difficulty) end
self:changeLevel(self.player.starting_level or 1, self.player.starting_zone, nil, self.player.starting_level_force_down)
print("[PLAYER BIRTH] resolve...")
......@@ -239,6 +251,7 @@ function _M:newGame()
self.party = qb
self.player = nil
self.party:setPlayer(1, true)
self.calendar = Calendar.new("/data/calendar_"..(self.player.calendar or "allied")..".lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
Map:setViewerFaction(self.player.faction)
if self.player.__game_difficulty then self:setupDifficulty(self.player.__game_difficulty) end
......
......@@ -157,3 +157,7 @@ newAchievement{
name = "Home sweet home", id = "SHERTUL_FORTRESS",
desc = [[Dispatched the Weirdling Beast and taken possession of Yiilkgur, the Sher'Tul Fortress for your own usage.]],
}
newAchievement{
name = "Squadmate", id = "NORGAN_SAVED",
desc = [[Escaped from Reknor alive with your squadmate Norgan.]],
}
......@@ -79,7 +79,7 @@ newBirthDescriptor
copy = {
resolvers.generic(function(e) e.descriptor.class = "Golem" e.descriptor.subclass = "Golem" end),
resolvers.genericlast(function(e) e.faction = "undead" end),
default_wilderness = {28, 13},
default_wilderness = {"playerpop", "allied"},
starting_zone = "ruins-kor-pul",
starting_quest = "start-allied",
blood_color = colors.GREY,
......
......@@ -38,7 +38,8 @@ newBirthDescriptor{
copy = {
faction = "iron-throne",
type = "humanoid", subtype="dwarf",
default_wilderness = {28, 13},
calendar = "dwarf",
default_wilderness = {"playerpop", "dwarf"},
starting_zone = "reknor-escape",
starting_quest = "start-dwarf",
starting_intro = "dwarf",
......
......@@ -44,7 +44,6 @@ newBirthDescriptor{
},
copy = {
type = "humanoid", subtype="elf",
default_wilderness = {28, 13},
starting_zone = "trollmire",
starting_quest = "start-allied",
resolvers.inventory{ id=true, {defined="ORB_SCRYING"} },
......@@ -73,7 +72,7 @@ newBirthDescriptor
experience = 1.3,
talents = { [ActorTalents.T_SHALOREN_SPEED]=1 },
copy = {
default_wilderness = {17, 42},
default_wilderness = {"playerpop", "shaloren"},
starting_zone = "scintillating-caves",
starting_quest = "start-shaloren",
faction = "shalore",
......@@ -108,6 +107,7 @@ newBirthDescriptor
faction = "thalore",
starting_intro = "thalore",
life_rating = 11,
default_wilderness = {"playerpop", "allied"},
resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=14}),
},
......
......@@ -44,7 +44,7 @@ newBirthDescriptor{
copy = {
faction = "allied-kingdoms",
type = "humanoid", subtype="halfling",
default_wilderness = {28, 13},
default_wilderness = {"playerpop", "allied"},
starting_zone = "trollmire",
starting_quest = "start-allied",
starting_intro = "halfling",
......
......@@ -79,7 +79,7 @@ newBirthDescriptor
},
copy = {
life_rating = 11,
default_wilderness = {28, 13},
default_wilderness = {"playerpop", "allied"},
starting_zone = "trollmire",
starting_quest = "start-allied",
starting_intro = "higher",
......@@ -103,7 +103,7 @@ newBirthDescriptor
copy = {
unused_talents_types = 1,
life_rating = 10,
default_wilderness = {28, 13},
default_wilderness = {"playerpop", "allied"},
starting_zone = "trollmire",
starting_quest = "start-allied",
starting_intro = "cornac",
......
......@@ -52,7 +52,7 @@ newBirthDescriptor{
copy = {
faction = "orc-pride",
type = "humanoid", subtype="orc",
default_wilderness = {10, 39, "wilderness"},
default_wilderness = {"playerpop", "allied"},
starting_zone = "wilderness",
starting_quest = "start-dunadan",
starting_intro = "orc",
......
......@@ -46,7 +46,7 @@ newBirthDescriptor{
copy = {
faction = "orc-pride",
type = "humanoid", subtype="troll",
default_wilderness = {26, 7, "wilderness"},
default_wilderness = {"playerpop", "allied"},
starting_zone = "trollmire",
starting_quest = "start-dunadan",
starting_intro = "dwarf",
......
......@@ -48,7 +48,6 @@ newBirthDescriptor{
copy = {
-- Force undead faction to undead
resolvers.genericlast(function(e) e.faction = "undead" end),
default_wilderness = {39, 38},
starting_zone = "blighted-ruins",
starting_level = 8, starting_level_force_down = true,
starting_quest = "start-undead",
......@@ -97,6 +96,7 @@ newBirthDescriptor
},
copy = {
type = "undead", subtype="ghoul",
default_wilderness = {"playerpop", "low-undead"},
starting_intro = "ghoul",
life_rating=14,
poison_immune = 0.8,
......@@ -143,6 +143,7 @@ newBirthDescriptor
},
copy = {
type = "undead", subtype="skeleton",
default_wilderness = {"playerpop", "low-undead"},
starting_intro = "skeleton",
life_rating=12,
poison_immune = 1,
......
......@@ -41,7 +41,7 @@ newBirthDescriptor{
faction = "the-way",
type = "humanoid", subtype="yeek",
size_category = 2,
default_wilderness = {28, 49},
default_wilderness = {"playerpop", "yeek"},
starting_zone = "wilderness",
starting_quest = "start-yeek",
starting_intro = "yeek",
......
-- ToME - Tales of Maj'Eyal
-- 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
return {
{ 31, "Iron", },
{ 45, "Steel", },
{ 30, "Gold", },
{ 45, "Stralite", },
{ 31, "Voratun", },
{ 3, "Acuisition", },
{ 45, "Profit", },
{ 30, "Wealth", },
{ 45, "Dearth", },
{ 30, "Loss", },
{ 30, "Shortage", },
}
-- ToME - Tales of Maj'Eyal
-- 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 = [[Thank you @playername@ we both survived for the wealth of the Empire. I will bring them the news and then rest.
I do not think I want to see death so closely for some time now.
Farewell.]],
answers = {
{"For the Empite! Take care.", action=function(npc, player)
npc:disappear()
world:gainAchievement("NORGAN_SAVED", player)
end},
}
}
return "welcome"
......@@ -701,7 +701,7 @@ newDamageType{
projector = function(src, x, y, type, dam)
local realdam = DamageType:get(DamageType.FIRE).projector(src, x, y, DamageType.FIRE, dam)
local target = game.level.map(x, y, Map.ACTOR)
if target and src:attr("cleansing_flames") then
if target and src:attr("cleansing_flames") and rng.percent(src:attr("cleansing_flames")) then
local effs = {}
local status = (src:reactionToward(target) >= 0) and "detrimental" or "beneficial"
for eff_id, p in pairs(target.tmp) do
......
......@@ -17,6 +17,11 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
startx = 34
starty = 3
endx = 6
endy = 43
-- defineTile section
defineTile("D", "DEEP_BELLOW")
defineTile("#", "HARDWALL")
......
......@@ -98,6 +98,13 @@ else
quickEntity('zigur', ')')
end
-- Iron Council is only known to dwarves
if game.player:knowTalent(game.player.T_DWARVEN_RESILIENCE) then
quickEntity('iron-council', {always_remember = true, show_tooltip=true, name="Iron Council (Town)", desc="Heart of the dwarven Empire", display='*', color={r=255, g=255, b=255}, back_color=colors.DARK_GREEN, image="terrain/town1.png", notice = true, change_level=1, change_zone="town-iron-council"})
else
quickEntity('iron-council', '#')
end
-- Load encounters for this map
prepareEntitiesList("maj_eyal_encounters", "mod.class.Encounter", "/data/general/encounters/maj-eyal.lua")
prepareEntitiesList("maj_eyal_encounters_npcs", "mod.class.WorldNPC", "/data/general/encounters/maj-eyal-npcs.lua")
......@@ -168,6 +175,11 @@ addSpot({32, 23}, "zone-pop", "shertul-fortress")
addSpot({37, 32}, "zone-pop", "halfling-ruins")
addSpot({31, 47}, "zone-pop", "rel-tunnel")
addSpot({60, 9}, "zone-pop", "tempest-peak")
addSpot({28, 13}, "playerpop", "allied")
addSpot({70, 23}, "playerpop", "dwarf")
addSpot({17, 42}, "playerpop", "shaloren")
addSpot({27, 49}, "playerpop", "yeek")
addSpot({39, 38}, "playerpop", "low-undead")
-- addZone section
addZone({5, 1, 82, 43}, "zonename", "Maj'Eyal")
......@@ -215,7 +227,7 @@ return {
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[v]],[[T]],[[.]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[!]],[[.]],[[!]],[[^]],[[^]],[[!]],[[.]],[[.]],[[-]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[-]],[[#]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[!]],[[!]],[[!]],[[!]],[[-]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[-]],[[-]],[[-]],[[.]],[[.]],[[.]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[^]],[[(]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[w]],[[w]],[[!]],[[w]],[[w]],[[w]],[[w]],[[!]],[[.]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[|]],[[T]],[[T]],[[!]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[T]],[[v]],[[v]],[[v]],[[v]],[[.]],[[.]],[[!]],[[!]],[[!]],[[^]],[[^]],[[!]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[-]],[[-]],[[!]],[[!]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[-]],[[-]],[[#]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[!]],[[!]],[[!]],[[-]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[-]],[[.]],[[.]],[[.]],[[.]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[^]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[!]],[[!]],[[^]],[[^]],[[maze]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[v]],[[v]],[[v]],[[.]],[[v]],[[v]],[[v]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[^]],[[!]],[[.]],[[.]],[[-]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[-]],[[.]],[[#]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[!]],[[!]],[[-]],[[-]],[[.]],[[.]],[[-]],[[-]],[[-]],[[-]],[[T]],[[T]],[[.]],[[.]],[[.]],[[!]],[[^]],[[^]],[[!]],[[!]],[[!]],[[.]],[[.]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[old-forest]],[[v]],[[v]],[[v]],[[v]],[[!]],[[v]],[[v]],[[v]],[[v]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[-]],[[.]],[[!]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[.]],[[-]],[[-]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[!]],[[^]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[old-forest]],[[v]],[[v]],[[v]],[[v]],[[!]],[[v]],[[v]],[[v]],[[v]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[-]],[[.]],[[!]],[[iron-council]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[.]],[[-]],[[-]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[!]],[[^]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[sandworm]],[[|]],[[|]],[[.]],[[T]],[[T]],[[^]],[[^]],[[angolwen]],[[^]],[[angolwen-teleport]],[[!]],[[.]],[[.]],[[.]],[[.]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[.]],[[.]],[[.]],[[v]],[[v]],[[v]],[[*]],[[*]],[[-]],[[-]],[[v]],[[v]],[[v]],[[!]],[[!]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[-]],[[.]],[[!]],[[!]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[-]],[[-]],[[!]],[[!]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[!]],[[!]],[[.]],[[.]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[.]],[[T]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[.]],[[.]],[[v]],[[v]],[[v]],[[*]],[[*]],[[v]],[[-]],[[-]],[[v]],[[v]],[[!]],[[!]],[[^]],[[^]],[[^]],[[!]],[[.]],[[.]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[-]],[[.]],[[.]],[[!]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[!]],[[!]],[[!]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[!]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],},
{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[.]],[[T]],[[T]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[.]],[[.]],[[.]],[[v]],[[v]],[[*]],[[*]],[[v]],[[v]],[[-]],[[-]],[[v]],[[v]],[[v]],[[^]],[[^]],[[^]],[[!]],[[.]],[[.]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[irondeep-lake]],[[irondeep-lake]],[[.]],[[!]],[[!]],[[!]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[-]],[[!]],[[!]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[!]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[.]],[[.]],[[~]],[[~]],[[~]],},
......
-- ToME - Tales of Maj'Eyal
-- 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
name = "From bellow, it devours"
desc = function(self, who)
local desc = {}
desc[#desc+1] = "Your escape from Reknor got your heart pounding and your desire for wealth and power increased tenfolds."
desc[#desc+1] = "Maybe it is time for you to start an adventurer's career. Deep down the Iron Throne mountains lies the Deep Bellow."
desc[#desc+1] = "It has been long sealed away but still, from time to time adventurers go there looking for wealth."
desc[#desc+1] = "None that you know of has come back yet, but you did survive Reknor. You are great."
return table.concat(desc, "\n")
end
on_status_change = function(self, who, status, sub)
if self:isCompleted() then
who:setQuestStatus(self.id, engine.Quest.DONE)
end
end
-- ToME - Tales of Maj'Eyal
-- 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
name = "Reknor is lost!"
desc = function(self, who)
local desc = {}
desc[#desc+1] = "You were part of a group of dwarves sent to investigate the situation of the kingdom of Reknor."
desc[#desc+1] = "When you arrived there you found nothing but orcs, well organized and very powerful."
desc[#desc+1] = "Most of your team was killed there and now you and Norgan (the sole survivor besides you) must hurry to go back to the Iron Council to bring the news."
desc[#desc+1] = "Let nothing stop you."
if self:isCompleted("norgan-survived") then
desc[#desc+1] = "Both Norgan and you made it home."
end
return table.concat(desc, "\n")
end
on_status_change = function(self, who, status, sub)
if self:isCompleted() then
who:setQuestStatus(self.id, engine.Quest.DONE)
who:grantQuest("deep-bellow")
who:grantQuest("starter-zones")
end
end
on_grant = function(self, who)
local x, y = util.findFreeGrid(game.player.x, game.player.y, 20, true, {[engine.Map.ACTOR]=true})
local norgan = game.zone:makeEntityByName(game.level, "actor", "NORGAN")
game.zone:addEntity(game.level, norgan, "actor", x, y)
game.party:addMember(norgan, {
control="order", type="squadmate", title="Norgan",
orders = {leash=true, follow=true}, -- behavior=true},
})
norgan.ai_state.tactic_follow_leader = true
end
-- ToME - Tales of Maj'Eyal
-- 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
load("/data/general/grids/basic.lua")
-- ToME - Tales of Maj'Eyal
-- 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
load("/data/general/npcs/rodent.lua", rarity(0))
load("/data/general/npcs/vermin.lua", rarity(2))
load("/data/general/npcs/molds.lua", rarity(1))
load("/data/general/npcs/skeleton.lua", rarity(0))
load("/data/general/npcs/snake.lua", rarity(2))
load("/data/general/npcs/all.lua", rarity(4, 35))
local Talents = require("engine.interface.ActorTalents")
newEntity{ define_as = "BROTOQ",
allow_infinite_dungeon = true,
type = "undead", subtype = "skeleton", unique = true,
name = "The Shade",
display = "s", color=colors.VIOLET,
shader = "unique_glow",
desc = [[This skeleton looks nasty. There are red flames in its empty eye sockets. It wields a nasty sword and strides toward you, throwing spells.]],
level_range = {7, nil}, exp_worth = 2,
max_life = 150, life_rating = 15, fixed_rating = true,
max_mana = 85,
max_stamina = 85,
rank = 4,
size_category = 3,
undead = 1,
infravision = 20,
stats = { str=16, dex=12, cun=14, mag=25, con=16 },
instakill_immune = 1,
blind_immune = 1,
bleed_immune = 1,
move_others=true,
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_KOR", random_art_replace={chance=75}, autoreq=true}, {type="armor", subtype="light", autoreq=true}, },
drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} },
resolvers.talents{
[Talents.T_MANATHRUST]=4, [Talents.T_FREEZE]=4, [Talents.T_TIDAL_WAVE]=2,
[Talents.T_WEAPONS_MASTERY]=3,
},
resolvers.inscriptions(1, {"shielding rune", "phase door rune"}),
resolvers.inscriptions(1, {"manasurge rune"}),
inc_damage = {all=-20},
autolevel = "warriormage",
ai = "tactical", ai_state = { talent_in=3, ai_move="move_astar", },
on_die = function(self, who)
game.state:activateBackupGuardian("KOR_FURY", 5, 35, ".. yes I tell you! The old ruins of Kor'Pul are still haunted!")
game.player:resolveSource():grantQuest("start-allied")
game.player:resolveSource():setQuestStatus("start-allied", engine.Quest.COMPLETED, "kor-pul")
end,
}
-- Your ally
newEntity{ define_as = "NORGAN",
type = "humanoid", subtype = "dwarf", unique = true,
name = "Norgan",
display = "@", color=colors.UMBER,
faction = "iron-throne",
desc = [[Norgan and you are the sole survivors of the Reknor expedition, your duty is to make sure the news come back to the Iron Council.]],
level_range = {1, 1},
max_life = 120, life_rating = 12, fixed_rating = true,
rank = 3,
stats = { str=19, dex=10, cun=12, mag=8, con=16, wil=13 },
move_others=true,
never_anger = true,
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, LITE=1 },
equipment = resolvers.equip{
{type="weapon", subtype="greatmaul", name="iron greatmaul", autoreq=true},
{type="armor", subtype="heavy", name="iron mail armour", autoreq=true},
{type="lite", subtype="lite", name="brass lantern"},
},
resolvers.talents{
[Talents.T_DWARF_RESILIENCE]=1,
[Talents.T_HEAVY_ARMOUR_TRAINING]=1,
[Talents.T_STUNNING_BLOW]=2,
[Talents.T_WEAPON_COMBAT]=2,
[Talents.T_WEAPONS_MASTERY]=2,
},
resolvers.inscriptions(1, {"regeneration infusion"}),
autolevel = "zerker",
ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
ai_tactic = resolvers.tactic"melee",
on_die = function(self, who)
game.player:resolveSource():setQuestStatus("start-dwarf", engine.Quest.COMPLETED, "norgan-dead")
end,
}
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