From a5a4f737005258097fb46a7c746ac202575fd03e Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 2 Apr 2012 22:10:00 +0200 Subject: Lua: Move module initialization code to C --- src/tables.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index e976e234..569acd93 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4790,3 +4790,46 @@ gf_name_type gf_names[] = { GF_ATTACK, "projected melee attacks" }, { -1, NULL }, }; + +/** + * Modules + */ +module_type modules[MAX_MODULES] = +{ + { + { "ToME", + { 2, 3, 9 }, + { "DarkGod", "darkgod@t-o-m-e.net" }, + "The Tales of Middle-earth, the standard and official game.\n" + "You are set on a quest to investigate the old tower of Dol Guldur.\n" + "But who knows what will happen...", + "ToME", + NULL /* default dir */, + }, + /* Randarts: */ + { 30, 20, 20 }, + /* Max player level: */ + 50, + /* Skills: */ + { 6, 4, }, + }, + + { + { "Theme", + { 1, 2, 0 }, + { "furiosity", "furiosity@gmail.com" }, + "A module that goes back to Tolkien roots, though by no means canonical.\n" + "A new wilderness map, new monsters, objects, artifacts, uniques, ego items,\n" + "terrain features, gods, races, subraces, and classes. Have fun. :-)", + "Theme", + "theme", + }, + /* Randarts: */ + { 30, 30, 30 }, + /* Max player level: */ + 50, + /* Skill overage: */ + { 6, 5, }, + } + +}; -- cgit v1.2.3 From 3215bb6521aca21af4d48f0598e1322ef8d8773c Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 2 Apr 2012 22:10:00 +0200 Subject: Lua: Move Bounty Hunter quest to C --- src/tables.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 569acd93..e7a81f11 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4248,6 +4248,23 @@ quest_type quest_init_tome[MAX_Q_IDX_INIT] = {0, 0}, NULL, }, + /* Bounty */ + { + FALSE, + TRUE, + "Bounty quest", + { + "", /* dynamic desc */ + }, + QUEST_STATUS_UNTAKEN, + -1, + NULL, + HOOK_TYPE_C, + quest_bounty_init_hook, + {0, 0, 0, 0}, + quest_bounty_describe, + }, + }; -- cgit v1.2.3 From a01f15e08da3b2e0e326b2a94100e17962136741 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 7 Apr 2012 14:50:36 +0200 Subject: Lua: Refactor all the corruption code into C --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index e7a81f11..d0dbb9b7 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4850,3 +4850,4 @@ module_type modules[MAX_MODULES] = } }; + -- cgit v1.2.3 From 203d42e75a02c68d7cda9ff85023910bd1a0a6f4 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 7 Apr 2012 15:45:47 +0200 Subject: Lua: Refactor Lua-based powers into C --- src/tables.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index d0dbb9b7..3df97271 100644 --- a/src/tables.c +++ b/src/tables.c @@ -3571,6 +3571,27 @@ power_type powers_type_init[POWER_MAX_INIT] = "You no longer feel the fire of Udun in you.", 35, 80, A_WIS, 25, }, + { + "invisibility", + "You are able melt into the shadows to become invisible.", + "You suddenly become able to melt into the shadows.", + "You lose your shadow-melting ability.", + 30, 10, A_DEX, 20, + }, + { + "web", + "You are able throw a thick and very resistant spider web.", + "You suddenly become able to weave webs.", + "You lose your web-weaving capability.", + 25, 30, A_DEX, 20, + }, + { + "control space/time continuum", + "You are able to control the space/time continuum.", + "You become able to control the space/time continuum.", + "You are no more able to control the space/time continuum.", + 1, 10, A_WIS, 10, + }, }; /* -- cgit v1.2.3 From b6c2bf9050a56841bb5a82549fd36a98b03e2f41 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 7 Apr 2012 16:16:17 +0200 Subject: Lua: Remove unnecessary dynamism from "powers" handling --- src/tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 3df97271..b736bb85 100644 --- a/src/tables.c +++ b/src/tables.c @@ -3135,7 +3135,7 @@ flags_group flags_groups[MAX_FLAG_GROUP] = }; /* Powers */ -power_type powers_type_init[POWER_MAX_INIT] = +power_type powers_type[POWER_MAX] = { { "spit acid", -- cgit v1.2.3 From 61da8b12362ed22ca3c1d82ebec953035cd2f8d9 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 7 Apr 2012 22:01:06 +0200 Subject: Lua: Refactor "fireproofing" quest into C --- src/tables.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index b736bb85..259fd5ae 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4285,7 +4285,22 @@ quest_type quest_init_tome[MAX_Q_IDX_INIT] = {0, 0, 0, 0}, quest_bounty_describe, }, - + /* Fireproofing */ + { + FALSE, + TRUE, + "Old Mages quest", + { + "", /* dynamic desc */ + }, + QUEST_STATUS_UNTAKEN, + 20, + NULL, + HOOK_TYPE_C, + quest_fireproof_init_hook, + {0, 0, 0, 0}, + quest_fireproof_describe, + }, }; -- cgit v1.2.3 From ab026914d25d77fb14172922c66e630536180252 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 8 Apr 2012 19:07:44 +0200 Subject: Lua: Library quest: Move quest creation to C --- src/tables.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 259fd5ae..3eea2d39 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4301,6 +4301,22 @@ quest_type quest_init_tome[MAX_Q_IDX_INIT] = {0, 0, 0, 0}, quest_fireproof_describe, }, + /* Library */ + { + FALSE, + TRUE, + "Library quest", + { + "", /* dynamic desc */ + }, + QUEST_STATUS_UNTAKEN, + 35, + NULL, + HOOK_TYPE_C, + quest_library_init_hook, + { -1, -1, -1, -1 }, + quest_library_describe, + }, }; -- cgit v1.2.3 From 83d568690a9250b87d9d982170e1a8918364dea2 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 9 Apr 2012 14:12:48 +0200 Subject: Lua: God quests: Move quest setup to C --- src/tables.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 3eea2d39..594c4f16 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4317,6 +4317,31 @@ quest_type quest_init_tome[MAX_Q_IDX_INIT] = { -1, -1, -1, -1 }, quest_library_describe, }, + /* God quest */ + { + FALSE, + TRUE, + "God quest", + { + "", /* dynamic desc */ + }, + QUEST_STATUS_UNTAKEN, + -1, + NULL, + HOOK_TYPE_C, + quest_god_init_hook, + { 0 /* quests_given */, + 0 /* relics_found */, + 1 /* dun_mindepth */, + 4 /* dun_maxdepth */, + 0 /* dun_minplev */, + 0 /* relic_gen_tries */, + FALSE /* relic_generated */, + 1 /* dung_x */, + 1 /* dung_y */, + }, + quest_god_describe, + }, }; -- cgit v1.2.3 From 93e3dd939f24965125641ca4a08135a6e723c1a3 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 9 Apr 2012 15:41:46 +0200 Subject: Lua: Remove quests.lua and remove unnecessary dynamism for quests --- src/tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 594c4f16..9b77d07b 100644 --- a/src/tables.c +++ b/src/tables.c @@ -3597,7 +3597,7 @@ power_type powers_type[POWER_MAX] = /* * The Quests */ -quest_type quest_init_tome[MAX_Q_IDX_INIT] = +quest_type quest[MAX_Q_IDX] = { { FALSE, -- cgit v1.2.3 From 6ec947a8fc5b4aeb6ee54948b9b1a9ced583f8ba Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 9 Apr 2012 16:24:03 +0200 Subject: Lua: Remove quest_type "type" field. --- src/tables.c | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 9b77d07b..a3470ede 100644 --- a/src/tables.c +++ b/src/tables.c @@ -3619,7 +3619,6 @@ quest_type quest[MAX_Q_IDX] = 0, NULL, - HOOK_TYPE_C, quest_null_hook, {0, 0}, NULL, @@ -3644,7 +3643,6 @@ quest_type quest[MAX_Q_IDX] = 70, &plots[PLOT_MAIN], - HOOK_TYPE_C, quest_necro_init_hook, {0, 0}, NULL, @@ -3669,7 +3667,6 @@ quest_type quest[MAX_Q_IDX] = 99, &plots[PLOT_MAIN], - HOOK_TYPE_C, quest_sauron_init_hook, {0, 0}, NULL, @@ -3694,7 +3691,6 @@ quest_type quest[MAX_Q_IDX] = 100, &plots[PLOT_MAIN], - HOOK_TYPE_C, quest_morgoth_init_hook, {0, 0}, NULL, @@ -3721,7 +3717,6 @@ quest_type quest[MAX_Q_IDX] = 5, &plots[PLOT_BREE], - HOOK_TYPE_C, quest_thieves_init_hook, {0, 0}, NULL, @@ -3747,7 +3742,6 @@ quest_type quest[MAX_Q_IDX] = 5, NULL, - HOOK_TYPE_C, quest_random_init_hook, {0, 0}, quest_random_describe, @@ -3773,7 +3767,6 @@ quest_type quest[MAX_Q_IDX] = 25, &plots[PLOT_OTHER], - HOOK_TYPE_C, quest_hobbit_init_hook, {0, 0}, NULL, @@ -3799,7 +3792,6 @@ quest_type quest[MAX_Q_IDX] = 40, &plots[PLOT_BREE], - HOOK_TYPE_C, quest_nazgul_init_hook, {0, 0}, NULL, @@ -3825,7 +3817,6 @@ quest_type quest[MAX_Q_IDX] = 30, &plots[PLOT_BREE], - HOOK_TYPE_C, quest_troll_init_hook, {FALSE, 0}, NULL, @@ -3851,7 +3842,6 @@ quest_type quest[MAX_Q_IDX] = 30, &plots[PLOT_BREE], - HOOK_TYPE_C, quest_wight_init_hook, {FALSE, 0}, NULL, @@ -3878,7 +3868,6 @@ quest_type quest[MAX_Q_IDX] = 25, &plots[PLOT_LORIEN], - HOOK_TYPE_C, quest_spider_init_hook, {0, 0}, NULL, @@ -3903,7 +3892,6 @@ quest_type quest[MAX_Q_IDX] = 30, &plots[PLOT_LORIEN], - HOOK_TYPE_C, quest_poison_init_hook, {0, 0}, NULL, @@ -3929,7 +3917,6 @@ quest_type quest[MAX_Q_IDX] = 20, &plots[PLOT_OTHER], - HOOK_TYPE_C, quest_narsil_init_hook, {0, 0}, NULL, @@ -3955,7 +3942,6 @@ quest_type quest[MAX_Q_IDX] = 30, &plots[PLOT_GONDOLIN], - HOOK_TYPE_C, quest_eol_init_hook, {0, 0}, NULL, @@ -3980,7 +3966,6 @@ quest_type quest[MAX_Q_IDX] = 37, &plots[PLOT_GONDOLIN], - HOOK_TYPE_C, quest_nirnaeth_init_hook, {0, 0}, NULL, @@ -4005,7 +3990,6 @@ quest_type quest[MAX_Q_IDX] = 80, &plots[PLOT_GONDOLIN], - HOOK_TYPE_C, quest_invasion_init_hook, {0, 0}, NULL, @@ -4031,7 +4015,6 @@ quest_type quest[MAX_Q_IDX] = 80, &plots[PLOT_MINAS], - HOOK_TYPE_C, quest_between_init_hook, {0, 0}, NULL, @@ -4056,7 +4039,6 @@ quest_type quest[MAX_Q_IDX] = 99, &plots[PLOT_MAIN], - HOOK_TYPE_C, quest_one_init_hook, {0, 0}, NULL, @@ -4082,7 +4064,6 @@ quest_type quest[MAX_Q_IDX] = 3, &plots[PLOT_OTHER], - HOOK_TYPE_C, quest_shroom_init_hook, {0, 0}, NULL, @@ -4108,7 +4089,6 @@ quest_type quest[MAX_Q_IDX] = 60, &plots[PLOT_OTHER], - HOOK_TYPE_C, quest_thrain_init_hook, {0, 0}, NULL, @@ -4135,7 +4115,6 @@ quest_type quest[MAX_Q_IDX] = 150, &plots[PLOT_MAIN], - HOOK_TYPE_C, quest_ultra_good_init_hook, {0, 0}, NULL, @@ -4160,7 +4139,6 @@ quest_type quest[MAX_Q_IDX] = 150, &plots[PLOT_MAIN], - HOOK_TYPE_C, quest_ultra_evil_init_hook, {0, 0}, NULL, @@ -4186,7 +4164,6 @@ quest_type quest[MAX_Q_IDX] = 15, &plots[PLOT_LORIEN], - HOOK_TYPE_C, quest_wolves_init_hook, {0, 0}, NULL, @@ -4212,7 +4189,6 @@ quest_type quest[MAX_Q_IDX] = 25, &plots[PLOT_GONDOLIN], - HOOK_TYPE_C, quest_dragons_init_hook, {0, 0}, NULL, @@ -4238,7 +4214,6 @@ quest_type quest[MAX_Q_IDX] = 45, &plots[PLOT_MINAS], - HOOK_TYPE_C, quest_haunted_init_hook, {0, 0}, NULL, @@ -4264,7 +4239,6 @@ quest_type quest[MAX_Q_IDX] = 60, &plots[PLOT_KHAZAD], - HOOK_TYPE_C, quest_evil_init_hook, {0, 0}, NULL, @@ -4280,7 +4254,6 @@ quest_type quest[MAX_Q_IDX] = QUEST_STATUS_UNTAKEN, -1, NULL, - HOOK_TYPE_C, quest_bounty_init_hook, {0, 0, 0, 0}, quest_bounty_describe, @@ -4296,7 +4269,6 @@ quest_type quest[MAX_Q_IDX] = QUEST_STATUS_UNTAKEN, 20, NULL, - HOOK_TYPE_C, quest_fireproof_init_hook, {0, 0, 0, 0}, quest_fireproof_describe, @@ -4312,7 +4284,6 @@ quest_type quest[MAX_Q_IDX] = QUEST_STATUS_UNTAKEN, 35, NULL, - HOOK_TYPE_C, quest_library_init_hook, { -1, -1, -1, -1 }, quest_library_describe, @@ -4328,7 +4299,6 @@ quest_type quest[MAX_Q_IDX] = QUEST_STATUS_UNTAKEN, -1, NULL, - HOOK_TYPE_C, quest_god_init_hook, { 0 /* quests_given */, 0 /* relics_found */, -- cgit v1.2.3 From 07a11792fc5f385130b36da44aa71c32cb96c514 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 9 Apr 2012 16:33:20 +0200 Subject: Remove unnecessary dynamic_desc field from quest_type --- src/tables.c | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index a3470ede..18a9329a 100644 --- a/src/tables.c +++ b/src/tables.c @@ -3600,7 +3600,6 @@ power_type powers_type[POWER_MAX] = quest_type quest[MAX_Q_IDX] = { { - FALSE, FALSE, "", { @@ -3624,7 +3623,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Dol Guldur", { @@ -3648,7 +3646,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Sauron", { @@ -3672,7 +3669,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Morgoth", { @@ -3698,7 +3694,6 @@ quest_type quest[MAX_Q_IDX] = /* Bree plot */ { - FALSE, FALSE, "Thieves!", { @@ -3724,7 +3719,6 @@ quest_type quest[MAX_Q_IDX] = { FALSE, - TRUE, "Random Quest", { "", @@ -3748,7 +3742,6 @@ quest_type quest[MAX_Q_IDX] = }, { - FALSE, FALSE, "Lost Hobbit", { @@ -3773,7 +3766,6 @@ quest_type quest[MAX_Q_IDX] = }, { - FALSE, FALSE, "The Dark Horseman", { @@ -3798,7 +3790,6 @@ quest_type quest[MAX_Q_IDX] = }, { - FALSE, FALSE, "The Trolls Glade", { @@ -3823,7 +3814,6 @@ quest_type quest[MAX_Q_IDX] = }, { - FALSE, FALSE, "The Wight Grave", { @@ -3849,7 +3839,6 @@ quest_type quest[MAX_Q_IDX] = /* Lorien plot */ { - FALSE, FALSE, "Spiders of Mirkwood", { @@ -3873,7 +3862,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Poisoned Water", { @@ -3898,7 +3886,6 @@ quest_type quest[MAX_Q_IDX] = }, /* Other quests */ { - FALSE, FALSE, "The Broken Sword", { @@ -3923,7 +3910,6 @@ quest_type quest[MAX_Q_IDX] = }, /* Gondolin plot */ { - FALSE, FALSE, "Eol the Dark Elf", { @@ -3947,7 +3933,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Nirnaeth Arnoediad", { @@ -3971,7 +3956,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Invasion of Gondolin", { @@ -3996,7 +3980,6 @@ quest_type quest[MAX_Q_IDX] = }, /* Minas Anor Plot*/ { - FALSE, FALSE, "The Last Alliance", { @@ -4020,7 +4003,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "The One Ring", { @@ -4045,7 +4027,6 @@ quest_type quest[MAX_Q_IDX] = }, { - FALSE, FALSE, "Mushroom supplies", { @@ -4070,7 +4051,6 @@ quest_type quest[MAX_Q_IDX] = }, { - FALSE, FALSE, "The prisoner of Dol Guldur", { @@ -4096,7 +4076,6 @@ quest_type quest[MAX_Q_IDX] = /* The 2 ultra endings go here */ { - FALSE, FALSE, "Falling Toward Apotheosis", { @@ -4120,7 +4099,6 @@ quest_type quest[MAX_Q_IDX] = NULL, }, { - FALSE, FALSE, "Falling Toward Apotheosis", { @@ -4145,7 +4123,6 @@ quest_type quest[MAX_Q_IDX] = }, /* More Lorien */ { - FALSE, FALSE, "Wolves!", { @@ -4170,7 +4147,6 @@ quest_type quest[MAX_Q_IDX] = }, /* More Gondolin */ { - FALSE, FALSE, "Dragons!", { @@ -4195,7 +4171,6 @@ quest_type quest[MAX_Q_IDX] = }, /* More Minas Anor */ { - FALSE, FALSE, "Haunted House!", { @@ -4220,7 +4195,6 @@ quest_type quest[MAX_Q_IDX] = }, /* Khazad-Dum Plot*/ { - FALSE, FALSE, "Evil!", { @@ -4246,7 +4220,6 @@ quest_type quest[MAX_Q_IDX] = /* Bounty */ { FALSE, - TRUE, "Bounty quest", { "", /* dynamic desc */ @@ -4261,7 +4234,6 @@ quest_type quest[MAX_Q_IDX] = /* Fireproofing */ { FALSE, - TRUE, "Old Mages quest", { "", /* dynamic desc */ @@ -4276,7 +4248,6 @@ quest_type quest[MAX_Q_IDX] = /* Library */ { FALSE, - TRUE, "Library quest", { "", /* dynamic desc */ @@ -4291,7 +4262,6 @@ quest_type quest[MAX_Q_IDX] = /* God quest */ { FALSE, - TRUE, "God quest", { "", /* dynamic desc */ -- cgit v1.2.3 From d71c748f56b479ab97408fe2d42eaf0898982fb7 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 9 Apr 2012 20:52:39 +0200 Subject: Lua: Remove the need for script for Minas Tirith <-> Gondolin link --- src/tables.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 18a9329a..c5a22204 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4673,6 +4673,14 @@ between_exit between_exits[MAX_BETWEEN_EXITS] = 10, 35, 0, 0 }, + /* Theme: Minas Tirith -> Gondolin link */ + { + 0, + FALSE, + 3, 11, + 119, 25, + 0, 0 + }, }; /* -- cgit v1.2.3 From f802db8cbf123d07c8a373b0cfc4188de34f386e Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Wed, 11 Apr 2012 17:38:55 +0200 Subject: Lua: Gods: Move Theme god definitions to C --- src/tables.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index c5a22204..281395e0 100644 --- a/src/tables.c +++ b/src/tables.c @@ -2739,9 +2739,10 @@ cptr deity_standing[11] = * Only the first four lines are printed at birth. */ -deity_type deity_info_init[MAX_GODS_INIT] = +deity_type deity_info[MAX_GODS] = { { + { MODULE_TOME, MODULE_THEME, -1, }, "Nobody", { "Atheist", @@ -2757,6 +2758,7 @@ deity_type deity_info_init[MAX_GODS_INIT] = }, }, { + { MODULE_TOME, MODULE_THEME, -1, }, "Eru Iluvatar", { "He is the supreme god, he created the world, and most of its inhabitants.", @@ -2772,6 +2774,7 @@ deity_type deity_info_init[MAX_GODS_INIT] = }, }, { + { MODULE_TOME, MODULE_THEME, -1, }, "Manwe Sulimo", { "He is the king of the Valar, most powerful of them after Melkor.", @@ -2787,6 +2790,7 @@ deity_type deity_info_init[MAX_GODS_INIT] = }, }, { + { MODULE_TOME, MODULE_THEME, -1, }, "Tulkas", { "He is the last of the Valar that came to the world, and the fiercest fighter.", @@ -2802,6 +2806,7 @@ deity_type deity_info_init[MAX_GODS_INIT] = }, }, { + { MODULE_TOME, MODULE_THEME, -1, }, "Melkor Bauglir", { "He is the most powerful of the Valar. He became corrupted and he's now ", @@ -2817,6 +2822,7 @@ deity_type deity_info_init[MAX_GODS_INIT] = }, }, { + { MODULE_TOME, MODULE_THEME, -1, }, "Yavanna Kementari", { "She is the Vala of nature, protectress of the great forests of " @@ -2832,6 +2838,70 @@ deity_type deity_info_init[MAX_GODS_INIT] = "", }, }, + { + { MODULE_THEME, -1, }, + "Aule the Smith", + { + "Aule is a smith, and the creator of the Dwarves.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + }, + }, + { + { MODULE_THEME, -1, }, + "Varda Elentari", + { + "The Queen of the Stars. In light is her power and joy.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + }, + }, + { + { MODULE_THEME, -1, }, + "Ulmo", + { + "Ulmo is called Lord of Waters, he rules all that is water" + "on Arda.", + "", + "", + "", + "", + "", + "", + "", + "", + }, + }, + { + { MODULE_THEME, -1, }, + "Mandos", + { + "The Doomsman of the Valar and keeper of the slain.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + }, + }, }; /* jk - to hit, to dam, to ac, to stealth, to disarm, to saving throw */ -- cgit v1.2.3 From 571ab5e1b1e20c8dc87a48a518caeee6f4e8a825 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Wed, 11 Apr 2012 19:44:49 +0200 Subject: Lua: Move intros to C --- src/tables.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 281395e0..a06c0143 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4924,6 +4924,8 @@ module_type modules[MAX_MODULES] = 50, /* Skills: */ { 6, 4, }, + /* Intro function */ + tome_intro, }, { @@ -4942,6 +4944,8 @@ module_type modules[MAX_MODULES] = 50, /* Skill overage: */ { 6, 5, }, + /* Intro function */ + theme_intro, } }; -- cgit v1.2.3 From 799070362567a091cee65a0a1c1b616675e13a1d Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 26 Jun 2012 20:32:32 +0200 Subject: Remove "show_weights" option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 7d87d5d8..74bd66f2 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1385,9 +1385,6 @@ option_type option_info[] = { &show_labels, TRUE, 1, 11, "show_labels", "Show labels in object listings" }, - { &show_weights, TRUE, 1, 12, - "show_weights", "Show weights in object listings" }, - { &show_inven_graph, TRUE, 1, 13, "show_inven_graph", "Show graphics in inventory list" }, -- cgit v1.2.3 From 07339db486c538b44b7c9488943dfb34c2ae24e4 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 26 Jun 2012 20:44:17 +0200 Subject: Remove "show_choices" option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 74bd66f2..ac6f36d7 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1394,9 +1394,6 @@ option_type option_info[] = { &show_store_graph, TRUE, 1, 15, "show_store_graph", "Show graphics in stores" }, - { &show_choices, TRUE, 1, 16, - "show_choices", "Show choices in certain sub-windows" }, - { &show_details, TRUE, 1, 17, "show_details", "Show details in certain sub-windows" }, -- cgit v1.2.3 From 5241fee18e1a85b3b8e1492fa4d430e8af375035 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 26 Jun 2012 20:47:26 +0200 Subject: Remove "show_details" option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index ac6f36d7..b1fc54e5 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1394,9 +1394,6 @@ option_type option_info[] = { &show_store_graph, TRUE, 1, 15, "show_store_graph", "Show graphics in stores" }, - { &show_details, TRUE, 1, 17, - "show_details", "Show details in certain sub-windows" }, - { &ring_bell, FALSE, 1, 18, "ring_bell", "Audible bell (on errors, etc)" }, /* Changed to default to FALSE -- it's so extremely annoying!!! -TY */ -- cgit v1.2.3 From 4ac43f667228f37723071895b654422bbaad4835 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 26 Jun 2012 20:51:34 +0200 Subject: Remove "show_labels" option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index b1fc54e5..e3d3e664 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1382,9 +1382,6 @@ option_type option_info[] = { &stack_force_costs, FALSE, 1, 10, "stack_force_costs", "Merge discounts when stacking" }, - { &show_labels, TRUE, 1, 11, - "show_labels", "Show labels in object listings" }, - { &show_inven_graph, TRUE, 1, 13, "show_inven_graph", "Show graphics in inventory list" }, -- cgit v1.2.3 From 6d3f6acd7498db5b9958d51002986ee957dbe11b Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 24 Jun 2013 08:47:21 +0200 Subject: Remove old_colors option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index e3d3e664..f2478eef 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1583,9 +1583,6 @@ option_type option_info[] = { &exp_need, FALSE, 5, 2, "exp_need", "Show the experience needed for next level" }, - { &autoload_old_colors, FALSE, 5, 3, - "old_colors", "Use the old(Z) coloring scheme(reload the game)" }, - { &auto_more, FALSE, 5, 4, "auto_more", "Automatically clear '-more-' prompts" }, -- cgit v1.2.3 From 7d05ca4fd4562421f16d07dc6f13a23355953f11 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 24 Jun 2013 08:50:34 +0200 Subject: Remove fast_autoroller option It wasn't implemented anyway. --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index f2478eef..a66557cc 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1619,9 +1619,6 @@ option_type option_info[] = { &auto_notes, TRUE, 6, 8, "auto_notes", "Automatically note important events" }, - { &fast_autoroller, FALSE, 6, 10, - "fast_autoroller", "Fast autoroller(NOT on multiuser systems)" }, - { &joke_monsters, FALSE, 6, 14, "joke_monsters", "Allow use of some 'joke' monsters" }, -- cgit v1.2.3 From b09c46dab88eb95a130ffedf4fbd411d720d8a35 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 24 Jun 2013 10:27:59 +0200 Subject: Remove show_*_graph options --- src/tables.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index a66557cc..60550de7 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1382,15 +1382,6 @@ option_type option_info[] = { &stack_force_costs, FALSE, 1, 10, "stack_force_costs", "Merge discounts when stacking" }, - { &show_inven_graph, TRUE, 1, 13, - "show_inven_graph", "Show graphics in inventory list" }, - - { &show_equip_graph, TRUE, 1, 14, - "show_equip_graph", "Show graphics in equipment list" }, - - { &show_store_graph, TRUE, 1, 15, - "show_store_graph", "Show graphics in stores" }, - { &ring_bell, FALSE, 1, 18, "ring_bell", "Audible bell (on errors, etc)" }, /* Changed to default to FALSE -- it's so extremely annoying!!! -TY */ -- cgit v1.2.3 From 966ae460fcde74c5e33782c829b732c9bd4c2821 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 29 Jun 2013 06:18:05 +0200 Subject: Remove unused chaos patron code --- src/tables.c | 180 ----------------------------------------------------------- 1 file changed, 180 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 60550de7..6430e69a 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1639,186 +1639,6 @@ option_type option_info[] = }; -cptr chaos_patrons[MAX_PATRON] = -{ - "Slortar", - "Mabelode", - "Chardros", - "Hionhurn", - "Xiombarg", - - "Pyaray", - "Balaan", - "Arioch", - "Eequor", - "Narjhan", - - "Balo", - "Khorne", - "Slaanesh", - "Nurgle", - "Tzeentch", - - "Khaine" -}; - -int chaos_stats[MAX_PATRON] = -{ - A_CON, /* Slortar */ - A_CON, /* Mabelode */ - A_STR, /* Chardros */ - A_STR, /* Hionhurn */ - A_STR, /* Xiombarg */ - - A_INT, /* Pyaray */ - A_STR, /* Balaan */ - A_INT, /* Arioch */ - A_CON, /* Eequor */ - A_CHR, /* Narjhan */ - - -1, /* Balo */ - A_STR, /* Khorne */ - A_CHR, /* Slaanesh */ - A_CON, /* Nurgle */ - A_INT, /* Tzeentch */ - - A_STR, /* Khaine */ -}; - - - - -int chaos_rewards[MAX_PATRON][20] = -{ - /* Slortar the Old: */ - { - REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, REW_LOSE_ABL, - REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_POLY_SLF, - REW_POLY_SLF, REW_POLY_SLF, REW_GAIN_ABL, REW_GAIN_ABL, REW_GAIN_EXP, - REW_GOOD_OBJ, REW_CHAOS_WP, REW_GREA_OBJ, REW_AUGM_ABL, REW_AUGM_ABL - }, - - /* Mabelode the Faceless: */ - { - REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_H_SUMMON, REW_SUMMON_M, - REW_SUMMON_M, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_POLY_WND, - REW_POLY_SLF, REW_HEAL_FUL, REW_HEAL_FUL, REW_GAIN_ABL, REW_SER_UNDE, - REW_CHAOS_WP, REW_GOOD_OBJ, REW_GOOD_OBJ, REW_GOOD_OBS, REW_GOOD_OBS - }, - - /* Chardros the Reaper: */ - { - REW_WRATH, REW_WRATH, REW_HURT_LOT, REW_PISS_OFF, REW_H_SUMMON, - REW_SUMMON_M, REW_IGNORE, REW_IGNORE, REW_DESTRUCT, REW_SER_UNDE, - REW_GENOCIDE, REW_MASS_GEN, REW_MASS_GEN, REW_DISPEL_C, REW_GOOD_OBJ, - REW_CHAOS_WP, REW_GOOD_OBS, REW_GOOD_OBS, REW_AUGM_ABL, REW_AUGM_ABL - }, - - /* Hionhurn the Executioner: */ - { - REW_WRATH, REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, - REW_IGNORE, REW_IGNORE, REW_SER_UNDE, REW_DESTRUCT, REW_GENOCIDE, - REW_MASS_GEN, REW_MASS_GEN, REW_HEAL_FUL, REW_GAIN_ABL, REW_GAIN_ABL, - REW_CHAOS_WP, REW_GOOD_OBS, REW_GOOD_OBS, REW_AUGM_ABL, REW_AUGM_ABL - }, - - /* Xiombarg the Sword-Queen: */ - { - REW_TY_CURSE, REW_TY_CURSE, REW_PISS_OFF, REW_RUIN_ABL, REW_LOSE_ABL, - REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_WND, REW_POLY_WND, - REW_GENOCIDE, REW_DISPEL_C, REW_GOOD_OBJ, REW_GOOD_OBJ, REW_SER_MONS, - REW_GAIN_ABL, REW_CHAOS_WP, REW_GAIN_EXP, REW_AUGM_ABL, REW_GOOD_OBS - }, - - - /* Pyaray the Tentacled Whisperer of Impossible Secretes: */ - { - REW_WRATH, REW_TY_CURSE, REW_PISS_OFF, REW_H_SUMMON, REW_H_SUMMON, - REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_POLY_SLF, - REW_POLY_SLF, REW_SER_DEMO, REW_HEAL_FUL, REW_GAIN_ABL, REW_GAIN_ABL, - REW_CHAOS_WP, REW_DO_HAVOC, REW_GOOD_OBJ, REW_GREA_OBJ, REW_GREA_OBS - }, - - /* Balaan the Grim: */ - { - REW_TY_CURSE, REW_HURT_LOT, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, - REW_SUMMON_M, REW_LOSE_EXP, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_WND, - REW_SER_UNDE, REW_HEAL_FUL, REW_HEAL_FUL, REW_GAIN_EXP, REW_GAIN_EXP, - REW_CHAOS_WP, REW_GOOD_OBJ, REW_GOOD_OBS, REW_GREA_OBS, REW_AUGM_ABL - }, - - /* Arioch, Duke of Hell: */ - { - REW_WRATH, REW_PISS_OFF, REW_RUIN_ABL, REW_LOSE_EXP, REW_H_SUMMON, - REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_SLF, - REW_POLY_SLF, REW_MASS_GEN, REW_SER_DEMO, REW_HEAL_FUL, REW_CHAOS_WP, - REW_CHAOS_WP, REW_GOOD_OBJ, REW_GAIN_EXP, REW_GREA_OBJ, REW_AUGM_ABL - }, - - /* Eequor, Blue Lady of Dismay: */ - { - REW_WRATH, REW_TY_CURSE, REW_PISS_OFF, REW_CURSE_WP, REW_RUIN_ABL, - REW_IGNORE, REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_WND, - REW_GOOD_OBJ, REW_GOOD_OBJ, REW_SER_MONS, REW_HEAL_FUL, REW_GAIN_EXP, - REW_GAIN_ABL, REW_CHAOS_WP, REW_GOOD_OBS, REW_GREA_OBJ, REW_AUGM_ABL - }, - - /* Narjhan, Lord of Beggars: */ - { - REW_WRATH, REW_CURSE_AR, REW_CURSE_WP, REW_CURSE_WP, REW_CURSE_AR, - REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, - REW_POLY_WND, REW_HEAL_FUL, REW_HEAL_FUL, REW_GAIN_EXP, REW_AUGM_ABL, - REW_GOOD_OBJ, REW_GOOD_OBJ, REW_CHAOS_WP, REW_GREA_OBJ, REW_GREA_OBS - }, - - /* Balo the Jester: */ - { - REW_WRATH, REW_SER_DEMO, REW_CURSE_WP, REW_CURSE_AR, REW_LOSE_EXP, - REW_GAIN_ABL, REW_LOSE_ABL, REW_POLY_WND, REW_POLY_SLF, REW_IGNORE, - REW_DESTRUCT, REW_MASS_GEN, REW_CHAOS_WP, REW_GREA_OBJ, REW_HURT_LOT, - REW_AUGM_ABL, REW_RUIN_ABL, REW_H_SUMMON, REW_GREA_OBS, REW_AUGM_ABL - }, - - /* Khorne the Bloodgod: */ - { - REW_WRATH, REW_HURT_LOT, REW_HURT_LOT, REW_H_SUMMON, REW_H_SUMMON, - REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_SER_MONS, REW_SER_DEMO, - REW_POLY_SLF, REW_POLY_WND, REW_HEAL_FUL, REW_GOOD_OBJ, REW_GOOD_OBJ, - REW_CHAOS_WP, REW_GOOD_OBS, REW_GOOD_OBS, REW_GREA_OBJ, REW_GREA_OBS - }, - - /* Slaanesh: */ - { - REW_WRATH, REW_PISS_OFF, REW_PISS_OFF, REW_RUIN_ABL, REW_LOSE_ABL, - REW_LOSE_EXP, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_SER_DEMO, - REW_POLY_SLF, REW_HEAL_FUL, REW_HEAL_FUL, REW_GOOD_OBJ, REW_GAIN_EXP, - REW_GAIN_EXP, REW_CHAOS_WP, REW_GAIN_ABL, REW_GREA_OBJ, REW_AUGM_ABL - }, - - /* Nurgle: */ - { - REW_WRATH, REW_PISS_OFF, REW_HURT_LOT, REW_RUIN_ABL, REW_LOSE_ABL, - REW_LOSE_EXP, REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_SLF, - REW_POLY_SLF, REW_POLY_WND, REW_HEAL_FUL, REW_GOOD_OBJ, REW_GAIN_ABL, - REW_GAIN_ABL, REW_SER_UNDE, REW_CHAOS_WP, REW_GREA_OBJ, REW_AUGM_ABL - }, - - /* Tzeentch: */ - { - REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, REW_LOSE_ABL, - REW_LOSE_EXP, REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_SLF, - REW_POLY_SLF, REW_POLY_WND, REW_HEAL_FUL, REW_CHAOS_WP, REW_GREA_OBJ, - REW_GAIN_ABL, REW_GAIN_ABL, REW_GAIN_EXP, REW_GAIN_EXP, REW_AUGM_ABL - }, - - /* Khaine: */ - { - REW_WRATH, REW_HURT_LOT, REW_PISS_OFF, REW_LOSE_ABL, REW_LOSE_EXP, - REW_IGNORE, REW_IGNORE, REW_DISPEL_C, REW_DO_HAVOC, REW_DO_HAVOC, - REW_POLY_SLF, REW_POLY_SLF, REW_GAIN_EXP, REW_GAIN_ABL, REW_GAIN_ABL, - REW_SER_MONS, REW_GOOD_OBJ, REW_CHAOS_WP, REW_GREA_OBJ, REW_GOOD_OBS - } -}; /* Names used for random artifact name generation */ cptr artifact_names_list = -- cgit v1.2.3 From 820480f8e22a0f881446542c173e9bd97c0665d6 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 29 Jun 2013 13:43:40 +0200 Subject: Remove unused other_query_flag option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 6430e69a..1ebc52fd 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1355,9 +1355,6 @@ option_type option_info[] = { &quick_messages, TRUE, 1, 1, "quick_messages", "Activate quick messages" }, - { &other_query_flag, FALSE, 1, 2, - "other_query_flag", "Prompt for various information" }, - { &carry_query_flag, FALSE, 1, 3, "carry_query_flag", "Prompt before picking things up" }, -- cgit v1.2.3 From 7105f93feb1ea0387e72939ed1e35a5fcd3ee546 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 15 Jul 2013 17:30:17 +0200 Subject: Remove 'auto_haggle' option --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 1ebc52fd..2e01284a 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1453,9 +1453,6 @@ option_type option_info[] = /*** Game-Play ***/ - { &auto_haggle, TRUE, 3, 0, - "auto_haggle", "Auto-haggle in stores" }, - { &auto_scum, TRUE, 3, 1, "auto_scum", "Auto-scum for good levels" }, -- cgit v1.2.3 From f0fd8edb1fc36fd3dbe3b7df61da91b3daf9d4c6 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 16 Jul 2013 01:06:55 +0200 Subject: Remove auto_notes and take_notes options We always set them to TRUE now. --- src/tables.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 2e01284a..2087c64e 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1598,12 +1598,6 @@ option_type option_info[] = { &ironman_rooms, FALSE, 6, 6, "ironman_rooms", "Always generate very unusual rooms" }, - { &take_notes, TRUE, 6, 7, - "take_notes", "Allow notes to be written to a file" }, - - { &auto_notes, TRUE, 6, 8, - "auto_notes", "Automatically note important events" }, - { &joke_monsters, FALSE, 6, 14, "joke_monsters", "Allow use of some 'joke' monsters" }, -- cgit v1.2.3 From a8a33056a073cb3f4213a1e845fe036dd3d53e0b Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 15 Jul 2013 23:00:30 +0200 Subject: Remove the stupid_monsters option It's always considered FALSE from now on. --- src/tables.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 2087c64e..dec13e70 100644 --- a/src/tables.c +++ b/src/tables.c @@ -1498,9 +1498,6 @@ option_type option_info[] = { &smart_cheat, FALSE, 3, 15, "smart_cheat", "Monsters exploit players weaknesses" }, - { &stupid_monsters, FALSE, 3, 16, - "stupid_monsters", "Monsters behave stupidly" }, - { &small_levels, TRUE, 3, 17, "small_levels", "Allow unusually small dungeon levels" }, -- cgit v1.2.3 From 97f71585f5dc7c7ea8636cf277404e41f76b0706 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 16 Jul 2013 07:51:08 +0200 Subject: Prevent friendly quest monsters in Theme --- src/tables.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index dec13e70..1d5f1c49 100644 --- a/src/tables.c +++ b/src/tables.c @@ -4704,6 +4704,8 @@ module_type modules[MAX_MODULES] = { 6, 4, }, /* Intro function */ tome_intro, + /* Race status function: ToME requires no special handling */ + NULL }, { @@ -4724,6 +4726,8 @@ module_type modules[MAX_MODULES] = { 6, 5, }, /* Intro function */ theme_intro, + /* Race status function */ + theme_race_status } }; -- cgit v1.2.3 From 1014b3342b9a61a5477b06b566271b5216edbbe3 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 17:54:01 +0100 Subject: Split library quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 1d5f1c49..bffc0fb2 100644 --- a/src/tables.c +++ b/src/tables.c @@ -11,6 +11,7 @@ */ #include "angband.h" +#include "q_library.h" -- cgit v1.2.3 From fb0511aaa96c7a6089f39508703a8e0479b709f1 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:04:40 +0100 Subject: Split fireproofing quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index bffc0fb2..af3e2764 100644 --- a/src/tables.c +++ b/src/tables.c @@ -12,6 +12,7 @@ #include "angband.h" #include "q_library.h" +#include "q_fireprof.h" -- cgit v1.2.3 From ad687f1dab21fee379ccf70fbe4fc27c2e66409f Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:09:59 +0100 Subject: Split bounty hunter quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index af3e2764..82ccdb9e 100644 --- a/src/tables.c +++ b/src/tables.c @@ -13,6 +13,7 @@ #include "angband.h" #include "q_library.h" #include "q_fireprof.h" +#include "q_bounty.h" -- cgit v1.2.3 From 7ab6f5007e8a4db9f2f19fd9a88347adfc36dcd9 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:14:18 +0100 Subject: Split Thrain quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 82ccdb9e..a391e7d5 100644 --- a/src/tables.c +++ b/src/tables.c @@ -14,6 +14,7 @@ #include "q_library.h" #include "q_fireprof.h" #include "q_bounty.h" +#include "q_thrain.h" -- cgit v1.2.3 From ed1ec7f8250ae3665fbe577f4812574a9a32ab0c Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:22:25 +0100 Subject: Split Narsil quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index a391e7d5..bd399994 100644 --- a/src/tables.c +++ b/src/tables.c @@ -15,6 +15,7 @@ #include "q_fireprof.h" #include "q_bounty.h" #include "q_thrain.h" +#include "q_narsil.h" -- cgit v1.2.3 From ddd8786965ed3e020d83ec940584c6c529ab9875 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:25:59 +0100 Subject: Split Khazad-dum quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index bd399994..cfb2c867 100644 --- a/src/tables.c +++ b/src/tables.c @@ -16,6 +16,7 @@ #include "q_bounty.h" #include "q_thrain.h" #include "q_narsil.h" +#include "q_evil.h" -- cgit v1.2.3 From 1462a5fbe4ec3e4c87e489c283c6c4cbc0d5316b Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:33:52 +0100 Subject: Split "Between cities" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index cfb2c867..67a35ffd 100644 --- a/src/tables.c +++ b/src/tables.c @@ -17,6 +17,7 @@ #include "q_thrain.h" #include "q_narsil.h" #include "q_evil.h" +#include "q_betwen.h" -- cgit v1.2.3 From cbd585203f4701e3ce9096815b76e8a14223783b Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:37:51 +0100 Subject: Split "Haunted House" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 67a35ffd..2fd10764 100644 --- a/src/tables.c +++ b/src/tables.c @@ -18,6 +18,7 @@ #include "q_narsil.h" #include "q_evil.h" #include "q_betwen.h" +#include "q_haunted.h" -- cgit v1.2.3 From ed23f9e34987846c22d0f679d230c225c977a19f Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:40:14 +0100 Subject: Split "Invasion of Gondolin" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 2fd10764..b6bcb668 100644 --- a/src/tables.c +++ b/src/tables.c @@ -19,6 +19,7 @@ #include "q_evil.h" #include "q_betwen.h" #include "q_haunted.h" +#include "q_invas.h" -- cgit v1.2.3 From 1837ed317dc2ed3a741588f6fcb5e3bda58d3887 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:42:45 +0100 Subject: Split "Nirnaeth Arnoiedad" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index b6bcb668..5f0f050f 100644 --- a/src/tables.c +++ b/src/tables.c @@ -20,6 +20,7 @@ #include "q_betwen.h" #include "q_haunted.h" #include "q_invas.h" +#include "q_nirna.h" -- cgit v1.2.3 From 0c07f2b07c4730762effd27955d7d13aa49dba74 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:48:47 +0100 Subject: =?UTF-8?q?Split=20E=C3=B6l=20&=20God=20quests=20from=20plots.c?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tables.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 5f0f050f..f8f22870 100644 --- a/src/tables.c +++ b/src/tables.c @@ -21,6 +21,8 @@ #include "q_haunted.h" #include "q_invas.h" #include "q_nirna.h" +#include "q_eol.h" +#include "q_god.h" -- cgit v1.2.3 From 2542e580af280396ec1c4ce3b9f3ad76fe40d38e Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:52:27 +0100 Subject: Split "Dragons!" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index f8f22870..160594d7 100644 --- a/src/tables.c +++ b/src/tables.c @@ -23,6 +23,7 @@ #include "q_nirna.h" #include "q_eol.h" #include "q_god.h" +#include "q_dragons.h" -- cgit v1.2.3 From e69588809fa4ce2cae244decaac3ebd0762f258a Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 18:54:48 +0100 Subject: Split "Poisoned Water" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 160594d7..6553490d 100644 --- a/src/tables.c +++ b/src/tables.c @@ -24,6 +24,7 @@ #include "q_eol.h" #include "q_god.h" #include "q_dragons.h" +#include "q_poison.h" -- cgit v1.2.3 From 1491a1fe626d1cde5541a8de284193eafd5bbed2 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:00:45 +0100 Subject: Split Spider quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 6553490d..cc36f2f6 100644 --- a/src/tables.c +++ b/src/tables.c @@ -25,6 +25,7 @@ #include "q_god.h" #include "q_dragons.h" #include "q_poison.h" +#include "q_spider.h" -- cgit v1.2.3 From 60d422ca9be29752ffb7d6d3a734845c46a89e28 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:03:20 +0100 Subject: Split "Wolves!" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index cc36f2f6..4a2c4b34 100644 --- a/src/tables.c +++ b/src/tables.c @@ -26,6 +26,7 @@ #include "q_dragons.h" #include "q_poison.h" #include "q_spider.h" +#include "q_wolves.h" -- cgit v1.2.3 From e4aad7f42f675137e877f2c8ca3dd8a0da2fc6aa Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:06:26 +0100 Subject: Split Mushroom quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 4a2c4b34..75457f61 100644 --- a/src/tables.c +++ b/src/tables.c @@ -27,6 +27,7 @@ #include "q_poison.h" #include "q_spider.h" #include "q_wolves.h" +#include "q_shroom.h" -- cgit v1.2.3 From 0a7cd1758c9e5f321f8652ada9b6637b352999ec Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:08:32 +0100 Subject: Split Nazgul quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 75457f61..e08bfcb2 100644 --- a/src/tables.c +++ b/src/tables.c @@ -28,6 +28,7 @@ #include "q_spider.h" #include "q_wolves.h" #include "q_shroom.h" +#include "q_nazgul.h" -- cgit v1.2.3 From 2e797029ff1940b4c327b916900f4fb6004c7e69 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:11:04 +0100 Subject: Split Wight quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index e08bfcb2..756a3216 100644 --- a/src/tables.c +++ b/src/tables.c @@ -29,6 +29,7 @@ #include "q_wolves.h" #include "q_shroom.h" #include "q_nazgul.h" +#include "q_wight.h" -- cgit v1.2.3 From 4ce0078105404cc577cf74662fbc5d67b964f364 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:13:16 +0100 Subject: Split Troll quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 756a3216..6c721685 100644 --- a/src/tables.c +++ b/src/tables.c @@ -30,6 +30,7 @@ #include "q_shroom.h" #include "q_nazgul.h" #include "q_wight.h" +#include "q_troll.h" -- cgit v1.2.3 From 693aaaefe39c119490d592ed12c0a4de84d38915 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:15:41 +0100 Subject: Split Hobbit quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 6c721685..be79733f 100644 --- a/src/tables.c +++ b/src/tables.c @@ -31,6 +31,7 @@ #include "q_nazgul.h" #include "q_wight.h" #include "q_troll.h" +#include "q_hobbit.h" -- cgit v1.2.3 From 82224d3c88d07a02ec1db676d3bbb7d4b07bea0f Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:20:02 +0100 Subject: Split "Thieves!" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index be79733f..2d4a0275 100644 --- a/src/tables.c +++ b/src/tables.c @@ -32,6 +32,7 @@ #include "q_wight.h" #include "q_troll.h" #include "q_hobbit.h" +#include "q_thief.h" -- cgit v1.2.3 From a7abd11f574fc89620ddafa9ebac4f7fa50a1a7a Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:22:40 +0100 Subject: Split "Ultra Evil" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 2d4a0275..52fb4db6 100644 --- a/src/tables.c +++ b/src/tables.c @@ -33,6 +33,7 @@ #include "q_troll.h" #include "q_hobbit.h" #include "q_thief.h" +#include "q_ultrae.h" -- cgit v1.2.3 From 5478165ad9d479ca9a5135e42ba139cae15aa5e6 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:24:43 +0100 Subject: Split "Ultra Good" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 52fb4db6..68c973c2 100644 --- a/src/tables.c +++ b/src/tables.c @@ -34,6 +34,7 @@ #include "q_hobbit.h" #include "q_thief.h" #include "q_ultrae.h" +#include "q_ultrag.h" -- cgit v1.2.3 From 410376a132361a76e79c2c079e2e0ab6650fec71 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:26:38 +0100 Subject: Split "The One" quest from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 68c973c2..937ba05d 100644 --- a/src/tables.c +++ b/src/tables.c @@ -35,6 +35,7 @@ #include "q_thief.h" #include "q_ultrae.h" #include "q_ultrag.h" +#include "q_one.h" -- cgit v1.2.3 From a9c3fa61b870baab20e4ef2f8a2eaa071f8abb56 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:30:32 +0100 Subject: Split the main quests from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 937ba05d..d6fb29a9 100644 --- a/src/tables.c +++ b/src/tables.c @@ -36,6 +36,7 @@ #include "q_ultrae.h" #include "q_ultrag.h" #include "q_one.h" +#include "q_main.h" -- cgit v1.2.3 From 96f2a22e37c54c474954fc1443f4f7ffef55c468 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sun, 24 Mar 2013 19:34:15 +0100 Subject: Split random quests from plots.c --- src/tables.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index d6fb29a9..33330e80 100644 --- a/src/tables.c +++ b/src/tables.c @@ -37,6 +37,7 @@ #include "q_ultrag.h" #include "q_one.h" #include "q_main.h" +#include "q_rand.h" -- cgit v1.2.3 From eb657ada4c1ec432fc0e3aec0b9f4d796efed428 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 25 Mar 2013 13:10:24 +0100 Subject: Split hooks into separate header --- src/tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c index 33330e80..20d24966 100644 --- a/src/tables.c +++ b/src/tables.c @@ -3493,7 +3493,7 @@ quest_type quest[MAX_Q_IDX] = 0, NULL, - quest_null_hook, + NULL, {0, 0}, NULL, }, -- cgit v1.2.3 From cbef37bd5bfb938a2303ee3887520c08be85d8e8 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 26 Mar 2013 17:10:10 +0100 Subject: Switch almost everything over to C++ --- src/tables.c | 4761 ---------------------------------------------------------- 1 file changed, 4761 deletions(-) delete mode 100644 src/tables.c (limited to 'src/tables.c') diff --git a/src/tables.c b/src/tables.c deleted file mode 100644 index 20d24966..00000000 --- a/src/tables.c +++ /dev/null @@ -1,4761 +0,0 @@ -/* File: tables.c */ - -/* Purpose: Angband Tables */ - -/* - * Copyright (c) 1989 James E. Wilson, Robert A. Koeneke - * - * This software may be copied and distributed for educational, research, and - * not for profit purposes provided that this copyright and statement are - * included in all such copies. - */ - -#include "angband.h" -#include "q_library.h" -#include "q_fireprof.h" -#include "q_bounty.h" -#include "q_thrain.h" -#include "q_narsil.h" -#include "q_evil.h" -#include "q_betwen.h" -#include "q_haunted.h" -#include "q_invas.h" -#include "q_nirna.h" -#include "q_eol.h" -#include "q_god.h" -#include "q_dragons.h" -#include "q_poison.h" -#include "q_spider.h" -#include "q_wolves.h" -#include "q_shroom.h" -#include "q_nazgul.h" -#include "q_wight.h" -#include "q_troll.h" -#include "q_hobbit.h" -#include "q_thief.h" -#include "q_ultrae.h" -#include "q_ultrag.h" -#include "q_one.h" -#include "q_main.h" -#include "q_rand.h" - - - - -/* - * Global array for looping through the "keypad directions" - */ -s16b ddd[9] = - { 2, 8, 6, 4, 3, 1, 9, 7, 5 }; - -/* - * Global arrays for converting "keypad direction" into offsets - */ -s16b ddx[10] = - { 0, -1, 0, 1, -1, 0, 1, -1, 0, 1 }; - -s16b ddy[10] = - { 0, 1, 1, 1, 0, 0, 0, -1, -1, -1 }; - -/* - * Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]" - */ -s16b ddx_ddd[9] = - { 0, 0, 1, -1, 1, -1, 1, -1, 0 }; - -s16b ddy_ddd[9] = - { 1, -1, 0, 0, 1, 1, -1, -1, 0 }; - - - -/* -* Global array for converting numbers to uppercase hexadecimal digit - * This array can also be used to convert a number to an octal digit - */ -char hexsym[16] = - { - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' - }; - - -/* - * Stat Table (INT/WIS) -- Number of half-spells per level - */ -byte adj_mag_study[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 1 /* 8 */, - 1 /* 9 */, - 1 /* 10 */, - 1 /* 11 */, - 2 /* 12 */, - 2 /* 13 */, - 2 /* 14 */, - 2 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 2 /* 18/00-18/09 */, - 2 /* 18/10-18/19 */, - 2 /* 18/20-18/29 */, - 2 /* 18/30-18/39 */, - 2 /* 18/40-18/49 */, - 3 /* 18/50-18/59 */, - 3 /* 18/60-18/69 */, - 3 /* 18/70-18/79 */, - 3 /* 18/80-18/89 */, - 4 /* 18/90-18/99 */, - 4 /* 18/100-18/109 */, - 4 /* 18/110-18/119 */, - 5 /* 18/120-18/129 */, - 5 /* 18/130-18/139 */, - 5 /* 18/140-18/149 */, - 5 /* 18/150-18/159 */, - 5 /* 18/160-18/169 */, - 5 /* 18/170-18/179 */, - 5 /* 18/180-18/189 */, - 5 /* 18/190-18/199 */, - 5 /* 18/200-18/209 */, - 6 /* 18/210-18/219 */, - 6 /* 18/220+ */ -}; - - -/* - * Stat Table (INT/WIS) -- extra half-mana-points per level - */ -byte adj_mag_mana[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 1 /* 8 */, - 2 /* 9 */, - 2 /* 10 */, - 2 /* 11 */, - 2 /* 12 */, - 2 /* 13 */, - 2 /* 14 */, - 2 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 3 /* 18/00-18/09 */, - 3 /* 18/10-18/19 */, - 3 /* 18/20-18/29 */, - 3 /* 18/30-18/39 */, - 3 /* 18/40-18/49 */, - 4 /* 18/50-18/59 */, - 4 /* 18/60-18/69 */, - 5 /* 18/70-18/79 */, - 6 /* 18/80-18/89 */, - 7 /* 18/90-18/99 */, - 8 /* 18/100-18/109 */, - 9 /* 18/110-18/119 */, - 10 /* 18/120-18/129 */, - 11 /* 18/130-18/139 */, - 12 /* 18/140-18/149 */, - 13 /* 18/150-18/159 */, - 14 /* 18/160-18/169 */, - 15 /* 18/170-18/179 */, - 16 /* 18/180-18/189 */, - 16 /* 18/190-18/199 */, - 17 /* 18/200-18/209 */, - 17 /* 18/210-18/219 */, - 18 /* 18/220+ */ -}; - - -/* - * Stat Table (INT/WIS) -- Minimum failure rate (percentage) - */ -byte adj_mag_fail[] = -{ - 99 /* 3 */, - 99 /* 4 */, - 99 /* 5 */, - 99 /* 6 */, - 99 /* 7 */, - 50 /* 8 */, - 30 /* 9 */, - 20 /* 10 */, - 15 /* 11 */, - 12 /* 12 */, - 11 /* 13 */, - 10 /* 14 */, - 9 /* 15 */, - 8 /* 16 */, - 7 /* 17 */, - 6 /* 18/00-18/09 */, - 6 /* 18/10-18/19 */, - 5 /* 18/20-18/29 */, - 5 /* 18/30-18/39 */, - 5 /* 18/40-18/49 */, - 4 /* 18/50-18/59 */, - 4 /* 18/60-18/69 */, - 4 /* 18/70-18/79 */, - 4 /* 18/80-18/89 */, - 3 /* 18/90-18/99 */, - 3 /* 18/100-18/109 */, - 2 /* 18/110-18/119 */, - 2 /* 18/120-18/129 */, - 2 /* 18/130-18/139 */, - 2 /* 18/140-18/149 */, - 1 /* 18/150-18/159 */, - 1 /* 18/160-18/169 */, - 1 /* 18/170-18/179 */, - 1 /* 18/180-18/189 */, - 1 /* 18/190-18/199 */, - 0 /* 18/200-18/209 */, - 0 /* 18/210-18/219 */, - 0 /* 18/220+ */ -}; - - -/* - * Stat Table (INT/WIS) -- Various things - */ -byte adj_mag_stat[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 1 /* 8 */, - 1 /* 9 */, - 1 /* 10 */, - 1 /* 11 */, - 1 /* 12 */, - 1 /* 13 */, - 1 /* 14 */, - 2 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 3 /* 18/00-18/09 */, - 3 /* 18/10-18/19 */, - 3 /* 18/20-18/29 */, - 3 /* 18/30-18/39 */, - 3 /* 18/40-18/49 */, - 4 /* 18/50-18/59 */, - 4 /* 18/60-18/69 */, - 5 /* 18/70-18/79 */, - 6 /* 18/80-18/89 */, - 7 /* 18/90-18/99 */, - 8 /* 18/100-18/109 */, - 9 /* 18/110-18/119 */, - 10 /* 18/120-18/129 */, - 11 /* 18/130-18/139 */, - 12 /* 18/140-18/149 */, - 13 /* 18/150-18/159 */, - 14 /* 18/160-18/169 */, - 15 /* 18/170-18/179 */, - 16 /* 18/180-18/189 */, - 17 /* 18/190-18/199 */, - 18 /* 18/200-18/209 */, - 19 /* 18/210-18/219 */, - 20 /* 18/220+ */ -}; - - -/* - * Stat Table (CHR) -- payment percentages - */ -byte adj_chr_gold[] = -{ - 130 /* 3 */, - 125 /* 4 */, - 122 /* 5 */, - 120 /* 6 */, - 118 /* 7 */, - 116 /* 8 */, - 114 /* 9 */, - 112 /* 10 */, - 110 /* 11 */, - 108 /* 12 */, - 106 /* 13 */, - 104 /* 14 */, - 103 /* 15 */, - 102 /* 16 */, - 101 /* 17 */, - 100 /* 18/00-18/09 */, - 99 /* 18/10-18/19 */, - 98 /* 18/20-18/29 */, - 97 /* 18/30-18/39 */, - 96 /* 18/40-18/49 */, - 95 /* 18/50-18/59 */, - 94 /* 18/60-18/69 */, - 93 /* 18/70-18/79 */, - 92 /* 18/80-18/89 */, - 91 /* 18/90-18/99 */, - 90 /* 18/100-18/109 */, - 89 /* 18/110-18/119 */, - 88 /* 18/120-18/129 */, - 87 /* 18/130-18/139 */, - 86 /* 18/140-18/149 */, - 85 /* 18/150-18/159 */, - 84 /* 18/160-18/169 */, - 83 /* 18/170-18/179 */, - 82 /* 18/180-18/189 */, - 81 /* 18/190-18/199 */, - 80 /* 18/200-18/209 */, - 79 /* 18/210-18/219 */, - 78 /* 18/220+ */ -}; - - -/* - * Stat Table (INT) -- Magic devices - */ -byte adj_int_dev[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 1 /* 8 */, - 1 /* 9 */, - 1 /* 10 */, - 1 /* 11 */, - 1 /* 12 */, - 1 /* 13 */, - 1 /* 14 */, - 2 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 3 /* 18/00-18/09 */, - 3 /* 18/10-18/19 */, - 4 /* 18/20-18/29 */, - 4 /* 18/30-18/39 */, - 5 /* 18/40-18/49 */, - 5 /* 18/50-18/59 */, - 6 /* 18/60-18/69 */, - 6 /* 18/70-18/79 */, - 7 /* 18/80-18/89 */, - 7 /* 18/90-18/99 */, - 8 /* 18/100-18/109 */, - 9 /* 18/110-18/119 */, - 10 /* 18/120-18/129 */, - 11 /* 18/130-18/139 */, - 12 /* 18/140-18/149 */, - 13 /* 18/150-18/159 */, - 14 /* 18/160-18/169 */, - 15 /* 18/170-18/179 */, - 16 /* 18/180-18/189 */, - 17 /* 18/190-18/199 */, - 18 /* 18/200-18/209 */, - 19 /* 18/210-18/219 */, - 20 /* 18/220+ */ -}; - - -/* - * Stat Table (WIS) -- Saving throw - */ -byte adj_wis_sav[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 1 /* 8 */, - 1 /* 9 */, - 1 /* 10 */, - 1 /* 11 */, - 1 /* 12 */, - 1 /* 13 */, - 1 /* 14 */, - 2 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 3 /* 18/00-18/09 */, - 3 /* 18/10-18/19 */, - 3 /* 18/20-18/29 */, - 3 /* 18/30-18/39 */, - 3 /* 18/40-18/49 */, - 4 /* 18/50-18/59 */, - 4 /* 18/60-18/69 */, - 5 /* 18/70-18/79 */, - 5 /* 18/80-18/89 */, - 6 /* 18/90-18/99 */, - 7 /* 18/100-18/109 */, - 8 /* 18/110-18/119 */, - 9 /* 18/120-18/129 */, - 10 /* 18/130-18/139 */, - 11 /* 18/140-18/149 */, - 12 /* 18/150-18/159 */, - 13 /* 18/160-18/169 */, - 14 /* 18/170-18/179 */, - 15 /* 18/180-18/189 */, - 16 /* 18/190-18/199 */, - 17 /* 18/200-18/209 */, - 18 /* 18/210-18/219 */, - 19 /* 18/220+ */ -}; - - -/* - * Stat Table (DEX) -- disarming - */ -byte adj_dex_dis[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 0 /* 8 */, - 0 /* 9 */, - 0 /* 10 */, - 0 /* 11 */, - 0 /* 12 */, - 1 /* 13 */, - 1 /* 14 */, - 1 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 4 /* 18/00-18/09 */, - 4 /* 18/10-18/19 */, - 4 /* 18/20-18/29 */, - 4 /* 18/30-18/39 */, - 5 /* 18/40-18/49 */, - 5 /* 18/50-18/59 */, - 5 /* 18/60-18/69 */, - 6 /* 18/70-18/79 */, - 6 /* 18/80-18/89 */, - 7 /* 18/90-18/99 */, - 8 /* 18/100-18/109 */, - 8 /* 18/110-18/119 */, - 8 /* 18/120-18/129 */, - 8 /* 18/130-18/139 */, - 8 /* 18/140-18/149 */, - 9 /* 18/150-18/159 */, - 9 /* 18/160-18/169 */, - 9 /* 18/170-18/179 */, - 9 /* 18/180-18/189 */, - 9 /* 18/190-18/199 */, - 10 /* 18/200-18/209 */, - 10 /* 18/210-18/219 */, - 10 /* 18/220+ */ -}; - - -/* - * Stat Table (INT) -- disarming - */ -byte adj_int_dis[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 1 /* 8 */, - 1 /* 9 */, - 1 /* 10 */, - 1 /* 11 */, - 1 /* 12 */, - 1 /* 13 */, - 1 /* 14 */, - 2 /* 15 */, - 2 /* 16 */, - 2 /* 17 */, - 3 /* 18/00-18/09 */, - 3 /* 18/10-18/19 */, - 3 /* 18/20-18/29 */, - 4 /* 18/30-18/39 */, - 4 /* 18/40-18/49 */, - 5 /* 18/50-18/59 */, - 6 /* 18/60-18/69 */, - 7 /* 18/70-18/79 */, - 8 /* 18/80-18/89 */, - 9 /* 18/90-18/99 */, - 10 /* 18/100-18/109 */, - 10 /* 18/110-18/119 */, - 11 /* 18/120-18/129 */, - 12 /* 18/130-18/139 */, - 13 /* 18/140-18/149 */, - 14 /* 18/150-18/159 */, - 15 /* 18/160-18/169 */, - 16 /* 18/170-18/179 */, - 17 /* 18/180-18/189 */, - 18 /* 18/190-18/199 */, - 19 /* 18/200-18/209 */, - 19 /* 18/210-18/219 */, - 20 /* 18/220+ */ -}; - - -/* - * Stat Table (DEX) -- bonus to ac (plus 128) - */ -byte adj_dex_ta[] = -{ - 128 + -4 /* 3 */, - 128 + -3 /* 4 */, - 128 + -2 /* 5 */, - 128 + -1 /* 6 */, - 128 + 0 /* 7 */, - 128 + 0 /* 8 */, - 128 + 0 /* 9 */, - 128 + 0 /* 10 */, - 128 + 0 /* 11 */, - 128 + 0 /* 12 */, - 128 + 0 /* 13 */, - 128 + 0 /* 14 */, - 128 + 1 /* 15 */, - 128 + 1 /* 16 */, - 128 + 1 /* 17 */, - 128 + 2 /* 18/00-18/09 */, - 128 + 2 /* 18/10-18/19 */, - 128 + 2 /* 18/20-18/29 */, - 128 + 2 /* 18/30-18/39 */, - 128 + 2 /* 18/40-18/49 */, - 128 + 3 /* 18/50-18/59 */, - 128 + 3 /* 18/60-18/69 */, - 128 + 3 /* 18/70-18/79 */, - 128 + 4 /* 18/80-18/89 */, - 128 + 5 /* 18/90-18/99 */, - 128 + 6 /* 18/100-18/109 */, - 128 + 7 /* 18/110-18/119 */, - 128 + 8 /* 18/120-18/129 */, - 128 + 9 /* 18/130-18/139 */, - 128 + 9 /* 18/140-18/149 */, - 128 + 10 /* 18/150-18/159 */, - 128 + 11 /* 18/160-18/169 */, - 128 + 12 /* 18/170-18/179 */, - 128 + 13 /* 18/180-18/189 */, - 128 + 14 /* 18/190-18/199 */, - 128 + 15 /* 18/200-18/209 */, - 128 + 15 /* 18/210-18/219 */, - 128 + 16 /* 18/220+ */ -}; - - -/* - * Stat Table (STR) -- bonus to dam (plus 128) - */ -byte adj_str_td[] = -{ - 128 + -2 /* 3 */, - 128 + -2 /* 4 */, - 128 + -1 /* 5 */, - 128 + -1 /* 6 */, - 128 + 0 /* 7 */, - 128 + 0 /* 8 */, - 128 + 0 /* 9 */, - 128 + 0 /* 10 */, - 128 + 0 /* 11 */, - 128 + 0 /* 12 */, - 128 + 0 /* 13 */, - 128 + 0 /* 14 */, - 128 + 0 /* 15 */, - 128 + 1 /* 16 */, - 128 + 2 /* 17 */, - 128 + 2 /* 18/00-18/09 */, - 128 + 2 /* 18/10-18/19 */, - 128 + 3 /* 18/20-18/29 */, - 128 + 3 /* 18/30-18/39 */, - 128 + 3 /* 18/40-18/49 */, - 128 + 3 /* 18/50-18/59 */, - 128 + 3 /* 18/60-18/69 */, - 128 + 4 /* 18/70-18/79 */, - 128 + 5 /* 18/80-18/89 */, - 128 + 5 /* 18/90-18/99 */, - 128 + 6 /* 18/100-18/109 */, - 128 + 7 /* 18/110-18/119 */, - 128 + 8 /* 18/120-18/129 */, - 128 + 9 /* 18/130-18/139 */, - 128 + 10 /* 18/140-18/149 */, - 128 + 11 /* 18/150-18/159 */, - 128 + 12 /* 18/160-18/169 */, - 128 + 13 /* 18/170-18/179 */, - 128 + 14 /* 18/180-18/189 */, - 128 + 15 /* 18/190-18/199 */, - 128 + 16 /* 18/200-18/209 */, - 128 + 18 /* 18/210-18/219 */, - 128 + 20 /* 18/220+ */ -}; - - -/* - * Stat Table (DEX) -- bonus to hit (plus 128) - */ -byte adj_dex_th[] = -{ - 128 + -3 /* 3 */, - 128 + -2 /* 4 */, - 128 + -2 /* 5 */, - 128 + -1 /* 6 */, - 128 + -1 /* 7 */, - 128 + 0 /* 8 */, - 128 + 0 /* 9 */, - 128 + 0 /* 10 */, - 128 + 0 /* 11 */, - 128 + 0 /* 12 */, - 128 + 0 /* 13 */, - 128 + 0 /* 14 */, - 128 + 0 /* 15 */, - 128 + 1 /* 16 */, - 128 + 2 /* 17 */, - 128 + 3 /* 18/00-18/09 */, - 128 + 3 /* 18/10-18/19 */, - 128 + 3 /* 18/20-18/29 */, - 128 + 3 /* 18/30-18/39 */, - 128 + 3 /* 18/40-18/49 */, - 128 + 4 /* 18/50-18/59 */, - 128 + 4 /* 18/60-18/69 */, - 128 + 4 /* 18/70-18/79 */, - 128 + 4 /* 18/80-18/89 */, - 128 + 5 /* 18/90-18/99 */, - 128 + 6 /* 18/100-18/109 */, - 128 + 7 /* 18/110-18/119 */, - 128 + 8 /* 18/120-18/129 */, - 128 + 9 /* 18/130-18/139 */, - 128 + 9 /* 18/140-18/149 */, - 128 + 10 /* 18/150-18/159 */, - 128 + 11 /* 18/160-18/169 */, - 128 + 12 /* 18/170-18/179 */, - 128 + 13 /* 18/180-18/189 */, - 128 + 14 /* 18/190-18/199 */, - 128 + 15 /* 18/200-18/209 */, - 128 + 15 /* 18/210-18/219 */, - 128 + 16 /* 18/220+ */ -}; - - -/* - * Stat Table (STR) -- bonus to hit (plus 128) - */ -byte adj_str_th[] = -{ - 128 + -3 /* 3 */, - 128 + -2 /* 4 */, - 128 + -1 /* 5 */, - 128 + -1 /* 6 */, - 128 + 0 /* 7 */, - 128 + 0 /* 8 */, - 128 + 0 /* 9 */, - 128 + 0 /* 10 */, - 128 + 0 /* 11 */, - 128 + 0 /* 12 */, - 128 + 0 /* 13 */, - 128 + 0 /* 14 */, - 128 + 0 /* 15 */, - 128 + 0 /* 16 */, - 128 + 0 /* 17 */, - 128 + 1 /* 18/00-18/09 */, - 128 + 1 /* 18/10-18/19 */, - 128 + 1 /* 18/20-18/29 */, - 128 + 1 /* 18/30-18/39 */, - 128 + 1 /* 18/40-18/49 */, - 128 + 1 /* 18/50-18/59 */, - 128 + 1 /* 18/60-18/69 */, - 128 + 2 /* 18/70-18/79 */, - 128 + 3 /* 18/80-18/89 */, - 128 + 4 /* 18/90-18/99 */, - 128 + 5 /* 18/100-18/109 */, - 128 + 6 /* 18/110-18/119 */, - 128 + 7 /* 18/120-18/129 */, - 128 + 8 /* 18/130-18/139 */, - 128 + 9 /* 18/140-18/149 */, - 128 + 10 /* 18/150-18/159 */, - 128 + 11 /* 18/160-18/169 */, - 128 + 12 /* 18/170-18/179 */, - 128 + 13 /* 18/180-18/189 */, - 128 + 14 /* 18/190-18/199 */, - 128 + 15 /* 18/200-18/209 */, - 128 + 15 /* 18/210-18/219 */, - 128 + 16 /* 18/220+ */ -}; - - -/* - * Stat Table (STR) -- weight limit in deca-pounds - */ -byte adj_str_wgt[] = -{ - 5 /* 3 */, - 6 /* 4 */, - 7 /* 5 */, - 8 /* 6 */, - 9 /* 7 */, - 10 /* 8 */, - 11 /* 9 */, - 12 /* 10 */, - 13 /* 11 */, - 14 /* 12 */, - 15 /* 13 */, - 16 /* 14 */, - 17 /* 15 */, - 18 /* 16 */, - 19 /* 17 */, - 20 /* 18/00-18/09 */, - 22 /* 18/10-18/19 */, - 24 /* 18/20-18/29 */, - 26 /* 18/30-18/39 */, - 28 /* 18/40-18/49 */, - 30 /* 18/50-18/59 */, - 31 /* 18/60-18/69 */, - 31 /* 18/70-18/79 */, - 32 /* 18/80-18/89 */, - 32 /* 18/90-18/99 */, - 33 /* 18/100-18/109 */, - 33 /* 18/110-18/119 */, - 34 /* 18/120-18/129 */, - 34 /* 18/130-18/139 */, - 35 /* 18/140-18/149 */, - 35 /* 18/150-18/159 */, - 36 /* 18/160-18/169 */, - 36 /* 18/170-18/179 */, - 37 /* 18/180-18/189 */, - 37 /* 18/190-18/199 */, - 38 /* 18/200-18/209 */, - 38 /* 18/210-18/219 */, - 39 /* 18/220+ */ -}; - - -/* - * Stat Table (STR) -- weapon weight limit in pounds - */ -byte adj_str_hold[] = -{ - 4 /* 3 */, - 5 /* 4 */, - 6 /* 5 */, - 7 /* 6 */, - 8 /* 7 */, - 10 /* 8 */, - 12 /* 9 */, - 14 /* 10 */, - 16 /* 11 */, - 18 /* 12 */, - 20 /* 13 */, - 22 /* 14 */, - 24 /* 15 */, - 26 /* 16 */, - 28 /* 17 */, - 30 /* 18/00-18/09 */, - 30 /* 18/10-18/19 */, - 35 /* 18/20-18/29 */, - 40 /* 18/30-18/39 */, - 45 /* 18/40-18/49 */, - 50 /* 18/50-18/59 */, - 55 /* 18/60-18/69 */, - 60 /* 18/70-18/79 */, - 65 /* 18/80-18/89 */, - 70 /* 18/90-18/99 */, - 80 /* 18/100-18/109 */, - 80 /* 18/110-18/119 */, - 80 /* 18/120-18/129 */, - 80 /* 18/130-18/139 */, - 80 /* 18/140-18/149 */, - 90 /* 18/150-18/159 */, - 90 /* 18/160-18/169 */, - 90 /* 18/170-18/179 */, - 90 /* 18/180-18/189 */, - 90 /* 18/190-18/199 */, - 100 /* 18/200-18/209 */, - 100 /* 18/210-18/219 */, - 100 /* 18/220+ */ -}; - - -/* - * Stat Table (STR) -- digging value - */ -byte adj_str_dig[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 1 /* 5 */, - 2 /* 6 */, - 3 /* 7 */, - 4 /* 8 */, - 4 /* 9 */, - 5 /* 10 */, - 5 /* 11 */, - 6 /* 12 */, - 6 /* 13 */, - 7 /* 14 */, - 7 /* 15 */, - 8 /* 16 */, - 8 /* 17 */, - 9 /* 18/00-18/09 */, - 10 /* 18/10-18/19 */, - 12 /* 18/20-18/29 */, - 15 /* 18/30-18/39 */, - 20 /* 18/40-18/49 */, - 25 /* 18/50-18/59 */, - 30 /* 18/60-18/69 */, - 35 /* 18/70-18/79 */, - 40 /* 18/80-18/89 */, - 45 /* 18/90-18/99 */, - 50 /* 18/100-18/109 */, - 55 /* 18/110-18/119 */, - 60 /* 18/120-18/129 */, - 65 /* 18/130-18/139 */, - 70 /* 18/140-18/149 */, - 75 /* 18/150-18/159 */, - 80 /* 18/160-18/169 */, - 85 /* 18/170-18/179 */, - 90 /* 18/180-18/189 */, - 95 /* 18/190-18/199 */, - 100 /* 18/200-18/209 */, - 100 /* 18/210-18/219 */, - 100 /* 18/220+ */ -}; - - -/* - * Stat Table (STR) -- help index into the "blow" table - */ -byte adj_str_blow[] = -{ - 3 /* 3 */, - 4 /* 4 */, - 5 /* 5 */, - 6 /* 6 */, - 7 /* 7 */, - 8 /* 8 */, - 9 /* 9 */, - 10 /* 10 */, - 11 /* 11 */, - 12 /* 12 */, - 13 /* 13 */, - 14 /* 14 */, - 15 /* 15 */, - 16 /* 16 */, - 17 /* 17 */, - 20 /* 18/00-18/09 */, - 30 /* 18/10-18/19 */, - 40 /* 18/20-18/29 */, - 50 /* 18/30-18/39 */, - 60 /* 18/40-18/49 */, - 70 /* 18/50-18/59 */, - 80 /* 18/60-18/69 */, - 90 /* 18/70-18/79 */, - 100 /* 18/80-18/89 */, - 110 /* 18/90-18/99 */, - 120 /* 18/100-18/109 */, - 130 /* 18/110-18/119 */, - 140 /* 18/120-18/129 */, - 150 /* 18/130-18/139 */, - 160 /* 18/140-18/149 */, - 170 /* 18/150-18/159 */, - 180 /* 18/160-18/169 */, - 190 /* 18/170-18/179 */, - 200 /* 18/180-18/189 */, - 210 /* 18/190-18/199 */, - 220 /* 18/200-18/209 */, - 230 /* 18/210-18/219 */, - 240 /* 18/220+ */ -}; - - -/* - * Stat Table (DEX) -- index into the "blow" table - */ -byte adj_dex_blow[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 0 /* 8 */, - 0 /* 9 */, - 1 /* 10 */, - 1 /* 11 */, - 1 /* 12 */, - 1 /* 13 */, - 1 /* 14 */, - 1 /* 15 */, - 1 /* 16 */, - 1 /* 17 */, - 1 /* 18/00-18/09 */, - 2 /* 18/10-18/19 */, - 2 /* 18/20-18/29 */, - 2 /* 18/30-18/39 */, - 2 /* 18/40-18/49 */, - 3 /* 18/50-18/59 */, - 3 /* 18/60-18/69 */, - 4 /* 18/70-18/79 */, - 4 /* 18/80-18/89 */, - 5 /* 18/90-18/99 */, - 6 /* 18/100-18/109 */, - 7 /* 18/110-18/119 */, - 8 /* 18/120-18/129 */, - 9 /* 18/130-18/139 */, - 10 /* 18/140-18/149 */, - 11 /* 18/150-18/159 */, - 12 /* 18/160-18/169 */, - 14 /* 18/170-18/179 */, - 16 /* 18/180-18/189 */, - 18 /* 18/190-18/199 */, - 20 /* 18/200-18/209 */, - 20 /* 18/210-18/219 */, - 20 /* 18/220+ */ -}; - - -/* - * Stat Table (DEX) -- chance of avoiding "theft" and "falling" - */ -byte adj_dex_safe[] = -{ - 0 /* 3 */, - 1 /* 4 */, - 2 /* 5 */, - 3 /* 6 */, - 4 /* 7 */, - 5 /* 8 */, - 5 /* 9 */, - 6 /* 10 */, - 6 /* 11 */, - 7 /* 12 */, - 7 /* 13 */, - 8 /* 14 */, - 8 /* 15 */, - 9 /* 16 */, - 9 /* 17 */, - 10 /* 18/00-18/09 */, - 10 /* 18/10-18/19 */, - 15 /* 18/20-18/29 */, - 15 /* 18/30-18/39 */, - 20 /* 18/40-18/49 */, - 25 /* 18/50-18/59 */, - 30 /* 18/60-18/69 */, - 35 /* 18/70-18/79 */, - 40 /* 18/80-18/89 */, - 45 /* 18/90-18/99 */, - 50 /* 18/100-18/109 */, - 60 /* 18/110-18/119 */, - 70 /* 18/120-18/129 */, - 80 /* 18/130-18/139 */, - 90 /* 18/140-18/149 */, - 100 /* 18/150-18/159 */, - 100 /* 18/160-18/169 */, - 100 /* 18/170-18/179 */, - 100 /* 18/180-18/189 */, - 100 /* 18/190-18/199 */, - 100 /* 18/200-18/209 */, - 100 /* 18/210-18/219 */, - 100 /* 18/220+ */ -}; - - -/* - * Stat Table (CON) -- base regeneration rate - */ -byte adj_con_fix[] = -{ - 0 /* 3 */, - 0 /* 4 */, - 0 /* 5 */, - 0 /* 6 */, - 0 /* 7 */, - 0 /* 8 */, - 0 /* 9 */, - 0 /* 10 */, - 0 /* 11 */, - 0 /* 12 */, - 0 /* 13 */, - 1 /* 14 */, - 1 /* 15 */, - 1 /* 16 */, - 1 /* 17 */, - 2 /* 18/00-18/09 */, - 2 /* 18/10-18/19 */, - 2 /* 18/20-18/29 */, - 2 /* 18/30-18/39 */, - 2 /* 18/40-18/49 */, - 3 /* 18/50-18/59 */, - 3 /* 18/60-18/69 */, - 3 /* 18/70-18/79 */, - 3 /* 18/80-18/89 */, - 3 /* 18/90-18/99 */, - 4 /* 18/100-18/109 */, - 4 /* 18/110-18/119 */, - 5 /* 18/120-18/129 */, - 6 /* 18/130-18/139 */, - 6 /* 18/140-18/149 */, - 7 /* 18/150-18/159 */, - 7 /* 18/160-18/169 */, - 8 /* 18/170-18/179 */, - 8 /* 18/180-18/189 */, - 8 /* 18/190-18/199 */, - 9 /* 18/200-18/209 */, - 9 /* 18/210-18/219 */, - 9 /* 18/220+ */ -}; - - -/* - * Stat Table (CON) -- extra half-hitpoints per level (plus 128) - */ -byte adj_con_mhp[] = -{ - 128 + -5 /* 3 */, - 128 + -3 /* 4 */, - 128 + -2 /* 5 */, - 128 + -1 /* 6 */, - 128 + 0 /* 7 */, - 128 + 0 /* 8 */, - 128 + 0 /* 9 */, - 128 + 0 /* 10 */, - 128 + 0 /* 11 */, - 128 + 0 /* 12 */, - 128 + 0 /* 13 */, - 128 + 0 /* 14 */, - 128 + 1 /* 15 */, - 128 + 1 /* 16 */, - 128 + 2 /* 17 */, - 128 + 3 /* 18/00-18/09 */, - 128 + 4 /* 18/10-18/19 */, - 128 + 4 /* 18/20-18/29 */, - 128 + 4 /* 18/30-18/39 */, - 128 + 4 /* 18/40-18/49 */, - 128 + 5 /* 18/50-18/59 */, - 128 + 6 /* 18/60-18/69 */, - 128 + 7 /* 18/70-18/79 */, - 128 + 8 /* 18/80-18/89 */, - 128 + 9 /* 18/90-18/99 */, - 128 + 10 /* 18/100-18/109 */, - 128 + 11 /* 18/110-18/119 */, - 128 + 12 /* 18/120-18/129 */, - 128 + 13 /* 18/130-18/139 */, - 128 + 14 /* 18/140-18/149 */, - 128 + 15 /* 18/150-18/159 */, - 128 + 16 /* 18/160-18/169 */, - 128 + 18 /* 18/170-18/179 */, - 128 + 20 /* 18/180-18/189 */, - 128 + 22 /* 18/190-18/199 */, - 128 + 25 /* 18/200-18/209 */, - 128 + 26 /* 18/210-18/219 */, - 128 + 27 /* 18/220+ */ -}; - - -/* - * This table is used to help calculate the number of blows the player can - * make in a single round of attacks (one player turn) with a normal weapon. - * - * This number ranges from a single blow/round for weak players to up to six - * blows/round for powerful warriors. - * - * Note that certain artifacts and ego-items give "bonus" blows/round. - * - * First, from the player class, we extract some values: - * - * Warrior --> num = 6; mul = 5; div = MAX(30, weapon_weight); - * Mage --> num = 4; mul = 2; div = MAX(40, weapon_weight); - * Priest --> num = 5; mul = 3; div = MAX(35, weapon_weight); - * Rogue --> num = 5; mul = 3; div = MAX(30, weapon_weight); - * Ranger --> num = 5; mul = 4; div = MAX(35, weapon_weight); - * Paladin --> num = 5; mul = 4; div = MAX(30, weapon_weight); - * - * To get "P", we look up the relevant "adj_str_blow[]" (see above), - * multiply it by "mul", and then divide it by "div", rounding down. - * - * To get "D", we look up the relevant "adj_dex_blow[]" (see above), - * note especially column 6 (DEX 18/101) and 11 (DEX 18/150). - * - * The player gets "blows_table[P][D]" blows/round, as shown below, - * up to a maximum of "num" blows/round, plus any "bonus" blows/round. - */ -byte blows_table[12][12] = -{ - /* P/D */ - /* 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11+ */ - - /* 0 */ - { 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3 }, - - /* 1 */ - { 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4 }, - - /* 2 */ - { 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5 }, - - /* 3 */ - { 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5 }, - - /* 4 */ - { 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5 }, - - /* 5 */ - { 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6 }, - - /* 6 */ - { 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6 }, - - /* 7 */ - { 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6 }, - - /* 8 */ - { 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6 }, - - /* 9 */ - { 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6 }, - - /* 10 */ - { 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6 }, - - /* 11+ */ - { 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6 }, -}; - - -s16b arena_monsters[MAX_ARENA_MONS] = -{ - 30, 43, 102, 118, 126, 149, 173, - 183, 188, 191, 216, 230, 238, 244, - 255, 262, 293, 297, 321, 349, 372, - 401, 415, 454, 464, 485, 538, 631, - 641 -}; - - -/* - * This table allows quick conversion from "speed" to "energy" - * The basic function WAS ((S>=110) ? (S-110) : (100 / (120-S))) - * Note that table access is *much* quicker than computation. - * - * Note that the table has been changed at high speeds. From - * "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but - * at speeds above "Fast (+30)", one approaches an asymptotic - * effective limit of 50 energy per turn. This means that it - * is relatively easy to reach "Fast (+30)" and get about 40 - * energy per turn, but then speed becomes very "expensive", - * and you must get all the way to "Fast (+50)" to reach the - * point of getting 45 energy per turn. After that point, - * further increases in speed are more or less pointless, - * except to balance out heavy inventory. - * - * Note that currently the fastest monster is "Fast (+30)". - * - * It should be possible to lower the energy threshold from - * 100 units to 50 units, though this may interact badly with - * the (compiled out) small random energy boost code. It may - * also tend to cause more "clumping" at high speeds. - */ -byte extract_energy[300] = -{ - /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* S-50 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* S-40 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - /* S-30 */ 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, - /* S-20 */ 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, - /* S-10 */ 5, 5, 5, 5, 6, 6, 7, 7, 8, 9, - /* Norm */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - /* F+10 */ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - /* F+20 */ 30, 31, 32, 33, 34, 35, 36, 36, 37, 37, - /* F+30 */ 38, 38, 39, 39, 40, 40, 40, 41, 41, 41, - /* F+40 */ 42, 42, 42, 43, 43, 43, 44, 44, 44, 44, - /* F+50 */ 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, - /* F+60 */ 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, - /* F+70 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Fast */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - /* Virtual */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, -}; - - - - -/* - * Base experience levels, may be adjusted up for race and/or class - */ -s32b player_exp[PY_MAX_LEVEL] = -{ - 10, - 25, - 45, - 70, - 100, - 140, - 200, - 280, - 380, - 500, - 650, - 850, - 1100, - 1400, - 1800, - 2300, - 2900, - 3600, - 4400, - 5400, - 6800, - 8400, - 10200, - 12500, - 17500, - 25000, - 35000L, - 50000L, - 75000L, - 100000L, - 150000L, - 200000L, - 275000L, - 350000L, - 450000L, - 550000L, - 700000L, - 850000L, - 1000000L, - 1250000L, - 1500000L, - 1800000L, - 2100000L, - 2400000L, - 2700000L, - 3000000L, - 3500000L, - 4000000L, - 4500000L, - 5000000L -}; - - -/* - * Player Sexes - * - * Title, - * Winner - */ -player_sex sex_info[MAX_SEXES] = -{ - { - "Female", - "Queen" - }, - -{ -"Male", -"King" -}, -{ -"Neuter", -"Ruler" -} -}; - -/* - * Hack -- the "basic" color names (see "TERM_xxx") - */ -cptr color_names[16] = -{ - "Dark", - "White", - "Slate", - "Orange", - "Red", - "Green", - "Blue", - "Umber", - "Light Dark", - "Light Slate", - "Violet", - "Yellow", - "Light Red", - "Light Green", - "Light Blue", - "Light Umber", -}; - - -/* - * Abbreviations of healthy stats - */ -cptr stat_names[6] = -{ - "STR", "INT", "WIS", "DEX", "CON", "CHR" -}; - -/* - * Abbreviations of damaged stats - */ -cptr stat_names_reduced[6] = -{ - "Str", "Int", "Wis", "Dex", "Con", "Chr" -}; - - -/* - * Certain "screens" always use the main screen, including News, Birth, - * Dungeon, Tomb-stone, High-scores, Macros, Colors, Visuals, Options. - * - * Later, special flags may allow sub-windows to "steal" stuff from the - * main window, including File dump (help), File dump (artifacts, uniques), - * Character screen, Small scale map, Previous Messages, Store screen, etc. - * - * The "ctrl-i" (tab) command flips the "Display inven/equip" and "Display - * equip/inven" flags for all windows. - * - * The "ctrl-g" command (or pseudo-command) should perhaps grab a snapshot - * of the main screen into any interested windows. - */ -cptr window_flag_desc[32] = -{ - "Display inven/equip", - "Display equip/inven", - NULL, - "Display character", - "Show visible monsters", - NULL, - "Display messages", - "Display overhead view", - "Display monster recall", - "Display object recall", - NULL, - "Display snap-shot", - NULL, - NULL, - "Display borg messages", - "Display borg status", - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL -}; - - -/* - * Available Options - * - * Option Screen Sets: - * - * Set 1: User Interface - * Set 2: Disturbance - * Set 3: Inventory - * Set 4: Game Play - * Set 5: ToME - * Set 6: Birth - * - * Note that bits 28-31 of set 0 are currently unused. - */ -option_type option_info[] = -{ - /*** User-Interface ***/ - - { &rogue_like_commands, FALSE, 1, 0, - "rogue_like_commands", "Rogue-like commands" }, - - { &quick_messages, TRUE, 1, 1, - "quick_messages", "Activate quick messages" }, - - { &carry_query_flag, FALSE, 1, 3, - "carry_query_flag", "Prompt before picking things up" }, - - { &use_old_target, FALSE, 1, 4, - "use_old_target", "Use old target by default" }, - - { &always_pickup, FALSE, 1, 5, - "always_pickup", "Pick things up by default" }, - - { &prompt_pickup_heavy, TRUE, 1, 6, - "prompt_pickup_heavy", "Prompt before picking up heavy objects" }, - - { &always_repeat, TRUE, 1, 7, - "always_repeat", "Repeat obvious commands" }, - - { &depth_in_feet, FALSE, 1, 8, - "depth_in_feet", "Show dungeon level in feet" }, - - { &stack_force_notes, TRUE, 1, 9, - "stack_force_notes", "Merge inscriptions when stacking" }, - - { &stack_force_costs, FALSE, 1, 10, - "stack_force_costs", "Merge discounts when stacking" }, - - { &ring_bell, FALSE, 1, 18, - "ring_bell", "Audible bell (on errors, etc)" }, - /* Changed to default to FALSE -- it's so extremely annoying!!! -TY */ - - /*** Disturbance ***/ - - { &find_ignore_stairs, FALSE, 2, 0, - "find_ignore_stairs", "Run past stairs" }, - - { &find_ignore_doors, TRUE, 2, 1, - "find_ignore_doors", "Run through open doors" }, - - { &find_cut, FALSE, 2, 2, - "find_cut", "Run past known corners" }, - - { &find_examine, TRUE, 2, 3, - "find_examine", "Run into potential corners" }, - - { &disturb_move, FALSE, 2, 4, - "disturb_move", "Disturb whenever any monster moves" }, - - { &disturb_near, TRUE, 2, 5, - "disturb_near", "Disturb whenever viewable monster moves" }, - - { &disturb_panel, TRUE, 2, 6, - "disturb_panel", "Disturb whenever map panel changes" }, - - { &disturb_detect, TRUE, 2, 21, - "disturb_detect", "Disturb whenever leaving trap-detected area" }, - - { &disturb_state, TRUE, 2, 7, - "disturb_state", "Disturb whenever player state changes" }, - - { &disturb_minor, TRUE, 2, 8, - "disturb_minor", "Disturb whenever boring things happen" }, - - { &disturb_other, FALSE, 2, 9, - "disturb_other", "Disturb whenever random things happen" }, - - { &alert_hitpoint, FALSE, 2, 10, - "alert_hitpoint", "Alert user to critical hitpoints" }, - - { &alert_failure, FALSE, 2, 11, - "alert_failure", "Alert user to various failures" }, - - { &last_words, TRUE, 2, 12, - "last_words", "Get last words when the character dies" }, - - { &speak_unique, TRUE, 2, 13, - "speak_unique", "Allow shopkeepers and uniques to speak" }, - - { &auto_destroy, TRUE, 2, 14, - "auto_destroy", "No query to destroy known worthless items" }, - - { &wear_confirm, TRUE, 2, 15, - "confirm_wear", "Confirm to wear/wield known cursed items" }, - - { &confirm_stairs, FALSE, 2, 16, - "confirm_stairs", "Prompt before exiting a dungeon level" }, - - { &disturb_pets, FALSE, 2, 17, - "disturb_pets", "Disturb when visible pets move" }, - - { &easy_open, TRUE, 2, 18, - "easy_open", "Automatically open doors" }, - - { &easy_disarm, TRUE, 2, 19, - "easy_disarm", "Automatically disarm traps" }, - - { &easy_tunnel, FALSE, 2, 20, - "easy_tunnel", "Automatically tunnel walls" }, - - /*** Game-Play ***/ - - { &auto_scum, TRUE, 3, 1, - "auto_scum", "Auto-scum for good levels" }, - - { &stack_allow_items, TRUE, 3, 2, - "stack_allow_items", "Allow weapons and armour to stack" }, - - { &stack_allow_wands, TRUE, 3, 3, - "stack_allow_wands", "Allow wands/staffs/rods to stack" }, - - { &expand_look, FALSE, 3, 4, - "expand_look", "Expand the power of the look command" }, - - { &expand_list, FALSE, 3, 5, - "expand_list", "Expand the power of the list commands" }, - - { &view_perma_grids, TRUE, 3, 6, - "view_perma_grids", "Map remembers all perma-lit grids" }, - - { &view_torch_grids, FALSE, 3, 7, - "view_torch_grids", "Map remembers all torch-lit grids" }, - - { &monster_lite, TRUE, 3, 19, - "monster_lite", "Allow some monsters to carry light" }, - - { &dungeon_align, TRUE, 3, 8, - "dungeon_align", "Generate dungeons with aligned rooms" }, - - { &dungeon_stair, TRUE, 3, 9, - "dungeon_stair", "Generate dungeons with connected stairs" }, - - { &flow_by_sound, FALSE, 3, 10, - "flow_by_sound", "Monsters chase current location (v.slow)" }, - - { &player_symbols, FALSE, 3, 12, - "player_symbols", "Use special symbols for the player char"}, - - { &plain_descriptions, TRUE, 3, 13, - "plain_descriptions", "Plain object descriptions" }, - - { &smart_learn, FALSE, 3, 14, - "smart_learn", "Monsters learn from their mistakes" }, - - { &smart_cheat, FALSE, 3, 15, - "smart_cheat", "Monsters exploit players weaknesses" }, - - { &small_levels, TRUE, 3, 17, - "small_levels", "Allow unusually small dungeon levels" }, - - { &empty_levels, TRUE, 3, 18, - "empty_levels", "Allow empty 'arena' levels" }, - - /*** Efficiency ***/ - - { &view_reduce_lite, FALSE, 4, 0, - "view_reduce_lite", "Reduce lite-radius when running" }, - - { &view_reduce_view, FALSE, 4, 1, - "view_reduce_view", "Reduce view-radius in town" }, - - { &avoid_abort, FALSE, 4, 2, - "avoid_abort", "Avoid checking for user abort" }, - - { &avoid_shimmer, FALSE, 4, 17, - "avoid_shimmer", "Avoid extra shimmering (fast)" }, - - { &avoid_other, FALSE, 4, 3, - "avoid_other", "Avoid processing special colors (fast)" }, - - { &flush_failure, TRUE, 4, 4, - "flush_failure", "Flush input on various failures" }, - - { &flush_disturb, FALSE, 4, 5, - "flush_disturb", "Flush input whenever disturbed" }, - - { &flush_command, FALSE, 4, 6, - "flush_command", "Flush input before every command" }, - - { &fresh_before, TRUE, 4, 7, - "fresh_before", "Flush output before every command" }, - - { &fresh_after, FALSE, 4, 8, - "fresh_after", "Flush output after every command" }, - - { &fresh_message, FALSE, 4, 9, - "fresh_message", "Flush output after every message" }, - - { &hilite_player, FALSE, 4, 11, - "hilite_player", "Hilite the player with the cursor" }, - - { &view_yellow_lite, FALSE, 4, 12, - "view_yellow_lite", "Use special colors for torch-lit grids" }, - - { &view_bright_lite, FALSE, 4, 13, - "view_bright_lite", "Use special colors for 'viewable' grids" }, - - { &view_granite_lite, FALSE, 4, 14, - "view_granite_lite", "Use special colors for wall grids (slow)" }, - - { &view_special_lite, FALSE, 4, 15, - "view_special_lite", "Use special colors for floor grids (slow)" }, - - { ¢er_player, FALSE, 4, 16, - "center_player", "Center the view on the player (very slow)" }, - - /*** ToME options ***/ - - { &option_ingame_help, TRUE, 5, 1, - "ingame_help", "Ingame contextual help" }, - - { &exp_need, FALSE, 5, 2, - "exp_need", "Show the experience needed for next level" }, - - { &auto_more, FALSE, 5, 4, - "auto_more", "Automatically clear '-more-' prompts" }, - - { &player_char_health, TRUE, 5, 6, - "player_char_health", "Player char represent his/her health" }, - - { &linear_stats, TRUE, 5, 7, - "linear_stats", "Stats are represented in a linear way" }, - - { &inventory_no_move, FALSE, 5, 8, - "inventory_no_move", "In option windows, just omit the select char" }, - - - /*** Birth Options ***/ - - { &maximize, TRUE, 6, 1, - "maximize", "Maximise stats" }, - - { &preserve, TRUE, 6, 2, - "preserve", "Preserve artifacts" }, - - { &autoroll, TRUE, 6, 3, - "autoroll", "Specify 'minimal' stats" }, - - { &point_based, FALSE, 6, 17, - "point_based", "Generate character using a point system" }, - - { &ironman_rooms, FALSE, 6, 6, - "ironman_rooms", "Always generate very unusual rooms" }, - - { &joke_monsters, FALSE, 6, 14, - "joke_monsters", "Allow use of some 'joke' monsters" }, - - /* XXX */ - - { &always_small_level, FALSE, 6, 16, - "always_small_level", "Always make small levels" }, - - { &fate_option, TRUE, 6, 18, - "fate_option", "You can receive fates, good or bad" }, - - /* XXX 17 is used BEFORE */ - - /*** Stacking ***/ - - { &testing_stack, TRUE, 7, 0, - "testing_stack", "Allow objects to stack on floor" }, - - { &testing_carry, TRUE, 7, 1, - "testing_carry", "Allow monsters to carry objects" }, - - - /*** End of Table ***/ - - { NULL, 0, 0, 0, - NULL, NULL } -}; - - - -/* Names used for random artifact name generation */ -cptr artifact_names_list = - "adanedhel\n" - "adurant\n" - "aeglos\n" - "aegnor\n" - "aelin\n" - "aeluin\n" - "aerandir\n" - "aerin\n" - "agarwaen\n" - "aglareb\n" - "aglarond\n" - "aglon\n" - "ainulindale\n" - "ainur\n" - "alcarinque\n" - "aldaron\n" - "aldudenie\n" - "almaren\n" - "alqualonde\n" - "aman\n" - "amandil\n" - "amarie\n" - "amarth\n" - "amlach\n" - "amon\n" - "amras\n" - "amrod\n" - "anach\n" - "anar\n" - "anarion\n" - "ancalagon\n" - "ancalimon\n" - "anarrima\n" - "andor\n" - "andram\n" - "androth\n" - "anduin\n" - "andunie\n" - "anfauglir\n" - "anfauglith\n" - "angainor\n" - "angband\n" - "anghabar\n" - "anglachel\n" - "angrenost\n" - "angrim\n" - "angrist\n" - "angrod\n" - "anguirel\n" - "annael\n" - "annatar\n" - "annon\n" - "annuminas\n" - "apanonar\n" - "aradan\n" - "aragorn\n" - "araman\n" - "aranel\n" - "aranruth\n" - "aranwe\n" - "aras\n" - "aratan\n" - "aratar\n" - "arathorn\n" - "arda\n" - "ard-galen\n" - "aredhel\n" - "ar-feiniel\n" - "argonath\n" - "arien\n" - "armenelos\n" - "arminas\n" - "arnor\n" - "aros\n" - "arossiach\n" - "arthad\n" - "arvernien\n" - "arwen\n" - "ascar\n" - "astaldo\n" - "atalante\n" - "atanamir\n" - "atanatari\n" - "atani\n" - "aule\n" - "avallone\n" - "avari\n" - "avathar\n" - "balan\n" - "balar\n" - "balrog\n" - "barad\n" - "baragund\n" - "barahir\n" - "baran\n" - "baranduin\n" - "bar\n" - "bauglir\n" - "beleg\n" - "belegaer\n" - "belegost\n" - "belegund\n" - "beleriand\n" - "belfalas\n" - "belthil\n" - "belthronding\n" - "beor\n" - "beraid\n" - "bereg\n" - "beren\n" - "boromir\n" - "boron\n" - "bragollach\n" - "brandir\n" - "bregolas\n" - "bregor\n" - "brethil\n" - "brilthor\n" - "brithiach\n" - "brithombar\n" - "brithon\n" - "cabed\n" - "calacirya\n" - "calaquendi\n" - "calenardhon\n" - "calion\n" - "camlost\n" - "caragdur\n" - "caranthir\n" - "carcharoth\n" - "cardolan\n" - "carnil\n" - "celeborn\n" - "celebrant\n" - "celebrimbor\n" - "celebrindal\n" - "celebros\n" - "celegorm\n" - "celon\n" - "cirdan\n" - "cirith\n" - "cirth\n" - "ciryatan\n" - "ciryon\n" - "coimas\n" - "corollaire\n" - "crissaegrim\n" - "cuarthal\n" - "cuivienen\n" - "culurien\n" - "curufin\n" - "curufinwe\n" - "curunir\n" - "cuthalion\n" - "daedeloth\n" - "daeron\n" - "dagnir\n" - "dagor\n" - "dagorlad\n" - "dairuin\n" - "danwedh\n" - "delduwath\n" - "denethor\n" - "dimbar\n" - "dimrost\n" - "dinen\n" - "dior\n" - "dirnen\n" - "dolmed\n" - "doriath\n" - "dorlas\n" - "dorthonion\n" - "draugluin\n" - "drengist\n" - "duath\n" - "duinath\n" - "duilwen\n" - "dunedain\n" - "dungortheb\n" - "earendil\n" - "earendur\n" - "earnil\n" - "earnur\n" - "earrame\n" - "earwen\n" - "echor\n" - "echoriath\n" - "ecthelion\n" - "edain\n" - "edrahil\n" - "eglador\n" - "eglarest\n" - "eglath\n" - "eilinel\n" - "eithel\n" - "ekkaia\n" - "elbereth\n" - "eldalie\n" - "eldalieva\n" - "eldamar\n" - "eldar\n" - "eledhwen\n" - "elemmire\n" - "elende\n" - "elendil\n" - "elendur\n" - "elenna\n" - "elentari\n" - "elenwe\n" - "elerrina\n" - "elleth\n" - "elmoth\n" - "elostirion\n" - "elrond\n" - "elros\n" - "elu\n" - "eluchil\n" - "elured\n" - "elurin\n" - "elwe\n" - "elwing\n" - "emeldir\n" - "endor\n" - "engrin\n" - "engwar\n" - "eol\n" - "eonwe\n" - "ephel\n" - "erchamion\n" - "ereb\n" - "ered\n" - "erech\n" - "eregion\n" - "ereinion\n" - "erellont\n" - "eressea\n" - "eriador\n" - "eru\n" - "esgalduin\n" - "este\n" - "estel\n" - "estolad\n" - "ethir\n" - "ezellohar\n" - "faelivrin\n" - "falas\n" - "falathar\n" - "falathrim\n" - "falmari\n" - "faroth\n" - "fauglith\n" - "feanor\n" - "feanturi\n" - "felagund\n" - "finarfin\n" - "finduilas\n" - "fingolfin\n" - "fingon\n" - "finwe\n" - "firimar\n" - "formenos\n" - "fornost\n" - "frodo\n" - "fuin\n" - "fuinur\n" - "gabilgathol\n" - "galad\n" - "galadriel\n" - "galathilion\n" - "galdor\n" - "galen\n" - "galvorn\n" - "gandalf\n" - "gaurhoth\n" - "gelion\n" - "gelmir\n" - "gelydh\n" - "gil\n" - "gildor\n" - "giliath\n" - "ginglith\n" - "girith\n" - "glaurung\n" - "glingal\n" - "glirhuin\n" - "gloredhel\n" - "glorfindel\n" - "golodhrim\n" - "gondolin\n" - "gondor\n" - "gonnhirrim\n" - "gorgoroth\n" - "gorlim\n" - "gorthaur\n" - "gorthol\n" - "gothmog\n" - "guilin\n" - "guinar\n" - "guldur\n" - "gundor\n" - "gurthang\n" - "gwaith\n" - "gwareth\n" - "gwindor\n" - "hadhodrond\n" - "hador\n" - "haladin\n" - "haldad\n" - "haldan\n" - "haldar\n" - "haldir\n" - "haleth\n" - "halmir\n" - "handir\n" - "harad\n" - "hareth\n" - "hathaldir\n" - "hathol\n" - "haudh\n" - "helcar\n" - "helcaraxe\n" - "helevorn\n" - "helluin\n" - "herumor\n" - "herunumen\n" - "hildorien\n" - "himlad\n" - "himring\n" - "hirilorn\n" - "hisilome\n" - "hithaeglir\n" - "hithlum\n" - "hollin\n" - "huan\n" - "hunthor\n" - "huor\n" - "hurin\n" - "hyarmendacil\n" - "hyarmentir\n" - "iant\n" - "iaur\n" - "ibun\n" - "idril\n" - "illuin\n" - "ilmare\n" - "ilmen\n" - "iluvatar\n" - "imlach\n" - "imladris\n" - "indis\n" - "ingwe\n" - "irmo\n" - "isil\n" - "isildur\n" - "istari\n" - "ithil\n" - "ivrin\n" - "kelvar\n" - "kementari\n" - "ladros\n" - "laiquendi\n" - "lalaith\n" - "lamath\n" - "lammoth\n" - "lanthir\n" - "laurelin\n" - "leithian\n" - "legolin\n" - "lembas\n" - "lenwe\n" - "linaewen\n" - "lindon\n" - "lindorie\n" - "loeg\n" - "lomelindi\n" - "lomin\n" - "lomion\n" - "lorellin\n" - "lorien\n" - "lorindol\n" - "losgar\n" - "lothlann\n" - "lothlorien\n" - "luin\n" - "luinil\n" - "lumbar\n" - "luthien\n" - "mablung\n" - "maedhros\n" - "maeglin\n" - "maglor\n" - "magor\n" - "mahanaxar\n" - "mahtan\n" - "maiar\n" - "malduin\n" - "malinalda\n" - "mandos\n" - "manwe\n" - "mardil\n" - "melian\n" - "melkor\n" - "menegroth\n" - "meneldil\n" - "menelmacar\n" - "meneltarma\n" - "minas\n" - "minastir\n" - "mindeb\n" - "mindolluin\n" - "mindon\n" - "minyatur\n" - "mirdain\n" - "miriel\n" - "mithlond\n" - "mithrandir\n" - "mithrim\n" - "mordor\n" - "morgoth\n" - "morgul\n" - "moria\n" - "moriquendi\n" - "mormegil\n" - "morwen\n" - "nahar\n" - "naeramarth\n" - "namo\n" - "nandor\n" - "nargothrond\n" - "narog\n" - "narsil\n" - "narsilion\n" - "narya\n" - "nauglamir\n" - "naugrim\n" - "ndengin\n" - "neithan\n" - "neldoreth\n" - "nenar\n" - "nenning\n" - "nenuial\n" - "nenya\n" - "nerdanel\n" - "nessa\n" - "nevrast\n" - "nibin\n" - "nienna\n" - "nienor\n" - "nimbrethil\n" - "nimloth\n" - "nimphelos\n" - "nimrais\n" - "nimras\n" - "ningloron\n" - "niniel\n" - "ninniach\n" - "ninquelote\n" - "niphredil\n" - "nirnaeth\n" - "nivrim\n" - "noegyth\n" - "nogrod\n" - "noldolante\n" - "noldor\n" - "numenor\n" - "nurtale\n" - "obel\n" - "ohtar\n" - "oiolosse\n" - "oiomure\n" - "olorin\n" - "olvar\n" - "olwe\n" - "ondolinde\n" - "orfalch\n" - "ormal\n" - "orocarni\n" - "orodreth\n" - "orodruin\n" - "orome\n" - "oromet\n" - "orthanc\n" - "osgiliath\n" - "osse\n" - "ossiriand\n" - "palantir\n" - "pelargir\n" - "pelori\n" - "periannath\n" - "quendi\n" - "quenta\n" - "quenya\n" - "radagast\n" - "radhruin\n" - "ragnor\n" - "ramdal\n" - "rana\n" - "rathloriel\n" - "rauros\n" - "region\n" - "rerir\n" - "rhovanion\n" - "rhudaur\n" - "rhun\n" - "rhunen\n" - "rian\n" - "ringil\n" - "ringwil\n" - "romenna\n" - "rudh\n" - "rumil\n" - "saeros\n" - "salmar\n" - "saruman\n" - "sauron\n" - "serech\n" - "seregon\n" - "serinde\n" - "shelob\n" - "silmarien\n" - "silmaril\n" - "silpion\n" - "sindar\n" - "singollo\n" - "sirion\n" - "soronume\n" - "sul\n" - "sulimo\n" - "talath\n" - "taniquetil\n" - "tar\n" - "taras\n" - "tarn\n" - "tathren\n" - "taur\n" - "tauron\n" - "teiglin\n" - "telchar\n" - "telemnar\n" - "teleri\n" - "telperion\n" - "telumendil\n" - "thalion\n" - "thalos\n" - "thangorodrim\n" - "thargelion\n" - "thingol\n" - "thoronath\n" - "thorondor\n" - "thranduil\n" - "thuringwethil\n" - "tilion\n" - "tintalle\n" - "tinuviel\n" - "tirion\n" - "tirith\n" - "tol\n" - "tulkas\n" - "tumhalad\n" - "tumladen\n" - "tuna\n" - "tuor\n" - "turambar\n" - "turgon\n" - "turin\n" - "uial\n" - "uilos\n" - "uinen\n" - "ulairi\n" - "ulmo\n" - "ulumuri\n" - "umanyar\n" - "umarth\n" - "umbar\n" - "ungoliant\n" - "urthel\n" - "uruloki\n" - "utumno\n" - "vaire\n" - "valacirca\n" - "valandil\n" - "valaquenta\n" - "valar\n" - "valaraukar\n" - "valaroma\n" - "valier\n" - "valimar\n" - "valinor\n" - "valinoreva\n" - "valmar\n" - "vana\n" - "vanyar\n" - "varda\n" - "vasa\n" - "vilya\n" - "vingilot\n" - "vinyamar\n" - "voronwe\n" - "wethrin\n" - "wilwarin\n" - "yavanna\n" - ; - - -martial_arts ma_blows[MAX_MA] = -{ - { "You punch %s.", 1, 0, 2, 4, 0, 0 }, - { "You kick %s.", 2, 0, 2, 6, 0, 0 }, - { "You strike %s.", 3, 0, 2, 7, 0, 0 }, - { "You hit %s with your knee.", 5, 5, 4, 3, MA_KNEE, 0 }, - { "You hit %s with your elbow.", 7, 5, 2, 8, 0, 0 }, - { "You butt %s.", 9, 10, 4, 5, 0, 0 }, - { "You kick %s.", 11, 10, 6, 4, MA_SLOW, 0 }, - { "You uppercut %s.", 13, 12, 8, 4, MA_STUN, 6 }, - { "You double-kick %s.", 16, 15, 10, 4, MA_STUN, 8 }, - { "You hit %s with a Cat's Claw.", 20, 20, 10, 5, 0, 0 }, - { "You hit %s with a jump kick.", 25, 25, 10, 6, MA_STUN, 10 }, - { "You hit %s with an Eagle's Claw.", 29, 25, 12, 6, 0, 0 }, - { "You hit %s with a circle kick.", 33, 30, 12, 8, MA_STUN, 10 }, - { "You hit %s with an Iron Fist.", 37, 35, 16, 8, MA_STUN, 10 }, - { "You hit %s with a flying kick.", 41, 35, 16, 10, MA_STUN, 12 }, - { "You hit %s with a Dragon Fist.", 45, 35, 20, 10, MA_STUN, 16 }, - { "You hit %s with a Crushing Blow.", 48, 35, 20, 12, MA_STUN, 18 }, -}; - -/* - * cptr desc; A verbose attack description - * int min_level; Minimum level to use - * int chance; Chance of 'success - * int dd; Damage dice - * int ds; Damage sides - * s16b effect; Special effects - * s16b power; Special effects power - */ -martial_arts bear_blows[MAX_BEAR] = -{ - { "You claw %s.", 1, 0, 3, 4, MA_STUN, 4 }, - { "You swat %s.", 4, 0, 4, 4, MA_WOUND, 20 }, - { "You bite %s.", 9, 2, 4, 4, MA_WOUND, 30 }, - { "You hug %s.", 15, 5, 6, 4, MA_FULL_SLOW, 0 }, - { "You swat and rake %s.", 25, 10, 6, 5, MA_STUN | MA_WOUND, 10 }, - { "You hug and claw %s.", 30, 15, 6, 6, MA_FULL_SLOW | MA_WOUND, 60 }, - { "You double swat %s.", 35, 20, 9, 7, MA_STUN | MA_WOUND, 20 }, - { "You double swat and rake %s.", 40, 25, 10, 10, MA_STUN | MA_WOUND, 25 }, -}; - - -magic_power mindcraft_powers[MAX_MINDCRAFT_POWERS] = -{ - /* Level gained, cost, %fail, name, desc */ - { - /* Det. monsters/traps */ - 1, 1, 15, - "Precognition", - "Detect monsters, traps and level layout and lights up at higher levels." - }, - { - /* ~MM */ - 2, 1, 20, - "Neural Blast", - "Blast the minds of your foes." - }, - { - /* Phase/Between gate */ - 3, 2, 25, - "Minor Displacement", - "Short distance teleportation" - }, - { - /* Tele. Self / All */ - 7, 6, 35, - "Major Displacement", - "Teleport you and others at high levels." - }, - { - 9, 7, 50, - "Domination", - "Charm monsters" - }, - { - /* Telekinetic "bolt" */ - 11, 7, 30, - "Pulverise", - "Fires a bolt of pure sound." - }, - { - /* Psychic/physical defenses */ - 13, 12, 50, - "Character Armour", - "Sets up physical/elemental shield." - }, - { - 15, 12, 60, - "Psychometry", - "Identifies objects." - }, - { - /* Ball -> LOS */ - 18, 10, 45, - "Mind Wave", - "Projects psi waves to crush the minds of your foes." - }, - { - 23, 15, 50, - "Adrenaline Channeling", - "Heals you, cures you and speeds you." - }, - { - /* Convert enemy HP to mana */ - 25, 10, 40, - "Psychic Drain", - "Drain your foes' life into your mana reserves" - }, - { - /* Ball -> LOS */ - 28, 20, 45, - "Telekinetic Wave", - "Powerful wave of pure telekinetic forces." - }, - }; - - magic_power necro_powers[MAX_NECRO_POWERS] = - { - /* Level gained, cost, %fail, name, desc */ - { - /* Bolt/beam/ball/LOS of stun/scare */ - 1, 2, 10, - "Horrify", - "Calls upon the darkness to stun and scare your foes." - }, - { - /* Ball */ - 5, 6, 20, - "Raise Dead", - "Brings back your foes in the form of various undead. Also, can heal monsters." - }, - { - /* Summons weapon */ - 12, 20, 25, - "Necromantic Teeth", - "Conjures a temporary vampiric weapon." - }, - { - /* Heals when killing a monster */ - 20, 10, 25, - "Absorb Soul", - "Gives back some life for each kill." - }, - { - /* Bolt */ - 30, 15, 20, - "Vampirism", - "Drain the life of your foes into your own." - }, - { - /* The Death word, always bolt put your HP to 1 */ - 35, 100, 25, - "Death", - "Instantly kills your opponent and you, turning yourself into an undead." - }, -}; - -magic_power mimic_powers[MAX_MIMIC_POWERS] = -{ - /* Level gained, cost, %fail, name */ - { - /* Use a book of lore */ - 1, 2, 0, - "Mimic", - "Lets you use the powers of a Cloak of Mimicry." - }, - { - /* Invisibility */ - 10, 6, 20, - "Invisibility", - "Hides you from the sight of mortals." - }, - { - /* +1 pair of legs */ - 25, 20, 25, - "Legs Mimicry", - "Temporarily provides a new pair of legs." - }, - { - /* wall form */ - 30, 40, 30, - "Wall Mimicry", - "Temporarily lets you walk in walls, and ONLY in walls." - }, - { - /* +1 pair of arms, +1 weapon */ - 35, 100, 40, - "Arms Mimicry", - "Temporarily provides a new pair of arms." - }, -}; - -magic_power symbiotic_powers[MAX_SYMBIOTIC_POWERS] = -{ - /* Level gained, cost, %fail, name */ - { - 1, 1, 0, - "Hypnotise", - "Hypnotise a non-moving pet to allow you to enter symbiosis(wear) with it." - }, - { - 1, 1, 0, - "Release", - "Release an hypnotised pet." - }, - { - 3, 2, 10, - "Charm Never-Moving", - "Tries to charm a never-moving monster." - }, - { - 5, 5, 20, - "Life Share", - "Evens out your life with your symbiote." - }, - { - 10, 10, 20, - "Use Minor Powers", - "Allows you to use some of the powers of your symbiote." - }, - { - 15, 14, 25, - "Heal Symbiote", - "Heals your symbiotic monster." - }, - { - 25, 30, 40, - "Use major powers", - "Allows you to use all the powers of your symbiote." - }, - { - 30, 35, 40, - "Summon Never-Moving Pet", - "Summons a never-moving pet." - }, - { - 40, 60, 70, - "Force Symbiosis", - "Allows you to use all the powers of a monster in your line of sight." - }, -}; - - -/* - * Textual translation of your god's "niceness". - */ - -cptr deity_niceness[10] = -{ - "a lovable deity", - "a friendly deity", - "an easygoing deity", - "a forgiving deity", - "an uncaring deity", - "a wary deity", - "an unforgiving deity", - "an impatient deity", - "a wrathful deity", - "an easily angered deity" -}; - -/* - * Textual translation of your standing with your god. - */ - -cptr deity_standing[11] = -{ - "cursed", - "persecuted", - "punished", - "despised", - "disliked", - "watched", - "unnoticed", - "noticed", - "rewarded", - "favored", - "championed" -}; - -/* - * Name and description (max. 10 lines) of the gods. - * Only the first four lines are printed at birth. - */ - -deity_type deity_info[MAX_GODS] = -{ - { - { MODULE_TOME, MODULE_THEME, -1, }, - "Nobody", - { - "Atheist", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_TOME, MODULE_THEME, -1, }, - "Eru Iluvatar", - { - "He is the supreme god, he created the world, and most of its inhabitants.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_TOME, MODULE_THEME, -1, }, - "Manwe Sulimo", - { - "He is the king of the Valar, most powerful of them after Melkor.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_TOME, MODULE_THEME, -1, }, - "Tulkas", - { - "He is the last of the Valar that came to the world, and the fiercest fighter.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_TOME, MODULE_THEME, -1, }, - "Melkor Bauglir", - { - "He is the most powerful of the Valar. He became corrupted and he's now ", - "the greatest threat of Arda, he is also known as Morgoth, the dark enemy.", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_TOME, MODULE_THEME, -1, }, - "Yavanna Kementari", - { - "She is the Vala of nature, protectress of the great forests of " - "Middle-earth.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_THEME, -1, }, - "Aule the Smith", - { - "Aule is a smith, and the creator of the Dwarves.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_THEME, -1, }, - "Varda Elentari", - { - "The Queen of the Stars. In light is her power and joy.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_THEME, -1, }, - "Ulmo", - { - "Ulmo is called Lord of Waters, he rules all that is water" - "on Arda.", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, - { - { MODULE_THEME, -1, }, - "Mandos", - { - "The Doomsman of the Valar and keeper of the slain.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - }, -}; - -/* jk - to hit, to dam, to ac, to stealth, to disarm, to saving throw */ -/* this concept is taken from Adom, where Thomas Biskup thought it out, */ -/* as far as I know. */ -tactic_info_type tactic_info[9] = -{ - /* hit dam ac stl dis sav */ - { -10, -10, + 15, + 3, + 15, + 14, "coward"}, /* 4-4 */ - { -8, -8, + 10, + 2, + 9, + 9, "meek"}, /* 4-3 */ - { -4, -4, + 5, + 1, + 5, + 5, "wary"}, /* 4-2 */ - { -2, -2, + 2, + 1, + 2, + 2, "careful"}, /* 4-1 */ - { 0, 0, 0, 0, 0, 0, "normal"}, /* 4+0 */ - { 2, 2, -2, -1, -2, -3, "confident"}, /* 4+1 */ - { 4, 4, -5, -2, -5, -7, "aggressive"}, /* 4+2 */ - { 6, 6, -10, -3, -11, -12, "furious"}, /* 4+3 */ - { 8, 12, -25, -5, -18, -18, "berserker"} /* 4+4 */ -}; - -/* - * Random artifact activations. - */ -activation activation_info[MAX_T_ACT] = -{ - { "death", 0, ACT_DEATH }, - { "ruination", 0, ACT_RUINATION }, - { "destruction", 1000, ACT_DESTRUC }, - { "stupidity", 0, ACT_UNINT }, - { "weakness", 0, ACT_UNSTR }, - { "unhealth", 0, ACT_UNCON }, - { "ugliness", 0, ACT_UNCHR }, - { "clumsiness", 0, ACT_UNDEX }, - { "naivete", 0, ACT_UNWIS }, - { "stat loss", 0, ACT_STATLOSS }, - { "huge stat loss", 0, ACT_HISTATLOSS }, - { "experience loss", 0, ACT_EXPLOSS }, - { "huge experience loss", 0, ACT_HIEXPLOSS }, - { "teleportation", 1000, ACT_TELEPORT }, - { "monster summoning", 5, ACT_SUMMON_MONST }, - { "paralyzation", 0, ACT_PARALYZE }, - { "hallucination", 100, ACT_HALLU }, - { "poisoning", 0, ACT_POISON }, - { "hunger", 0, ACT_HUNGER }, - { "stun", 0, ACT_STUN }, - { "cuts", 0, ACT_CUTS }, - { "paranoia", 0, ACT_PARANO }, - { "confusion", 0, ACT_CONFUSION }, - { "blindness", 0, ACT_BLIND }, - { "pet summoning", 1010, ACT_PET_SUMMON }, - { "cure paralyzation", 5000, ACT_CURE_PARA }, - { "cure hallucination", 1000, ACT_CURE_HALLU }, - { "cure poison", 1000, ACT_CURE_POIS }, - { "cure hunger", 1000, ACT_CURE_HUNGER }, - { "cure stun", 1000, ACT_CURE_STUN }, - { "cure cut", 1000, ACT_CURE_CUTS }, - { "cure fear", 1000, ACT_CURE_FEAR }, - { "cure confusion", 1000, ACT_CURE_CONF }, - { "cure blindness", 1000, ACT_CURE_BLIND }, - { "cure light wounds", 500, ACT_CURE_LW }, - { "cure serious wounds", 750, ACT_CURE_MW }, - { "cure critical wounds", 1000, ACT_CURE_700 }, - { "curing", 1100, ACT_CURING }, - { "genocide", 5000, ACT_GENOCIDE }, - { "mass genocide", 10000, ACT_MASS_GENO }, - { "restoration", 2000, ACT_REST_ALL }, - { "light", 1000, ACT_LIGHT }, - { "darkness", 0, ACT_DARKNESS }, - { "teleportation", 1000, ACT_TELEPORT }, - { "level teleportation", 500, ACT_LEV_TELE }, - { "acquirement", 30000, ACT_ACQUIREMENT }, - { "something weird", 50, ACT_WEIRD }, - { "aggravation", 0, ACT_AGGRAVATE }, - { "corruption", 100, ACT_MUT }, - { "cure insanity", 2000, ACT_CURE_INSANITY }, - { "light absortion", 800, ACT_LIGHT_ABSORBTION }, -}; - -/* - * Possible movement type. - */ -move_info_type move_info[9] = -{ - /* speed, searching, stealth, perception */ - { -10, 17, 4, 20, "slug-like"}, - { -8, 12, 4, 16, "very slow"}, - { -6, 8, 3, 10, "slow"}, - { -3, 4, 2, 6, "leisurely"}, - { 0, 0, 0, 0, "normal"}, - { 1, -4, -1, -4, "brisk"}, - { 2, -6, -4, -8, "fast"}, - { 3, -10, -7, -14, "very fast"}, - { 4, -16, -10, -20, "running"} -}; - -/* - * Possible inscriptions type. - */ -inscription_info_type inscription_info[MAX_INSCRIPTIONS] = -{ - { /* Nothing */ - "", - 0, - TRUE, - 0, - }, - { /* Light up the room(Adunaic) */ - "ure nimir", /* sun shine */ - INSCRIP_EXEC_ENGRAVE | INSCRIP_EXEC_WALK | INSCRIP_EXEC_MONST_WALK, - FALSE, - 30, - }, - { /* Darkness in room(Adunaic) */ - "lomi gimli", /* night stars */ - INSCRIP_EXEC_ENGRAVE | INSCRIP_EXEC_WALK | INSCRIP_EXEC_MONST_WALK, - FALSE, - 10, - }, - { /* Storm(Adunaic) */ - "dulgi bawiba", /* black winds */ - INSCRIP_EXEC_ENGRAVE | INSCRIP_EXEC_WALK | INSCRIP_EXEC_MONST_WALK, - FALSE, - 40, - }, - { /* Protection(Sindarin) */ - "pedo mellon a minno", /* say friend and enter */ - INSCRIP_EXEC_MONST_WALK, - FALSE, - 8, - }, - { /* Dwarves summoning(Khuzdul) */ - "Baruk Khazad! Khazad aimenu!", /* Axes of the Dwarves, the Dwarves are upon you! */ - INSCRIP_EXEC_ENGRAVE, - FALSE, - 100, - }, - { /* Open Chasm(Nandorin) */ - "dunna hrassa", /* black precipice */ - INSCRIP_EXEC_MONST_WALK, - FALSE, - 50, - }, - { /* Blast of Black Fire(Orcish) */ - "burz ghash ronk", /* black fire pool */ - INSCRIP_EXEC_ENGRAVE | INSCRIP_EXEC_WALK | INSCRIP_EXEC_MONST_WALK, - FALSE, - 60, - }, -}; - -/* - * Inscriptions for pseudo-id - */ -cptr sense_desc[] = -{ - "whoops", - "cursed", - "average", - "good", - "good", - "excellent", - "worthless", - "terrible", - "special", - "broken", - "" -}; - -/* - * Flag groups used for art creation, level gaining weapons, ... - * ----- - * Name, - * Price, - * Flags 1, - * Flags 2, - * Flags 3, - * Flags 4, - * ESP, - */ -flags_group flags_groups[MAX_FLAG_GROUP] = -{ - { - "Fire", - TERM_L_RED, - 1, - TR1_SLAY_UNDEAD | TR1_BRAND_FIRE, - TR2_RES_FIRE, - TR3_SH_FIRE | TR3_LITE1 | TR3_IGNORE_FIRE, - 0, - 0, - }, - { - "Cold", - TERM_WHITE, - 1, - TR1_SLAY_DRAGON | TR1_SLAY_DEMON | TR1_BRAND_COLD, - TR2_RES_COLD | TR2_INVIS, - TR3_SLOW_DIGEST | TR3_IGNORE_COLD, - 0, - 0, - }, - { - "Acid", - TERM_GREEN, - 3, - TR1_SLAY_ANIMAL | TR1_IMPACT | TR1_TUNNEL | TR1_BRAND_ACID, - TR2_RES_ACID, - TR3_IGNORE_ACID, - 0, - 0, - }, - { - "Lightning", - TERM_L_BLUE, - 1, - TR1_SLAY_EVIL | TR1_BRAND_ELEC, - TR2_RES_ELEC, - TR3_IGNORE_ELEC | TR3_SH_ELEC | TR3_TELEPORT, - 0, - 0, - }, - { - "Poison", - TERM_L_GREEN, - 2, - TR1_CHR | TR1_VAMPIRIC | TR1_SLAY_ANIMAL | TR1_BRAND_POIS, - TR2_SUST_CHR | TR2_RES_POIS, - TR3_DRAIN_EXP, - 0, - ESP_TROLL | ESP_GIANT, - }, - { - "Air", - TERM_BLUE, - 5, - TR1_WIS | TR1_STEALTH | TR1_INFRA | TR1_SPEED, - TR2_RES_LITE | TR2_RES_DARK | TR2_RES_BLIND | TR2_SUST_WIS, - TR3_FEATHER | TR3_SEE_INVIS | TR3_BLESSED, - 0, - ESP_GOOD, - }, - { - "Earth", - TERM_L_UMBER, - 5, - TR1_STR | TR1_CON | TR1_TUNNEL | TR1_BLOWS | TR1_SLAY_TROLL | TR1_SLAY_GIANT | TR1_IMPACT, - TR2_SUST_STR | TR2_SUST_CON | TR2_FREE_ACT | TR2_RES_FEAR | TR2_RES_SHARDS, - TR3_REGEN, - 0, - ESP_TROLL | ESP_GIANT, - }, - { - "Mind", - TERM_YELLOW, - 7, - TR1_INT | TR1_SEARCH, - TR2_SUST_INT | TR2_RES_CONF | TR2_RES_FEAR, - 0, - 0, - ESP_ORC | ESP_TROLL | ESP_GIANT | ESP_ANIMAL | ESP_UNIQUE | ESP_SPIDER | ESP_DEMON, - }, - { - "Shield", - TERM_RED, - 7, - TR1_DEX, - TR2_SUST_DEX | TR2_INVIS | TR2_REFLECT | TR2_HOLD_LIFE | TR2_RES_SOUND | TR2_RES_NEXUS, - TR3_REGEN, - 0, - 0, - }, - { - "Chaos", - TERM_VIOLET, - 7, - TR1_CHAOTIC | TR1_IMPACT, - TR2_RES_CHAOS | TR2_RES_DISEN, - TR3_REGEN, - 0, - ESP_ALL, - }, - { - "Magic", - TERM_L_BLUE, - 10, - TR1_MANA | TR1_SPELL, - TR2_RES_CHAOS | TR2_RES_DISEN, - TR3_WRAITH, - TR4_PRECOGNITION | TR4_FLY | TR4_CLONE, - 0, - }, - { - "Antimagic", - TERM_L_DARK, - 10, - TR1_VAMPIRIC | TR1_CHAOTIC | TR1_BLOWS | TR1_SPEED, - TR2_LIFE | TR2_REFLECT | TR2_FREE_ACT | TR2_HOLD_LIFE, - TR3_NO_MAGIC | TR3_NO_TELE | TR3_SEE_INVIS, - TR4_ANTIMAGIC_10 | TR4_ANTIMAGIC_20, - 0, - }, -}; - -/* Powers */ -power_type powers_type[POWER_MAX] = -{ - { - "spit acid", - "You can spit acid.", - "You gain the ability to spit acid.", - "You lose the ability to spit acid.", - 9, 9, A_DEX, 15, - }, - { - "fire breath", - "You can breath fire.", - "You gain the ability to breathe fire.", - "You lose the ability to breathe fire.", - 20, 10, A_CON, 18, - }, - { - "hypnotic gaze", - "Your gaze is hypnotic.", - "Your eyes look mesmerising...", - "Your eyes look uninteresting.", - 12, 12, A_CHR, 18, - }, - { - "telekinesis", - "You are telekinetic.", - "You gain the ability to move objects telekinetically.", - "You lose the ability to move objects telekinetically.", - 9, 9, A_WIS, 14, - }, - { - "teleport", - "You can teleport at will.", - "You gain the power of teleportation at will.", - "You lose the power of teleportation at will.", - 7, 7, A_WIS, 15, - }, - { - "mind blast", - "You can mind blast your enemies.", - "You gain the power of Mind Blast.", - "You lose the power of Mind Blast.", - 5, 3, A_WIS, 15, - }, - { - "emit radiation", - "You can emit hard radiation at will.", - "You start emitting hard radiation.", - "You stop emitting hard radiation.", - 15, 15, A_CON, 14, - }, - { - "vampiric drain", - "You can drain life from a foe.", - "You become vampiric.", - "You are no longer vampiric.", - 4, 5, A_CON, 9, - }, - { - "smell metal", - "You can smell nearby precious metal.", - "You smell a metallic odour.", - "You no longer smell a metallic odour.", - 3, 2, A_INT, 12, - }, - { - "smell monsters", - "You can smell nearby monsters.", - "You smell filthy monsters.", - "You no longer smell filthy monsters.", - 5, 4, A_INT, 15, - }, - { - "blink", - "You can teleport yourself short distances.", - "You gain the power of minor teleportation.", - "You lose the power of minor teleportation.", - 3, 3, A_WIS, 12, - }, - { - "eat rock", - "You can consume solid rock.", - "The walls look delicious.", - "The walls look unappetising.", - 8, 12, A_CON, 18, - }, - { - "swap position", - "You can switch locations with another being.", - "You feel like walking a mile in someone else's shoes.", - "You feel like staying in your own shoes.", - 15, 12, A_DEX, 16, - }, - { - "shriek", - "You can emit a horrible shriek.", - "Your vocal cords get much tougher.", - "Your vocal cords get much weaker.", - 4, 4, A_CON, 6, - }, - { - "illuminate", - "You can emit bright light.", - "You can light up rooms with your presence.", - "You can no longer light up rooms with your presence.", - 3, 2, A_INT, 10, - }, - { - "detect curses", - "You can feel the danger of evil magic.", - "You can feel evil magic.", - "You can no longer feel evil magic.", - 7, 14, A_WIS, 14, - }, - { - "berserk", - "You can drive yourself into a berserk frenzy.", - "You feel a controlled rage.", - "You no longer feel a controlled rage.", - 8, 8, A_STR, 14, - }, - { - "polymorph", - "You can polymorph yourself at will.", - "Your body seems mutable.", - "Your body seems stable.", - 18, 20, A_CON, 18, - }, - { - "Midas touch", - "You can turn ordinary items to gold.", - "You gain the Midas touch.", - "You lose the Midas touch.", - 10, 5, A_INT, 12, - }, - { - "grow mold", - "You can cause mold to grow near you.", - "You feel a sudden affinity for mold.", - "You feel a sudden dislike for mold.", - 1, 6, A_CON, 14, - }, - { - "resist elements", - "You can harden yourself to the ravages of the elements.", - "You feel like you can protect yourself.", - "You feel like you might be vulnerable.", - 10, 12, A_CON, 12, - }, - { - "earthquake", - "You can bring down the dungeon around your ears.", - "You gain the ability to wreck the dungeon.", - "You lose the ability to wreck the dungeon.", - 12, 12, A_STR, 16, - }, - { - "eat magic", - "You can consume magic energy for your own use.", - "Your magic items look delicious.", - "Your magic items no longer look delicious.", - 17, 1, A_WIS, 15, - }, - { - "weigh magic", - "You can feel the strength of the magics affecting you.", - "You feel you can better understand the magic around you.", - "You no longer sense magic.", - 6, 6, A_INT, 10, - }, - { - "sterilise", - "You can cause mass impotence.", - "You can give everything around you a headache.", - "You hear a massed sigh of relief.", - 20, 40, A_CHR, 18, - }, - { - "panic hit", - "You can run for your life after hitting something.", - "You suddenly understand how thieves feel.", - "You no longer feel jumpy.", - 10, 12, A_DEX, 14, - }, - { - "dazzle", - "You can emit confusing, blinding radiation.", - "You gain the ability to emit dazzling lights.", - "You lose the ability to emit dazzling lights.", - 7, 15, A_CHR, 8, - }, - { - "spear of darkness", - "You can create a spear of darkness.", - "An illusory spear of darkness appears in your hand.", - "The spear of darkness disappear.", - 7, 10, A_WIS, 9, - }, - { - "recall", - "You can travel between towns and the depths.", - "You feel briefly homesick, but it passes.", - "You feel briefly homesick.", - 17, 50, A_INT, 16, - }, - { - "banish evil", - "You can send evil creatures directly to the Nether Realm.", - "You feel a holy wrath fill you.", - "You no longer feel a holy wrath.", - 25, 25, A_WIS, 18, - }, - { - "cold touch", - "You can freeze things with a touch.", - "Your hands get very cold.", - "Your hands warm up.", - 2, 2, A_CON, 11, - }, - { - "throw object", - "You can hurl objects with great force.", - "Your throwing arm feels much stronger.", - "Your throwing arm feels much weaker.", - 1, 10, A_STR, 6, - }, - { - "find secret passages", - "You can use secret passages.", - "You suddenly notice lots of hidden ways.", - "You no longer can use hidden ways.", - 15, 15, A_DEX, 12, - }, - { - "detect doors and traps", - "You can detect hidden doors and traps.", - "You develop an affinity for traps.", - "You no longer can detect hidden doors and traps.", - 5, 3, A_WIS, 10, - }, - { - "create food", - "You can create food.", - "Your cooking skills greatly improve.", - "Your cooking skills return to a normal level.", - 15, 10, A_INT, 10, - }, - { - "remove fear", - "You can embolden yourself.", - "You feel your fears lessening.", - "You feel your fears growing again.", - 3, 5, A_WIS, 8, - }, - { - "set explosive rune", - "You can set explosive runes.", - "You suddenly understand how explosive runes work.", - "You suddenly forget how explosive runes work.", - 25, 35, A_INT, 15, - }, - { - "stone to mud", - "You can destroy walls.", - "You can destroy walls.", - "You cannot destroy walls anymore.", - 20, 10, A_STR, 12, - }, - { - "poison dart", - "You can throw poisoned darts.", - "You get an infinite supply of poisoned darts.", - "You lose your infinite supply of poisoned darts.", - 12, 8, A_DEX, 14, - }, - { - "magic missile", - "You can cast magic missiles.", - "You suddenly understand the basics of magic.", - "You forget the basics of magic.", - 2, 2, A_INT, 9, - }, - { - "grow trees", - "You can grow trees.", - "You feel an affinity for trees.", - "You no longer feel an affinity for trees.", - 2, 6, A_CHR, 3, - }, - { - "cold breath", - "You can breath cold.", - "You gain the ability to breathe cold.", - "You lose the ability to breathe cold.", - 20, 10, A_CON, 18, - }, - { - "chaos breath", - "You can breath chaos.", - "You gain the ability to breathe chaos.", - "You lose the ability to breathe chaos.", - 20, 10, A_CON, 18, - }, - { - "elemental breath", - "You can breath the elements.", - "You gain the ability to breathe the elements.", - "You lose the ability to breathe the elements.", - 20, 10, A_CON, 18, - }, - { - "change the world", - "You can wreck the world around you.", - "You gain the ability to wreck the world.", - "You lose the ability to wreck the world.", - 1, 30, A_CHR, 6, - }, - { - "scare monster", - "You can scare monsters.", - "You gain the ability to scare monsters.", - "You lose the ability to scare monsters.", - 4, 3, A_INT, 3, - }, - { - "restore life", - "You can restore lost life forces.", - "You gain the ability to restore your life force.", - "You lose the ability to restore your life force.", - 30, 30, A_WIS, 18, - }, - { - "summon monsters", - "You can call upon monsters.", - "You gain the ability to call upon monsters.", - "You lose the ability to call upon monsters.", - 0, 0, 0, 0, - }, - { - "necromantic powers", - "You can use the foul necromantic magic.", - "You gain the ability to use the foul necromantic magic.", - "You lose the ability to use the foul necromantic magic.", - 0, 0, 0, 0, - }, - { - "Rohan Knight's Powers", - "You can use rohir powers.", - "You gain the ability to use rohir powers.", - "You lose the ability to use rohir powers.", - 0, 0, 0, 0, - }, - { - "Thunderlord's Powers", - "You can use thunderlords powers.", - "You gain the ability to use thunderlords powers.", - "You lose the ability to use thunderlords powers.", - 0, 0, 0, 0, - }, - { - "Death Mold's Powers", - "You can use the foul deathmold magic.", - "You gain the ability to use the foul deathmold magic.", - "You lose the ability to use the foul deathmold magic.", - 0, 0, 0, 0, - }, - { - "Hypnotise Pet", - "You can mystify pets.", - "You gain the ability to mystify pets.", - "You lose the ability to mystify pets.", - 0, 0, 0, 0, - }, - { - "Awaken Hypnotised Pet", - "You can wake up a pet.", - "You gain the ability to wake up a pet.", - "You lose the ability to wake up a pet.", - 0, 0, 0, 0, - }, - { - "Incarnate", - "You can incarnate into a body.", - "You feel the need to get a body.", - "You no longer feel the need for a new body.", - 0, 0, 0, 0, - }, - { - "magic map", - "You can sense what is beyond walls.", - "You feel you can sense what is beyond walls.", - "You no longer can sense what is beyond walls.", - 7, 10, A_WIS, 15, - }, - { - "lay trap", - "You can lay monster traps.", - "You suddenly understand how rogues work.", - "You no longer understand how rogues work.", - 1, 1, A_DEX, 1, - }, - { - "Merchant abilities", - "You can request items and get loans.", - "From now on you can use the merchant abilities.", - "You can no longer use the merchant abilities.", - 0, 0, 0, 0, - }, - { - "turn pet into companion", - "You can turn a pet into a companion.", - "You suddenly gain authority over your pets.", - "You can no longer convert pets into companions.", - 2, 10, A_CHR, 10, - }, - { - "turn into a bear", - "You can turn into a bear.", - "You suddenly gain beorning powers.", - "You can no longer shapeshift into a bear.", - 2, 5, A_CON, 5, - }, - { - "sense dodge success", - "You can sense your dodging success chance.", - "You suddenly can sense your dodging success chance.", - "You can no longer sense your dodging success chance.", - 0, 0, 0, 0, - }, - { - "turn into a Balrog", - "You can turn into a Balrog at will.", - "You feel the fire of Udun burning in you.", - "You no longer feel the fire of Udun in you.", - 35, 80, A_WIS, 25, - }, - { - "invisibility", - "You are able melt into the shadows to become invisible.", - "You suddenly become able to melt into the shadows.", - "You lose your shadow-melting ability.", - 30, 10, A_DEX, 20, - }, - { - "web", - "You are able throw a thick and very resistant spider web.", - "You suddenly become able to weave webs.", - "You lose your web-weaving capability.", - 25, 30, A_DEX, 20, - }, - { - "control space/time continuum", - "You are able to control the space/time continuum.", - "You become able to control the space/time continuum.", - "You are no more able to control the space/time continuum.", - 1, 10, A_WIS, 10, - }, -}; - -/* - * The Quests - */ -quest_type quest[MAX_Q_IDX] = -{ - { - FALSE, - "", - { - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 0, - - NULL, - NULL, - {0, 0}, - NULL, - }, - { - FALSE, - "Dol Guldur", - { - "The forest of Mirkwood is a very dangerous place to go, mainly due to", - "the activities of the Necromancer that lurks in Dol Guldur.", - "Find him, and free Mirkwood from his spells.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_TAKEN, - 70, - - &plots[PLOT_MAIN], - quest_necro_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "Sauron", - { - "It is time to take the battle to Morgoth. But, before you can", - "reach it, you must find and kill Sauron. Only after defeating", - "this powerful sorcerer will the stairs leading to Morgoth's", - "room be opened.", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 99, - - &plots[PLOT_MAIN], - quest_sauron_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "Morgoth", - { - "Your final quest is the ultimate quest that has always been", - "required of you. You must enter the fetid depths of Angband, where", - "Morgoth is waiting. Travel deep, and defeat this source of all our", - "problems. Be prepared, be patient, and good luck. May the light", - "shine on you.", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 100, - - &plots[PLOT_MAIN], - quest_morgoth_init_hook, - {0, 0}, - NULL, - }, - - /* Bree plot */ - { - FALSE, - "Thieves!", - { - "There are thieves robbing my people! They live in a small", - "burrow outside the city walls, but they get inside the walls", - "with a tunnel to a building here! Your task is to go into", - "the building and kill these ruffians.", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 5, - - &plots[PLOT_BREE], - quest_thieves_init_hook, - {0, 0}, - NULL, - }, - - { - FALSE, - "Random Quest", - { - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 5, - - NULL, - quest_random_init_hook, - {0, 0}, - quest_random_describe, - }, - - { - FALSE, - "Lost Hobbit", - { - "Merton Proudfoot, a young hobbit, seems to have disappeared.", - "Last time anyone saw him was near the horrible maze to the south of Bree.", - "", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 25, - - &plots[PLOT_OTHER], - quest_hobbit_init_hook, - {0, 0}, - NULL, - }, - - { - FALSE, - "The Dark Horseman", - { - "A dark-cloaked horseman has been spotted several times in town.", - "He carries an aura of fear with him and people seem to get sick", - "wherever he goes. Please do something, but be careful...", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 40, - - &plots[PLOT_BREE], - quest_nazgul_init_hook, - {0, 0}, - NULL, - }, - - { - FALSE, - "The Trolls Glade", - { - "A group of Forest Trolls settled in an abandoned forest in the", - "south east of our town. They are killing our people. You must", - "put an end to this! It might be best to look for them at night.", - "Local hobbits claim that the mighty swords Orcrist and Glamdring", - "can be found there! Bring back one of them as a proof!", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 30, - - &plots[PLOT_BREE], - quest_troll_init_hook, - {FALSE, 0}, - NULL, - }, - - { - FALSE, - "The Wight Grave", - { - "The Barrow-Downs hides many mysteries and dangers.", - "Lately many people, both men and hobbits, have disappeared there.", - "Please put an end to this threat!", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 30, - - &plots[PLOT_BREE], - quest_wight_init_hook, - {FALSE, 0}, - NULL, - }, - - /* Lorien plot */ - { - FALSE, - "Spiders of Mirkwood", - { - "Powers lurk deep within Mirkwood. Spiders have blocked the", - "path through the forest, and Thranduil's folk have been", - "unable to hold them off. It is your task to drive them", - "away. Be careful -- many traps have been laid by their", - "webs, and their venom is dangerous indeed.", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 25, - - &plots[PLOT_LORIEN], - quest_spider_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "Poisoned Water", - { - "A curse has beset Lothlorien. All trees along the shorelines of Nimrodel", - "are withering away. We fear the blight could spread to the whole forest.", - "The cause seems to be an unknown poison. You are to go to the West and", - "travel along Celebrant and Nimrodel until you discover the source of", - "the poisoning. Then you must destroy it and drop these potions on", - "the tainted water.", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 30, - - &plots[PLOT_LORIEN], - quest_poison_init_hook, - {0, 0}, - NULL, - }, - /* Other quests */ - { - FALSE, - "The Broken Sword", - { - "You have found Narsil, a broken sword. It is said that the sword that", - "was broken shall be reforged... Maybe it is this one.", - "You should bring it to Aragorn at Minas Anor -- he would know.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 20, - - &plots[PLOT_OTHER], - quest_narsil_init_hook, - {0, 0}, - NULL, - }, - /* Gondolin plot */ - { - FALSE, - "Eol the Dark Elf", - { - "We have disturbing tidings. Eol the Dark Elf has come seeking his kin in", - "Gondolin. We cannot let anyone pass the borders of the city without the", - "King's leave. Go forth to the eastern mountains and apprehend him. If", - "he resists, use whatever means possible to hinder him from reaching the", - "city. Be wary -- the mountain caves may have many hidden traps.", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 30, - - &plots[PLOT_GONDOLIN], - quest_eol_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "Nirnaeth Arnoediad", - { - "The fortunes of war in the north turn against us.", - "Morgoth's treachery has driven our armies back nigh", - "to the city's walls. Go forth from the city gates", - "and clear a path for them to retreat. You need not", - "destroy the troll army, simply drive a path through.", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 37, - - &plots[PLOT_GONDOLIN], - quest_nirnaeth_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "Invasion of Gondolin", - { - "Morgoth is upon us! Dragons and Balrogs have poured over secret", - "ways of the Echoriath, and are looking for our city. They are", - "conducted by Maeglin! You must stop him or they will find us.", - "Do not let Maeglin get to the stairs or everything will be lost!", - "Go now, be brave.", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 80, - - &plots[PLOT_GONDOLIN], - quest_invasion_init_hook, - {0, 0}, - NULL, - }, - /* Minas Anor Plot*/ - { - FALSE, - "The Last Alliance", - { - "The armies of Morgoth are closing in on the last remaining strongholds", - "of resistance against him. We are too far apart to help each other.", - "The arrival of our new Thunderlord allies has helped, but can only delay", - "the inevitable. We must be able to stand together and reinforce each other,", - "or both our kingdoms will fall separately. The Thunderlords have taught us", - "how to use the Void Jumpgates: we need you to open a Void Jumpgate in our", - "own city, and that of Gondolin.", - "Simply travel to Gondolin, but beware of rebel thunderlords.", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 80, - - &plots[PLOT_MINAS], - quest_between_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "The One Ring", - { - "Find the One Ring, then bring it to Mount Doom, in Mordor, to drop", - "it in the Great Fire where it was once forged.", - "But beware: *NEVER* use it, or you will be corrupted.", - "Once it is destroyed you will be able to permanently defeat Sauron.", - "The ring must be cast back into the fires of Mount Doom!", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 99, - - &plots[PLOT_MAIN], - quest_one_init_hook, - {0, 0}, - NULL, - }, - - { - FALSE, - "Mushroom supplies", - { - "Farmer Maggot asked you to bring him back his mushrooms.", - "Do not harm his dogs.", - "", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 3, - - &plots[PLOT_OTHER], - quest_shroom_init_hook, - {0, 0}, - NULL, - }, - - { - FALSE, - "The prisoner of Dol Guldur", - { - "You keep hearing distress cries in the dark tower of", - "Dol Guldur...", - "Maybe there is someone being held prisoner and tortured!", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 60, - - &plots[PLOT_OTHER], - quest_thrain_init_hook, - {0, 0}, - NULL, - }, - - /* The 2 ultra endings go here */ - { - FALSE, - "Falling Toward Apotheosis", - { - "You must enter the Void where Melkor spirit lurks to destroy", - "him forever. Remember however that it is likely to be your own", - "death that awaits you.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 150, - - &plots[PLOT_MAIN], - quest_ultra_good_init_hook, - {0, 0}, - NULL, - }, - { - FALSE, - "Falling Toward Apotheosis", - { - "You must now launch an onslaught on Valinor itself to eliminate", - "once and for all any posible resistance to your dominance of Arda.", - "Remember however that it is likely to be your own death that awaits you.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 150, - - &plots[PLOT_MAIN], - quest_ultra_evil_init_hook, - {0, 0}, - NULL, - }, - /* More Lorien */ - { - FALSE, - "Wolves!", - { - "There are wolves pestering my people! They gather in a hut", - "on the edge of town and menace everyone nearby. Your task", - "is to go in there and clear them out.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 15, - - &plots[PLOT_LORIEN], - quest_wolves_init_hook, - {0, 0}, - NULL, - }, - /* More Gondolin */ - { - FALSE, - "Dragons!", - { - "There are dragons pestering my people! They gather in a", - "building on the edge of town and menace everyone nearby.", - "Your task is to go into the building and clear them out.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 25, - - &plots[PLOT_GONDOLIN], - quest_dragons_init_hook, - {0, 0}, - NULL, - }, - /* More Minas Anor */ - { - FALSE, - "Haunted House!", - { - "There are undead pestering my people! They gather in a hut", - "on the edge of town and menace everyone nearby. Your task", - "is to go into the building and clear out the beasts.", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 45, - - &plots[PLOT_MINAS], - quest_haunted_init_hook, - {0, 0}, - NULL, - }, - /* Khazad-Dum Plot*/ - { - FALSE, - "Evil!", - { - "We have burrowed too deep, and let out some creatures of", - "Morgoth's that threaten to kill us all! Your task is to save us", - "from them!", - "", - "", - "", - "", - "", - "", - "", - }, - QUEST_STATUS_UNTAKEN, - 60, - - &plots[PLOT_KHAZAD], - quest_evil_init_hook, - {0, 0}, - NULL, - }, - /* Bounty */ - { - FALSE, - "Bounty quest", - { - "", /* dynamic desc */ - }, - QUEST_STATUS_UNTAKEN, - -1, - NULL, - quest_bounty_init_hook, - {0, 0, 0, 0}, - quest_bounty_describe, - }, - /* Fireproofing */ - { - FALSE, - "Old Mages quest", - { - "", /* dynamic desc */ - }, - QUEST_STATUS_UNTAKEN, - 20, - NULL, - quest_fireproof_init_hook, - {0, 0, 0, 0}, - quest_fireproof_describe, - }, - /* Library */ - { - FALSE, - "Library quest", - { - "", /* dynamic desc */ - }, - QUEST_STATUS_UNTAKEN, - 35, - NULL, - quest_library_init_hook, - { -1, -1, -1, -1 }, - quest_library_describe, - }, - /* God quest */ - { - FALSE, - "God quest", - { - "", /* dynamic desc */ - }, - QUEST_STATUS_UNTAKEN, - -1, - NULL, - quest_god_init_hook, - { 0 /* quests_given */, - 0 /* relics_found */, - 1 /* dun_mindepth */, - 4 /* dun_maxdepth */, - 0 /* dun_minplev */, - 0 /* relic_gen_tries */, - FALSE /* relic_generated */, - 1 /* dung_x */, - 1 /* dung_y */, - }, - quest_god_describe, - }, -}; - - -/* List of powers for Symbiants/Powers */ -monster_power monster_powers[96] = - { - { RF4_SHRIEK, "Aggravate Monster", 1, FALSE }, - { RF4_MULTIPLY, "Multiply", 10, FALSE }, - { RF4_S_ANIMAL, "Summon Animal", 30, FALSE }, - { RF4_ROCKET, "Fire a Rocket", 40, TRUE }, - { RF4_ARROW_1, "Light Arrow", 1, FALSE }, - { RF4_ARROW_2, "Minor Arrow", 3, FALSE }, - { RF4_ARROW_3, "Major Arrow", 7, TRUE }, - { RF4_ARROW_4, "Great Arrow", 9, TRUE }, - { RF4_BR_ACID, "Breathe Acid", 10, FALSE }, - { RF4_BR_ELEC, "Breathe Lightning", 10, FALSE }, - { RF4_BR_FIRE, "Breathe Fire", 10, FALSE }, - { RF4_BR_COLD, "Breathe Cold", 10, FALSE }, - { RF4_BR_POIS, "Breathe Poison", 15, TRUE }, - { RF4_BR_NETH, "Breathe Nether", 30, TRUE }, - { RF4_BR_LITE, "Breathe Light", 20, TRUE }, - { RF4_BR_DARK, "Breathe Dark", 20, TRUE }, - { RF4_BR_CONF, "Breathe Confusion", 15, TRUE }, - { RF4_BR_SOUN, "Breathe Sound", 30, TRUE }, - { RF4_BR_CHAO, "Breathe Chaos", 30, TRUE }, - { RF4_BR_DISE, "Breathe Disenchantment", 30, TRUE }, - { RF4_BR_NEXU, "Breathe Nexus", 30, TRUE }, - { RF4_BR_TIME, "Breathe Time", 30, TRUE }, - { RF4_BR_INER, "Breathe Inertia", 30, TRUE }, - { RF4_BR_GRAV, "Breathe Gravity", 30, TRUE }, - { RF4_BR_SHAR, "Breathe Shards", 30, TRUE }, - { RF4_BR_PLAS, "Breathe Plasma", 30, TRUE }, - { RF4_BR_WALL, "Breathe Force", 30, TRUE }, - { RF4_BR_MANA, "Breathe Mana", 40, TRUE }, - { RF4_BA_NUKE, "Nuke Ball", 30, TRUE }, - { RF4_BR_NUKE, "Breathe Nuke", 40, TRUE }, - { RF4_BA_CHAO, "Chaos Ball", 30, TRUE }, - { RF4_BR_DISI, "Breathe Disintegration", 40, TRUE }, - - { RF5_BA_ACID, "Acid Ball", 8, FALSE }, - { RF5_BA_ELEC, "Lightning Ball", 8, FALSE }, - { RF5_BA_FIRE, "Fire Ball", 8, FALSE }, - { RF5_BA_COLD, "Cold Ball", 8, FALSE }, - { RF5_BA_POIS, "Poison Ball", 20, TRUE }, - { RF5_BA_NETH, "Nether Ball", 20, TRUE }, - { RF5_BA_WATE, "Water Ball", 20, TRUE }, - { RF5_BA_MANA, "Mana Ball", 50, TRUE }, - { RF5_BA_DARK, "Darkness Ball", 20, TRUE }, - { 0, "(none)", 0, FALSE }, - { 0, "(none)", 0, FALSE }, - { 0, "(none)", 0, FALSE }, - { RF5_CAUSE_1, "Cause Light Wounds", 20, FALSE }, - { RF5_CAUSE_2, "Cause Medium Wounds", 30, FALSE }, - { RF5_CAUSE_3, "Cause Critical Wounds", 35, TRUE }, - { RF5_CAUSE_4, "Cause Mortal Wounds", 45, TRUE }, - { RF5_BO_ACID, "Acid Bolt", 5, FALSE }, - { RF5_BO_ELEC, "Lightning Bolt", 5, FALSE }, - { RF5_BO_FIRE, "Fire Bolt", 5, FALSE }, - { RF5_BO_COLD, "Cold Bolt", 5, FALSE }, - { RF5_BO_POIS, "Poison Bolt", 10, TRUE }, - { RF5_BO_NETH, "Nether Bolt", 15, TRUE }, - { RF5_BO_WATE, "Water Bolt", 20, TRUE }, - { RF5_BO_MANA, "Mana Bolt", 25, TRUE }, - { RF5_BO_PLAS, "Plasma Bolt", 20, TRUE }, - { RF5_BO_ICEE, "Ice Bolt", 20, TRUE }, - { RF5_MISSILE, "Magic Missile", 1, FALSE }, - { RF5_SCARE, "Scare", 4, FALSE }, - { RF5_BLIND, "Blindness", 6, FALSE }, - { RF5_CONF, "Confusion", 7, FALSE }, - { RF5_SLOW, "Slowness", 10, FALSE }, - { RF5_HOLD, "Paralyse", 10, FALSE }, - - { RF6_HASTE, "Haste Self", 50, FALSE }, - { RF6_HAND_DOOM, "Hand of Doom", 30, TRUE }, - { RF6_HEAL, "Healing", 60, FALSE }, - { RF6_S_ANIMALS, "Summon Animals", 60, TRUE }, - { RF6_BLINK, "Phase Door", 2, FALSE }, - { RF6_TPORT, "Teleport", 10, FALSE }, - { RF6_TELE_TO, "Teleport To", 20, TRUE }, - { RF6_TELE_AWAY, "Teleport Away", 20, FALSE }, - { RF6_TELE_LEVEL, "Teleport Level", 20, TRUE }, - { RF6_DARKNESS, "Darkness", 3, FALSE }, - { RF6_TRAPS, "Create Traps", 10, TRUE }, - { 0, "(none)", 0, FALSE }, - { RF6_RAISE_DEAD, "Raise the Dead", 400, TRUE }, - { 0, "(none)", 0, FALSE }, - { 0, "(none)", 0, FALSE }, - { RF6_S_THUNDERLORD, "Summon Thunderlords", 90, TRUE }, - { RF6_S_KIN, "Summon Kin", 80, FALSE }, - { RF6_S_HI_DEMON, "Summon Greater Demons", 90, TRUE }, - { RF6_S_MONSTER, "Summon Monster", 50, FALSE }, - { RF6_S_MONSTERS, "Summon Monsters", 60, TRUE }, - { RF6_S_ANT, "Summon Ants", 30, FALSE }, - { RF6_S_SPIDER, "Summon Spider", 30, FALSE }, - { RF6_S_HOUND, "Summon Hound", 50, TRUE }, - { RF6_S_HYDRA, "Summon Hydra", 40, TRUE }, - { RF6_S_ANGEL, "Summon Angel", 60, TRUE }, - { RF6_S_DEMON, "Summon Demon", 60, TRUE }, - { RF6_S_UNDEAD, "Summon Undead", 70, TRUE }, - { RF6_S_DRAGON, "Summon Dragon", 70, TRUE }, - { RF6_S_HI_UNDEAD, "Summon High Undead", 90, TRUE }, - { RF6_S_HI_DRAGON, "Summon High Dragon", 90, TRUE }, - { RF6_S_WRAITH, "Summon Wraith", 90, TRUE }, - { 0, "(none)", 0, FALSE }, - }; - -/* Tval descriptions */ -tval_desc tval_descs[] = -{ - { - TV_BATERIE, - "Essences contain primitive magic forces which users of the " - "Alchemy skill can use to create powerful magic items from " - "other magic items." - }, - { - TV_MSTAFF, - "Mage Staves are the spellcaster's weapons of choice. " - "They all reduce spellcasting time to 80% of " - "normal time and some will yield even greater powers." - }, - { - 3, - "XXX" - }, - { - TV_PARCHMENT, - "Parchments can contain useful information ... or useless " - "junk." - }, - { - TV_EGG, - "Eggs are laid by some monsters. If they hatch in your " - "inventory the monster will be your friend." - }, - { - TV_TOOL, - "Tools can be digging implements, climbing equipment and such. " - "They have their own slot in your inventory." - - }, - { - TV_INSTRUMENT, - "Musical instruments can be used with the Music skill to play " - "magical songs. Some of them can also be activated." - }, - { - TV_BOOMERANG, - "Boomerangs can be used instead of bows or slings. They " - "are more like melee weapons than bows." - }, - { - TV_SHOT, - "Shots are small, hard balls. They are the standard ammunition " - "for slings. You can carry them in your quiver if you have a sling " - "equipped." - }, - { - TV_ARROW, - "Arrows are the standard ammunition for bows. You can carry " - "them in your quiver if you have a bow equipped." - }, - { - TV_BOLT, - "Bolts are the standard ammunition for crossbows. You can " - "carry them in your quiver if you have a crossbow equipped." - }, - { - TV_BOW, - "Slings, bows and crossbows are used to attack monsters " - "from a distance." - }, - { - TV_DIGGING, - "Tools can be digging implements, climbing equipment and such. " - "They have their own slot in your inventory." - }, - { - TV_HAFTED, - "Hafted weapons are melee weapons. Eru followers can use them " - "without penalties." - }, - { - TV_SWORD, - "Swords are melee weapons." - }, - { - TV_AXE, - "Axes are melee weapons." - }, - { - TV_POLEARM, - "Polearms are melee weapons." - }, - { - TV_DRAG_ARMOR, - "Dragon armour is made from the scales of dead dragons. " - "These mighty sets of armour usually yield great power to " - "their wearer." - }, - { - TV_LITE, - "Lights allow you to read things and see from afar. Some of " - "them need to be fueled but some do not." - }, - { - TV_AMULET, - "Amulets are fine pieces of jewelry, usually imbued with " - "arcane magics." - }, - { - TV_RING, - "Rings are fine pieces of jewelry, usually imbued with " - "arcane magics." - }, - { - TV_TRAPKIT, - "Trapping kits are used with the trapping ability to set " - "deadly monster traps." - }, - { - TV_STAFF, - "Staves are objects imbued with mystical powers." - }, - { - TV_WAND, - "Wands are like small staves and usually have a targeted " - "effect." - }, - { - TV_ROD, - "Rod tips are the physical bindings of powerful " - "spells. Zap (attach) them to a rod to get a fully " - "functional rod. Each spell takes some mana from the rod " - "it is attached to to work." - }, - { - TV_ROD_MAIN, - "Rods contain mana reserves used to cast spells in rod " - "tips. Zap (attach) a rod tip to them to get a fully " - "functional rod. Each spell takes some mana from the rod " - "it is attached to to work." - }, - { - TV_SCROLL, - "Scrolls are magical parchments imbued with magic spells. " - "Some are good, some...are not. When a scroll is read, its " - "magic is released and the scroll is destroyed." - }, - { - TV_POTION, - "Potions are magical liquids. Some of them are " - "beneficial...some not." - }, - { - TV_POTION2, - "Potions are magical liquids. Some of them are " - "beneficial...some not." - }, - { - TV_FLASK, - "Flasks of oil can be used to refill lanterns." - }, - { - TV_FOOD, - "Everybody needs to eat, even you." - }, - { - TV_HYPNOS, - "This monster seems to be hypnotised and friendly." - }, - { - TV_RANDART, - "Those objects are only known of by rumours. It is said that " - "they can be activated for great or strange effects..." - }, - { - TV_RUNE1, - "Runes are used with the Runecraft skill to create brand new spells." - }, - { - TV_RUNE2, - "Runes are used with the Runecraft skill to create brand new spells." - }, - { - TV_JUNK, - "Junk is usually worthless, though experienced archers can " - "create ammo with them." - }, - { - TV_SKELETON, - "It looks dead..." - }, - { - TV_BOTTLE, - "An empty bottle. Maybe an alchemist could refill it." - }, - { - TV_SPIKE, - "Spikes can be used to jam doors." - }, - { - TV_CORPSE, - "It looks dead..." - }, - { - TV_BOOTS, - "Boots can help your armour rating. Some of these are magical." - }, - { - TV_GLOVES, - "Handgear is used to protect hands, but nonmagical ones " - "can sometimes hinder spellcasting. Alchemists need " - "gloves in order to do alchemy." - }, - { - TV_HELM, - "Headgear will protect your head." - }, - { - TV_CROWN, - "Headgear will protect your head." - }, - { - TV_SHIELD, - "Shields will help improve your defence rating, but you " - "cannot use them with two handed weapons." - }, - { - TV_CLOAK, - "Cloaks can shield you from damage. Sometimes they also " - "provide magical powers." - }, - { - TV_SOFT_ARMOR, - "Soft armour is light, and will not hinder your combat much." - }, - { - TV_HARD_ARMOR, - "Hard armour provides much more protection than soft " - "armour but also hinders combat much more." - }, - { - TV_SYMBIOTIC_BOOK, - "This mystical book is used by symbiants to extend their " - "symbiosis." - }, - { - TV_MUSIC_BOOK, - "This song book is used by bards to play songs." - }, - { - TV_DRUID_BOOK, - "This mystical book is used by druids to call upon the " - "powers of nature." - }, - { - TV_DAEMON_BOOK, - "This unholy demon equipment is used with the Demonology skill to control " - "the school of demon power." - }, - {0, ""}, -}; - -/* - * List of the between exits - * s16b corresp; Corresponding between gate - * bool_ dungeon; Do we exit in a dungeon or in the wild ? - * - * s16b wild_x, wild_y; Wilderness spot to land onto - * s16b p_ptr->px, p_ptr->py; Location of the map - * - * s16b d_idx; Dungeon to land onto - * s16b level; - */ -between_exit between_exits[MAX_BETWEEN_EXITS] = -{ - { - 1, - FALSE, - 49, 11, - 119, 25, - 0, 0 - }, - { - 0, - FALSE, - 60, 56, - 10, 35, - 0, 0 - }, - /* Theme: Minas Tirith -> Gondolin link */ - { - 0, - FALSE, - 3, 11, - 119, 25, - 0, 0 - }, -}; - -/* - * Months - */ -int month_day[9] = -{ - 0, /* 1 day */ - - 1, /* 54 days */ - 55, /* 72 days */ - 127, /* 54 days */ - - 181, /* 3 days */ - - 184, /* 54 days */ - 238, /* 72 days */ - 310, /* 54 days */ - - 364, /* 1 day */ -}; - -cptr month_name[9] = -{ - "Yestare", - - "Tuile", - "Laire", - "Yavie", - - "Enderi", - - "Quelle", - "Hrive", - "Coire", - - "Mettare", -}; - -/* - * max body parts - */ -int max_body_part[BODY_MAX] = -{ - 3, /* Weapon */ - 1, /* Torso */ - 3, /* Arms */ - 6, /* Finger */ - 2, /* Head */ - 2, /* Legs */ -}; - -/* - * Description of GF_FOO - */ -gf_name_type gf_names[] = -{ - { GF_ELEC, "electricity" }, - { GF_POIS, "poison" }, - { GF_ACID, "acid" }, - { GF_COLD, "cold" }, - { GF_FIRE, "fire" }, - { GF_UNBREATH, "asphyxiating gas" }, - { GF_CORPSE_EXPL, "corpse explosion" }, - { GF_MISSILE, "missile" }, - { GF_ARROW, "arrow" }, - { GF_PLASMA, "plasma" }, - { GF_WAVE, "a tidal wave" }, - { GF_WATER, "water" }, - { GF_LITE, "light" }, - { GF_DARK, "darkness" }, - { GF_LITE_WEAK, "weak light" }, - { GF_DARK_WEAK, "weak darkness" }, - { GF_SHARDS, "shards" }, - { GF_SOUND, "sound" }, - { GF_CONFUSION, "confusion" }, - { GF_FORCE, "force" }, - { GF_INERTIA, "inertia" }, - { GF_MANA, "pure mana" }, - { GF_METEOR, "meteor" }, - { GF_ICE, "ice" }, - { GF_CHAOS, "chaos" }, - { GF_NETHER, "nether" }, - { GF_DISENCHANT, "disenchantment" }, - { GF_NEXUS, "nexus" }, - { GF_TIME, "time" }, - { GF_GRAVITY, "gravity" }, - { GF_KILL_WALL, "wall destruction" }, - { GF_KILL_DOOR, "door destruction" }, - { GF_KILL_TRAP, "trap destruction" }, - { GF_MAKE_WALL, "wall creation" }, - { GF_MAKE_DOOR, "door creation" }, - { GF_MAKE_TRAP, "trap creation" }, - { GF_OLD_CLONE, "clone" }, - { GF_OLD_POLY, "polymorph" }, - { GF_OLD_HEAL, "healing" }, - { GF_OLD_SPEED, "speed" }, - { GF_OLD_SLOW, "slowness" }, - { GF_OLD_CONF, "confusion" }, - { GF_OLD_SLEEP, "sleep" }, - { GF_OLD_DRAIN, "drain life" }, - { GF_AWAY_UNDEAD, "teleport away undead" }, - { GF_AWAY_EVIL, "teleport away evil" }, - { GF_AWAY_ALL, "teleport away" }, - { GF_TURN_UNDEAD, "scare undead" }, - { GF_TURN_EVIL, "scare evil" }, - { GF_TURN_ALL, "scare" }, - { GF_DISP_UNDEAD, "dispel undead" }, - { GF_DISP_EVIL, "dispel evil" }, - { GF_DISP_ALL, "dispel" }, - { GF_DISP_DEMON, "dispel demons" }, - { GF_DISP_LIVING, "dispel living creatures" }, - { GF_ROCKET, "rocket" }, - { GF_NUKE, "nuke" }, - { GF_MAKE_GLYPH, "glyph creation" }, - { GF_STASIS, "stasis" }, - { GF_STONE_WALL, "stone wall creation" }, - { GF_DEATH_RAY, "death ray" }, - { GF_STUN, "stunning" }, - { GF_HOLY_FIRE, "holy fire" }, - { GF_HELL_FIRE, "hellfire" }, - { GF_DISINTEGRATE, "disintegration" }, - { GF_CHARM, "charming" }, - { GF_CONTROL_UNDEAD, "undead control" }, - { GF_CONTROL_ANIMAL, "animal control" }, - { GF_PSI, "psionic energy" }, - { GF_PSI_DRAIN, "psionic drain" }, - { GF_TELEKINESIS, "telekinesis" }, - { GF_JAM_DOOR, "door jamming" }, - { GF_DOMINATION, "domination" }, - { GF_DISP_GOOD, "dispel good" }, - { GF_IDENTIFY, "identification" }, - { GF_RAISE, "raise dead" }, - { GF_STAR_IDENTIFY, "*identification*" }, - { GF_DESTRUCTION, "destruction" }, - { GF_STUN_CONF, "stunning and confusion" }, - { GF_STUN_DAM, "stunning and damage" }, - { GF_CONF_DAM, "confusion and damage" }, - { GF_STAR_CHARM, "*charming*" }, - { GF_IMPLOSION, "implosion" }, - { GF_LAVA_FLOW, "lava" }, - { GF_FEAR, "fear" }, - { GF_BETWEEN_GATE, "jumpgate creation" }, - { GF_WINDS_MANA, "" }, - { GF_DEATH, "death" }, - { GF_CONTROL_DEMON, "control demon" }, - { GF_RAISE_DEMON, "raise demon" }, - { GF_TRAP_DEMONSOUL, "*control demon*" }, - { GF_ATTACK, "projected melee attacks" }, - { -1, NULL }, -}; - -/** - * Modules - */ -module_type modules[MAX_MODULES] = -{ - { - { "ToME", - { 2, 4, 0 }, - { "DarkGod", "darkgod@t-o-m-e.net" }, - "The Tales of Middle-earth, the standard and official game.\n" - "You are set on a quest to investigate the old tower of Dol Guldur.\n" - "But who knows what will happen...", - "ToME", - NULL /* default dir */, - }, - /* Randarts: */ - { 30, 20, 20 }, - /* Max player level: */ - 50, - /* Skills: */ - { 6, 4, }, - /* Intro function */ - tome_intro, - /* Race status function: ToME requires no special handling */ - NULL - }, - - { - { "Theme", - { 1, 2, 0 }, - { "furiosity", "furiosity@gmail.com" }, - "A module that goes back to Tolkien roots, though by no means canonical.\n" - "A new wilderness map, new monsters, objects, artifacts, uniques, ego items,\n" - "terrain features, gods, races, subraces, and classes. Have fun. :-)", - "Theme", - "theme", - }, - /* Randarts: */ - { 30, 30, 30 }, - /* Max player level: */ - 50, - /* Skill overage: */ - { 6, 5, }, - /* Intro function */ - theme_intro, - /* Race status function */ - theme_race_status - } - -}; - -- cgit v1.2.3