Forked from
tome / Tales of MajEyal
6652 commits behind the upstream repository.
-
Chris Davidson authored
- Removed the instakill and rank changes for higher difficulties to normalize the ruleset
Chris Davidson authored- Removed the instakill and rank changes for higher difficulties to normalize the ruleset
descriptors.lua 9.78 KiB
-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009 - 2014 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
setAuto("subclass", false)
setAuto("subrace", false)
setStepNames{
world = "Campaign",
race = "Race Category",
subrace = "Race",
class = "Class Category",
subclass = "Class",
}
newBirthDescriptor{
type = "base",
name = "base",
desc = {
},
descriptor_choices =
{
difficulty =
{
Tutorial = "disallow",
},
world =
{
["Maj'Eyal"] = "allow",
Infinite = "allow",
Arena = "allow",
Ents = "disallow",
Spydre = "disallow",
Orcs = "disallow",
Trolls = "disallow",
Nagas = "disallow",
Undeads = "disallow",
Faeros = "disallow",
},
class =
{
-- Specific to some races
None = "disallow",
},
},
talents = {},
experience = 1.0,
body = { INVEN = 1000, QS_MAINHAND = 1, QS_OFFHAND = 1, MAINHAND = 1, OFFHAND = 1, FINGER = 2, NECK = 1, LITE = 1, BODY = 1, HEAD = 1, CLOAK = 1, HANDS = 1, BELT = 1, FEET = 1, TOOL = 1, QUIVER = 1, QS_QUIVER = 1 },
copy = {
-- Some basic stuff
move_others = true,
no_auto_resists = true, no_auto_saves = true,
no_auto_high_stats = true,
resists_cap = {all=70},
keep_inven_on_death = true,
can_change_level = true,
can_change_zone = true,
save_hotkeys = true,
-- Mages are unheard of at first, nobody but them regenerates mana
mana_rating = 6,
mana_regen = 0,
max_level = 50,
money = 15,
resolvers.equip{ id=true,
{type="lite", subtype="lite", name="brass lantern", ignore_material_restriction=true, ego_chance=-1000},
},
make_tile = function(e)
if not e.image then e.image = "player/"..e.descriptor.subrace:lower():gsub("[^a-z0-9_]", "_").."_"..e.descriptor.sex:lower():gsub("[^a-z0-9_]", "_")..".png" end
end,
},
game_state = {
force_town_respec = 1,
}
}
--------------- Difficulties
newBirthDescriptor{
type = "difficulty",
name = "Tutorial",
never_show = true,
desc =
{
"#GOLD##{bold}#Tutorial mode",
"#WHITE#Start with a simplified character and discover the game in a simple quest.#{normal}#",
"All damage done to the player reduced by 20%",
"All healing for the player increased by 10%",
"No main game achievements possible.",
},
descriptor_choices =
{
race =
{
__ALL__ = "forbid",
["Tutorial Human"] = "allow",
},
subrace =
{
__ALL__ = "forbid",
["Tutorial Human"] = "allow",
},
class =
{
__ALL__ = "forbid",
["Tutorial Adventurer"] = "allow",
},
subclass =
{
__ALL__ = "forbid",
["Tutorial Adventurer"] = "allow",
},
},
copy = {
auto_id = 2,
no_birth_levelup = true,
infinite_lifes = 1,
__game_difficulty = 1,
__allow_rod_recall = false,
__allow_transmo_chest = false,
instakill_immune = 1,
},
game_state = {
grab_online_event_forbid = true,
always_learn_birth_talents = true,
},
}
newBirthDescriptor{
type = "difficulty",
name = "Easy",
display_name = "Easier",
desc =
{
"#GOLD##{bold}#Easier mode#WHITE##{normal}#",
"Provides an easier game experience.",
"Use it if you feel uneasy tackling the harder modes.",
"All damage done to the player decreased by 30%",
"All healing for the player increased by 30%",
"All detrimental status effects durations reduced by 50%",
"Achievements are not granted.",
},
descriptor_choices =
{
race = { ["Tutorial Human"] = "forbid", },
class = { ["Tutorial Adventurer"] = "forbid", },
},
copy = {
instakill_immune = 1,
__game_difficulty = 1,
},
}
newBirthDescriptor{
type = "difficulty",
name = "Normal",
selection_default = true,
desc =
{
"#GOLD##{bold}#Normal mode#WHITE##{normal}#",
"Provides the normal level of challenges.",
},
descriptor_choices =
{
race = { ["Tutorial Human"] = "forbid", },
class = { ["Tutorial Adventurer"] = "forbid", },
},
copy = {
instakill_immune = 1,
__game_difficulty = 2,
},
}
newBirthDescriptor{
type = "difficulty",
name = "Nightmare",
desc =
{
"#GOLD##{bold}#Nightmare mode#WHITE##{normal}#",
"Unfair game setting",
"All zone levels increased by 50% + 3",
"All creature talent levels increased by 30%",
"Player can earn Nightmare version of achievements if also playing in Roguelike or Adventure permadeath mode.",
},
descriptor_choices =
{
race = { ["Tutorial Human"] = "forbid", },
class = { ["Tutorial Adventurer"] = "forbid", },
},
copy = {
instakill_immune = 1,
__game_difficulty = 3,
},
}
newBirthDescriptor{
type = "difficulty",
name = "Insane",
locked = function() return profile.mod.allow_build.difficulty_insane end,
locked_desc = "Easy is for the weak! Normal is for the weak! Nightmare is too easy! Bring on the true pain!",
desc =
{
"#GOLD##{bold}#Insane mode#WHITE##{normal}#",
"Similar rules to Nightmare, but with more random bosses!",
"All zone levels increased by 50% + 6",
"All creature talent levels increased by 50%",
"Rare creatures are far more frequent and random bosses start to appear",
"Nonrandom bosses will have randomly selected talents",
"All enemies have 20% more life",
"Player can earn Insane version of achievements if also playing in Roguelike or Adventure permadeath mode.",
},
descriptor_choices =
{
race = { ["Tutorial Human"] = "forbid", },
class = { ["Tutorial Adventurer"] = "forbid", },
},
copy = {
instakill_immune = 1,
__game_difficulty = 4,
},
game_state = {
default_random_rare_chance = 3,
default_random_boss_chance = 20,
},
}
newBirthDescriptor{
type = "difficulty",
name = "Madness",
locked = function() return profile.mod.allow_build.difficulty_madness end,
locked_desc = "Insane is for the weak! Bring on the true mind-shattering experience!",
desc =
{
"#GOLD##{bold}#Madness mode#WHITE##{normal}#",
"Absolutely unfair game setting. You are really mentally ill and wish to get worse to play this mode!",
"All zone levels increased by 150% + 10",
"All creature talent levels increased by 170%",
"Rare creatures are far more frequent and random bosses start to appear",
"Bosses will have randomly selected talents",
"Player is being hunted! Randomly all foes in a radius will get a feeling of where she/he is",
"Player can earn Madness version of achievements if also playing in Roguelike or Adventure permadeath mode.",
},
descriptor_choices =
{
race = { ["Tutorial Human"] = "forbid", },
class = { ["Tutorial Adventurer"] = "forbid", },
},
talents = {
[ActorTalents.T_HUNTED_PLAYER] = 1,
},
copy = {
instakill_immune = 1,
__game_difficulty = 5,
},
game_state = {
default_random_rare_chance = 3,
default_random_boss_chance = 20,
},
}
--------------- Permadeath
newBirthDescriptor{
type = "permadeath",
name = "Exploration",
locked = function(birther) return birther:isDonator() end,
locked_desc = "Exploration mode: Infinite lives (donator feature)",
locked_select = function(birther) birther:selectExplorationNoDonations() end,
selection_default = config.settings.tome.default_birth and config.settings.tome.default_birth.permadeath == "Exploration",
desc =
{
"#GOLD##{bold}#Exploration mode#WHITE#",
"Provides you with infinite lives.#{normal}#",
"This is not the way the game is meant to be played, but it allows you to have a more forgiving experience.",
"Remember though that dying is an integral part of the game and helps you become a better player.",
"Exploration version of achievements will be granted in this mode.",
},
copy = {
infinite_lifes = 1,
},
}
newBirthDescriptor{
type = "permadeath",
name = "Adventure",
selection_default = (not config.settings.tome.default_birth) or (config.settings.tome.default_birth and config.settings.tome.default_birth.permadeath == "Adventure"),
desc =
{
"#GOLD##{bold}#Adventure mode#WHITE#",
"Provides you with limited extra lives.",
"Use it if you want normal playing conditions but do not feel ready for just one life.#{normal}#",
"At level 1,2,5,7,14,24,35 get one more 'life' that allows you to resurrect at the start of the level.",
},
copy = {
easy_mode_lifes = 1,
},
}
newBirthDescriptor{
type = "permadeath",
name = "Roguelike",
selection_default = config.settings.tome.default_birth and config.settings.tome.default_birth.permadeath == "Roguelike",
desc =
{
"#GOLD##{bold}#Roguelike mode#WHITE#",
"Provides the closer experience to 'classic' roguelike games.",
"You will only have one life; you *ARE* your character.#{normal}#",
"Only one life, unless ways to self-resurrect are found in-game.",
},
}
-- Worlds
load("/data/birth/worlds.lua")
-- Races
load("/data/birth/races/tutorial.lua")
load("/data/birth/races/human.lua")
load("/data/birth/races/elf.lua")
load("/data/birth/races/halfling.lua")
load("/data/birth/races/dwarf.lua")
load("/data/birth/races/yeek.lua")
load("/data/birth/races/undead.lua")
load("/data/birth/races/construct.lua")
-- Sexes
load("/data/birth/sexes.lua")
-- Classes
load("/data/birth/classes/tutorial.lua")
load("/data/birth/classes/warrior.lua")
load("/data/birth/classes/rogue.lua")
load("/data/birth/classes/mage.lua")
load("/data/birth/classes/wilder.lua")
load("/data/birth/classes/celestial.lua")
load("/data/birth/classes/corrupted.lua")
load("/data/birth/classes/afflicted.lua")
load("/data/birth/classes/chronomancer.lua")
load("/data/birth/classes/psionic.lua")
load("/data/birth/classes/adventurer.lua")
load("/data/birth/classes/none.lua")