1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
-- Library quest in Minas Anor
-- Partially based on Fireproofing quest
library_quest = {}
-- Book creation helpers
library_quest.bookable_spells =
{
MANATHRUST, DELCURSES,
GLOBELIGHT, FIREGOLEM, FIREFLASH, FIREWALL,
GEYSER, VAPOR, ENTPOTION,
NOXIOUSCLOUD, POISONBLOOD,
STONESKIN, DIG,
RECHARGE, DISPERSEMAGIC,
BLINK, DISARM, TELEPORT,
SENSEMONSTERS, SENSEHIDDEN, REVEALWAYS, IDENTIFY, VISION,
MAGELOCK, SLOWMONSTER, ESSENCESPEED,
CHARM, CONFUSE, ARMOROFFEAR, STUN,
GROWTREE, HEALING, RECOVERY,
ERU_SEE, ERU_LISTEN,
MANWE_BLESS, MANWE_SHIELD,
YAVANNA_CHARM_ANIMAL, YAVANNA_GROW_GRASS, YAVANNA_TREE_ROOTS,
TULKAS_AIM, TULKAS_SPIN,
MELKOR_CURSE, MELKOR_CORPSE_EXPLOSION, DRAIN,
AULE_FIREBRAND, AULE_CHILD,
VARDA_LIGHT_VALINOR, VARDA_EVENSTAR,
ULMO_BELEGAER, ULMO_WRATH,
MANDOS_TEARS_LUTHIEN, MANDOS_TALE_DOOM
}
-- Print a spell (taken from s_aux)
function library_quest.print_spell(color, y, spl)
local x, index, sch, size, s
x = 0
size = 0
book = 255
obj = nil
-- Hack if the book is 255 it is a random book
if book == 255 then
school_book[book] = {spl}
end
-- Parse all spells
for index, s in school_book[book] do
local lvl, na = get_level_school(s, 50, -50)
local xx, sch_str
sch_str = spell_school_name(s)
if s == spl then
if na then
c_prt(color, format("%-20s%-16s %3s %4s %3d%s %s", spell(s).name, sch_str, na, get_mana(s), spell_chance(s), "%", __spell_info[s]()), y, x)
else
c_prt(color, format("%-20s%-16s %3d %4s %3d%s %s", spell(s).name, sch_str, lvl, get_mana(s), spell_chance(s), "%", __spell_info[s]()), y, x)
end
y = y + 1
size = size + 1
end
end
return y
end
|