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

po

git-svn-id: http://svn.net-core.org/repos/t-engine4@2088 51575b47-30f0-44d4-a5cc-537603b46e54
parent 92d01cbe
No related branches found
No related tags found
No related merge requests found
-- 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")
load("/data/general/grids/forest.lua")
load("/data/general/grids/water.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(5))
load("/data/general/npcs/vermin.lua", rarity(2))
load("/data/general/npcs/canine.lua", rarity(0))
load("/data/general/npcs/troll.lua", rarity(0))
load("/data/general/npcs/snake.lua", rarity(3))
load("/data/general/npcs/plant.lua", rarity(0))
load("/data/general/npcs/swarm.lua", rarity(3))
load("/data/general/npcs/bear.lua", rarity(2))
load("/data/general/npcs/all.lua", rarity(4, 35))
local Talents = require("engine.interface.ActorTalents")
newEntity{ define_as = "TROLL_BILL",
allow_infinite_dungeon = true,
type = "giant", subtype = "troll", unique = true,
name = "Bill the Stone Troll",
display = "T", color=colors.VIOLET, image="npc/troll_bill.png",
desc = [[Big, brawny, powerful and with a taste for halfling.
He is wielding a small tree trunk and towering toward you.]],
level_range = {7, nil}, exp_worth = 2,
max_life = 250, life_rating = 17, fixed_rating = true,
max_stamina = 85,
stats = { str=25, dex=10, cun=8, mag=10, con=20 },
rank = 4,
size_category = 4,
infravision = 20,
instakill_immune = 1,
move_others=true,
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
resolvers.equip{ {type="weapon", subtype="greatmaul", defined="GREATMAUL_BILL_TRUNK", random_art_replace={chance=75}, autoreq=true}, },
resolvers.drops{chance=100, nb=3, {ego_chance=100} },
resolvers.drops{chance=100, nb=1, {defined="ROD_OF_RECALL"} },
resolvers.talents{
[Talents.T_RUSH]=3,
[Talents.T_KNOCKBACK]=1,
},
inc_damage = { all = -50 },
autolevel = "warrior",
ai = "dumb_talented_simple", ai_state = { talent_in=4, ai_move="move_astar", },
on_die = function(self, who)
game.state:activateBackupGuardian("ALUIN", 2, 35, "... and we thought the trollmire was safer now!")
game.player:resolveSource():setQuestStatus("start-allied", engine.Quest.COMPLETED, "trollmire")
if who and who.level and who.level == 1 then
world:gainAchievement("KILL_BILL", game.player)
end
end,
}
newEntity{ define_as = "ALUIN",
allow_infinite_dungeon = true,
type = "humanoid", subtype = "human", unique = true,
name = "Aluin the Fallen",
display = "p", color=colors.VIOLET,
desc = [[His once shining armour now dull and bloodstained, this sun paladin has given in to despair.]],
level_range = {35, nil}, exp_worth = 3,
max_life = 350, life_rating = 23, fixed_rating = true,
hate_regen = 10,
stats = { str=25, dex=10, cun=8, mag=10, con=20 },
rank = 4,
size_category = 3,
infravision = 20,
instakill_immune = 1,
blind_immune = 1,
see_invisible = 30,
move_others=true,
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
resolvers.equip{
{type="weapon", subtype="waraxe", ego_chance=100, autoreq=true},
{type="armor", subtype="shield", defined="SANGUINE_SHIELD", random_art_replace={chance=65}, autoreq=true},
{type="armor", subtype="massive", ego_chance=100, autoreq=true},
},
resolvers.drops{chance=100, nb=3, {ego_chance=100} },
resolvers.talents{
[Talents.T_MASSIVE_ARMOUR_TRAINING]=5,
[Talents.T_WEAPON_COMBAT]=6,
[Talents.T_WEAPONS_MASTERY]=6,
[Talents.T_RUSH]=4,
[Talents.T_ENRAGE]=3,
[Talents.T_SUPPRESSION]=4,
[Talents.T_BLINDSIDE]=4,
[Talents.T_GLOOM]=4,
[Talents.T_WEAKNESS]=4,
[Talents.T_TORMENT]=4,
[Talents.T_LIFE_LEECH]=4,
[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,
[Talents.T_CRUSADE]=8,
[Talents.T_FIREBEAM]=7,
},
resolvers.sustains_at_birth(),
autolevel = "warriormage",
ai = "dumb_talented_simple", ai_state = { talent_in=2, ai_move="move_astar", },
}
-- 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/objects/objects.lua")
for i = 1, 5 do
newEntity{ base = "BASE_LORE",
define_as = "NOTE"..i,
name = "tattered paper scrap", lore="trollmire-note-"..i,
desc = [[A paper scrap, left by an adventurer.]],
rarity = false,
is_magic_device = false,
encumberance = 0,
}
end
newEntity{ base = "BASE_WAND",
define_as = "ROD_OF_RECALL",
unided_name = "unstable wand", identified=true, force_lore_artifact=true,
name = "Rod of Recall", color=colors.LIGHT_BLUE, unique=true,
desc = [[This rod is made entirely of voratun, infused with raw magical energies it can bend space itself.
This seems to be what the troll was keeping as "treasure". You have heard of such items before, they are very useful to adventurers, allowing faster travel.]],
cost = 0, quest=true,
elec_proof = true,
max_power = 1000, power_regen = 1,
use_power = { name = "recall the user to the worldmap", power = 1000,
use = function(self, who)
if who:canBe("worldport") then
who:setEffect(who.EFF_RECALL, 40, {})
game.logPlayer(who, "Space around you starts to disolve...")
else
game.logPlayer(who, "The rod emits a strange noise, glows briefly and returns to normal.")
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
load("/data/general/traps/natural_forest.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
return {
name = "Trollmire",
level_range = {1, 5},
level_scheme = "player",
max_level = 5,
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,
-- all_remembered = true,
all_lited = true,
persistant = "zone",
ambiant_music = "Rainy Day.ogg",
generator = {
map = {
class = "engine.generator.map.Forest",
edge_entrances = {4,6},
zoom = 4,
sqrt_percent = 30,
noise = "fbm_perlin",
floor = function() if rng.chance(20) then return "FLOWER" else return "GRASS" end end,
wall = {"TREE","TREE2","TREE3","TREE4","TREE5","TREE6","TREE7","TREE8","TREE9","TREE10","TREE11","TREE12","TREE13","TREE14","TREE15","TREE16","TREE17","TREE18","TREE19","TREE20",},
up = "UP",
down = "DOWN",
do_ponds = {
nb = {0, 2},
size = {w=25, h=25},
pond = {{0.6, "DEEP_WATER"}, {0.8, "SHALLOW_WATER"}},
},
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"honey_glade", "forest-ruined-building1", "forest-ruined-building2", "forest-ruined-building3", "forest-snake-pit", "mage-hideout-dark"},
lite_room_chance = 100,
},
actor = {
class = "engine.generator.actor.Random",
nb_npc = {20, 30},
filters = { {max_ood=2}, },
guardian = "TROLL_BILL",
},
object = {
class = "engine.generator.object.Random",
nb_object = {6, 9},
},
trap = {
class = "engine.generator.trap.Random",
nb_trap = {6, 9},
},
},
post_process = function(level)
-- Place a lore note on each level
game:placeRandomLoreObject("NOTE"..level.level)
end,
levels =
{
[1] = {
generator = { map = {
up = "UP_WILDERNESS",
}, },
},
},
}
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