summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/.gitignore2
-rw-r--r--lib/CMakeLists.txt10
-rw-r--r--lib/apex/.cvsignore1
-rw-r--r--lib/core/auto.lua859
-rw-r--r--lib/core/building.lua15
-rw-r--r--lib/core/crpt_aux.lua182
-rw-r--r--lib/core/dungeon.lua55
-rw-r--r--lib/core/gen_idx.lua261
-rw-r--r--lib/core/gods.lua40
-rw-r--r--lib/core/help.lua141
-rw-r--r--lib/core/init.lua83
-rw-r--r--lib/core/load.lua37
-rw-r--r--lib/core/load2.lua56
-rw-r--r--lib/core/mimc_aux.lua96
-rw-r--r--lib/core/monsters.lua16
-rw-r--r--lib/core/objects.lua45
-rw-r--r--lib/core/player.lua135
-rw-r--r--lib/core/quests.lua57
-rw-r--r--lib/core/s_aux.lua716
-rw-r--r--lib/core/stores.lua32
-rw-r--r--lib/core/util.lua158
-rw-r--r--lib/core/xml.lua375
-rw-r--r--lib/data/.cvsignore2
-rw-r--r--lib/edit/a_info.txt2983
-rw-r--r--lib/edit/ab_info.txt28
-rw-r--r--lib/edit/al_info.txt2097
-rw-r--r--lib/edit/ba_info.txt54
-rw-r--r--lib/edit/between.map8
-rw-r--r--lib/edit/d_info.txt326
-rw-r--r--lib/edit/e_info.txt962
-rw-r--r--lib/edit/evil.map6
-rw-r--r--lib/edit/f_info.txt786
-rw-r--r--lib/edit/k_info.txt1483
-rw-r--r--lib/edit/maeglin.map4
-rw-r--r--lib/edit/misc.txt72
-rw-r--r--lib/edit/nirnaeth.map16
-rw-r--r--lib/edit/numenor.txt2
-rw-r--r--lib/edit/ow_info.txt775
-rw-r--r--lib/edit/p_info.txt1192
-rw-r--r--lib/edit/qrand1.map3
-rw-r--r--lib/edit/qrand10.map13
-rw-r--r--lib/edit/qrand11.map3
-rw-r--r--lib/edit/qrand12.map3
-rw-r--r--lib/edit/qrand14.map3
-rw-r--r--lib/edit/qrand6.map3
-rw-r--r--lib/edit/qrand7.map13
-rw-r--r--lib/edit/r_info.txt23170
-rw-r--r--lib/edit/ra_info.txt12
-rw-r--r--lib/edit/re_info.txt235
-rw-r--r--lib/edit/readme.txt5
-rw-r--r--lib/edit/s_crypt.map36
-rw-r--r--lib/edit/s_doom.map40
-rwxr-xr-xlib/edit/s_factory.map67
-rw-r--r--lib/edit/s_gates.map44
-rw-r--r--lib/edit/s_info.txt116
-rw-r--r--lib/edit/s_name.map78
-rwxr-xr-xlib/edit/s_ship.map73
-rw-r--r--lib/edit/set_info.txt39
-rw-r--r--lib/edit/special.txt23
-rw-r--r--lib/edit/spiders.map4
-rw-r--r--lib/edit/st_info.txt96
-rw-r--r--lib/edit/t_basic.txt80
-rw-r--r--lib/edit/t_bree.txt25
-rw-r--r--lib/edit/t_gondol.txt49
-rw-r--r--lib/edit/t_khazad.txt14
-rw-r--r--lib/edit/t_lorien.txt32
-rw-r--r--lib/edit/t_minas.txt39
-rw-r--r--lib/edit/t_pref.txt30
-rw-r--r--lib/edit/thieves.map10
-rw-r--r--lib/edit/thrain.map17
-rw-r--r--lib/edit/tr_info.txt817
-rw-r--r--lib/edit/trolls.map10
-rw-r--r--lib/edit/v_info.txt7
-rw-r--r--lib/edit/volcano.txt4
-rw-r--r--lib/edit/wf_info.txt4
-rw-r--r--lib/edit/wights.map24
-rw-r--r--lib/file/elvish.txt218
-rw-r--r--lib/help/ability.txt20
-rw-r--r--lib/help/advanced.hlp5
-rw-r--r--lib/help/automat.txt12
-rw-r--r--lib/help/birth.txt6
-rw-r--r--lib/help/c_alchem.txt135
-rw-r--r--lib/help/c_geoman.txt1
-rw-r--r--lib/help/c_mage.txt1
-rw-r--r--lib/help/c_merch.txt29
-rw-r--r--lib/help/c_necro.txt1
-rw-r--r--lib/help/c_runecr.txt110
-rw-r--r--lib/help/c_sorcer.txt1
-rw-r--r--lib/help/c_thaum.txt1
-rw-r--r--lib/help/c_warper.txt1
-rw-r--r--lib/help/command.txt80
-rw-r--r--lib/help/debug.txt34
-rw-r--r--lib/help/def.aux3
-rw-r--r--lib/help/defines.txt639
-rw-r--r--lib/help/dungeon.txt2
-rw-r--r--lib/help/essences.txt219
-rw-r--r--lib/help/index.txt20
-rw-r--r--lib/help/lua.hlp34
-rw-r--r--lib/help/lua_gf.txt45
-rw-r--r--lib/help/lua_intr.txt133
-rw-r--r--lib/help/lua_mon.txt535
-rw-r--r--lib/help/lua_play.txt1225
-rw-r--r--lib/help/lua_pow.txt266
-rw-r--r--lib/help/lua_ques.txt299
-rw-r--r--lib/help/lua_skil.txt342
-rw-r--r--lib/help/lua_spel.txt2150
-rw-r--r--lib/help/lua_util.txt898
-rw-r--r--lib/help/m_divin.txt2
-rw-r--r--lib/help/m_music.txt3
-rw-r--r--lib/help/macrofaq.txt17
-rw-r--r--lib/help/magic.txt10
-rw-r--r--lib/help/option.txt150
-rw-r--r--lib/help/skills.txt35
-rw-r--r--lib/help/spoiler.hlp1
-rw-r--r--lib/help/tome_faq.txt13
-rw-r--r--lib/mods/.cvsignore1
-rw-r--r--lib/mods/CMakeLists.txt1
-rw-r--r--lib/mods/mods_aux.lua185
-rw-r--r--lib/mods/modules.lua5
-rw-r--r--lib/mods/theme/CMakeLists.txt14
-rw-r--r--lib/mods/theme/core/auto.lua859
-rw-r--r--lib/mods/theme/core/building.lua15
-rw-r--r--lib/mods/theme/core/crpt_aux.lua182
-rw-r--r--lib/mods/theme/core/dungeon.lua55
-rw-r--r--lib/mods/theme/core/gen_idx.lua261
-rw-r--r--lib/mods/theme/core/gods.lua40
-rw-r--r--lib/mods/theme/core/help.lua141
-rw-r--r--lib/mods/theme/core/init.lua83
-rw-r--r--lib/mods/theme/core/load.lua37
-rw-r--r--lib/mods/theme/core/load2.lua56
-rw-r--r--lib/mods/theme/core/mimc_aux.lua96
-rw-r--r--lib/mods/theme/core/monsters.lua16
-rw-r--r--lib/mods/theme/core/objects.lua45
-rw-r--r--lib/mods/theme/core/player.lua135
-rw-r--r--lib/mods/theme/core/quests.lua57
-rw-r--r--lib/mods/theme/core/s_aux.lua716
-rw-r--r--lib/mods/theme/core/stores.lua32
-rw-r--r--lib/mods/theme/core/util.lua158
-rw-r--r--lib/mods/theme/core/xml.lua375
-rw-r--r--lib/mods/theme/edit/a_info.txt3583
-rw-r--r--lib/mods/theme/edit/ab_info.txt19
-rw-r--r--lib/mods/theme/edit/al_info.txt12
-rw-r--r--lib/mods/theme/edit/ba_info.txt56
-rw-r--r--lib/mods/theme/edit/between.map8
-rw-r--r--lib/mods/theme/edit/d_info.txt481
-rw-r--r--lib/mods/theme/edit/e_info.txt1694
-rw-r--r--lib/mods/theme/edit/evil.map6
-rw-r--r--lib/mods/theme/edit/f_info.txt1059
-rw-r--r--lib/mods/theme/edit/k_info.txt1612
-rw-r--r--lib/mods/theme/edit/maeglin.map4
-rw-r--r--lib/mods/theme/edit/misc.txt72
-rw-r--r--lib/mods/theme/edit/nirnaeth.map16
-rw-r--r--lib/mods/theme/edit/numenor.txt2
-rw-r--r--lib/mods/theme/edit/ow_info.txt2568
-rw-r--r--lib/mods/theme/edit/p_info.txt1577
-rw-r--r--lib/mods/theme/edit/qrand1.map3
-rw-r--r--lib/mods/theme/edit/qrand10.map13
-rw-r--r--lib/mods/theme/edit/qrand11.map3
-rw-r--r--lib/mods/theme/edit/qrand12.map3
-rw-r--r--lib/mods/theme/edit/qrand14.map3
-rw-r--r--lib/mods/theme/edit/qrand6.map3
-rw-r--r--lib/mods/theme/edit/qrand7.map13
-rw-r--r--lib/mods/theme/edit/r_info.txt23756
-rw-r--r--lib/mods/theme/edit/ra_info.txt17
-rw-r--r--lib/mods/theme/edit/re_info.txt235
-rw-r--r--lib/mods/theme/edit/readme.txt5
-rw-r--r--lib/mods/theme/edit/s_bilbo.map37
-rw-r--r--lib/mods/theme/edit/s_crypt.map36
-rw-r--r--lib/mods/theme/edit/s_doom.map40
-rw-r--r--lib/mods/theme/edit/s_factory.map67
-rw-r--r--lib/mods/theme/edit/s_gates.map44
-rw-r--r--lib/mods/theme/edit/s_info.txt110
-rw-r--r--lib/mods/theme/edit/s_name.map78
-rw-r--r--lib/mods/theme/edit/s_orthanc.map78
-rw-r--r--lib/mods/theme/edit/s_ship.map73
-rw-r--r--lib/mods/theme/edit/set_info.txt142
-rw-r--r--lib/mods/theme/edit/special.txt23
-rw-r--r--lib/mods/theme/edit/spiders.map4
-rw-r--r--lib/mods/theme/edit/st_info.txt112
-rw-r--r--lib/mods/theme/edit/t_basic.txt66
-rw-r--r--lib/mods/theme/edit/t_beorn.txt6
-rw-r--r--lib/mods/theme/edit/t_bree.txt26
-rw-r--r--lib/mods/theme/edit/t_dale.txt6
-rw-r--r--lib/mods/theme/edit/t_edoras.txt29
-rw-r--r--lib/mods/theme/edit/t_esga.txt10
-rw-r--r--lib/mods/theme/edit/t_gondol.txt49
-rw-r--r--lib/mods/theme/edit/t_helm.txt2
-rw-r--r--lib/mods/theme/edit/t_henn.txt6
-rw-r--r--lib/mods/theme/edit/t_hobb.txt8
-rw-r--r--lib/mods/theme/edit/t_imlad.txt6
-rw-r--r--lib/mods/theme/edit/t_khazad.txt20
-rw-r--r--lib/mods/theme/edit/t_lorien.txt38
-rw-r--r--lib/mods/theme/edit/t_minas.txt34
-rw-r--r--lib/mods/theme/edit/t_osgili.txt24
-rw-r--r--lib/mods/theme/edit/t_pelar.txt21
-rw-r--r--lib/mods/theme/edit/t_pref.txt30
-rw-r--r--lib/mods/theme/edit/t_thrand.txt12
-rw-r--r--lib/mods/theme/edit/thieves.map6
-rw-r--r--lib/mods/theme/edit/thrain.map17
-rw-r--r--lib/mods/theme/edit/tr_info.txt817
-rw-r--r--lib/mods/theme/edit/trolls.map10
-rw-r--r--lib/mods/theme/edit/v_info.txt7
-rw-r--r--lib/mods/theme/edit/volcano.txt4
-rw-r--r--lib/mods/theme/edit/w_info.txt2
-rw-r--r--lib/mods/theme/edit/wf_info.txt10
-rw-r--r--lib/mods/theme/edit/wights.map24
-rw-r--r--lib/mods/theme/file/elvish.txt218
-rw-r--r--lib/mods/theme/help/ability.txt20
-rw-r--r--lib/mods/theme/help/advanced.hlp5
-rw-r--r--lib/mods/theme/help/automat.txt12
-rw-r--r--lib/mods/theme/help/birth.txt5
-rw-r--r--lib/mods/theme/help/c_alchem.txt135
-rw-r--r--lib/mods/theme/help/c_geoman.txt1
-rw-r--r--lib/mods/theme/help/c_mage.txt1
-rw-r--r--lib/mods/theme/help/c_merch.txt29
-rw-r--r--lib/mods/theme/help/c_necro.txt1
-rw-r--r--lib/mods/theme/help/c_runecr.txt110
-rw-r--r--lib/mods/theme/help/c_sorcer.txt1
-rw-r--r--lib/mods/theme/help/c_thaum.txt1
-rw-r--r--lib/mods/theme/help/c_warper.txt1
-rw-r--r--lib/mods/theme/help/command.txt80
-rw-r--r--lib/mods/theme/help/debug.txt39
-rw-r--r--lib/mods/theme/help/def.aux3
-rw-r--r--lib/mods/theme/help/defines.txt639
-rw-r--r--lib/mods/theme/help/dungeon.txt2
-rw-r--r--lib/mods/theme/help/essences.txt219
-rw-r--r--lib/mods/theme/help/index.txt12
-rw-r--r--lib/mods/theme/help/lua.hlp34
-rw-r--r--lib/mods/theme/help/lua_gf.txt45
-rw-r--r--lib/mods/theme/help/lua_intr.txt133
-rw-r--r--lib/mods/theme/help/lua_mon.txt535
-rw-r--r--lib/mods/theme/help/lua_play.txt1225
-rw-r--r--lib/mods/theme/help/lua_pow.txt266
-rw-r--r--lib/mods/theme/help/lua_ques.txt299
-rw-r--r--lib/mods/theme/help/lua_skil.txt342
-rw-r--r--lib/mods/theme/help/lua_spel.txt2150
-rw-r--r--lib/mods/theme/help/lua_util.txt898
-rw-r--r--lib/mods/theme/help/m_divin.txt2
-rw-r--r--lib/mods/theme/help/m_music.txt3
-rw-r--r--lib/mods/theme/help/macrofaq.txt17
-rw-r--r--lib/mods/theme/help/magic.txt10
-rw-r--r--lib/mods/theme/help/option.txt151
-rw-r--r--lib/mods/theme/help/skills.txt35
-rw-r--r--lib/mods/theme/help/spoiler.hlp1
-rw-r--r--lib/mods/theme/help/tome_faq.txt13
-rw-r--r--lib/mods/theme/module.lua48
-rw-r--r--lib/mods/theme/pref/font-ami.prf28
-rw-r--r--lib/mods/theme/pref/font-dos.prf8
-rw-r--r--lib/mods/theme/pref/font-mac.new110
-rw-r--r--lib/mods/theme/pref/font-xxx.prf3
-rw-r--r--lib/mods/theme/pref/font.prf20
-rw-r--r--lib/mods/theme/pref/graf-ami.prf64
-rw-r--r--lib/mods/theme/pref/graf-dos.prf15
-rw-r--r--lib/mods/theme/pref/graf-ibm.prf6237
-rw-r--r--lib/mods/theme/pref/graf-iso.prf5963
-rw-r--r--lib/mods/theme/pref/graf-mac.prf15
-rw-r--r--lib/mods/theme/pref/graf-new.prf6934
-rw-r--r--lib/mods/theme/pref/graf-sdl.prf37
-rw-r--r--lib/mods/theme/pref/graf-win.prf16
-rw-r--r--lib/mods/theme/pref/graf-x11.prf37
-rw-r--r--lib/mods/theme/pref/graf-xxx.prf3267
-rw-r--r--lib/mods/theme/pref/graf.prf51
-rw-r--r--lib/mods/theme/pref/pref-acn.prf24
-rw-r--r--lib/mods/theme/pref/pref-ami.prf7
-rw-r--r--lib/mods/theme/pref/pref-emx.prf19
-rw-r--r--lib/mods/theme/pref/pref.prf16
-rw-r--r--lib/mods/theme/pref/trap-xxx.prf428
-rw-r--r--lib/mods/theme/pref/user.prf17
-rw-r--r--lib/mods/theme/pref/xtra-new.prf63
-rw-r--r--lib/mods/theme/scpt/bounty.lua90
-rw-r--r--lib/mods/theme/scpt/corrupt.lua1089
-rw-r--r--lib/mods/theme/scpt/drunk.lua21
-rw-r--r--lib/mods/theme/scpt/fireprof.lua415
-rw-r--r--lib/mods/theme/scpt/god.lua812
-rw-r--r--lib/mods/theme/scpt/gods.lua26
-rw-r--r--lib/mods/theme/scpt/gods_new.lua454
-rw-r--r--lib/mods/theme/scpt/gondolin.lua63
-rw-r--r--lib/mods/theme/scpt/help.lua445
-rw-r--r--lib/mods/theme/scpt/init.lua56
-rw-r--r--lib/mods/theme/scpt/intro.lua43
-rw-r--r--lib/mods/theme/scpt/joke.lua31
-rw-r--r--lib/mods/theme/scpt/library.lua439
-rw-r--r--lib/mods/theme/scpt/mimic.lua419
-rw-r--r--lib/mods/theme/scpt/misc.lua213
-rw-r--r--lib/mods/theme/scpt/mkeys.lua95
-rw-r--r--lib/mods/theme/scpt/monsters.lua182
-rw-r--r--lib/mods/theme/scpt/player.lua196
-rw-r--r--lib/mods/theme/scpt/powers.lua61
-rw-r--r--lib/mods/theme/scpt/s_air.lua193
-rw-r--r--lib/mods/theme/scpt/s_aule.lua222
-rw-r--r--lib/mods/theme/scpt/s_convey.lua226
-rw-r--r--lib/mods/theme/scpt/s_demon.lua337
-rw-r--r--lib/mods/theme/scpt/s_divin.lua230
-rw-r--r--lib/mods/theme/scpt/s_earth.lua184
-rw-r--r--lib/mods/theme/scpt/s_eru.lua130
-rw-r--r--lib/mods/theme/scpt/s_fire.lua227
-rw-r--r--lib/mods/theme/scpt/s_geom.lua656
-rw-r--r--lib/mods/theme/scpt/s_mana.lua132
-rw-r--r--lib/mods/theme/scpt/s_mandos.lua186
-rw-r--r--lib/mods/theme/scpt/s_manwe.lua144
-rw-r--r--lib/mods/theme/scpt/s_melkor.lua154
-rw-r--r--lib/mods/theme/scpt/s_meta.lua287
-rw-r--r--lib/mods/theme/scpt/s_mind.lua132
-rw-r--r--lib/mods/theme/scpt/s_music.lua443
-rw-r--r--lib/mods/theme/scpt/s_nature.lua184
-rw-r--r--lib/mods/theme/scpt/s_stick.lua494
-rw-r--r--lib/mods/theme/scpt/s_tempo.lua162
-rw-r--r--lib/mods/theme/scpt/s_tulkas.lua81
-rw-r--r--lib/mods/theme/scpt/s_udun.lua180
-rw-r--r--lib/mods/theme/scpt/s_ulmo.lua147
-rw-r--r--lib/mods/theme/scpt/s_varda.lua140
-rw-r--r--lib/mods/theme/scpt/s_water.lua154
-rw-r--r--lib/mods/theme/scpt/s_yavann.lua157
-rw-r--r--lib/mods/theme/scpt/spells.lua627
-rw-r--r--lib/mods/theme/scpt/stores.lua161
-rw-r--r--lib/mods/theme/user/all.prf72
-rw-r--r--lib/mods/theme/user/automat.atm667
-rw-r--r--lib/mods/theme/user/fierce.atm761
-rw-r--r--lib/module.lua36
-rw-r--r--lib/patch/.cvsignore1
-rw-r--r--lib/pref/422color.prf909
-rw-r--r--lib/pref/font-ami.prf28
-rw-r--r--lib/pref/font-dos.prf8
-rw-r--r--lib/pref/font-mac.new108
-rw-r--r--lib/pref/font-xxx.prf3
-rw-r--r--lib/pref/font.prf20
-rw-r--r--lib/pref/graf-ami.prf64
-rw-r--r--lib/pref/graf-dos.prf15
-rw-r--r--lib/pref/graf-iso.prf6878
-rw-r--r--lib/pref/graf-mac.prf15
-rw-r--r--lib/pref/graf-new.prf6847
-rw-r--r--lib/pref/graf-sdl.prf37
-rw-r--r--lib/pref/graf-win.prf16
-rw-r--r--lib/pref/graf-x11.prf37
-rw-r--r--lib/pref/graf-xxx.prf6348
-rw-r--r--lib/pref/graf.prf51
-rw-r--r--lib/pref/pref-acn.prf24
-rw-r--r--lib/pref/pref-ami.prf7
-rw-r--r--lib/pref/pref-emx.prf19
-rw-r--r--lib/pref/pref-iso.prf118
-rw-r--r--lib/pref/pref.prf16
-rw-r--r--lib/pref/trap-iso.prf429
-rw-r--r--lib/pref/trap-xxx.prf428
-rw-r--r--lib/pref/user.prf17
-rw-r--r--lib/pref/xtra-new.prf1128
-rw-r--r--lib/scpt/.cvsignore1
-rw-r--r--lib/scpt/bounty.lua90
-rw-r--r--lib/scpt/corrupt.lua433
-rw-r--r--lib/scpt/drunk.lua21
-rw-r--r--lib/scpt/fireprof.lua415
-rw-r--r--lib/scpt/god.lua640
-rw-r--r--lib/scpt/gods.lua26
-rw-r--r--lib/scpt/help.lua411
-rw-r--r--lib/scpt/init.lua46
-rw-r--r--lib/scpt/intro.lua39
-rw-r--r--lib/scpt/joke.lua31
-rw-r--r--lib/scpt/library.lua436
-rw-r--r--lib/scpt/mimic.lua419
-rw-r--r--lib/scpt/mkeys.lua95
-rw-r--r--lib/scpt/player.lua76
-rw-r--r--lib/scpt/powers.lua61
-rw-r--r--lib/scpt/s_air.lua193
-rw-r--r--lib/scpt/s_convey.lua227
-rw-r--r--lib/scpt/s_demon.lua337
-rw-r--r--lib/scpt/s_divin.lua230
-rw-r--r--lib/scpt/s_earth.lua184
-rw-r--r--lib/scpt/s_eru.lua130
-rw-r--r--lib/scpt/s_fire.lua227
-rw-r--r--lib/scpt/s_geom.lua656
-rw-r--r--lib/scpt/s_mana.lua132
-rw-r--r--lib/scpt/s_manwe.lua144
-rw-r--r--lib/scpt/s_melkor.lua154
-rw-r--r--lib/scpt/s_meta.lua287
-rw-r--r--lib/scpt/s_mind.lua132
-rw-r--r--lib/scpt/s_music.lua443
-rw-r--r--lib/scpt/s_nature.lua152
-rw-r--r--lib/scpt/s_stick.lua444
-rw-r--r--lib/scpt/s_tempo.lua162
-rw-r--r--lib/scpt/s_tulkas.lua81
-rw-r--r--lib/scpt/s_udun.lua180
-rw-r--r--lib/scpt/s_water.lua154
-rw-r--r--lib/scpt/s_yavann.lua157
-rw-r--r--lib/scpt/spells.lua475
-rw-r--r--lib/scpt/stores.lua132
-rw-r--r--lib/user/automat.atm0
-rw-r--r--lib/xtra/graf/16x16.bmpbin1164238 -> 0 bytes
-rw-r--r--lib/xtra/graf/16x16.pngbin210021 -> 0 bytes
-rw-r--r--lib/xtra/graf/8x8.bmpbin203830 -> 0 bytes
-rw-r--r--lib/xtra/graf/8x8.pngbin44451 -> 0 bytes
-rw-r--r--lib/xtra/graf/mask.bmpbin1164342 -> 0 bytes
-rw-r--r--lib/xtra/graf/tome-128.pngbin45589 -> 0 bytes
-rw-r--r--lib/xtra/sound/Sound.cfg79
-rw-r--r--lib/xtra/sound/readme.txt33
393 files changed, 48805 insertions, 117334 deletions
diff --git a/lib/.gitignore b/lib/.gitignore
new file mode 100644
index 00000000..2de989fd
--- /dev/null
+++ b/lib/.gitignore
@@ -0,0 +1,2 @@
+*.raw
+
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 44d7d1ee..15591830 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -1,25 +1,19 @@
-INSTALL(FILES
- module.lua
- DESTINATION ${DEFAULT_PATH}
-)
INSTALL(DIRECTORY
apex
cmov
- core
data
dngn
edit
file
help
info
- mods
note
pref
save
- scpt
user
xtra
DESTINATION ${DEFAULT_PATH}
- PATTERN "*.raw" EXCLUDE
PATTERN "delete.me" EXCLUDE
)
+
+ADD_SUBDIRECTORY (mods)
diff --git a/lib/apex/.cvsignore b/lib/apex/.cvsignore
deleted file mode 100644
index dfa43964..00000000
--- a/lib/apex/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-scores.raw
diff --git a/lib/core/auto.lua b/lib/core/auto.lua
deleted file mode 100644
index b758db52..00000000
--- a/lib/core/auto.lua
+++ /dev/null
@@ -1,859 +0,0 @@
--- This file is the core of the Automatizer
--- Please do not touch unless you know what you are doing
-
-__rules = {}
-__rules_max = 0
-
-rule_aux = {}
-
--- Rule apply function, does .. nothing
-function auto_nothing(obj, item)
- return
-end
-
-function auto_inscribe(obj, item, note)
- if obj.note ~= 0 then return end
- msg_print("<Auto-Inscribe {"..note.."}>")
- obj.note = quark_add(note)
- return TRUE
-end
-
--- Rule apply function, pickup object
-function auto_pickup(obj, item)
- if item >= 0 then return end
- if inven_carry_okay(obj) == FALSE then return end
- msg_print("<Auto-pickup>")
- object_pickup(-item)
- return TRUE
-end
-
--- Rule apply function, destroy item
-function auto_destroy(obj, item)
- -- be carefull to what we can destroy
- -- Unaware things won't be destroyed.
- if is_aware(obj) == FALSE then return end
-
- -- Inscribed things won't be destroyed!
- if obj.note ~= 0 then return end
-
- -- Keep Artifacts -- they cannot be destroyed anyway
- if is_artifact(obj) == TRUE then return end
-
- -- Cannot destroy CURSE_NO_DROP objects
- local f1, f2, f3, f4, f5, esp = object_flags(obj);
- if band(f4, TR4_CURSE_NO_DROP) ~= 0 and band(obj.ident, IDENT_CURSED) then return end
-
- msg_print("<Auto-destroy>")
-
- -- Eliminate the item (from the pack)
- if item >= 0 then
- inven_item_increase(item, -obj.number)
- inven_item_describe(item)
- inven_item_optimize(item)
- -- Eliminate the item (from the floor)
- else
- floor_item_increase(0 - item, -obj.number)
- floor_item_describe(0 - item)
- floor_item_optimize(0 - item)
- end
- return TRUE
-end
-
--- Report the status of an object
-function object_status(obj)
- local sense =
- {
- [SENSE_CURSED] = "bad",
- [SENSE_WORTHLESS] = "very bad",
- [SENSE_AVERAGE] = "average",
- [SENSE_GOOD_LIGHT] = "good",
- [SENSE_GOOD_HEAVY] = "good",
- [SENSE_EXCELLENT] = "very good",
- [SENSE_SPECIAL] = "special",
- [SENSE_TERRIBLE] = "terrible",
- }
-
- if is_known(obj) == FALSE then
- if sense[obj.sense] then
- return sense[obj.sense]
- else
- return ""
- end
- else
-if nil then -- test
- local osense = -1
- local type = select_sense(obj, TRUE, TRUE)
- if type == 1 then
- osense = value_check_aux1(obj)
- elseif type == 2 then
- osense = value_check_aux1_magic(obj)
- end
-print("type : "..type)
- if sense[osense] then
- print("sense: "..sense[osense])
- return sense[osense]
- else
- print("sense: ")
- return ""
- end
-
-else -- the real one
-
- local slot = wield_slot_ideal(obj, TRUE)
-
- -- Arts items
- if is_artifact(obj) == TRUE then
- if band(obj.ident, IDENT_CURSED) == 0 then return "special"
- else return "terrible" end
- -- Ego items
- elseif (obj.name2 > 0 or obj.name2b > 0) then
- if band(obj.ident, IDENT_CURSED) == 0 then return "very good"
- else return "very bad" end
- -- weapon
- elseif (slot == INVEN_WIELD) or (slot == INVEN_BOW) or (slot == INVEN_AMMO) or (slot == INVEN_TOOL) then
- if obj.to_h + obj.to_d < 0 then
- return "bad"
- elseif obj.to_h + obj.to_d > 0 then
- return "good"
- else
- return "average"
- end
- -- armor
- elseif (slot >= INVEN_BODY) and (slot <= INVEN_FEET) then
- if obj.to_a < 0 then
- return "bad"
- elseif obj.to_a > 0 then
- return "good"
- else
- return "average"
- end
- -- ring
- elseif slot == INVEN_RING then
- if (obj.to_d + obj.to_h < 0) or (obj.to_a < 0) or (obj.pval < 0) then
- return "bad"
- else
- return "average"
- end
- -- amulet
- elseif slot == INVEN_NECK then
- if (obj.pval < 0) then
- return "bad"
- else
- return "average"
- end
- -- chests
- elseif obj.tval == TV_CHEST then
- if obj.pval == 0 then
- return "empty"
- elseif obj.pval < 0 then
- return "disarmed"
- else
- return "average"
- end
- else
- return "average"
- end
-end
- end
-end
-
--- Recursive function to generate a rule function tree
-function gen_rule_fct(r)
- -- It is a test rule (or, and, ...)
- if r.label == "and" or r.label == "or" then
- local i
- local fct_tbl = {}
- for i = 1, getn(r) do
- if r[i].label ~= "comment" then
- tinsert(fct_tbl, gen_rule_fct(r[i]))
- end
- end
- if r.label == "and" then
- return function(object)
- local fcts = %fct_tbl
- local i
- for i = 1, getn(fcts) do
- if not fcts[i](object) then return end
- end
- return TRUE
- end
- elseif r.label == "or" then
- return function(object)
- local fcts = %fct_tbl
- local i
- for i = 1, getn(fcts) do
- if fcts[i](object) then return TRUE end
- end
- end
- end
- -- It is a condition rule (name, type, level, ...)
- else
- if r.label == "not" then
- local f
- if not r[1] then
- f = function (object) return TRUE end
- else
- f = gen_rule_fct(r[1])
- end
- return function(object) return not %f(object) end
- elseif r.label == "inventory" then
- local f
- if not r[1] then
- f = function(object) return end
- else
- f = gen_rule_fct(r[1])
- end
- return function(object)
- local i = 0
- while i < INVEN_WIELD do
- if %f(player.inventory(i)) then
- return TRUE
- end
- i = i + 1
- end
- end
- elseif r.label == "equipment" then
- local f
- if not r[1] then
- f = function(object) return end
- else
- f = gen_rule_fct(r[1])
- end
- return function(object)
- local i = INVEN_WIELD
- while i < INVEN_TOTAL do
- if %f(player.inventory(i)) then
- return TRUE
- end
- i = i + 1
- end
- end
- elseif r.label == "name" then
- return function(object) if strlower(object_desc(object, -1, 0)) == strlower(%r[1]) then return TRUE end end
- elseif r.label == "contain" then
- return function(object) if strfind(strlower(object_desc(object, -1, 0)), strlower(%r[1])) then return TRUE end end
- elseif r.label == "symbol" then
- return function(object) if strchar(get_kind(object).d_char) == %r[1] then return TRUE end end
- elseif r.label == "inscribed" then
- return function(object) if object.note ~= 0 and strfind(strlower(quark_str(object.note)), strlower(%r[1])) then return TRUE end end
- elseif r.label == "discount" then
- local d1 = r.args.min
- local d2 = r.args.max
- if tonumber(d1) == nil then d1 = getglobal(d1) else d1 = tonumber(d1) end
- if tonumber(d2) == nil then d2 = getglobal(d2) else d2 = tonumber(d2) end
- return function(object) if is_aware(object) == TRUE and object.discount >= %d1 and object.discount <= %d2 then return TRUE end end
- elseif r.label == "tval" then
- local tv = r[1]
- if tonumber(tv) == nil then tv = getglobal(tv) else tv = tonumber(tv) end
- return function(object) if object.tval == %tv then return TRUE end end
- elseif r.label == "sval" then
- assert(r.args.min and r.args.max, "sval rule lacks min or max")
- local sv1 = r.args.min
- local sv2 = r.args.max
- if tonumber(sv1) == nil then sv1 = getglobal(sv1) else sv1 = tonumber(sv1) end
- if tonumber(sv2) == nil then sv2 = getglobal(sv2) else sv2 = tonumber(sv2) end
- return function(object) if is_aware(object) == TRUE and object.sval >= %sv1 and object.sval <= %sv2 then return TRUE end end
- elseif r.label == "status" then
- return function(object) if object_status(object) == strlower(%r[1]) then return TRUE end end
- elseif r.label == "state" then
- if r[1] == "identified" then
- return function(object) if is_known(object) == TRUE then return TRUE end end
- else
- return function(object) if is_known(object) == FALSE then return TRUE end end
- end
- elseif r.label == "race" then
- return function(object) if strlower(get_race_name()) == strlower(%r[1]) then return TRUE end end
- elseif r.label == "subrace" then
- return function(object) if strlower(get_subrace_name()) == strlower(%r[1]) then return TRUE end end
- elseif r.label == "class" then
- return function(object) if strlower(get_class_name()) == strlower(%r[1]) then return TRUE end end
- elseif r.label == "level" then
- assert(r.args.min and r.args.max, "level rule lacks min or max")
- return function(object) if player.lev >= tonumber(%r.args.min) and player.lev <= tonumber(%r.args.max) then return TRUE end end
- elseif r.label == "skill" then
- assert(r.args.min and r.args.max, "skill rule lacks min or max")
- local s = find_skill_i(r[1])
- assert(s ~= -1, "no skill "..r[1])
- return function(object) if get_skill(%s) >= tonumber(%r.args.min) and get_skill(%s) <= tonumber(%r.args.max) then return TRUE end end
- elseif r.label == "ability" then
- local s = find_ability(r[1])
- assert(s ~= -1, "no ability "..r[1])
- return function(object) if has_ability(%s) == TRUE then return TRUE end end
- end
- end
-end
-
-function auto_inscribe_maker(inscription)
- return function(...)
- arg.n = arg.n + 1
- arg[getn(arg)] = %inscription
- return call(auto_inscribe, arg)
- end
-end
-
--- Generate a rule from a table
-function gen_full_rule(t)
- -- only honor rules for this module
- if not t.args.module then
- t.args.module = "ToME"
- end
-
- if not ((t.args.module == "all") or (t.args.module == game_module)) then
- return function() end
- end
-
- -- Check for which action to do
- local apply_fct = auto_nothing
- if t.args.type == "destroy" then apply_fct = auto_destroy
- elseif t.args.type == "pickup" then apply_fct = auto_pickup
- elseif t.args.type == "inscribe" then apply_fct = auto_inscribe_maker(t.args.inscription)
- end
-
- -- create the function tree
- local rf
- if t[1] then
- rf = gen_rule_fct(t[1])
- else
- rf = function (object) end
- end
-
- -- create the final function
- return function(...)
- local rf = %rf
- if rf(arg[1]) then
- if call(%apply_fct, arg) == TRUE then return TRUE end
- end
- end
-end
-
--- Create a function that checks for the rules(passed in xml form)
-function add_ruleset(s)
- local tbl = xml:collect(s)
- local i
-
- -- Add all rules
- for i = 1, getn(tbl) do
- local t = tbl[i]
-
- if t.label == "rule" then
- -- Create the function tree
- local fct = gen_full_rule(t)
-
- -- Create the test function
- __rules[__rules_max] =
- {
- ["table"] = t,
- ["fct"] = fct
- }
- __rules_max = __rules_max + 1
- end
- end
-end
-
--- Apply the current rules to an object
--- call with at least (object, idx)
-function apply_rules(...)
- local i
- for i = 0, __rules_max - 1 do
- if call(__rules[i].fct, arg) then return TRUE end
- end
- return FALSE
-end
-
--- Clear the current rules
-function clean_ruleset()
- __rules_max = 0
- __rules = {}
-end
-
------- helper fonctions for the GUI
-
-auto_aux = {}
-auto_aux.stack = { n = 0 }
-auto_aux.idx = 1
-auto_aux.rule = 1
-function auto_aux:go_right()
- if auto_aux.rule[1] and type(auto_aux.rule[1]) == "table" then
- tinsert(auto_aux.stack, auto_aux.idx)
- tinsert(auto_aux.stack, auto_aux.rule)
- auto_aux.rule = auto_aux.rule[1]
- auto_aux.idx = 1
- end
-end
-
-function auto_aux:go_left(sel)
- local n = getn(auto_aux.stack)
-
- if n > 0 then
- auto_aux.idx = auto_aux.stack[n - 1]
- auto_aux.rule = auto_aux.stack[n]
- tremove(auto_aux.stack)
- tremove(auto_aux.stack)
- end
-end
-
-function auto_aux:go_down()
- if getn(auto_aux.stack) > 1 then
- if auto_aux.stack[getn(auto_aux.stack)][auto_aux.idx + 1] then
- auto_aux.idx = auto_aux.idx + 1
- auto_aux.rule = auto_aux.stack[getn(auto_aux.stack)][auto_aux.idx]
- end
- end
-end
-
-function auto_aux:go_up()
- if getn(auto_aux.stack) > 1 then
- if auto_aux.stack[getn(auto_aux.stack)][auto_aux.idx - 1] then
- auto_aux.idx = auto_aux.idx - 1
- auto_aux.rule = auto_aux.stack[getn(auto_aux.stack)][auto_aux.idx]
- end
- end
-end
-
-function auto_aux:scroll_up()
- xml.write_off_y = xml.write_off_y - 1
-end
-
-function auto_aux:scroll_down()
- xml.write_off_y = xml.write_off_y + 1
-end
-
-function auto_aux:scroll_left()
- xml.write_off_x = xml.write_off_x + 1
-end
-
-function auto_aux:scroll_right()
- xml.write_off_x = xml.write_off_x - 1
-end
-
-function auto_aux:adjust_current(sel)
- if __rules_max == 0 then return end
-
- xml.write_off_y = 0
- xml.write_off_x = 0
- auto_aux.idx = 1
- auto_aux.stack = { n = 0 }
- auto_aux.rule = __rules[sel].table
-end
-
-function auto_aux:move_up(sel)
- if sel > 0 then
- local u = __rules[sel - 1]
- local d = __rules[sel]
- __rules[sel - 1] = d
- __rules[sel] = u
- return sel - 1
- end
- return sel
-end
-
-function auto_aux:move_down(sel)
- if sel < __rules_max - 1 then
- local u = __rules[sel]
- local d = __rules[sel + 1]
- __rules[sel + 1] = u
- __rules[sel] = d
- return sel + 1
- end
- return sel
-end
-
-function auto_aux:new_rule(sel, nam, typ, arg)
- local r
-
-
- -- nam can also directly be the table itself
- if type(nam) == "table" then
- r =
- {
- ["table"] = nam,
- ["fct"] = function (object) end
- }
- elseif typ == "inscribe" then
- if arg == "" then
- arg = input_box("Inscription?", 79)
- end
- r =
- {
- ["table"] =
- {
- label = "rule",
- args = { name = nam, type = typ, inscription = arg, module = game_module },
- },
- ["fct"] = function (object) end
- }
- else
- r =
- {
- ["table"] =
- {
- label = "rule",
- args = { name = nam, type = typ, module = game_module },
- },
- ["fct"] = function (object) end
- }
- end
- tinsert(__rules, sel, r)
- __rules_max = __rules_max + 1
-end
-
-function auto_aux:rename_rule(sel, nam)
- if sel >= 0 and sel < __rules_max then
- __rules[sel].table.args.name = nam
- end
-end
-
-function auto_aux:save_ruleset()
- xml.write = xml.write_file
-
- print_hook("clean_ruleset()\nadd_ruleset\n[[\n")
- local i
- for i = 0, __rules_max - 1 do
- xml:print_xml(__rules[i].table, '')
- end
- print_hook("]]\n")
-
- xml.write = xml.write_screen
-end
-
-function auto_aux:del_self(sel)
- if auto_aux.rule.label == "rule" then
- tremove(__rules, sel)
- __rules_max = __rules_max - 1
- return sel - 1
- else
- local idx = auto_aux.idx
- auto_aux:go_left(sel)
- tremove(auto_aux.rule, idx)
- return sel
- end
-end
-
-auto_aux.types_desc =
-{
- ["and"] =
- {
- "Check is true if all rules within it are true",
- xml:collect([[<and><foo1>...</foo1><foo2>...</foo2><foo3>...</foo3></and>]]),
- function ()
- return xml:collect("<and></and>")
- end,
- },
- ["or"] =
- {
- "Check is true if at least one rule within it is true",
- xml:collect([[<or><foo1>...</foo1><foo2>...</foo2><foo3>...</foo3></or>]]),
- function ()
- return xml:collect("<or></or>")
- end,
- },
- ["not"] =
- {
- "Invert the result of its child rule",
- xml:collect([[<not><foo1>...</foo1></not>]]),
- function ()
- return xml:collect("<not></not>")
- end,
- },
- ["comment"] =
- {
- "Comments are meaningless",
- xml:collect([[<comment>Comment explaining something</comment>]]),
- function ()
- local n = input_box("Comment?", 79)
- if n == "" then return end
- return xml:collect("<comment>"..n.."</comment>")
- end,
- },
- ["name"] =
- {
- "Check is true if object name matches name",
- xml:collect([[<name>potion of healing</name>]]),
- function ()
- local n = input_box("Object name to match?", 79)
- if n == "" then return end
- return xml:collect("<name>"..n.."</name>")
- end,
- },
- ["contain"] =
- {
- "Check is true if object name contains word",
- xml:collect([[<contain>healing</contain>]]),
- function ()
- local n = input_box("Word to find in object name?", 79)
- if n == "" then return end
- return xml:collect("<contain>"..n.."</contain>")
- end,
- },
- ["inscribed"] =
- {
- "Check is true if object inscription contains word",
- xml:collect([[<inscribed>=g</inscribed>]]),
- function ()
- local n = input_box("Word to find in object inscription?", 79)
- if n == "" then return end
- return xml:collect("<inscribed>"..n.."</inscribed>")
- end,
- },
- ["discount"] =
- {
- "Check is true if object discount is between 2 values",
- xml:collect([[<sval min='50' max='100'></sval>]]),
- function ()
- local s = "<discount "
-
- local n = input_box("Min discount?", 79)
- if n == "" then return end
- s = s.."min='"..n.."' "
-
- n = input_box("Max discount?", 79)
- if n == "" then return end
- s = s.."max='"..n.."'></discount>"
- return xml:collect(s)
- end,
- },
- ["symbol"] =
- {
- "Check is true if object symbol is ok",
- xml:collect([[<symbol>!</symbol>]]),
- function ()
- local n = input_box("Symbol to match?", 1)
- if n == "" then return end
- return xml:collect("<symbol>"..n.."</symbol>")
- end,
- },
- ["status"] =
- {
- "Check is true if object status is ok",
- xml:collect([[<status>good</status>]]),
- function ()
- local n = msg_box("[t]errible, [v]ery bad, [b]ad, [a]verage, [G]ood, [V]ery good, [S]pecial?")
- local t =
- {
- ["t"] = "terrible",
- ["v"] = "very bad",
- ["b"] = "bad",
- ["a"] = "average",
- ["G"] = "good",
- ["V"] = "very good",
- ["S"] = "special",
- }
- if not t[strchar(n)] then return end
- return xml:collect("<status>"..t[strchar(n)].."</status>")
- end,
- },
- ["state"] =
- {
- "Check is true if object is identified/unidentified",
- xml:collect([[<state>identified</state>]]),
- function ()
- local n = msg_box("[i]dentified, [n]on identified?")
- local t =
- {
- ["i"] = "identified",
- ["n"] = "not identified",
- }
- if not t[strchar(n)] then return end
- return xml:collect("<state>"..t[strchar(n)].."</state>")
- end,
- },
- ["tval"] =
- {
- "Check is true if object tval(from k_info.txt) is ok",
- xml:collect([[<tval>55</tval>]]),
- function ()
- local n = input_box("Tval to match?", 79)
- if n == "" then return end
- return xml:collect("<tval>"..n.."</tval>")
- end,
- },
- ["sval"] =
- {
- {
- "Check is true if object sval(from k_info.txt) is between",
- "2 values",
- },
- xml:collect([[<sval min='0' max='100'></sval>]]),
- function ()
- local s = "<sval "
-
- local n = input_box("Min sval?", 79)
- if n == "" then return end
- s = s.."min='"..n.."' "
-
- n = input_box("Max sval?", 79)
- if n == "" then return end
- s = s.."max='"..n.."'></sval>"
- return xml:collect(s)
- end,
- },
- ["race"] =
- {
- "Check is true if player race is ok",
- xml:collect([[<race>dunadan</race>]]),
- function ()
- local n = input_box("Player race to match?", 79)
- if n == "" then return end
- return xml:collect("<race>"..n.."</race>")
- end,
- },
- ["subrace"] =
- {
- "Check is true if player subrace is ok",
- xml:collect([[<subrace>vampire</subrace>]]),
- function ()
- local n = input_box("Player subrace to match?", 79)
- if n == "" then return end
- return xml:collect("<subrace>"..n.."</subrace>")
- end,
- },
- ["class"] =
- {
- "Check is true if player class is ok",
- xml:collect([[<class>sorceror</class>]]),
- function ()
- local n = input_box("Player class to match?", 79)
- if n == "" then return end
- return xml:collect("<class>"..n.."</class>")
- end,
- },
- ["level"] =
- {
- "Check is true if player level is between 2 values",
- xml:collect([[<level min='20' max='50'></level>]]),
- function ()
- local s = "<level "
-
- local n = input_box("Min player level?", 79)
- if n == "" then return end
- s = s.."min='"..n.."' "
-
- n = input_box("Max player level?", 79)
- if n == "" then return end
- s = s.."max='"..n.."'></level>"
-
- return xml:collect(s)
- end,
- },
- ["skill"] =
- {
- "Check is true if player skill level is between 2 values",
- xml:collect([[<skill min='10' max='20'>Divination</skill>]]),
- function ()
- local s = "<skill "
-
- local n = input_box("Min skill level?", 79)
- if n == "" then return end
- s = s.."min='"..n.."' "
-
- n = input_box("Max skill level?", 79)
- if n == "" then return end
- s = s.."max='"..n.."'>"
-
- n = input_box("Skill name?", 79)
- if n == "" then return end
- if find_skill_i(n) == -1 then return end
- s = s..n.."</skill>"
-
- return xml:collect(s)
- end,
- },
- ["ability"] =
- {
- "Check is true if player has the ability",
- xml:collect([[<ability>Ammo creation</ability>]]),
- function()
- local n = input_box("Ability name?", 79)
- if n == "" then return end
- if find_ability(n) == -1 then return end
- return xml:collect("<ability>"..n.."</ability>")
- end,
- },
- ["inventory"] =
- {
- {
- "Check is true if something in player's inventory matches",
- "the contained rule",
- },
- xml:collect([[<inventory><foo1>...</foo1></inventory>]]),
- function ()
- return xml:collect("<inventory></inventory>")
- end,
- },
- ["equipment"] =
- {
- {
- "Check is true if something in player's equipment matches",
- "the contained rule",
- },
- xml:collect([[<equipment><foo1>...</foo1></equipment>]]),
- function ()
- return xml:collect("<equipment></equipment>")
- end,
- },
-}
-
-function auto_aux:display_desc(sel)
- local d = auto_aux.types_desc[sel][1]
- if type(d) == "string" then
- c_prt(TERM_WHITE, d, 1, 17)
- else
- local k, e, i
- i = 0
- for k, e in d do
- c_prt(TERM_WHITE, e, 1 + i, 17)
- i = i + 1
- end
- end
-end
-
-function auto_aux:add_child(sel)
- -- <rule> and <not> contain only one match
- if (auto_aux.rule.label == "rule" or auto_aux.rule.label == "not") and auto_aux.rule[1] then return end
- if (auto_aux.rule.label == "rule" or auto_aux.rule.label == "equipment") and auto_aux.rule[1] then return end
- if (auto_aux.rule.label == "rule" or auto_aux.rule.label == "inventory") and auto_aux.rule[1] then return end
-
- -- Only <and> and <or> can contain
- if auto_aux.rule.label ~= "rule" and auto_aux.rule.label ~= "and" and auto_aux.rule.label ~= "or" and auto_aux.rule.label ~= "not" and auto_aux.rule.label ~= "equipment" and auto_aux.rule.label ~= "inventory" then return end
-
- -- get it
- local r = auto_aux.types_desc[sel][3]()
- if not r then return end
-
- -- Ok add it
- tinsert(auto_aux.rule, r[1])
-end
-
-function auto_aux.regen_ruleset()
- local i
- for i = 0, __rules_max - 1 do
- __rules[i].fct = gen_full_rule(__rules[i].table)
- end
-end
-
-
--- Easily add new rules
-function easy_add_rule(typ, mode, do_status, obj)
- local detect_rule
-
- if mode == "tval" then
- detect_rule = "<tval>"..obj.tval.."</tval>"
- elseif mode == "tsval" then
- detect_rule = "<and><tval>"..obj.tval.."</tval><sval min='"..obj.sval.."' max='"..obj.sval.."'></sval></and>"
- elseif mode == "name" then
- detect_rule = "<name>"..strlower(object_desc(obj, -1, 0)).."</name>"
- end
-
- if do_status == TRUE then
- local status = object_status(obj)
- if status and not (status == "") then
- detect_rule = "<and>"..detect_rule.."<status>"..status.."</status></and>"
- end
- end
-
- local rule = "<rule module='"..game_module.."' name='"..typ.."' type='"..typ.."'>"..detect_rule.."</rule>"
- auto_aux:new_rule(0, xml:collect(rule)[1], '')
- auto_aux.regen_ruleset()
- msg_print("Rule added. Please go to the Automatizer screen (press = then T)")
- msg_print("to save the modified ruleset.")
-end
diff --git a/lib/core/building.lua b/lib/core/building.lua
deleted file mode 100644
index 8e88888a..00000000
--- a/lib/core/building.lua
+++ /dev/null
@@ -1,15 +0,0 @@
-__building_actions = {}
-
-function add_building_action(a)
- assert(a.index, "No building action index")
- assert(a.action, "No building action action")
- __building_actions[a.index] = a.action
-end
-
-function __bact_activate(bact)
- if __building_actions[bact] then
- return __building_actions[bact]()
- end
-end
-
-add_hook_script(HOOK_BUILDING_ACTION, "__bact_activate", "__bact_activate")
diff --git a/lib/core/crpt_aux.lua b/lib/core/crpt_aux.lua
deleted file mode 100644
index 97f8d4b6..00000000
--- a/lib/core/crpt_aux.lua
+++ /dev/null
@@ -1,182 +0,0 @@
--- Core functions for corruptions
-
-__corruptions = {}
-__corruptions_max = 0
-__corruptions_callbacks_max = 0
-
--- Get the corruption
-function player.corruption(c, set)
- if set then
- player.corruptions_aux[c + 1] = set
- player.redraw = bor(player.redraw, PR_BASIC)
- player.update = bor(player.update, PU_BONUS, PU_TORCH, PU_BODY, PU_POWERS)
- if (set == TRUE) and (__corruptions[c].gain) then
- __corruptions[c].gain()
- end
- if (set == FALSE) and (__corruptions[c].lose) then
- __corruptions[c].lose()
- end
- else
- return player.corruptions_aux[c + 1]
- end
-end
-
--- Test if we have that corruption
--- We must:
--- 1) have it or be willing to get it
--- 2) have all its dependancies
--- 3) have none of its opposing corruptions
--- 4) pass the possible tests
-function test_depend_corrupt(corrupt, can_gain)
- local i, c
-
- if not can_gain then can_gain = FALSE end
-
- if can_gain == TRUE then
- if (player.corruption(corrupt) ~= FALSE) then
- return FALSE
- end
- else
- if (player.corruption(corrupt) ~= TRUE) then
- return FALSE
- end
- end
-
- for c, i in __corruptions[corrupt].depends do
- if test_depend_corrupt(c) ~= TRUE then
- return FALSE
- end
- end
-
- for c, i in __corruptions[corrupt].oppose do
- if test_depend_corrupt(c) ~= FALSE then
- return FALSE
- end
- end
-
- -- are we even allowed to get it?
- if __corruptions[corrupt].can_gain and (not __corruptions[corrupt].can_gain()) then
- return FALSE
- end
-
- return TRUE
-end
-
--- Gain a new corruption
-function gain_corruption(group)
- local i, max
- local pos = {}
-
- -- Get the list of all possible ones
- max = 0
- for i = 0, __corruptions_max - 1 do
- if __corruptions[i].group == group and test_depend_corrupt(i, TRUE) == TRUE and __corruptions[i].random == TRUE and __corruptions[i].allow() then
- pos[max] = i
- max = max + 1
- end
- end
-
- -- Ok now get one of them
- if (max > 0) then
- local ret = rand_int(max)
-
- player.corruption(pos[ret], TRUE)
- cmsg_print(TERM_L_RED, __corruptions[pos[ret]].get_text)
-
- return pos[ret]
- else
- return -1
- end
-end
-
--- Lose an existing corruption
-function lose_corruption()
- local i, max
- local pos = {}
-
- -- Get the list of all possible ones
- max = 0
- for i = 0, __corruptions_max - 1 do
- if test_depend_corrupt(i) == TRUE and __corruptions[i].removable == TRUE then
- pos[max] = i
- max = max + 1
- end
- end
-
- -- Ok now get one of them
- if (max > 0) then
- local ret = rand_int(max)
-
- player.corruption(pos[ret], FALSE)
- cmsg_print(TERM_L_RED, __corruptions[pos[ret]].lose_text)
-
- -- Ok now lets see if it broke some dependancies
- for i = 0, max - 1 do
- if player.corruption(pos[i]) ~= test_depend_corrupt(pos[i]) then
- player.corruption(pos[i], FALSE)
- cmsg_print(TERM_L_RED, __corruptions[pos[i]].lose_text)
- end
- end
-
- return pos[ret]
- else
- return -1
- end
-end
-
--- Lose all corruptions (for e.g. Potion of New Life)
-function lose_all_corruptions()
- local i;
- for i = 0, __corruptions_max - 1 do
- lose_corruption()
- end
- return -1
-end
-
--- Creates a new corruption
-function add_corruption(c)
- assert(c.color, "No corruption color")
- assert(c.name, "No corruption name")
- assert(c.get_text, "No corruption get_text")
- assert(c.lose_text, "No corruption lose_text")
- assert(c.desc, "No corruption desc")
- assert(c.hooks, "Nothing to do for corruption")
- if not c.random then c.random = TRUE end
- if not c.removable then c.removable = TRUE end
- if not c.allow then c.allow = function() return not nil end end
-
- if c.depends == nil then c.depends = {} end
- if c.oppose == nil then c.oppose = {} end
-
- -- We must make sure the other ones opposes too
- local o, i
- for o, i in c.oppose do
- __corruptions[o].oppose[__corruptions_max] = TRUE
- end
-
- local index, h
- for index, h in c.hooks do
- add_hook_script(index, "__lua__corrupt_callback"..__corruptions_callbacks_max, "__lua__corrupt_callback"..__corruptions_callbacks_max)
- setglobal("__lua__corrupt_callback"..__corruptions_callbacks_max,
- function (...)
- if test_depend_corrupt(%__corruptions_max) == TRUE then
- return call(%h, arg)
- end
- end
- )
- __corruptions_callbacks_max = __corruptions_callbacks_max + 1
- end
-
- if type(c.desc) == "table" then
- local new_desc = ""
- for index, h in c.desc do
- new_desc = new_desc..h.."\n"
- end
- c.desc = new_desc
- end
-
- __corruptions[__corruptions_max] = c
- __corruptions_max = __corruptions_max + 1
- return (__corruptions_max - 1)
-end
-
diff --git a/lib/core/dungeon.lua b/lib/core/dungeon.lua
deleted file mode 100644
index d91d785b..00000000
--- a/lib/core/dungeon.lua
+++ /dev/null
@@ -1,55 +0,0 @@
--- Internal lua file in charge of dungeon stuff
-
-function place_dungeon(y, x, d_idx)
- if d_idx then
- wild_map(y, x).entrance = 1000 + d_idx
- else
- wild_map(y, x).entrance = 0
- end
-end
-
-function dungeon(d_idx)
- return d_info[1 + d_idx]
-end
-
-function wild_feat(wild)
- return wf_info[1 + wild.feat]
-end
-
-function explode_dir(dir)
- return ddy[dir + 1], ddx[dir + 1]
-end
-
-function rotate_dir(dir, mov)
- if mov > 0 then
- if dir == 7 then dir = 8
- elseif dir == 8 then dir = 9
- elseif dir == 9 then dir = 6
- elseif dir == 6 then dir = 3
- elseif dir == 3 then dir = 2
- elseif dir == 2 then dir = 1
- elseif dir == 1 then dir = 4
- elseif dir == 4 then dir = 7
- end
- elseif mov < 0 then
- if dir == 7 then dir = 4
- elseif dir == 4 then dir = 1
- elseif dir == 1 then dir = 2
- elseif dir == 2 then dir = 3
- elseif dir == 3 then dir = 6
- elseif dir == 6 then dir = 9
- elseif dir == 9 then dir = 8
- elseif dir == 8 then dir = 7
- end
- end
-
- return dir
-end
-
--- Place a trap for a specific level
-function place_trap(y, x, level)
- local old_dun = dun_level
- dun_level = level
- %place_trap(y, x)
- dun_level = old_dun
-end
diff --git a/lib/core/gen_idx.lua b/lib/core/gen_idx.lua
deleted file mode 100644
index 5f3af435..00000000
--- a/lib/core/gen_idx.lua
+++ /dev/null
@@ -1,261 +0,0 @@
--- Place here the list of files to parse
-files =
-{
- "birth.txt",
- "experien.hlp",
- "gods.txt",
- "explore.hlp",
- "newbie.hlp",
- "advanced.hlp",
- "help.hlp",
- "general.txt",
- "whattome.txt",
- "dungeon.txt",
- "spoiler.hlp",
- "g_melkor.txt",
- "skills.txt",
- "c_bard.txt",
- "c_druid.txt",
- "c_lorema.txt",
- "c_mage.txt",
- "c_mimic.txt",
- "c_mindcr.txt",
- "c_monk.txt",
- "c_palad.txt",
- "c_posses.txt",
- "c_pr_drk.txt",
- "c_pr_eru.txt",
- "c_pr_man.txt",
- "c_symbia.txt",
- "c_alchem.txt",
- "c_archer.txt",
- "c_assass.txt",
- "c_axemas.txt",
- "c_demono.txt",
- "c_geoman.txt",
- "c_hafted.txt",
- "c_necro.txt",
- "c_polear.txt",
- "c_ranger.txt",
- "c_rogue.txt",
- "c_runecr.txt",
- "c_sorcer.txt",
- "c_swordm.txt",
- "c_thaum.txt",
- "c_unbel.txt",
- "c_warper.txt",
- "c_warrio.txt",
- "m_meta.txt",
- "rm_skel.txt",
- "rm_zomb.txt",
- "luckspoi.txt",
- "m_air.txt",
- "dunspoil.txt",
- "g_eru.txt",
- "g_manwe.txt",
- "g_tulkas.txt",
- "m_divin.txt",
- "m_mimic.txt",
- "m_water.txt",
- "magic.txt",
- "r_drkelf.txt",
- "r_dwarf.txt",
- "r_elf.txt",
- "r_hielf.txt",
- "r_hobbit.txt",
- "r_pettyd.txt",
- "r_wodelf.txt",
- "rm_spec.txt",
- "tome_faq.txt",
- "ability.txt",
- "automat.txt",
- "c_summon.txt",
- "command.txt",
- "corspoil.txt",
- "debug.txt",
- "m_music.txt",
- "rm_barb.txt",
- "macrofaq.txt",
- "m_necrom.txt",
- "m_mindcr.txt",
- "m_symbio.txt",
- "m_thaum.txt",
- "magic.hlp",
- "m_convey.txt",
- "m_fire.txt",
- "m_mana.txt",
- "m_mind.txt",
- "m_nature.txt",
- "m_tempo.txt",
- "m_udun.txt",
- "m_geoman.txt",
- "essences.txt",
- "r_ent.txt",
- "g_yavann.txt",
- "defines.txt",
- "rm_vamp.txt",
- "inscrip.txt",
- "m_earth.txt",
- "option.txt",
- "attack.txt",
- "version.txt",
- "m_demono.txt",
- "r_beorn.txt",
- "r_deathm.txt",
- "r_rohank.txt",
- "r_hafogr.txt",
- "r_human.txt",
- "r_kobold.txt",
- "r_maia.txt",
- "r_orc.txt",
- "r_thlord.txt",
- "r_troll.txt",
- "r_yeek.txt",
- "rm_class.txt",
- "rm_herm.txt",
- "rm_lsoul.txt",
- "wishing.txt",
- "c_priest.txt",
- "fatespoi.txt",
- "gambling.txt",
- "r_dunad.txt",
- "r_gnome.txt",
- "r_hafelf.txt",
- "c_merch.txt",
- "spoil_faq.txt",
-}
-
-out_file = "index.txt"
-
-index = {}
-
-function parse_file(file)
- local fff = openfile(path_build(ANGBAND_DIR_HELP, file), "r")
- local line
-
- line = read(fff, "*l")
- while line do
- local i, j, anchor, name, subname = strfind(line, "~~~~~(%d+)|([%d%a -]+)|([%d%a -]+)")
- if not i then
- i, j, anchor, name = strfind(line, "~~~~~(%d+)|([%d%a -]+)")
-
- subname = nil
- end
-
- if i then
- if not index[name] then
- index[name] = {}
- end
- if subname then
- tinsert(index[name], { __name__ = subname, __file__ = file, __anchor__ = anchor})
- else
- tinsert(index[name], { __name__ = "__primary__", __file__ = file, __anchor__ = anchor})
- end
- end
-
- line = read(fff, "*l")
- end
-
- closefile(fff)
-end
-
-function sort_fct(a, b)
- local i, len
-
- a = a.__name__
- b = b.__name__
-
- if strlen(a) > strlen(b) then len = strlen(b) else len = strlen(a) end
-
- for i = 1, len do
- local ac = strbyte(a, i)
- local bc = strbyte(b, i)
-
- if ac < bc then
- return not nil
- elseif ac > bc then
- return nil
- end
- end
- if strlen(a) > strlen(b) then return nil else return not nil end
-end
-
-function generate_index()
- local k, e, index_list
- for _, e in files do
- parse_file(e)
- end
-
- index_list = {}
- for k, e in index do
- -- Ok either my sort function or lua sort function sucks ass ..
- sort(e, sort_fct)
- sort(e, sort_fct)
- sort(e, sort_fct)
- sort(e, sort_fct)
- sort(e, sort_fct)
- tinsert(index_list, {__name__= k, __table__ = e})
- end
-
- -- Ok either my sort function or lua sort function sucks ass ..
- sort(index_list, sort_fct)
- sort(index_list, sort_fct)
- sort(index_list, sort_fct)
- sort(index_list, sort_fct)
- sort(index_list, sort_fct)
- index = index_list
-end
-
-function out_link(fff, space, name, file, anchor)
- write(fff, space.."*****"..file.."*"..anchor.."["..name.."]\n")
-end
-
-function print_index()
- local i, j, c, new_c
- local fff = openfile(path_build(ANGBAND_DIR_HELP, out_file), "w")
-
- write(fff,
-[[|||||oy
-#####R /----------------------------------------\
-#####R < Help Index >
-#####R \----------------------------------------/
-
-This is the index of everything in the T.o.M.E. documentation.
-
-#####BHit a letter key to jump to the entries for that letter.
-
-Some entries in the index link to the same place as other entries. This is
-intentional, so that the information you want is easy to find.
-
-Don't forget you can browse the help from the *****help.hlp*02[Main menu].
-
-#####sSpotted a problem with the help files, or some content thats missing?
-#####sContact fearoffours@t-o-m-e.net .
-
-]])
-
- c = ' '
- for i = 1, getn(index) do
- new_c = strbyte(index[i].__name__, 1)
- if c ~= new_c then
- c = new_c
- write(fff, "~~~~~"..c.."\n")
- write(fff, "*****/"..strchar(c)..out_file.."*"..c.."["..strchar(c).."]\n")
- end
- for j = 1, getn(index[i].__table__) do
- if index[i].__table__[j].__name__ == "__primary__" then
- out_link(fff, " ", index[i].__name__, index[i].__table__[j].__file__, index[i].__table__[j].__anchor__)
- end
- end
- for j = 1, getn(index[i].__table__) do
- if index[i].__table__[j].__name__ ~= "__primary__" then
- out_link(fff, " ", index[i].__table__[j].__name__, index[i].__table__[j].__file__, index[i].__table__[j].__anchor__)
- end
- end
- end
- closefile(fff)
-end
-
-generate_index()
-
-print_index()
diff --git a/lib/core/gods.lua b/lib/core/gods.lua
deleted file mode 100644
index 77e0aad5..00000000
--- a/lib/core/gods.lua
+++ /dev/null
@@ -1,40 +0,0 @@
--- Gods helper files
-
--- Gods structs
-
-__gods_hook = {}
-__gods_callbacks = {}
-__gods_callbacks_max = 0
-
-function add_god(q)
- local i, index, d, z, qq
-
- assert(q.name, "No god name")
- assert(q.desc, "No god desc")
- assert(q.hooks, "No god hooks")
-
- i = add_new_gods(q.name);
-
- z = 0
- for index, d in q.desc do
- desc_god(i, z, d);
- z = z + 1
- end
-
- __gods_hook[i] = q.hooks
- for index, d in q.hooks do
- add_hook_script(index, "__lua__gods_callback"..__gods_callbacks_max, "__lua__gods_callback"..__gods_callbacks_max)
- setglobal("__lua__gods_callback"..__gods_callbacks_max, d)
- __gods_callbacks_max = __gods_callbacks_max + 1
- end
- if q.data then
- for index, d in q.data do
- -- Besure it exists
- setglobal(index, d)
-
- -- Make it save & load
- add_loadsave(index, d)
- end
- end
- return i
-end
diff --git a/lib/core/help.lua b/lib/core/help.lua
deleted file mode 100644
index a581fe63..00000000
--- a/lib/core/help.lua
+++ /dev/null
@@ -1,141 +0,0 @@
--- Ingame contextual help
-
--- We use our own hook list as to not overburn the hook proccessor
--- with many hooks that would slow down things
--- It would be very meaningless if the option is not even on
-__ingame_hooks = {}
-
-__ingame_help_max = 0
-
-function ingame_help(t, ...)
- -- This function can also be used to call the callbacks
- if type(t) == "string" then
- local f = getglobal("__ingame_help_fct_"..t)
- call(f, arg)
- return
- end
-
- assert(t.desc or t.fct, "no ingame help desc/fct")
- assert(t.hook or t.callback, "no ingame help hook/callback")
- if t.hook then assert(t.event, "no ingame hepl event needed by hook") end
-
- -- Set it to only trigger once
- setglobal("__ingame_help_activated_"..__ingame_help_max, FALSE)
- -- Save/load it
- add_loadsave("__ingame_help_activated_"..__ingame_help_max, FALSE)
-
- if t.hook then
- -- If the hok list didnt exist yet, add it
- if not __ingame_hooks[t.hook] then
- -- Set it to empty, we'll fill it later
- __ingame_hooks[t.hook] = {}
- -- Add the global hook
- add_hooks
- {
- [t.hook] = function (...)
- if option_ingame_help ~= TRUE then return end
- local k, e
- for k, e in __ingame_hooks[%t.hook] do
- if k ~= "n" then
- call(e, arg)
- end
- end
- end
- }
- end
- if t.desc then
- tinsert(__ingame_hooks[t.hook],
- function (...)
- local tbl = %t
- if getglobal("__ingame_help_activated_"..%__ingame_help_max) == FALSE then
- if call(tbl.event, arg) == TRUE then
- local k, e
- for k, e in tbl.desc do
- msg_print(TERM_YELLOW, e)
- end
- setglobal("__ingame_help_activated_"..%__ingame_help_max, TRUE)
- end
- end
- end
- )
- elseif t.fct then
- tinsert(__ingame_hooks[t.hook],
- function (...)
- local tbl = %t
- if getglobal("__ingame_help_activated_"..%__ingame_help_max) == FALSE then
- if call(tbl.event, arg) == TRUE then
- if tbl.fct() == TRUE then
- setglobal("__ingame_help_activated_"..%__ingame_help_max, TRUE)
- end
- end
- end
- end
- )
- end
- else
- local no_test = FALSE
- if t.no_test == TRUE then no_test = TRUE end
- if t.desc then
- setglobal
- (
- "__ingame_help_fct_"..(t.callback),
- function (...)
- local tbl = %t
- if ((option_ingame_help == TRUE) or (%no_test == TRUE)) and (getglobal("__ingame_help_activated_"..%__ingame_help_max) == FALSE) then
- local k, e
- for k, e in tbl.desc do
- msg_print(TERM_YELLOW, e)
- end
- setglobal("__ingame_help_activated_"..%__ingame_help_max, TRUE)
- end
- end
- )
- elseif t.fct then
- setglobal
- (
- "__ingame_help_fct_"..(t.callback),
- function (...)
- local tbl = %t
- if ((option_ingame_help == TRUE) or (%no_test == TRUE)) and (getglobal("__ingame_help_activated_"..%__ingame_help_max) == FALSE) then
- if call(tbl.fct, arg) == TRUE then
- setglobal("__ingame_help_activated_"..%__ingame_help_max, TRUE)
- end
- end
- end
- )
- end
- end
-
- __ingame_help_max = __ingame_help_max + 1
-end
-
--- Clean up the ingame help seen at birth
-add_hooks
-{
- [HOOK_BIRTH_OBJECTS] = function()
- local i
- for i = 0, __ingame_help_max - 1 do
- setglobal("__ingame_help_activated_"..i, FALSE)
- end
- end
-}
-
-function ingame_clean()
- local i
- for i = 0, __ingame_help_max - 1 do
- setglobal("__ingame_help_activated_"..i, FALSE)
- end
-end
-
--- helper function, brings up a doc
-function ingame_help_doc(name, anchor)
- -- Save screen
- screen_save();
-
- -- Peruse the help file
- if not anchor then anchor = 0 end
- show_file(name, 0, -anchor, 0)
-
- -- Load screen
- screen_load()
-end
diff --git a/lib/core/init.lua b/lib/core/init.lua
deleted file mode 100644
index 11b812d5..00000000
--- a/lib/core/init.lua
+++ /dev/null
@@ -1,83 +0,0 @@
---
--- This file is loaded at the initialisation of ToME
--- Load the system functions
---
-
--- Name of globals to save
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "load.lua")
-
--- Very thin xml parser(49 lines ;)
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "xml.lua")
-
--- various vital helper code
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "util.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "player.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "objects.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "monsters.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "building.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "dungeon.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "s_aux.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "crpt_aux.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "mimc_aux.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "quests.lua")
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "gods.lua")
-
--- Load the ingame contextual help
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "help.lua")
-
--- let the store specific stuff happen!
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "stores.lua")
-
---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------
--------------Here we load the non vital scripts---------------
------------------------from lib/scpt--------------------------
---------------------------------------------------------------
---------------------------------------------------------------
-tome_dofile("init.lua")
-
--- The dofile functions for each patch
-patch_dofile = {}
-
--- Now load patches
-function load_patches()
- scansubdir(ANGBAND_DIR_PATCH)
- for i = 0, scansubdir_max - 1 do
- if (scansubdir_result[i + 1] ~= ".") and (scansubdir_result[i + 1] ~= "..") then
- local dir = path_build(ANGBAND_DIR_PATCH, scansubdir_result[i + 1])
- local file = path_build(dir, "patch.lua")
- if file_exist(file) == TRUE then
- patch_init = nil
- tome_dofile_anywhere(dir, "patch.lua", TRUE)
- unset_safe_globals()
- if patch_init == nil then
- set_safe_globals()
- quit("Patch in "..file.." did not include a patch_init() function")
- else
- set_safe_globals()
-
- -- create the dofile function
- patch_dofile[scansubdir_result[i + 1]] = function(f)
- tome_dofile_anywhere(%dir, f, TRUE)
- end
-
- local name, version = patch_init()
- if name == nil or version == nil then
- quit("Patch in "..file.." did not return valid name or version.\nIt must return name, version")
- end
- patch_version(name, version)
- end
- end
- end
- end
-end
-load_patches()
-
---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------
---
--- Do not thouch after this line
---
-tome_dofile_anywhere(ANGBAND_DIR_CORE, "load2.lua")
diff --git a/lib/core/load.lua b/lib/core/load.lua
deleted file mode 100644
index 9522ec91..00000000
--- a/lib/core/load.lua
+++ /dev/null
@@ -1,37 +0,0 @@
--- Savefile stuff
--- Do not meddle in the affairs of savefiles for they are subtle and quick to be become incompatible
-
-__loadsave_name = {}
-__loadsave_max = 0
-__loadsave_tmp = 0
-
-function add_loadsave(name, default)
- assert(name, "No variable name to save")
- assert(default, "No default value")
-
- -- if it is a table we must create many entries
- if type(default) == "table" then
- for k, e in default do
- add_loadsave(name.."."..k, e)
- end
- else
- __loadsave_name[__loadsave_max] = { name = name, default = default }
- __loadsave_max = __loadsave_max + 1
- end
-end
-
--- Example of how to save a table
--- NOTE: { 1, 2, 3 } will NOT work, the key MUST be a string
---[[
-add_loadsave("t",
-{
- foo = 7,
- tab = {
- a = 1,
- b = 2,
- tab = {
- a=1, b=2, c=3,
- },
- },
-})
-]]
diff --git a/lib/core/load2.lua b/lib/core/load2.lua
deleted file mode 100644
index 7e151d91..00000000
--- a/lib/core/load2.lua
+++ /dev/null
@@ -1,56 +0,0 @@
--- Savefile helpers
-
--- function called when a key in the variable part ofthe savefile is read
--- if the key matches what we need, we use it, otehrwise just ignore it
-function __savefile_load(key, val)
- local index, elem
-
- for index, elem in __loadsave_name do
- if (key == elem.name) then
- dostring(elem.name.." = "..val)
- end
- end
-end
-
--- called when the game is saved, can only save numbers
--- assosiate a key with them to allow the loading code to recognize them
-function __savefile_save()
- local index, elem
- for index, elem in __loadsave_name do
- dostring("__loadsave_tmp = "..elem.name)
- save_number_key(elem.name, __loadsave_tmp);
- end
-end
-
-register_savefile(__loadsave_max)
-add_hook_script(HOOK_LOAD_GAME, "__savefile_load", "__hook_load")
-add_hook_script(HOOK_SAVE_GAME, "__savefile_save", "__hook_save")
-
--- Parse a flattened(i.e: foo.bar.zog) table path and recrate tables
-function reconstruct_table(name)
- for i = 1, strlen(name) - 1 do
- if strsub(name, i, i) == "." then
- local tbl = strsub(name, 1, i - 1)
-
- if dostring("return "..tbl) == nil then
- dostring(tbl.."={}")
- end
- end
- end
-end
-
--- Automagically set unkown variables, otherwise the savefile code
--- might get VERY upset
-do
- local k, e
- -- We need to be able to check for unknown globals
- unset_safe_globals()
- for k, e in __loadsave_name do
- reconstruct_table(e.name)
- if dostring("return "..(e.name)) == nil then
- dostring((e.name).." = "..(e.default))
- end
- end
- -- Now taht we did, we set it back, for it is usefull ;)
- set_safe_globals()
-end
diff --git a/lib/core/mimc_aux.lua b/lib/core/mimc_aux.lua
deleted file mode 100644
index cea1f4dc..00000000
--- a/lib/core/mimc_aux.lua
+++ /dev/null
@@ -1,96 +0,0 @@
--- Mimic shapes helper file
-
-__mimics = {}
-__mimics_max = 1
-__mimics_names = {}
-
-function add_mimic_shape(t)
- assert(t.name, "no mimic name")
- assert(t.desc, "no mimic desc")
- assert(t.calc, "no mimic calc")
- assert(t.level, "no mimic level")
- assert(t.duration, "no mimic duration")
-
- if not t.limit then t.limit = 0 end
-
- if not t.obj_name then
- t.obj_name = t.name
- end
-
- t.show_name = '['..t.name..']'
-
- -- if it needs hooks, add them
- if t.hooks then
- add_hooks(t.hooks)
- end
-
- -- Add it in a name to index hash table
- __mimics_names[t.name] = __mimics_max
-
- __mimics[__mimics_max] = t
- __mimics_max = __mimics_max + 1
-end
-
-function resolve_mimic_name(name)
- if __mimics_names[name] then
- return __mimics_names[name]
- else
- return -1
- end
-end
-
-function find_random_mimic_shape(level, limit, realm)
- local mimic, tries
-
- tries = 1000
- while tries > 0 do
- tries = tries - 1
- mimic = rand_range(1, __mimics_max - 1)
- if (not realm) or (__mimics[mimic].realm == realm) then
- if limit >= __mimics[mimic].limit then
- if (rand_int(__mimics[mimic].level * 3) < level) and (__mimics[mimic].rarity < 100) and (magik(100 - __mimics[mimic].rarity) == TRUE) then
- break
- end
- end
- end
- end
- if tries > 0 then
- return mimic
- else
- return resolve_mimic_name("Abomination")
- end
-end
-
-function get_mimic_info(mimic, info)
- if not __mimics[mimic] then return 0 end
- return __mimics[mimic][info]
-end
-
-function get_mimic_rand_dur(mimic)
- return rand_range(__mimics[mimic].duration[1], __mimics[mimic].duration[2])
-end
-
-function calc_mimic(mimic)
- return __mimics[mimic].calc()
-end
-
-function calc_mimic_power(mimic)
- if __mimics[mimic].power then __mimics[mimic].power() end
-end
-
---- Here comes the only vital shape
-
-add_mimic_shape
-{
- ["name"] = "Abomination",
- ["obj_name"] = "Abominable Cloak",
- ["desc"] = "Abominations are failed experiments of powerful wizards.",
- ["realm"] = nil,
- ["level"] = 1,
- ["rarity"] = 101,
- ["duration"] = {20, 100},
- ["calc"] = function ()
- apply_flags(TR1_SPEED + TR1_STR + TR1_INT + TR1_WIS + TR1_DEX + TR1_CON + TR1_CHR, 0, 0, 0, 0, 0, -10)
- player.xtra_f3 = bor(player.xtra_f3, TR3_AGGRAVATE)
- end,
-}
diff --git a/lib/core/monsters.lua b/lib/core/monsters.lua
deleted file mode 100644
index ca2851a0..00000000
--- a/lib/core/monsters.lua
+++ /dev/null
@@ -1,16 +0,0 @@
--- SYSTEM FILE
---
--- Monster stuff, do not touch
---
-
-function summon_monster(y, x, lev, friend, typ)
- if type(typ) == "number" then
- if friend == TRUE then
- return summon_specific_friendly(y, x, lev, typ, FALSE)
- else
- return summon_specific(y, x, lev, typ)
- end
- else
- return summon_monster_aux(y, x, lev, friend, typ)
- end
-end
diff --git a/lib/core/objects.lua b/lib/core/objects.lua
deleted file mode 100644
index 97320b82..00000000
--- a/lib/core/objects.lua
+++ /dev/null
@@ -1,45 +0,0 @@
--- SYSTEM FILE
---
--- Lua object funtions
---
-
-function create_object(tval, sval)
- local obj = new_object()
- object_prep(obj, lookup_kind(tval, sval))
- return (obj)
-end
-
-function set_item_tester(tester)
- if tolua.type(tester) == "number" then
- lua_set_item_tester(tester, "")
- end
- if tolua.type(tester) == "string" then
- lua_set_item_tester(0, tester)
- end
- if tolua.type(tester) == "function" then
- __get_item_hook_default = tester
- lua_set_item_tester(0, "__get_item_hook_default")
- end
-end
-
-function create_artifact(a_idx)
- local obj
- local tval, sval
-
- tval = a_info[a_idx + 1].tval
- sval = a_info[a_idx + 1].sval
- obj = create_object(tval, sval)
- obj.name1 = a_idx
- apply_magic(obj, -1, TRUE, TRUE, TRUE)
-
- return (obj)
-end
-
-function get_kind(obj)
- return k_info[obj.k_idx + 1]
-end
-
-function get_item(ask, deny, flags, mask)
- set_item_tester(mask)
- return get_item_aux(0, ask, deny, flags)
-end
diff --git a/lib/core/player.lua b/lib/core/player.lua
deleted file mode 100644
index 16878228..00000000
--- a/lib/core/player.lua
+++ /dev/null
@@ -1,135 +0,0 @@
--- SYSTEM FILE
---
--- Lua player funtions
---
-
--- Gods
-function deity(i)
- return deity_info[1 + i]
-end
-
--------- skill stuff ---------
-
--- Easy skill access
-function skill(i)
- return s_info[i + 1]
-end
-
--- Sart a lasting spell
-function player.start_lasting_spell(spl)
- player.music_extra = -spl
-end
-
--- stat mods
-function player.modify_stat(stat, inc)
- player.stat_add[1 + stat] = player.stat_add[1 + stat] + inc
-end
-
--- powers mods
-function player.add_power(pow)
- player.powers[1 + pow] = TRUE
-end
-
--- easier inventory access
-function player.inventory(i)
- return player.inventory_real[i + 1]
-end
-
--- modify mana
--- returns TRUE if there is a pb
-function increase_mana(amt)
- player.csp = player.csp + amt
- player.redraw = bor(player.redraw, PR_MANA)
- if (player.csp < 0) then
- player.csp = 0
- return TRUE
- end
- if (player.csp > player.msp) then
- player.csp = player.msp
- end
- return FALSE
-end
-
-
--- Return the coordinates of the player whether in wild or not
-function player.get_wild_coord()
- if player.wild_mode == TRUE then
- return player.py, player.px
- else
- return player.wilderness_y, player.wilderness_x
- end
-end
-
--- Create a new power
-__power_fct = {}
-function add_power(p)
- local i
-
- assert(p.name, "No power name!")
- assert(p.desc, "No power desc!")
- assert(p.desc_get, "No power desc get!")
- assert(p.desc_lose, "No power desc lose!")
- assert(p.stat, "No power stat!")
- assert(p.level, "No power level!")
- assert(p.cost, "No power cost!")
- assert(p.fail, "No power fail!")
- assert(p.power, "No power power!")
-
- i = add_new_power(p.name, p.desc, p.desc_get, p.desc_lose, p.level, p.cost, p.stat, p.fail)
- __power_fct[i] = p.power
- return i
-end
-
-function __power_fct_activate(power)
- if __power_fct[power] then
- __power_fct[power]()
- return TRUE
- else
- return FALSE
- end
-end
-
--- Register in the hook list
-add_hook_script(HOOK_ACTIVATE_POWER, "__power_fct_activate", "__power_fct_activate")
-
-
---- Mkeys
-
--- Create a new power
-__mkey_fct = {}
-function add_mkey(p)
- local i
-
- assert(p.mkey, "No mkey mkey!")
- assert(p.fct, "No mkeey fct!")
-
- __mkey_fct[p.mkey] = p.fct
-end
-
-function __mkey_fct_activate(power)
- if __mkey_fct[power] then
- __mkey_fct[power]()
- return TRUE
- else
- return FALSE
- end
-end
-
--- Register in the hook list
-add_hook_script(HOOK_MKEY, "__mkey_fct_activate", "__mkey_fct_activate")
-
-
--- Subraces
-function subrace(racem)
- return race_mod_info[racem + 1]
-end
-
-function subrace_add_power(subrace, power)
- for i = 1, 4 do
- if subrace.powers[i] == -1 then
- subrace.powers[i] = power
- return not nil
- end
- end
- return nil
-end
diff --git a/lib/core/quests.lua b/lib/core/quests.lua
deleted file mode 100644
index dfe9db51..00000000
--- a/lib/core/quests.lua
+++ /dev/null
@@ -1,57 +0,0 @@
--- Quest helper files
-
--- Quest structs
-
-__quest_hook = {}
-__quest_callbacks = {}
-__quest_callbacks_max = 0
-__quest_dynamic_desc = {}
-
-function add_quest(q)
- local i, index, d, z, qq
-
- assert(q.global, "No quest global name")
- assert(q.name, "No quest name")
- assert(q.desc, "No quest desc")
- assert(q.level, "No quest level")
- assert(q.hooks, "No quest hooks")
-
- i = new_quest(q.name);
- setglobal(q.global, i)
-
- -- Make it save & load
- add_loadsave("quest("..q.global..").status", QUEST_STATUS_UNTAKEN)
-
- if type(q.desc) == "table" then
- z = 0
- for index, d in q.desc do
- quest_desc(i, z, d);
- z = z + 1
- end
- else
- __quest_dynamic_desc[i] = q.desc
- quest(i).dynamic_desc = TRUE
- end
- quest(i).level = q.level
- if not q.silent then
- quest(i).silent = FALSE
- else
- quest(i).silent = q.silent
- end
- __quest_hook[i] = q.hooks
- for index, d in q.hooks do
- add_hook_script(index, "__lua__quest_callback"..__quest_callbacks_max, "__lua__quest_callback"..__quest_callbacks_max)
- setglobal("__lua__quest_callback"..__quest_callbacks_max, d)
- __quest_callbacks_max = __quest_callbacks_max + 1
- end
- if q.data then
- for index, d in q.data do
- -- Besure it exists
- setglobal(index, d)
-
- -- Make it save & load
- add_loadsave(index, d)
- end
- end
- return i
-end
diff --git a/lib/core/s_aux.lua b/lib/core/s_aux.lua
deleted file mode 100644
index ec609b04..00000000
--- a/lib/core/s_aux.lua
+++ /dev/null
@@ -1,716 +0,0 @@
--- Functions to help with spells, do not touch
-
-__schools = {}
-__schools_num = 0
-
-__tmp_spells = {}
-__tmp_spells_num = 0
-
-function add_school(s)
- __schools[__schools_num] = s
-
- __schools_num = __schools_num + 1
- return (__schools_num - 1)
-end
-
-function finish_school(i)
- local s
-
- s = __schools[i]
- assert(s.name, "No school name!")
- assert(s.skill, "No school skill!")
-
- -- Need hooks?
- if s.hooks then
- add_hooks(s.hooks)
- end
-
- new_school(i, s.name, s.skill)
-end
-
-function add_spell(s)
- __tmp_spells[__tmp_spells_num] = s
-
- __tmp_spells_num = __tmp_spells_num + 1
- return (__tmp_spells_num - 1)
-end
-
-function finish_spell(must_i)
- local i, s
-
- s = __tmp_spells[must_i]
- assert(s.name, "No spell name!")
- assert(s.school, "No spell school!")
- assert(s.level, "No spell level!")
- assert(s.mana, "No spell mana!")
- if not s.mana_max then s.mana_max = s.mana end
- assert(s.fail, "No spell failure rate!")
- assert(s.spell, "No spell function!")
- if not s.info then s.info = function() return "" end end
- assert(s.desc, "No spell desc!")
- if not s.random then s.random = SKILL_MAGIC end
- if s.lasting then
- assert(type(s.lasting) == "function", "Spell lasting is not function")
- end
- if s.stick then
- local k, e
- for k, e in s.stick do
- if type(k) == "table" then
- assert(e.base_level, "Arg no stick base level")
- assert(e.max_level, "Arg no stick max level")
- end
- end
- end
-
- i = new_spell(must_i, s.name)
- assert(i == must_i, "ACK ! i != must_i ! please contact the maintainer")
- if type(s.school) == "number" then __spell_school[i] = {s.school}
- else __spell_school[i] = s.school end
- spell(i).mana = s.mana
- spell(i).mana_max = s.mana_max
- spell(i).fail = s.fail
- spell(i).skill_level = s.level
- __spell_spell[i] = s.spell
- __spell_info[i] = s.info
- __spell_desc[i] = s.desc
- return i
-end
-
--- Creates the school books array
-__spell_spell = {}
-__spell_info = {}
-__spell_desc = {}
-__spell_school = {}
-school_book = {}
-
--- Find a spell by name
-function find_spell(name)
- local i
-
- i = 0
- while (i < __tmp_spells_num) do
- if __tmp_spells[i].name == name then return i end
- i = i + 1
- end
- return -1
-end
-
--- Find if the school is under the influence of a god, returns nil or the level
-function get_god_level(sch)
- if __schools[sch].gods[player.pgod] then
- return (s_info[__schools[sch].gods[player.pgod].skill + 1].value * __schools[sch].gods[player.pgod].mul) / __schools[sch].gods[player.pgod].div
- else
- return nil
- end
-end
-
--- Change this fct if I want to switch to learnable spells
-function get_level_school(s, max, min)
- local lvl, sch, index, num, bonus
- local allow_spell_power = TRUE
-
- lvl = 0
- num = 0
- bonus = 0
-
- -- No max specified ? assume 50
- if not max then
- max = 50
- end
- if not min then
- min = 1
- end
-
- -- Do we pass tests?
- if __tmp_spells[s].depend then
- if __tmp_spells[s].depend() ~= TRUE then
- return min, "n/a"
- end
- end
-
- for index, sch in __spell_school[s] do
- local r, s, p, ok = 0, 0, 0, 0
-
- -- Does it require we worship a specific god?
- if __schools[sch].god then
- if __schools[sch].god ~= player.pgod then
- if min then return min, "n/a"
- else return 1, "n/a" end
- end
- end
-
- -- Take the basic skill value
- r = s_info[(school(sch).skill) + 1].value
-
- -- Do we pass tests?
- if __schools[sch].depend then
- if __schools[sch].depend() ~= TRUE then
- return min, "n/a"
- end
- end
-
- -- Are we under sorcery effect ?
- if __schools[sch].sorcery then
- s = s_info[SKILL_SORCERY + 1].value
- end
-
- -- Are we affected by spell power ?
- -- All teh schools must allow it for it to work
- if not __schools[sch].spell_power then
- allow_spell_power = nil
- end
-
- -- Are we under a god effect ?
- if __schools[sch].gods then
- p = get_god_level(sch)
- if not p then p = 0 end
- end
-
- -- Find the higher
- ok = r
- if ok < s then ok = s end
- if ok < p then ok = p end
-
- -- Do we need to add a special bonus ?
- if __schools[sch].bonus_level then
- bonus = bonus + (__schools[sch].bonus_level() * (SKILL_STEP / 10))
- end
-
- -- All schools must be non zero to be able to use it
- if ok == 0 then return min, "n/a" end
-
- -- Apply it
- lvl = lvl + ok
- num = num + 1
- end
-
- -- Add the Spellpower skill as a bonus
- if allow_spell_power then
- bonus = bonus + (get_skill_scale(SKILL_SPELL, 20) * (SKILL_STEP / 10))
- end
-
- -- Add bonus from objects
- bonus = bonus + (player.to_s * (SKILL_STEP / 10))
-
- -- / 10 because otherwise we can overflow a s32b and we can use a u32b because the value can be negative
- -- The loss of information should be negligible since 1 skill = 1000 internally
- lvl = (lvl / num) / 10
- lvl = lua_get_level(s, lvl, max, min, bonus)
-
- return lvl, nil
-end
-
--- This is the function to use when casting through a stick
-function get_level_device(s, max, min)
- local lvl
-
- -- No max specified ? assume 50
- if not max then
- max = 50
- end
-
- lvl = s_info[SKILL_DEVICE + 1].value
- lvl = lvl + (get_level_use_stick * SKILL_STEP)
-
- -- Sticks are limited
- if lvl - ((spell(s).skill_level + 1) * SKILL_STEP) >= get_level_max_stick * SKILL_STEP then
- lvl = (get_level_max_stick + spell(s).skill_level - 1) * SKILL_STEP
- end
-
- -- / 10 because otherwise we can overflow a s32b and we can use a u32b because the value can be negative
- -- The loss of information should be negligible since 1 skill = 1000 internally
- lvl = lvl / 10
- if not min then
- lvl = lua_get_level(s, lvl, max, 1, 0)
- else
- lvl = lua_get_level(s, lvl, max, min, 0)
- end
-
- return lvl
-end
-
--- The real get_level, works for schooled magic and for innate powers
-get_level_use_stick = -1
-get_level_max_stick = -1
-function get_level(s, max, min)
- if type(s) == "number" then
- -- Ahah shall we use Magic device instead ?
- if get_level_use_stick > -1 then
- return get_level_device(s, max, min)
- else
- local lvl, na = get_level_school(s, max, min)
- return lvl
- end
- else
- return get_level_power(s, max, min)
- end
-end
-
--- Can we cast the spell ?
-function is_ok_spell(s, obj)
- if get_level(s, 50, 0) == 0 then return nil end
- if __tmp_spells[s].pval and obj.pval < __tmp_spells[s].pval then return nil end
- return 1
-end
-
--- Get the amount of mana(or power) needed
-function get_mana(s)
- return spell(s).mana + get_level(s, spell(s).mana_max - spell(s).mana, 0)
-end
-
--- Return the amount of power(mana, piety, whatever) for the spell
-function get_power(s)
- if check_affect(s, "piety", FALSE) then
- return player.grace
- else
- return player.csp
- end
-end
-
--- Return the amount of power(mana, piety, whatever) for the spell
-function get_power_name(s)
- if check_affect(s, "piety", FALSE) then
- return "piety"
- else
- return "mana"
- end
-end
-
--- Get the level of a power
-function get_level_power(s, max, min)
- if not max then max = 50 end
- if not min then min = 1 end
-
- return value_scale(s.get_current_level(), 50, max, min)
-end
-
--- Changes the amount of power(mana, piety, whatever) for the spell
-function adjust_power(s, x)
- if check_affect(s, "piety", FALSE) then
- inc_piety(GOD_ALL, x)
- else
- increase_mana(x)
- end
-end
-
--- Get spell school name(s) as a /-separated string.
-function spell_school_name(s)
- local xx, sch_str
- xx = nil
- sch_str = ""
- for index, sch in __spell_school[s] do
- if xx then
- sch_str = sch_str.."/"..school(sch).name
- else
- xx = 1
- sch_str = sch_str..school(sch).name
- end
- end
- return sch_str
-end
-
--- Print the book and the spells
-function print_book(book, spl, obj)
- local x, y, index, sch, size, s
-
- x = 0
- y = 2
- size = 0
-
- -- 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 color = TERM_L_DARK
- local lvl, na = get_level_school(s, 50, -50)
- local xx, sch_str
-
- if is_ok_spell(s, obj) then
- if get_mana(s) > get_power(s) then color = TERM_ORANGE
- else color = TERM_L_GREEN end
- end
-
- sch_str = spell_school_name(s)
-
- if na then
- c_prt(color, format("%c) %-20s%-16s %3s %4s %3d%s %s", size + strbyte("a"), spell(s).name, sch_str, na, get_mana(s), spell_chance(s), "%", __spell_info[s]()), y, x)
- else
- c_prt(color, format("%c) %-20s%-16s %3d %4s %3d%s %s", size + strbyte("a"), 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
- prt(format(" %-20s%-16s Level Cost Fail Info", "Name", "School"), 1, x)
- return y
-end
-
--- Output the describtion when it is used as a spell
-function print_spell_desc(s, y)
- local index, desc, x
-
- x = 0
-
- if type(__spell_desc[s]) == "string" then c_prt(TERM_L_BLUE, __spell_desc[s], y, x)
- else
- for index, desc in __spell_desc[s] do
- c_prt(TERM_L_BLUE, desc, y, x)
- y = y + 1
- end
- end
- if check_affect(s, "piety", FALSE) then
- c_prt(TERM_L_WHITE, "It uses piety to cast.", y, x)
- y = y + 1
- end
- if not check_affect(s, "blind") then
- c_prt(TERM_ORANGE, "It is castable even while blinded.", y, x)
- y = y + 1
- end
- if not check_affect(s, "confusion") then
- c_prt(TERM_ORANGE, "It is castable even while confused.", y, x)
- y = y + 1
- end
-end
-
--- Output the desc when sued as a device
-function print_device_desc(s)
- local index, desc
-
- if type(__spell_desc[s]) == "string" then text_out(__spell_desc[s])
- else
- for index, desc in __spell_desc[s] do
- text_out("\n" .. desc)
- end
- end
-end
-
-function book_spells_num(book)
- local size, index, sch
-
- size = 0
-
- -- Hack if the book is 255 it is a random book
- if book == 255 then
- return 1
- end
-
- -- Parse all spells
- for index, s in school_book[book] do
- size = size + 1
- end
- return size
-end
-
-function spell_x(book, spl, s)
- if book == 255 then
- return spl
- else
- local i, x, val
-
- i, val = next(school_book[book], nil)
- x = 0
- while x < s do
- i, val = next(school_book[book], i)
- x = x + 1
- end
- return val
- end
-end
-
-function spell_in_book(book, spell)
- local i, s
-
- for i, s in school_book[book] do
- if s == spell then return TRUE end
- end
- return FALSE
-end
-
--- Returns spell chance of failure for spell
-function spell_chance(s)
- local chance, s_ptr
-
- s_ptr = spell(s)
-
- -- Extract the base spell failure rate
- if get_level_use_stick > -1 then
- chance = lua_spell_device_chance(s_ptr.fail, get_level(s, 50), s_ptr.skill_level)
- else
- chance = lua_spell_chance(s_ptr.fail, get_level(s, 50), s_ptr.skill_level, get_mana(s), get_power(s), get_spell_stat(s))
- end
-
- -- Return the chance
- return chance
-end
-
-function check_affect(s, name, default)
- local s_ptr = __tmp_spells[s]
- local a
-
- if type(s_ptr[name]) == "number" then
- a = s_ptr[name]
- else
- a = default
- end
- if a == FALSE then
- return nil
- else
- return TRUE
- end
-end
-
--- Returns the stat to use for the spell, INT by default
-function get_spell_stat(s)
- if not __tmp_spells[s].stat then return A_INT
- else return __tmp_spells[s].stat end
-end
-
-function cast_school_spell(s, s_ptr, no_cost)
- local use = FALSE
-
- -- No magic
- if (player.antimagic > 0) then
- msg_print("Your anti-magic field disrupts any magic attempts.")
- return
- end
-
- -- No magic
- if (player.anti_magic == TRUE) then
- msg_print("Your anti-magic shell disrupts any magic attempts.")
- return
- end
-
- -- if it costs something then some condition must be met
- if not no_cost then
- -- Require lite
- if (check_affect(s, "blind")) and ((player.blind > 0) or (no_lite() == TRUE)) then
- msg_print("You cannot see!")
- return
- end
-
- -- Not when confused
- if (check_affect(s, "confusion")) and (player.confused > 0) then
- msg_print("You are too confused!")
- return
- end
-
- -- Enough mana
- if (get_mana(s) > get_power(s)) then
- if (get_check("You do not have enough "..get_power_name(s)..", do you want to try anyway?") == FALSE) then return end
- end
-
- -- Invoke the spell effect
- if (magik(spell_chance(s)) == FALSE) then
- if (__spell_spell[s]() ~= nil) then
- use = TRUE
- end
- else
- local index, sch
-
- -- added because this is *extremely* important --pelpel
- if (flush_failure) then flush() end
-
- msg_print("You failed to get the spell off!")
- for index, sch in __spell_school[s] do
- if __schools[sch].fail then
- __schools[sch].fail(spell_chance(s))
- end
- end
- use = TRUE
- end
- else
- __spell_spell[s]()
- end
-
- if use == TRUE then
- -- Reduce mana
- adjust_power(s, -get_mana(s))
-
- -- Take a turn
- if is_magestaff() == TRUE then energy_use = 80
- else energy_use = 100 end
- end
-
- player.redraw = bor(player.redraw, PR_MANA)
- player.window = bor(player.window, PW_PLAYER)
-end
-
-
--- Can the spell be randomly found(in random books)
-function can_spell_random(i)
- return __tmp_spells[i].random
-end
-
--- Find a random spell
-function get_random_spell(typ, level)
- local spl, tries
-
- tries = 1000
- while tries > 0 do
- tries = tries - 1
- spl = rand_int(__tmp_spells_num)
- if (can_spell_random(spl) == typ) and (rand_int(spell(spl).skill_level * 3) < level) then
- break
- end
- end
- if tries > 0 then
- return spl
- else
- return -1
- end
-end
-
--- Execute a lasting spell
-function exec_lasting_spell(spl)
- assert(__tmp_spells[spl].lasting, "No lasting effect for spell "..__tmp_spells[spl].name.." but called as such")
- return __tmp_spells[spl].lasting()
-end
-
--- Helper function for spell effect to know if they are or not obvious
-function is_obvious(effect, old)
- if old then
- if old == TRUE or effect == TRUE then
- return TRUE
- else
- return FALSE
- end
- else
- return effect
- end
-end
-
--------------------------Sticks-------------------------
-
--- Fire off the spell
-function activate_stick(spl)
- local ret = __spell_spell[spl]()
- local charge, obvious
- if not ret then
- charge = FALSE
- obvious = FALSE
- else
- charge = TRUE
- obvious = ret
- end
- return obvious, charge
-end
-
------------------------------------ Wand, Staves, Rods specific functions ----------------------------
-
--- Get a spell for a given stick(wand, staff, rod)
-function get_random_stick(stick, level)
- local spl, tries
-
- tries = 1000
- while tries > 0 do
- tries = tries - 1
- spl = rand_int(__tmp_spells_num)
- if __tmp_spells[spl].stick and (type(__tmp_spells[spl].stick[stick]) == "table") then
- if (rand_int(spell(spl).skill_level * 3) < level) and (magik(100 - __tmp_spells[spl].stick[stick].rarity) == TRUE) then
- break
- end
- end
- end
- if tries > 0 then
- return spl
- else
- return -1
- end
-end
-
--- Get a random base level
-function get_stick_base_level(stick, level, spl)
- -- Paranoia
- if spl < 0 or spl >= __tmp_spells_num or not __tmp_spells[spl].stick[stick] then return 0 end
-
- local min, max = __tmp_spells[spl].stick[stick].base_level[1], __tmp_spells[spl].stick[stick].base_level[2]
- local range = max - min;
-
- -- Ok the basic idea is to have a max possible level of half the dungeon level
- if range * 2 > level then range = level / 2 end
-
- -- Randomize a bit
- range = m_bonus(range, dun_level)
-
- -- And get the result
- return min + range
-end
-
--- Get a random max level
-function get_stick_max_level(stick, level, spl)
- -- Paranoia
- if spl < 0 or spl >= __tmp_spells_num or not __tmp_spells[spl].stick[stick] then return 0 end
-
- local min, max = __tmp_spells[spl].stick[stick].max_level[1], __tmp_spells[spl].stick[stick].max_level[2]
- local range = max - min;
-
- -- Ok the basic idea is to have a max possible level of half the dungeon level
- if range * 2 > level then range = level / 2 end
-
- -- Randomize a bit
- range = m_bonus(range, dun_level)
-
- -- And get the result
- return min + range
-end
-
--- Get the number of desired charges
-function get_stick_charges(spl)
- return __tmp_spells[spl].stick.charge[1] + randint(__tmp_spells[spl].stick.charge[2]);
-end
-
--- Get activation desc
-function get_activation_desc(spl)
- local turns
- if type(__tmp_spells[spl].activate) == 'number' then
- turns = __tmp_spells[spl].activate
- else
- turns = __tmp_spells[spl].activate[1] .. '+d' .. __tmp_spells[spl].activate[2]
- end
- return __tmp_spells[spl].desc[1] .. ' every ' .. turns .. ' turns'
-end
-
--- Compute the timeout of an activation
-function get_activation_timeout(spl)
- if type(__tmp_spells[spl].activate) == 'number' then
- return __tmp_spells[spl].activate
- else
- return __tmp_spells[spl].activate[1] + randint(__tmp_spells[spl].activate[2])
- end
-end
-
--- Fire off the spell
-function activate_activation(spl, item)
- __spell_spell[spl](item)
-end
-
-
-------- Add new GF type ----------
-max_gf = MAX_GF
-function add_spell_type(t)
- t.index = max_gf
- max_gf = max_gf + 1
- assert(t.color, "No GF color")
- if not t.monster then t.monster = function() end end
- if not t.angry then t.angry = function() end end
- if not t.object then t.object = function() end end
- if not t.player then t.player = function() end end
- if not t.grid then t.grid = function() end end
-
- add_hooks
- {
- [HOOK_GF_COLOR] = function (gf, new_gfx)
- local t = %t
- if gf == t.index then return TRUE, t.color[new_gfx + 1] end
- end,
- [HOOK_GF_EXEC] = function (action, who, gf, dam, rad, y, x, extra)
- local t = %t
- if t.index == gf then
- return t[action](who, dam, rad, y, x, extra)
- end
- end,
- }
- return t.index
-end
diff --git a/lib/core/stores.lua b/lib/core/stores.lua
deleted file mode 100644
index d4a63168..00000000
--- a/lib/core/stores.lua
+++ /dev/null
@@ -1,32 +0,0 @@
--- Take care of all concerning stores
-function store_buy_list(t)
- assert(type(t) == "table", "store_buy_list got no table")
- add_hooks
- {
- [HOOK_STORE_BUY] = function (index, name, obj)
- local tbl = %t
- local elt = tbl[index]
- if not elt then
- elt = tbl[name]
- end
- if elt then
- if elt then
- if type(elt) == "function" then
- return TRUE, elt(obj)
- elseif type(elt) == "table" then
- local k, e
- for k, e in elt do
- if type(e) == "number" then
- if obj.tval == e then return TRUE, TRUE end
- else
- if (obj.tval == e[1]) and (obj.sval >= e[2]) and (obj.sval <= e[3]) then return TRUE, TRUE end
- end
- end
- elseif elt == -1 then
- return TRUE, FALSE
- end
- end
- end
- end,
- }
-end
diff --git a/lib/core/util.lua b/lib/core/util.lua
deleted file mode 100644
index eea13014..00000000
--- a/lib/core/util.lua
+++ /dev/null
@@ -1,158 +0,0 @@
--- various stuff to make scripters life easier
-
--- Beware of the scary undefined globals
-function safe_getglobal(x)
- local v = rawget(globals(), x)
-
- if v then
- return v
- else
- error("undefined global variable '"..x.."'")
- end
-end
-
-function set_safe_globals()
- settagmethod(tag(nil), "getglobal", safe_getglobal)
-end
-function unset_safe_globals()
- settagmethod(tag(nil), "getglobal", nil)
-end
-
-set_safe_globals()
-
--- Patch modules
-__patch_modules = {}
-
-function patch_version(name, version)
- assert(not __patch_modules[name], "Patch " .. name .. " already loaded!!!")
- __patch_modules[name] = version
-end
-
-function patchs_list()
- local k, e, first
- first = FALSE
- for k, e in __patch_modules do
- if first == FALSE then print_hook("\n\n [Patch modules]\n") first = TRUE end
- print_hook("\n "..k.." version "..e)
- end
- if first == TRUE then print_hook("\n") end
-end
-
-function patchs_display()
- local k, e
- for k, e in __patch_modules do
- msg_print("Patch: "..k.." version "..e)
- end
-end
-
-
--- Better hook interface
-__hooks_list_callback = {}
-__hooks_list_callback_max = 0
-
-function add_hooks(h_table, name_prefix)
- local k, e
-
- if not name_prefix then name_prefix = "" end
- for k, e in h_table do
- add_hook_script(k, "__"..name_prefix.."__hooks_list_callback"..__hooks_list_callback_max, "__"..name_prefix.."__hooks_list_callback"..__hooks_list_callback_max)
- setglobal("__"..name_prefix.."__hooks_list_callback"..__hooks_list_callback_max, e)
- __hooks_list_callback_max = __hooks_list_callback_max + 1
- end
-end
-
--- Wrapper for the real msg_print and cmsg_print
--- it understands if we want color or not
-function msg_print(c, m)
- if type(c) == "number" then
- cmsg_print(c, m)
- else
- call(%msg_print, { c })
- end
-end
-
--- better timer add function
-__timers_callback_max = 0
-
-function new_timer(t)
- assert(t.delay > 0, "no timer delay")
- assert(t.enabled, "no timer enabled state")
- assert(t.callback, "no timer callback")
-
- local timer
- if type(t.callback) == "function" then
- setglobal("__timers_callback_"..__timers_callback_max, t.callback)
- timer = %new_timer("__timers_callback_"..__timers_callback_max, t.delay)
- __timers_callback_max = __timers_callback_max + 1
- else
- timer = %new_timer(t.callback, t.delay)
- end
-
- timer.enabled = t.enabled
-
- return timer
-end
-
--- saves all timer values
-function save_timer(name)
- add_loadsave(name..".enabled", FALSE)
- add_loadsave(name..".delay", 1)
- add_loadsave(name..".countdown", 1)
-end
-
-
--- displays a scrolling list
-function display_list(y, x, h, w, title, list, begin, sel, sel_color)
- local l = create_list(getn(list))
-
- for i = 1, getn(list) do
- add_to_list(l, i - 1, list[i])
- end
-
- %display_list(y, x, h, w, title, l, getn(list), begin - 1, sel - 1, sel_color)
-
- delete_list(l, getn(list))
-end
-
--- Easier access to special gene stuff
-function set_monster_generation(monster, state)
- if type(monster) == "string" then
- m_allow_special[test_monster_name(monster) + 1] = state
- else
- m_allow_special[monster + 1] = state
- end
-end
-function set_object_generation(obj, state)
- if type(obj) == "string" then
- m_allow_special[test_item_name(obj) + 1] = state
- else
- m_allow_special[obj + 1] = state
- end
-end
-function set_artifact_generation(obj, state)
- m_allow_special[obj + 1] = state
-end
-
--- Strings
-function strcap(str)
- if strlen(str) > 1 then
- return strupper(strsub(str, 1, 1))..strsub(str, 2)
- elseif strlen(str) == 1 then
- return strupper(str)
- else
- return str
- end
-end
-
-function msg_format(...)
- msg_print(call(format, arg))
-end
-
--- A way to check if the game is now running(as opposed to initialization/character gen)
-game = {}
-add_hooks
-{
- [HOOK_GAME_START] = function ()
- game.started = TRUE
- end
-}
diff --git a/lib/core/xml.lua b/lib/core/xml.lua
deleted file mode 100644
index 14f0511f..00000000
--- a/lib/core/xml.lua
+++ /dev/null
@@ -1,375 +0,0 @@
--- The xml module
-xml = {}
-
-function xml:parseargs (s)
- local arg = {}
- gsub(s, "(%w+)=([\"'])(.-)%2", function (w, _, a)
- %arg[w] = a
- end)
- return arg
-end
-
--- s is a xml stream, returns a table
-function xml:collect (s)
- local stack = {n=0}
- local top = {n=0}
- tinsert(stack, top)
- local ni,c,label,args, empty
- local i, j = 1, 1
- while 1 do
- ni,j,c,label,args, empty = strfind(s, "<(%/?)(%w+)(.-)(%/?)>", j)
- if not ni then break end
- local text = strsub(s, i, ni-1)
- if not strfind(text, "^%s*$") then
- tinsert(top, text)
- end
- if empty == "/" then -- empty element tag
- tinsert(top, {n=0, label=label, args=xml:parseargs(args), empty=1})
- elseif c == "" then -- start tag
- top = {n=0, label=label, args=xml:parseargs(args)}
- tinsert(stack, top) -- new level
- else -- end tag
- local toclose = tremove(stack) -- remove top
- top = stack[stack.n]
- if stack.n < 1 then
- error("nothing to close with "..label)
- end
- if toclose.label ~= label then
- error("trying to close "..toclose.label.." with "..label)
- end
- tinsert(top, toclose)
- end
- i = j+1
- end
- local text = strsub(s, i)
- if not strfind(text, "^%s*$") then
- tinsert(stack[stack.n], text)
- end
- if stack.n > 1 then
- error("unclosed "..stack[stack.n].label)
- end
- return stack[1]
-end
-
--- Viewport coordinates
-xml.write_out_y = 0
-xml.write_out_x = 0
-xml.write_out_h = 24
-xml.write_out_w = 80
-
--- Offsets
-xml.write_off_y = 0
-xml.write_off_x = 0
-
--- Current position
-xml.write_y = 0
-xml.write_x = 0
-
-xml.write_screen = function(color, s)
- local i
- for i = 1, strlen(s) do
- local c = strsub(s, i, i + 1)
- if c ~= "\n" then
- if xml.write_y - xml.write_off_y >= 0 and xml.write_y - xml.write_off_y < xml.write_out_h and xml.write_x - xml.write_off_x >= 0 and xml.write_x - xml.write_off_x < xml.write_out_w then
- Term_putch(xml.write_x - xml.write_off_x + xml.write_out_x, xml.write_y - xml.write_off_y + xml.write_out_y, color, strbyte(c))
- end
- xml.write_x = xml.write_x + 1
- else
- xml.write_x = 0
- xml.write_y = xml.write_y + 1
- end
- end
-end
-
-xml.write_file = function (color, s)
- print_hook(s)
-end
-
-xml.write = xml.write_screen
-
-xml.rule2string = {
- ['name'] = {"Its ", "name", " is"},
- ['contain'] = {"Its ", "name", " contains"},
- ['symbol'] = {"Its ", "symbol", " is"},
- ['inscribed'] = {"Its ", "inscription", " contains"},
- ['state'] = {"Its ", "state", " is"},
- ['status'] = {"Its ", "status", " is"},
- ['tval'] = {"Its ", "tval", " is"},
- ['race'] = {"Your ", "race", " is"},
- ['subrace'] = {"Your ", "subrace", " is"},
- ['class'] = {"Your ", "class", " is"},
- ['foo1'] = {"The result of ", "test 1 ", "is"},
- ['foo2'] = {"The result of ", "test 2 ", "is"},
- ['foo3'] = {"The result of ", "test 3 ", "is"},
-}
-
-xml.display_english = 1
-function xml:display_xml(t, tab)
- if xml.display_english then
- xml:english_xml(t, tab)
- else
- xml:print_xml(t, tab)
- end
-end
-
-function xml:english_xml(t, tab, not_flag)
- local i, k, e
- local pre, post, recurse
- local children_not_flag
- local nextlevel
- local bcol, ecol = TERM_L_GREEN, TERM_GREEN
-
- if xml.write_active and t == auto_aux.rule then bcol, ecol = TERM_VIOLET, TERM_VIOLET end
-
- nextlevel = tab .. " "
-
- recurse = 1
-
- if t.label == "rule" then
- if t.args.type == "inscribe" then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "A rule named \"")
- xml.write(TERM_WHITE, tostring(t.args.name))
- xml.write(ecol, "\" to ")
- xml.write(bcol, "inscribe")
- xml.write(ecol, " an item with \"")
- xml.write(TERM_WHITE, t.args.inscription)
- xml.write(ecol, "\" when")
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "A rule named \"")
- xml.write(TERM_WHITE, tostring(t.args.name))
- xml.write(ecol, "\" to ")
- xml.write(bcol, t.args.type)
- xml.write(ecol, " when")
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "and" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "At least one of the following is false:")
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "All of the following are true:")
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "or" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "All of the following are false:")
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "At least one of the following are true:")
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "not" then
- if bcol == TERM_VIOLET or getn(t) == 0 then
- xml.write(ecol, "(a negating rule)")
- xml.write(TERM_WHITE, "\n")
- else
- nextlevel = tab
- end
- children_not_flag = not nil
- elseif t.label == "inventory" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Nothing in your ")
- xml.write(bcol, "inventory")
- xml.write(ecol, " matches the following:")
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Something in your ")
- xml.write(bcol, "inventory")
- xml.write(ecol, " matches the following:")
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "equipment" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Nothing in your ")
- xml.write(bcol, "equipment")
- xml.write(ecol, " matches the following:")
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Something in your ")
- xml.write(bcol, "equipment")
- xml.write(ecol, " matches the following:")
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "comment" then
- xml.write(TERM_WHITE, tab)
- xml.write(TERM_WHITE, "(" .. t[1] .. ")")
- xml.write(TERM_WHITE, "\n")
- elseif t.label == "skill" then
- local s = t[1]
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Your skill in ")
- xml.write(bcol, s)
- xml.write(ecol, " is not from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Your skill in ")
- xml.write(bcol, s)
- xml.write(ecol, " is from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "ability" then
- local s = t[1]
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "You do not have the ")
- xml.write(bcol, s)
- xml.write(ecol, " ability")
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "You have the ")
- xml.write(bcol, s)
- xml.write(ecol, " ability")
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "level" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Your ")
- xml.write(bcol, "level")
- xml.write(ecol, " is not from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Your ")
- xml.write(bcol, "level")
- xml.write(ecol, " is from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "sval" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Its ")
- xml.write(bcol, "sval")
- xml.write(ecol, " is not from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Its ")
- xml.write(bcol, "sval")
- xml.write(ecol, " is from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- end
- elseif t.label == "discount" then
- if not_flag then
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Its ")
- xml.write(bcol, "discount")
- xml.write(ecol, " is not from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- else
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, "Its ")
- xml.write(bcol, "discount")
- xml.write(ecol, " is from ")
- xml.write(TERM_WHITE, tostring(t.args.min))
- xml.write(ecol, " to ")
- xml.write(TERM_WHITE, tostring(t.args.max))
- xml.write(TERM_WHITE, "\n")
- end
- else
- if xml.rule2string[t.label] then
- local rule = xml.rule2string[t.label]
- a, b, c = rule[1], rule[2], rule[3]
- if not_flag then c = c .. " not" end
- xml.write(TERM_WHITE, tab)
- xml.write(ecol, a)
- xml.write(bcol, b)
- xml.write(ecol, c)
- xml.write(ecol, " \"")
- xml.write(TERM_WHITE, t[1])
- xml.write(ecol, "\"")
- xml.write(TERM_WHITE, "\n")
- else
- if not_flag then
- xml.write(bcol, "Not:\n")
- tab = tab .. " "
- xml:print_xml(t, tab)
- return
- end
- end
- end
-
- for i = 1, getn(t) do
- if type(t[i]) == "string" then
- -- xml.write(TERM_WHITE, t[i].."\n")
- else
- xml:english_xml(t[i], nextlevel, children_not_flag)
- end
- end
-end
-
-function xml:print_xml(t, tab)
- local i, k, e
- local inside = nil
- local bcol, ecol = TERM_L_GREEN, TERM_GREEN
-
- if xml.write_active and t == auto_aux.rule then bcol, ecol = TERM_VIOLET, TERM_VIOLET end
-
- xml.write(bcol, tab.."<"..t.label)
- for k, e in t.args do
- xml.write(TERM_L_BLUE, " "..k)
- xml.write(TERM_WHITE, "=\"")
- xml.write(TERM_YELLOW, e)
- xml.write(TERM_WHITE, "\"")
- end
- xml.write(bcol, ">")
-
- for i = 1, getn(t) do
- if type(t[i]) == "string" then
- xml.write(TERM_WHITE, t[i])
- else
- if not inside then xml.write(TERM_WHITE, "\n") end
- inside = not nil
- xml:print_xml(t[i], tab.." ")
- end
- end
-
- if not inside then
- xml.write(ecol, "</"..t.label..">\n")
- else
- xml.write(ecol, tab.."</"..t.label..">\n")
- end
-end
-
--- t is a table representing xml, outputs the xml code via xml.write()
-function xml:output(t)
- local i
- for i = 1, getn(t) do
- xml:print_xml(t[i], "")
- end
-end
diff --git a/lib/data/.cvsignore b/lib/data/.cvsignore
deleted file mode 100644
index 82490963..00000000
--- a/lib/data/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.cvsignore
-*.raw \ No newline at end of file
diff --git a/lib/edit/a_info.txt b/lib/edit/a_info.txt
index 427d5060..c1ab7fa1 100644
--- a/lib/edit/a_info.txt
+++ b/lib/edit/a_info.txt
@@ -24,10 +24,6 @@
# -Leon Marrick
# Contributors: Jeff Butler, Neal Hackler, Ethan Sicotte, Pat Tracy, Divia
-# Version stamp (required)
-
-V:2.0.0
-
# The Phial of Galadriel
@@ -36,9 +32,12 @@ N:1:of Galadriel
I:39:100:4
W:20:10:10:10000
P:0:1d1:0:0:0
-F:ACTIVATE | SEARCH | LITE3 | LUCK
-F:INSTA_ART | HIDE_TYPE
-a:HARDCORE=LIGHT
+F:ACTIVATE
+F:HIDE_TYPE
+F:INSTA_ART
+F:LITE3
+F:LUCK
+a:LIGHT
D:A small crystal phial, with the light of Earendil's Star contained inside.
D:Its light is imperishable, and near it darkness cannot endure.
@@ -49,9 +48,15 @@ N:2:of Elendil
I:39:101:1
W:30:25:5:32500
P:0:1d1:0:0:0
-F:ACTIVATE | SEE_INVIS | HOLD_LIFE |
-F:INSTA_ART | SPEED | LITE3 | LITE1 | HIDE_TYPE
-a:HARDCORE=MAP_LIGHT
+F:ACTIVATE
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:INSTA_ART
+F:LITE1
+F:LITE3
+F:SEE_INVIS
+F:SPEED
+a:MAP_LIGHT
Z:detect curses
D:The shining Star of the West, a famed heirloom of Elendil's house.
@@ -63,9 +68,19 @@ N:3:of Thrain
I:39:102:3
W:50:50:5:50000
P:0:1d1:0:0:0
-F:ACTIVATE | SEE_INVIS | HOLD_LIFE | RES_CHAOS | HIDE_TYPE | LUCK
-F:INSTA_ART | SPEED | RES_LITE | RES_DARK | ESP_ORC | LITE3
-a:HARDCORE=THRAIN
+F:ACTIVATE
+F:ESP_ORC
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:INSTA_ART
+F:LITE3
+F:LUCK
+F:RES_CHAOS
+F:RES_DARK
+F:RES_LITE
+F:SEE_INVIS
+F:SPEED
+a:THRAIN
D:A great globe seemingly filled with moonlight, the famed Heart of the
D:Mountain, which splinters the light that falls upon it into a thousand
D:glowing shards.
@@ -76,10 +91,12 @@ D:glowing shards.
N:4:of Carlammas
I:40:10:2
W:50:10:3:60000
-F:CON | HIDE_TYPE |
-F:ACTIVATE | RES_FIRE |
+F:ACTIVATE
+F:CON
+F:HIDE_TYPE
F:INSTA_ART
-a:HARDCORE=PROT_EVIL
+F:RES_FIRE
+a:PROT_EVIL
D:A fiery circle of bronze, with mighty spells to ward off evil.
@@ -88,11 +105,19 @@ D:A fiery circle of bronze, with mighty spells to ward off evil.
N:5:of Ingwe
I:40:11:3
W:65:30:3:90000
-F:INT | WIS | CHR | SEARCH | INFRA | HIDE_TYPE |
-F:SEE_INVIS | FREE_ACT | ACTIVATE |
-F:RES_ACID | RES_COLD | RES_ELEC |
+F:ACTIVATE
+F:CHR
+F:FREE_ACT
+F:HIDE_TYPE
+F:INFRA
F:INSTA_ART
-a:HARDCORE=DISP_EVIL
+F:INT
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:SEE_INVIS
+F:WIS
+a:DISP_EVIL
D:The ancient heirloom of Ingwe, high lord of the Vanyar, against whom nothing
D:of evil could stand.
@@ -102,9 +127,18 @@ D:of evil could stand.
N:6:'Nauglamir'
I:40:12:3
W:70:50:3:75000
-F:STR | CON | DEX | INFRA | HIDE_TYPE | RES_FEAR |
-F:SEE_INVIS | FREE_ACT | REGEN | LITE3 | SPEED |
+F:CON
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:INFRA
F:INSTA_ART
+F:LITE3
+F:REGEN
+F:RES_FEAR
+F:SEE_INVIS
+F:SPEED
+F:STR
D:A carencet of gold, set with a multitude of shining gems of
D:Valinor. Despite its size, its weight seems as that of gossamer.
@@ -116,11 +150,17 @@ D:Valinor. Despite its size, its weight seems as that of gossamer.
N:7:of Flare
I:45:52:3
W:50:35:2:75000
-F:STR | CON | CHR | HIDE_TYPE |
-F:IM_FIRE | ACTIVATE | SEARCH |
-F:ESP_THUNDERLORD | SEE_INVIS | FLY |
+F:ACTIVATE
+F:CHR
+F:CON
+F:ESP_THUNDERLORD
+F:FLY
+F:HIDE_TYPE
+F:IM_FIRE
F:INSTA_ART
-a:HARDCORE=DIM_DOOR
+F:SEE_INVIS
+F:STR
+a:DIM_DOOR
Z:swap position
D:The mighty ring of the Thunderlord Flare that makes the wearer
D:strong and healthy. Once a ring of power, it was
@@ -133,10 +173,20 @@ D:of Thunderlords.
N:8:of Barahir
I:45:32:1
W:50:25:2:75000
-F:STR | INT | WIS | DEX | CON | CHR | STEALTH | HIDE_TYPE |
-F:RES_POIS | RES_DARK | ACTIVATE | SEE_INVIS | SEARCH |
+F:ACTIVATE
+F:CHR
+F:CON
+F:DEX
+F:HIDE_TYPE
F:INSTA_ART
-a:HARDCORE=BARAHIR
+F:INT
+F:RES_DARK
+F:RES_POIS
+F:SEE_INVIS
+F:STEALTH
+F:STR
+F:WIS
+a:BARAHIR
D:A ring shaped into twinned serpents with eyes of emerald meeting beneath
D:a crown of flowers, an ancient treasure of Isildur's house.
@@ -146,10 +196,15 @@ D:a crown of flowers, an ancient treasure of Isildur's house.
N:9:of Tulkas
I:45:33:4
W:70:50:2:175000
-F:STR | DEX | CON | HIDE_TYPE |
-F:ACTIVATE | SPEED | ESP_EVIL |
+F:ACTIVATE
+F:CON
+F:DEX
+F:ESP_EVIL
+F:HIDE_TYPE
F:INSTA_ART
-a:HARDCORE=TULKAS
+F:SPEED
+F:STR
+a:TULKAS
D:The treasure of Tulkas, most fleet and wrathful of the Valar.
@@ -159,12 +214,29 @@ N:10:of Power 'Narya'
I:45:34:1
W:70:30:2:100000
P:0:1d1:6:6:0
-F:STR | INT | WIS | DEX | CON | CHR | SPEED | HIDE_TYPE | LUCK
-F:ACTIVATE | FREE_ACT | SEE_INVIS |
-F:SUST_STR | SUST_CON | SUST_WIS | SUST_CHR | SPECIAL_GENE |
-F:IM_FIRE | RES_NETHER | RES_FEAR | REGEN |
+F:ACTIVATE
+F:CHR
+F:CON
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:IM_FIRE
F:INSTA_ART
-a:HARDCORE=NARYA
+F:INT
+F:LUCK
+F:REGEN
+F:RES_FEAR
+F:RES_NETHER
+F:SEE_INVIS
+F:SPECIAL_GENE
+F:SPEED
+F:STR
+F:SUST_CHR
+F:SUST_CON
+F:SUST_STR
+F:SUST_WIS
+F:WIS
+a:NARYA
D:The Ring of Fire, set with a ruby that glows like flame. Narya is one
D:of the three Rings of Power created by the Elves and hidden by them from
D:Sauron.
@@ -176,12 +248,29 @@ N:11:of Power 'Nenya'
I:45:35:2
W:80:40:2:200000
P:0:1d1:9:9:0
-F:STR | INT | WIS | DEX | CON | CHR | SPEED | HIDE_TYPE | LUCK
-F:ACTIVATE | HOLD_LIFE | FREE_ACT | SEE_INVIS |
-F:SUST_INT | SUST_WIS | SUST_CHR |
-F:IM_COLD | RES_BLIND | STEALTH | ESP_ALL |
+F:ACTIVATE
+F:CHR
+F:CON
+F:DEX
+F:ESP_ALL
+F:FREE_ACT
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:IM_COLD
F:INSTA_ART
-a:HARDCORE=NENYA
+F:INT
+F:LUCK
+F:RANDOM_POWER
+F:RES_BLIND
+F:SEE_INVIS
+F:SPEED
+F:STEALTH
+F:STR
+F:SUST_CHR
+F:SUST_INT
+F:SUST_WIS
+F:WIS
+a:NENYA
D:The Ring of Adamant, with a pure white stone as centrepiece. Nenya is one
D:of the three Rings of Power created by the Elves and hidden by them from
D:Sauron.
@@ -193,13 +282,31 @@ N:12:of Power 'Vilya'
I:45:36:3
W:90:50:2:300000
P:0:1d1:12:12:0
-F:STR | INT | WIS | DEX | CON | CHR | SPEED | HIDE_TYPE | LUCK
-F:ACTIVATE | HOLD_LIFE | FREE_ACT | SEE_INVIS |
-F:FEATHER | SLOW_DIGEST | REGEN |
-F:SUST_STR | SUST_DEX | SUST_CON |
-F:IM_ELEC | RES_POIS | RES_DISEN |
+F:ACTIVATE
+F:CHR
+F:CON
+F:DEX
+F:FEATHER
+F:FREE_ACT
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:IM_ELEC
F:INSTA_ART
-a:HARDCORE=VILYA
+F:INT
+F:LUCK
+F:RANDOM_POWER
+F:REGEN
+F:RES_DISEN
+F:RES_POIS
+F:SEE_INVIS
+F:SLOW_DIGEST
+F:SPEED
+F:STR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_STR
+F:WIS
+a:VILYA
D:The Ring of Sapphire, with clear blue gems that shine like stars,
D:glittering untouchable despite all that Sauron ever wrought. Vilya is
D:one of the three Rings of Power created by the Elves and hidden by them
@@ -212,16 +319,48 @@ N:13:of Power 'The One Ring'
I:45:37:5
W:100:100:2:5000000
P:0:1d1:15:15:0
-F:STR | INT | WIS | DEX | CON | CHR | SPEED | HIDE_TYPE |
-F:ACTIVATE | AUTO_CURSE | HEAVY_CURSE | INVIS | SPELL | MANA |
-F:SEE_INVIS | REGEN | FREE_ACT | CURSED | CURSE_NO_DROP |
-F:IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | PERMA_CURSE |
-F:SUST_STR | SUST_DEX | SUST_CON |
-F:SUST_INT | SUST_WIS | SUST_CHR |
-F:RES_BLIND | RES_POIS | RES_DISEN | RES_NETHER | ESP_ALL |
-F:DRAIN_MANA | DRAIN_HP | DRAIN_EXP |
+F:ACTIVATE
+F:AUTO_CURSE
+F:CHR
+F:CON
+F:CURSED
+F:CURSE_NO_DROP
+F:DEX
+F:DRAIN_EXP
+F:DRAIN_HP
+F:DRAIN_MANA
+F:ESP_ALL
+F:FREE_ACT
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:IM_ACID
+F:IM_COLD
+F:IM_ELEC
+F:IM_FIRE
F:INSTA_ART
-a:HARDCORE=POWER
+F:INT
+F:INVIS
+F:MANA
+F:PERMA_CURSE
+F:RANDOM_POWER
+F:RANDOM_RESIST
+F:REGEN
+F:RES_BLIND
+F:RES_DISEN
+F:RES_NETHER
+F:RES_POIS
+F:SEE_INVIS
+F:SPEED
+F:SPELL
+F:STR
+F:SUST_CHR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_INT
+F:SUST_STR
+F:SUST_WIS
+F:WIS
+a:POWER
Z:change the world
D:"Ash nazg durbatuluk, ash nazg gimbatul, ash nazg thrakatuluk agh
D:burzum-ishi krimpatul". Unadorned, made of massive gold,
@@ -235,7 +374,8 @@ N:14:of Space-Time
I:39:105:0
W:30:12:15:50000
P:0:1d1:0:0:0
-F:INSTA_ART | LITE1
+F:INSTA_ART
+F:LITE1
D:A powerful stone that provides a strong light for any who
D:wields it. It is rumoured that it may even protect the wearer from
D:the passing of time.
@@ -250,9 +390,12 @@ N:15:of Lore
I:39:106:0
W:15:12:15:20000
P:0:1d1:0:0:0
-F:ACTIVATE | SPECIAL_GENE | EASY_USE | LITE1 |
+F:ACTIVATE
+F:EASY_USE
F:INSTA_ART
-a:HARDCORE=STONE_LORE
+F:LITE1
+F:SPECIAL_GENE
+a:STONE_LORE
D:A great emerald that fills your mind with images of knowledge and dreadful
D:understanding as you stare into its depths.
@@ -263,11 +406,20 @@ N:16:'Razorback'
I:38:6:0
W:90:9:500:400000
P:30:2d4:-4:0:25
-F:FREE_ACT | IM_ELEC | SPECIAL_GENE |
-F:RES_FIRE | RES_COLD | RES_POIS | RES_LITE | RES_DARK |
-F:LITE1 | SEE_INVIS | AGGRAVATE | ESP_DRAGON
F:ACTIVATE
-a:HARDCORE=RAZORBACK
+F:AGGRAVATE
+F:ESP_DRAGON
+F:FREE_ACT
+F:IM_ELEC
+F:LITE1
+F:RES_COLD
+F:RES_DARK
+F:RES_FIRE
+F:RES_LITE
+F:RES_POIS
+F:SEE_INVIS
+F:SPECIAL_GENE
+a:RAZORBACK
D:A massive suit of heavy dragon scales deeply saturated with many colours.
D:It throbs with angry energies, and you feel the raw elemental might of
D:untamed Lightning as you put it on.
@@ -280,13 +432,34 @@ N:17:of Eternity
I:38:30:0
W:100:16:600:500000
P:50:2d4:-8:0:35
-F:HOLD_LIFE | REGEN | ESP_DRAGON |
-F:RES_ACID | RES_FIRE | RES_COLD | RES_ELEC | RES_POIS | FEATHER | FLY |
-F:RES_NETHER | RES_NEXUS | RES_CHAOS | RES_LITE | RES_DARK | ULTIMATE |
-F:RES_SHARDS | RES_SOUND | RES_DISEN | RES_BLIND | RES_CONF |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | SPECIAL_GENE
F:ACTIVATE
-a:HARDCORE=BLADETURNER
+F:ESP_DRAGON
+F:FEATHER
+F:FLY
+F:HOLD_LIFE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:REGEN
+F:RES_ACID
+F:RES_BLIND
+F:RES_CHAOS
+F:RES_COLD
+F:RES_CONF
+F:RES_DARK
+F:RES_DISEN
+F:RES_ELEC
+F:RES_FIRE
+F:RES_LITE
+F:RES_NETHER
+F:RES_NEXUS
+F:RES_POIS
+F:RES_SHARDS
+F:RES_SOUND
+F:SPECIAL_GENE
+F:ULTIMATE
+a:BLADETURNER
D:A suit of adamant, set with scales of every colour, surrounded in a nimbus
D:of perfectly untramelled yet inextricably intermingled and utterly mastered
D:powers elemental and ethereal.
@@ -298,9 +471,20 @@ N:18:of Melkor
I:22:2:-4
W:65:45:200:100000
P:0:4d6:12:24:0
-F:STEALTH | WIS | CURSED | HEAVY_CURSE | TY_CURSE | ESP_GOOD |
-F:DRAIN_MANA | DRAIN_HP |
-F:RES_DARK | RES_BLIND | RES_LITE | RES_NETHER | BRAND_POIS | RES_CONF
+F:BRAND_POIS
+F:CURSED
+F:DRAIN_HP
+F:DRAIN_MANA
+F:ESP_GOOD
+F:HEAVY_CURSE
+F:RES_BLIND
+F:RES_CONF
+F:RES_DARK
+F:RES_LITE
+F:RES_NETHER
+F:STEALTH
+F:TY_CURSE
+F:WIS
D:The mighty spear used once by Melkor to slay the trees of Valinor.
@@ -310,11 +494,20 @@ N:19:'Soulkeeper'
I:37:30:2
W:75:9:420:300000
P:40:2d4:-4:0:20
-F:CON |
-F:HOLD_LIFE | SUST_CON | ESP_UNDEAD | RES_CONF | RES_FEAR |
-F:RES_ACID | RES_COLD | RES_DARK | RES_NETHER | RES_NEXUS | RES_CHAOS |
F:ACTIVATE
-a:HARDCORE=CURE_1000
+F:CON
+F:ESP_UNDEAD
+F:HOLD_LIFE
+F:RES_ACID
+F:RES_CHAOS
+F:RES_COLD
+F:RES_CONF
+F:RES_DARK
+F:RES_FEAR
+F:RES_NETHER
+F:RES_NEXUS
+F:SUST_CON
+a:CURE_1000
D:A suit of imperishable adamant, with unconquerable strength to endure evil
D:and disruptive magics, that protects the life force of its wearer as
D:nothing else can.
@@ -326,9 +519,14 @@ N:20:of Isildur
I:37:15:1
W:30:3:300:50000
P:25:2d4:0:0:25
-F:CON |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:RES_SOUND | RES_CONF | RES_NEXUS
+F:CON
+F:RES_ACID
+F:RES_COLD
+F:RES_CONF
+F:RES_ELEC
+F:RES_FIRE
+F:RES_NEXUS
+F:RES_SOUND
D:A gleaming steel suit covering the wearer from neck to foot, with runes of
D:warding and stability deeply engraved into its surface.
@@ -339,8 +537,18 @@ N:21:of the Rohirrim
I:37:9:2
W:30:3:200:30000
P:19:1d4:0:0:15
-F:STR | DEX | SPEED | HIDE_TYPE | RES_FEAR |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_CONF | RES_SOUND
+F:DEX
+F:HIDE_TYPE
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_CONF
+F:RES_ELEC
+F:RES_FEAR
+F:RES_FIRE
+F:RES_SOUND
+F:SPEED
+F:STR
D:A stiff suit of armour composed of small metal plates sewn to an
D:inner layer of heavy canvas, and covered with a second layer of
D:cloth. Within it is the spirit of Eorl the Young, matchless in combat.
@@ -352,12 +560,20 @@ N:22:'Belegennon'
I:37:20:4
W:40:10:150:135000
P:28:1d4:-1:0:20
-F:STEALTH | WIS | INT |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS |
-F:HOLD_LIFE | RES_DARK | RES_FEAR |
-F:SEE_INVIS |
F:ACTIVATE
-a:HARDCORE=BELEGENNON
+F:HOLD_LIFE
+F:INT
+F:RES_ACID
+F:RES_COLD
+F:RES_DARK
+F:RES_ELEC
+F:RES_FEAR
+F:RES_FIRE
+F:RES_POIS
+F:SEE_INVIS
+F:STEALTH
+F:WIS
+a:BELEGENNON
D:This wondrous suit of fine-linked chain shimmers as though of pure silver.
D:It stands untouched amidst the fury of the elements, and a power of
D:concealment rests within.
@@ -369,10 +585,19 @@ N:23:of Celeborn
I:37:25:4
W:40:3:250:150000
P:35:2d4:-3:0:25
-F:STR | CHR | HIDE_TYPE | ESP_ORC
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_DARK |
-F:RES_DISEN | ACTIVATE
-a:HARDCORE=GENOCIDE
+F:ACTIVATE
+F:CHR
+F:ESP_ORC
+F:HIDE_TYPE
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_DARK
+F:RES_DISEN
+F:RES_ELEC
+F:RES_FIRE
+F:STR
+a:GENOCIDE
D:A shimmering suit of true-silver, forged long ago by dwarven smiths of
D:legend. It gleams with purest white as you gaze upon it, and mighty are
D:its powers to protect and banish.
@@ -384,8 +609,16 @@ N:24:of Arvedui
I:37:4:2
W:20:3:220:32000
P:14:1d4:-2:0:15
-F:STR | CHR | HIDE_TYPE |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_SHARDS | RES_NEXUS
+F:CHR
+F:HIDE_TYPE
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_NEXUS
+F:RES_SHARDS
+F:STR
D:A hauberk, leggings, and sleeves of interlocking steel rings, well padded
D:with leather. You feel strong and tall as Arvedui, last king of Arnor,
D:as you put it on.
@@ -397,9 +630,16 @@ N:25:of Caspanion
I:37:6:3
W:25:9:270:40000
P:16:1d4:-2:0:20
-F:INT | WIS | CON | HIDE_TYPE |
-F:RES_ACID | RES_POIS | RES_CONF | ACTIVATE
-a:HARDCORE=DEST_DOOR
+F:ACTIVATE
+F:CON
+F:HIDE_TYPE
+F:INT
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_CONF
+F:RES_POIS
+F:WIS
+a:DEST_DOOR
D:A hauberk, leggings, and sleeves of interlocking steel rings, strategically
D:reinforced at vital locations with a second layer of chain. Magics to
D:enhance body and mind lie within, and no door can hope to resist the wearer.
@@ -411,11 +651,28 @@ N:26:of Marda
I:36:16:5
W:70:3:80:80000
P:9:0d0:0:0:25
-F:FREE_ACT | RES_BLIND | RES_CONF | RES_FEAR | DRAIN_MANA |
-F:REFLECT | RES_NEXUS | SH_FIRE | SUST_INT | SUST_CON | SUST_CHR |
-F:ESP_THUNDERLORD | CON | CHR | INT |
-F:RES_ACID | RES_ELEC | IM_COLD | RES_COLD | AGGRAVATE | HEAVY_CURSE |
+F:AGGRAVATE
+F:CHR
+F:CON
F:CURSED
+F:DRAIN_MANA
+F:ESP_THUNDERLORD
+F:FREE_ACT
+F:HEAVY_CURSE
+F:IM_COLD
+F:INT
+F:REFLECT
+F:RES_ACID
+F:RES_BLIND
+F:RES_COLD
+F:RES_CONF
+F:RES_ELEC
+F:RES_FEAR
+F:RES_NEXUS
+F:SH_FIRE
+F:SUST_CHR
+F:SUST_CON
+F:SUST_INT
D:The flying suit of Marda, very powerful armour that protects
D:the wearer from cold. Wonderful as this mighty
D:armour is, beware wearing it, for it has been cursed by a
@@ -429,9 +686,21 @@ N:27:of Trone
I:36:16:4
W:30:3:80:65000
P:9:0d0:0:0:20
-F:REFLECT | RES_NEXUS | SH_FIRE | FLY | SPECIAL_GENE |
-F:STEALTH | ESP_THUNDERLORD | CON | INT | SPEED |
-F:RES_ACID | RES_ELEC | IM_FIRE | RES_COLD
+F:CON
+F:ESP_THUNDERLORD
+F:FLY
+F:IM_FIRE
+F:INT
+F:RANDOM_RESIST
+F:REFLECT
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_NEXUS
+F:SH_FIRE
+F:SPECIAL_GENE
+F:SPEED
+F:STEALTH
D:The flying suit of Trone. It protects the user from fire and
D:imps are said to be less annoying with this on.
@@ -442,8 +711,13 @@ N:28:'Thalkettoth'
I:36:11:3
W:20:3:60:25000
P:11:1d1:-1:0:25
-F:DEX | SPEED | HIDE_TYPE | SPECIAL_GENE |
-F:RES_ACID | RES_SHARDS
+F:DEX
+F:HIDE_TYPE
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_SHARDS
+F:SPECIAL_GENE
+F:SPEED
D:A tunic and skirt sewn with thick, overlapping scales of hardened
D:leather whose wearer moves with agility and assurance.
@@ -454,8 +728,18 @@ N:29:of Wormtongue
I:30:2:3
W:40:20:20:50000
P:2:1d1:-10:-10:10
-F:INT | DEX | CHR | STEALTH | SEARCH | SPEED | HIDE_TYPE |
-F:FREE_ACT | FEATHER | RES_DARK | RES_LITE | ESP_GOOD | ESP_UNIQUE
+F:CHR
+F:DEX
+F:ESP_GOOD
+F:ESP_UNIQUE
+F:FEATHER
+F:FREE_ACT
+F:HIDE_TYPE
+F:INT
+F:RES_DARK
+F:RES_LITE
+F:SPEED
+F:STEALTH
Z:panic hit
D:The pair of boots used by Grima son of Galmod, also named the Wormtongue:
D:a treacherous but persuasive counsellor, ever ready to betray, sneak,
@@ -468,9 +752,15 @@ N:30:of Thorin
I:34:3:4
W:30:6:65:60000
P:3:1d2:0:0:25
-F:STR | CON | HIDE_TYPE |
-F:FREE_ACT | IM_ACID | RES_SOUND |
-F:RES_CHAOS | ESP_ORC
+F:CON
+F:ESP_ORC
+F:FREE_ACT
+F:HIDE_TYPE
+F:IM_ACID
+F:RANDOM_RESIST
+F:RES_CHAOS
+F:RES_SOUND
+F:STR
D:Invoking the strength and endurance of Thorin, King under the Mountain,
D:this little metal shield is proof against the Element of Earth.
@@ -481,7 +771,13 @@ N:31:of Celegorm
I:34:4:0
W:30:3:60:12000
P:4:1d2:0:0:20
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_LITE | RES_DARK
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_DARK
+F:RES_ELEC
+F:RES_FIRE
+F:RES_LITE
D:This shield emblazoned with a multitude of creatures not seen for ages
D:once protected Celegorm, lord of Himlad; around it lies a mystic balance
D:that contains the conflicts of the elements.
@@ -493,8 +789,18 @@ N:32:of Anarion
I:34:5:0
W:40:9:120:160000
P:5:1d3:0:0:20
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | SUST_STR | SUST_INT |
-F:SUST_WIS | SUST_DEX | SUST_CON | SUST_CHR | ESP_EVIL
+F:ESP_EVIL
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SUST_CHR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_INT
+F:SUST_STR
+F:SUST_WIS
D:The great metal-bound shield of Anarion, son of Elendil, who Sauron found
D:himself powerless to wither or diminish.
@@ -505,11 +811,21 @@ N:33:of Hurin
I:22:10:3
W:20:15:180:90000
P:0:2d6:12:20:0
-F:STR | CON | HIDE_TYPE | BRAND_ACID | RES_ACID | LITE1 | DRAIN_MANA |
-F:SLAY_ORC | KILL_DEMON | SLAY_TROLL | ACTIVATE | SHOW_MODS
+F:ACTIVATE
+F:BRAND_ACID
+F:CON
+F:DRAIN_MANA
+F:HIDE_TYPE
+F:KILL_DEMON
+F:LITE1
F:MUST2H
+F:RES_ACID
+F:SHOW_MODS
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
f:MUST2H
-a:HARDCORE=HURIN
+a:HURIN
D:Wielded by Hurin Thalion in the Fifth Battle of Beleriand, this
D:troll-bane smoked in the black blood of Gothmog's guards.
@@ -520,12 +836,32 @@ N:34:of Morgoth
I:33:50:125
W:100:1:20:10000000
P:0:1d1:0:0:0
-F:STR | INT | WIS | DEX | CON | CHR | INFRA | HIDE_TYPE |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS |
-F:RES_LITE | RES_DARK | RES_CONF | RES_NEXUS | RES_NETHER |
-F:LITE1 | SEE_INVIS | ESP_ALL |
-F:CURSED | HEAVY_CURSE | PERMA_CURSE |
-F:INSTA_ART | SPECIAL_GENE
+F:CHR
+F:CON
+F:CURSED
+F:DEX
+F:ESP_ALL
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:INFRA
+F:INSTA_ART
+F:INT
+F:LITE1
+F:PERMA_CURSE
+F:RES_ACID
+F:RES_COLD
+F:RES_CONF
+F:RES_DARK
+F:RES_ELEC
+F:RES_FIRE
+F:RES_LITE
+F:RES_NETHER
+F:RES_NEXUS
+F:RES_POIS
+F:SEE_INVIS
+F:SPECIAL_GENE
+F:STR
+F:WIS
D:Two Silmarils of Feanor blaze from the thunderous crown of twisted
D:iron. The corrupted metal feels at once as infernal as hellfire
D:and as chilling as the Outer Darkness. One protrusion from the
@@ -538,9 +874,19 @@ N:35:of Beruthiel
I:33:10:-5
W:40:12:20:0
P:0:1d1:0:0:20
-F:STR | DEX | CON | HIDE_TYPE |
-F:FREE_ACT | SEE_INVIS | ESP_ANIMAL | ESP_EVIL | ESP_NONLIVING | ESP_ALL |
-F:CURSED | AUTO_CURSE
+F:AUTO_CURSE
+F:CON
+F:CURSED
+F:DEX
+F:ESP_ALL
+F:ESP_ANIMAL
+F:ESP_EVIL
+F:ESP_NONLIVING
+F:FREE_ACT
+F:HIDE_TYPE
+F:RANDOM_POWER
+F:SEE_INVIS
+F:STR
D:The midnight-hued steel circlet of the sorceress-queen Beruthiel, which
D:grants extraordinary powers of sight and awareness at a terrible physical
D:cost.
@@ -552,8 +898,14 @@ N:36:of Thranduil
I:32:2:2
W:20:2:15:50000
P:2:0d0:0:0:10
-F:INT | WIS | HIDE_TYPE |
-F:RES_BLIND | ESP_ORC | ESP_EVIL | ESP_TROLL
+F:ESP_EVIL
+F:ESP_ORC
+F:ESP_TROLL
+F:HIDE_TYPE
+F:INT
+F:RANDOM_RESIST
+F:RES_BLIND
+F:WIS
D:The hunting cap of King Thranduil, to whose ears come all the secrets of
D:his forest domain.
@@ -564,7 +916,11 @@ N:37:of Thengel
I:32:3:3
W:10:2:20:22000
P:3:1d1:0:0:12
-F:WIS | CHR | RES_CONF | HIDE_TYPE | LUCK
+F:CHR
+F:HIDE_TYPE
+F:LUCK
+F:RES_CONF
+F:WIS
D:A ridged helmet made of steel, and embossed with scenes of valour in fine-
D:engraved silver. It grants the wearer nobility, clarity of thought and
D:understanding.
@@ -576,9 +932,20 @@ N:38:of Hammerhand
I:32:6:3
W:20:2:60:45000
P:6:1d3:0:0:20
-F:STR | DEX | CON | HIDE_TYPE | SPECIAL_GENE | RES_FEAR |
-F:SUST_STR | SUST_DEX | SUST_CON |
-F:RES_ACID | RES_NEXUS | RES_COLD | RES_DARK | SLOW_DIGEST |
+F:CON
+F:DEX
+F:HIDE_TYPE
+F:RES_ACID
+F:RES_COLD
+F:RES_DARK
+F:RES_FEAR
+F:RES_NEXUS
+F:SLOW_DIGEST
+F:SPECIAL_GENE
+F:STR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_STR
Z:berserk
D:A great helm as steady as the heroes of the Westdike. Mighty were the
D:blows of Helm, the Hammerhand!
@@ -590,10 +957,22 @@ N:39:of Dor-Lomin
I:32:7:4
W:40:12:75:300000
P:8:1d3:0:0:20
-F:STR | DEX | CON | HIDE_TYPE |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_LITE | RES_BLIND |
-F:LITE1 | SEE_INVIS | ESP_DRAGON | ESP_THUNDERLORD | ACTIVATE
-a:HARDCORE=GORLIM
+F:ACTIVATE
+F:CON
+F:DEX
+F:ESP_DRAGON
+F:ESP_THUNDERLORD
+F:HIDE_TYPE
+F:LITE1
+F:RES_ACID
+F:RES_BLIND
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_LITE
+F:SEE_INVIS
+F:STR
+a:GORLIM
D:The legendary dragon helm of Turin Turambar, an object of dread to the
D:servants of Morgoth.
@@ -603,9 +982,13 @@ N:40:'Holhenneth'
I:32:5:2
W:20:5:75:100000
P:5:1d3:0:0:10
-F:INT | WIS | SEARCH | HIDE_TYPE |
-F:RES_BLIND | SEE_INVIS | ACTIVATE
-a:HARDCORE=DETECT_ALL
+F:ACTIVATE
+F:HIDE_TYPE
+F:INT
+F:RES_BLIND
+F:SEE_INVIS
+F:WIS
+a:DETECT_ALL
D:A famous helm of forged iron granting extraordinary powers of mind and
D:awareness.
@@ -616,12 +999,26 @@ N:41:of Gorlim
I:32:5:-5
W:20:5:75:0
P:5:1d3:25:25:10
-F:INT | WIS | SEARCH | HIDE_TYPE | SHOW_MODS |
-F:SEE_INVIS | NO_MAGIC | HEAVY_CURSE | TY_CURSE
-F:RES_DISEN | RES_FEAR | FREE_ACT | RES_ACID | RES_FIRE | RES_POIS |
-F:IM_COLD | ACTIVATE | DRAIN_HP |
-F:TELEPORT | CURSED
-a:HARDCORE=GORLIM
+F:ACTIVATE
+F:CURSED
+F:DRAIN_HP
+F:FREE_ACT
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:IM_COLD
+F:INT
+F:NO_MAGIC
+F:RES_ACID
+F:RES_DISEN
+F:RES_FEAR
+F:RES_FIRE
+F:RES_POIS
+F:SEE_INVIS
+F:SHOW_MODS
+F:TELEPORT
+F:TY_CURSE
+F:WIS
+a:GORLIM
D:A headpiece, gaudy and barbaric, that betrayed a warrior when he most
D:needed succor.
@@ -632,10 +1029,26 @@ N:42:of Gondor
I:33:11:3
W:40:40:30:125000
P:0:1d1:0:0:15
-F:STR | WIS | CON | HIDE_TYPE | SPEED | RES_CONF | RES_SOUND |
-F:RES_COLD | RES_FIRE | RES_LITE | RES_BLIND | RES_ELEC | RES_CHAOS |
-F:LITE1 | SEE_INVIS | REGEN | ACTIVATE
-a:HARDCORE=CURE_700
+F:ACTIVATE
+F:CON
+F:HIDE_TYPE
+F:LITE1
+F:RANDOM_POWER
+F:RANDOM_RESIST
+F:REGEN
+F:RES_BLIND
+F:RES_CHAOS
+F:RES_COLD
+F:RES_CONF
+F:RES_ELEC
+F:RES_FIRE
+F:RES_LITE
+F:RES_SOUND
+F:SEE_INVIS
+F:SPEED
+F:STR
+F:WIS
+a:CURE_700
D:The shining winged circlet brought by Elendil from dying Numenor, emblem of
D:Gondor through an age of the world.
@@ -647,11 +1060,21 @@ N:43:of Numenor
I:33:12:3
W:60:30:40:50000
P:0:1d1:0:0:18
-F:INT | DEX | CHR | SEARCH | SPEED | HIDE_TYPE |
-F:SEE_INVIS | FREE_ACT | RES_DARK | RES_BLIND |
-F:RES_SHARDS | RES_SOUND | RES_LITE | RES_COLD |
-F:LITE1 | ACTIVATE | DRAIN_MANA
-a:HARDCORE=NUMENOR
+F:CHR
+F:DEX
+F:DRAIN_MANA
+F:FREE_ACT
+F:HIDE_TYPE
+F:INT
+F:LITE1
+F:RES_BLIND
+F:RES_COLD
+F:RES_DARK
+F:RES_LITE
+F:RES_SHARDS
+F:RES_SOUND
+F:SEE_INVIS
+F:SPEED
D:A crown of massive gold, set with wondrous jewels of thought and warding,
D:worn by the kings of ancient Numenor. Its wearer may go into battle
D:always knowing what he faces - unless his own folly blinds him to the
@@ -664,8 +1087,14 @@ N:44:'Colluin'
I:35:1:0
W:5:45:10:40000
P:1:0d0:0:0:20
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS | ACTIVATE | ESP_GOOD
-a:HARDCORE=COLLUIN
+F:ACTIVATE
+F:ESP_GOOD
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+a:COLLUIN
D:A cape worn by a hero from Valinor, a land utterly beyond the strife
D:of Elements.
@@ -676,9 +1105,14 @@ N:45:'Holcolleth'
I:35:1:2
W:5:25:10:13000
P:1:0d0:0:0:4
-F:INT | WIS | SPEED | STEALTH | HIDE_TYPE |
-F:RES_ACID | ACTIVATE
-a:HARDCORE=SLEEP
+F:ACTIVATE
+F:HIDE_TYPE
+F:INT
+F:RES_ACID
+F:SPEED
+F:STEALTH
+F:WIS
+a:SLEEP
D:This elven-grey mantle possesses great powers of tranquility and of
D:concealment, and grants the wearer the knowledge and understanding of
D:the Sindar.
@@ -690,9 +1124,16 @@ N:46:of Thingol
I:35:1:3
W:10:50:10:35000
P:1:0d0:0:0:18
-F:DEX | CHR | HIDE_TYPE |
-F:FREE_ACT | RES_ACID | RES_FIRE | RES_COLD | ACTIVATE
-a:HARDCORE=RECHARGE
+F:ACTIVATE
+F:CHR
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:RANDOM_POWER
+F:RES_ACID
+F:RES_COLD
+F:RES_FIRE
+a:RECHARGE
D:A sable-hued cloak, with glowing elven-runes to restore magic showing calm
D:and clear as moonlight on still water.
@@ -703,7 +1144,10 @@ N:47:of Thorongil
I:35:1:0
W:5:10:10:8000
P:1:0d0:0:0:10
-F:FREE_ACT | RES_ACID | SEE_INVIS | RES_FEAR
+F:FREE_ACT
+F:RES_ACID
+F:RES_FEAR
+F:SEE_INVIS
D:A cloak of shimmering green and brown that grants sight beyond sight and
D:shakes off holding magics, worn by Aragorn son of Arathorn in his youth
D:as he adventured under the name of Thorongil.
@@ -715,9 +1159,12 @@ N:48:'Colannon'
I:35:1:3
W:5:20:10:11000
P:1:0d0:0:0:15
-F:STEALTH | SPEED | RES_NEXUS |
-F:RES_ACID | ACTIVATE
-a:HARDCORE=TELEPORT
+F:ACTIVATE
+F:RES_ACID
+F:RES_NEXUS
+F:SPEED
+F:STEALTH
+a:TELEPORT
D:A crystal-blue cape of fine silk worn by a silent messenger of
D:the forces of Law. Somehow, its wearer is always able to escape
D:trouble.
@@ -729,9 +1176,23 @@ N:49:of Luthien
I:35:6:2
W:40:40:5:55000
P:6:0d0:0:0:20
-F:INT | WIS | CHR | HIDE_TYPE | SPEED | STEALTH | INVIS | LUCK
-F:RES_ACID | RES_FIRE | RES_COLD | SPECIAL_GENE | ACTIVATE | SPELL_CONTAIN | WIELD_CAST
-a:HARDCORE=REST_LIFE
+F:ACTIVATE
+F:CHR
+F:HIDE_TYPE
+F:INT
+F:INVIS
+F:LUCK
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_FIRE
+F:SPECIAL_GENE
+F:SPEED
+F:SPELL_CONTAIN
+F:STEALTH
+F:WIELD_CAST
+F:WIS
+a:REST_LIFE
D:The opaque midnight folds, inset with a multitude of tiny diamonds, of
D:this cloak swirl around you and you feel a hint, a fragment of the
D:knowledge and power to restore that lay in Luthien, the most beautiful
@@ -744,8 +1205,15 @@ N:50:of Tuor
I:35:6:4
W:40:40:5:35000
P:6:0d0:0:0:12
-F:STEALTH | DEX | HIDE_TYPE | INVIS | WATER_BREATH
-F:FREE_ACT | IM_ACID | SEE_INVIS | CLIMB
+F:CLIMB
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:IM_ACID
+F:INVIS
+F:SEE_INVIS
+F:STEALTH
+F:WATER_BREATH
D:From the ruin of Gondolin did Tuor escape, through secret ways and travail,
D:shielded by his cloak from a multitude of hostile eyes.
@@ -755,7 +1223,10 @@ N:51:of Azaghal
I:23:5:0
W:15:30:30:40000
P:0:2d5:12:14:0
-F:KILL_DRAGON | IM_FIRE | ESP_DRAGON | RES_FEAR
+F:ESP_DRAGON
+F:IM_FIRE
+F:KILL_DRAGON
+F:RES_FEAR
D:The weapon of Azaghal when he wounded Glaurung. It is deadly
D:when fighting dragons and is said to make the breaths of fire
D:completely harmless.
@@ -767,8 +1238,11 @@ N:52:'Cambeleg'
I:31:1:2
W:10:6:5:36000
P:1:0d0:8:8:15
-F:STR | CON | HIDE_TYPE |
-F:FREE_ACT | SHOW_MODS
+F:CON
+F:FREE_ACT
+F:HIDE_TYPE
+F:SHOW_MODS
+F:STR
D:A hero's handgear that lends great prowess in battle.
@@ -778,9 +1252,13 @@ N:53:'Cammithrim'
I:31:1:0
W:10:3:5:30000
P:1:0d0:0:0:10
-F:FREE_ACT | RES_LITE | SUST_CON | LITE1 | ACTIVATE
+F:ACTIVATE
+F:FREE_ACT
+F:LITE1
+F:RES_LITE
F:SPECIAL_GENE
-a:HARDCORE=BO_MISS_1
+F:SUST_CON
+a:BO_MISS_1
D:These gloves glow so brightly as to light the way for their owner and cast
D:magical bolts with great frequency.
@@ -791,8 +1269,11 @@ N:54:'Paurhach'
I:31:2:0
W:10:5:25:15000
P:2:1d1:0:0:15
-F:RES_FIRE | ACTIVATE | SPELL_CONTAIN | WIELD_CAST
-a:HARDCORE=BO_FIRE_1
+F:ACTIVATE
+F:RES_FIRE
+F:SPELL_CONTAIN
+F:WIELD_CAST
+a:BO_FIRE_1
D:A fiery set of gauntlets that can even shoot fire from the user's
D:hands.
@@ -803,9 +1284,14 @@ N:55:'Paurnimmen'
I:31:2:4
W:10:5:25:33000
P:2:1d1:0:0:15
-F:RES_COLD | ACTIVATE
-F:SUST_CON | CON | REGEN | SPELL_CONTAIN | WIELD_CAST
-a:HARDCORE=BO_COLD_1
+F:ACTIVATE
+F:CON
+F:REGEN
+F:RES_COLD
+F:SPELL_CONTAIN
+F:SUST_CON
+F:WIELD_CAST
+a:BO_COLD_1
D:A set of handgear so icy as to be able to fire frost bolts.
@@ -815,8 +1301,11 @@ N:56:'Pauraegen'
I:31:2:0
W:10:5:25:11000
P:2:1d1:0:0:15
-F:RES_ELEC | ACTIVATE | SPELL_CONTAIN | WIELD_CAST
-a:HARDCORE=BO_ELEC_1
+F:ACTIVATE
+F:RES_ELEC
+F:SPELL_CONTAIN
+F:WIELD_CAST
+a:BO_ELEC_1
D:A set of handgear with sparks surrounding it, able to fire
D:bolts of electricity.
@@ -827,8 +1316,11 @@ N:57:'Paurnen'
I:31:2:0
W:10:5:25:12000
P:2:1d1:0:0:15
-F:RES_ACID | ACTIVATE | SPELL_CONTAIN | WIELD_CAST
-a:HARDCORE=BO_ACID_1
+F:ACTIVATE
+F:RES_ACID
+F:SPELL_CONTAIN
+F:WIELD_CAST
+a:BO_ACID_1
D:A set of handgear so corrosive that it may fire bolts of acid.
@@ -838,9 +1330,22 @@ N:58:'Camlost'
I:31:2:-3
W:10:20:25:0
P:2:1d1:-11:-12:0
-F:STR | DEX | HIDE_TYPE | DRAIN_MANA |
-F:RES_POIS | IM_FIRE | IM_COLD | RES_DISEN | RES_NETHER | FREE_ACT |
-F:AGGRAVATE | SHOW_MODS | HEAVY_CURSE | TY_CURSE | TELEPORT | CURSED
+F:AGGRAVATE
+F:CURSED
+F:DEX
+F:DRAIN_MANA
+F:FREE_ACT
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:IM_COLD
+F:IM_FIRE
+F:RES_DISEN
+F:RES_NETHER
+F:RES_POIS
+F:SHOW_MODS
+F:STR
+F:TELEPORT
+F:TY_CURSE
D:A pair of gauntlets that sap combat ability, named after the empty hand
D:of Beren that once clasped a Silmaril.
@@ -851,9 +1356,15 @@ N:59:of Fingolfin
I:31:5:4
W:40:15:40:110000
P:5:1d1:10:10:20
-F:DEX | HIDE_TYPE | LUCK
-F:FREE_ACT | RES_ACID | ACTIVATE | SHOW_MODS
-a:HARDCORE=BO_MISS_2
+F:ACTIVATE
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:LUCK
+F:RANDOM_POWER
+F:RES_ACID
+F:SHOW_MODS
+a:BO_MISS_2
Z:magic missile
D:The hand-sheathing of Fingolfin, warrior-king of Elves and Men, who gave
D:Morgoth seven mighty wounds and pain that will last forever.
@@ -865,9 +1376,11 @@ N:60:of Feanor
I:30:3:15
W:40:120:40:300000
P:3:1d1:0:0:20
-F:SPEED | HIDE_TYPE |
-F:RES_NEXUS | ACTIVATE
-a:HARDCORE=SPEED
+F:ACTIVATE
+F:HIDE_TYPE
+F:RES_NEXUS
+F:SPEED
+a:SPEED
D:This wondrous pair of leather boots once sped Feanor, creator of the
D:Silmarils and the mightiest of the Eldar, along the Grinding Ice and to
D:Middle-earth at last.
@@ -879,10 +1392,17 @@ N:61:'Dal-i-thalion'
I:30:2:5
W:10:25:20:40000
P:2:1d1:0:0:15
-F:DEX | HIDE_TYPE | CHR | SUST_CHR |
-F:ACTIVATE | FREE_ACT |
-F:RES_NETHER | RES_CHAOS | RES_CONF | SUST_CON
-a:HARDCORE=CURE_POISON
+F:ACTIVATE
+F:CHR
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:RES_CHAOS
+F:RES_CONF
+F:RES_NETHER
+F:SUST_CHR
+F:SUST_CON
+a:CURE_POISON
D:A pair of high-laced shoes, strong against the powers of corruption and
D:withering, that grant the wearer extraordinary agility.
@@ -893,7 +1413,13 @@ N:62:of Thror
I:30:6:3
W:30:25:80:15000
P:6:1d1:0:0:20
-F:STR | CON | HIDE_TYPE | SPEED | RES_FEAR | CLIMB
+F:CLIMB
+F:CON
+F:HIDE_TYPE
+F:RANDOM_RESIST
+F:RES_FEAR
+F:SPEED
+F:STR
D:Sturdy footwear of leather and steel as enduring as the long-suffering
D:Dwarven King-in-exile who wore them. Of dwarven make, these boots will
D:make their wearer completely at home in the mountains.
@@ -911,9 +1437,20 @@ N:63:of Bard
I:17:2:0
W:55:30:2:50000
P:0:8d4:20:15:0
-F:SLAY_ANIMAL | SLAY_EVIL | SLAY_UNDEAD | SLAY_DEMON |
-F:SLAY_ORC | SLAY_TROLL | SLAY_GIANT | SLAY_DRAGON | KILL_DRAGON |
-F:BRAND_ACID | BRAND_ELEC | BRAND_FIRE | BRAND_COLD | BRAND_POIS
+F:BRAND_ACID
+F:BRAND_COLD
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:BRAND_POIS
+F:KILL_DRAGON
+F:SLAY_ANIMAL
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SLAY_UNDEAD
D:Deadliest of arrows, imbued with elemental strength, this shaft is
D:feared especially by the wyrmkin.
@@ -924,8 +1461,17 @@ N:64:of Maedhros
I:23:5:3
W:15:30:30:22500
P:0:2d5:12:15:0
-F:INT | DEX | HIDE_TYPE | SPEED | SPECIAL_GENE
-F:SLAY_TROLL | SLAY_GIANT | FREE_ACT | SEE_INVIS | SHOW_MODS
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:INT
+F:RANDOM_RES_OR_POWER
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_GIANT
+F:SLAY_TROLL
+F:SPECIAL_GENE
+F:SPEED
D:A short thrusting blade with a large guard worn by Maedhros the Tall,
D:eldest son of Feanor, and wielded with his left hand after the loss of
D:his right hand in the pits of Thangorodrim.
@@ -937,10 +1483,19 @@ N:65:'Angrist'
I:23:4:4
W:20:80:12:125000
P:0:2d4:10:15:5
-F:DEX | HIDE_TYPE | STEALTH | SEARCH | BRAND_POIS |
-F:SLAY_EVIL | SLAY_TROLL | SLAY_ORC | BRAND_ACID |
-F:FREE_ACT | RES_DARK | SUST_DEX | SEE_INVIS |
+F:BRAND_ACID
+F:BRAND_POIS
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:RES_DARK
+F:SEE_INVIS
F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STEALTH
+F:SUST_DEX
D:Forged from meteoric iron, this long chopping dagger slices through
D:ordinary metal as easily as its title, "Iron Cleaver", suggests.
@@ -951,8 +1506,14 @@ N:66:'Narthanc'
I:23:4:0
W:4:100:12:12000
P:0:1d4:4:6:0
-F:BRAND_FIRE | RES_FIRE | ACTIVATE | SHOW_MODS | LITE1 | LEVELS
-a:HARDCORE=BO_FIRE_1
+F:ACTIVATE
+F:BRAND_FIRE
+F:LEVELS
+F:LITE1
+F:RANDOM_RESIST
+F:RES_FIRE
+F:SHOW_MODS
+a:BO_FIRE_1
D:A fiery dagger finely balanced for deadly throws.
@@ -962,8 +1523,13 @@ N:67:'Nimthanc'
I:23:4:0
W:3:100:12:11000
P:0:1d4:4:6:0
-F:BRAND_COLD | RES_COLD | ACTIVATE | SHOW_MODS | LEVELS
-a:HARDCORE=BO_COLD_1
+F:ACTIVATE
+F:BRAND_COLD
+F:LEVELS
+F:RANDOM_RESIST
+F:RES_COLD
+F:SHOW_MODS
+a:BO_COLD_1
D:A frosty dagger finely balanced for deadly throws.
@@ -973,8 +1539,13 @@ N:68:'Dethanc'
I:23:4:0
W:5:100:12:13000
P:0:1d4:4:6:0
-F:BRAND_ELEC | RES_ELEC | ACTIVATE | SHOW_MODS | LEVELS
-a:HARDCORE=BO_ELEC_1
+F:ACTIVATE
+F:BRAND_ELEC
+F:LEVELS
+F:RANDOM_RESIST
+F:RES_ELEC
+F:SHOW_MODS
+a:BO_ELEC_1
D:A dagger covered in sparks and finely balanced for deadly throws.
@@ -984,8 +1555,13 @@ N:69:of Rilia
I:23:4:0
W:5:40:12:35000
P:0:2d4:4:3:0
-F:SLAY_ORC | RES_POIS | RES_DISEN | ACTIVATE | SHOW_MODS | BRAND_POIS
-a:HARDCORE=BA_POIS_1
+F:ACTIVATE
+F:BRAND_POIS
+F:RES_DISEN
+F:RES_POIS
+F:SHOW_MODS
+F:SLAY_ORC
+a:BA_POIS_1
D:A large stiletto dagger that glistens with odourless poison, to which the
D:wearer seems oddly immune.
@@ -996,11 +1572,19 @@ N:70:'Belangil'
I:23:4:2
W:10:40:12:50000
P:0:2d4:6:9:0
-F:DEX | HIDE_TYPE | SPEED | BLOWS |
-F:BRAND_COLD | RES_COLD |
-F:SEE_INVIS | SLOW_DIGEST | REGEN |
-F:ACTIVATE | SHOW_MODS | BRAND_POIS
-a:HARDCORE=BELANGIL
+F:ACTIVATE
+F:BLOWS
+F:BRAND_COLD
+F:BRAND_POIS
+F:DEX
+F:HIDE_TYPE
+F:REGEN
+F:RES_COLD
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLOW_DIGEST
+F:SPEED
+a:BELANGIL
D:A frosty dagger surrounded in a nimbus of ice with a hilt of elk horn and
D:an edge to wound the wind.
@@ -1011,11 +1595,22 @@ N:71:'Calris'
I:23:21:5
W:30:15:140:100000
P:0:5d4:-20:20:0
-F:CON | HIDE_TYPE | DRAIN_HP |
-F:KILL_DRAGON | SLAY_EVIL | SLAY_DEMON | SLAY_TROLL | RES_DISEN |
-F:AGGRAVATE | CURSED | HEAVY_CURSE | SHOW_MODS | ESP_DRAGON | ESP_DEMON
+F:AGGRAVATE
F:AUTO_CURSE
+F:CON
F:COULD2H
+F:CURSED
+F:DRAIN_HP
+F:ESP_DEMON
+F:ESP_DRAGON
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:KILL_DRAGON
+F:RES_DISEN
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SLAY_TROLL
f:COULD2H
D:This sword has runes of power incised on its ornate hilt and a single
D:blood channel that gleams coldly blue as you grasp this mighty weapon of
@@ -1028,13 +1623,28 @@ N:72:'Aranruth'
I:23:16:4
W:20:45:150:125000
P:0:3d5:20:12:0
-F:STR | DEX | CON | SUST_CON | SUST_STR
-F:REGEN | FREE_ACT | SEE_INVIS |
-F:RES_CHAOS | RES_NETHER | HOLD_LIFE | RES_FEAR |
-F:RES_COLD |
-F:SLAY_DEMON | SLAY_EVIL | SLAY_DRAGON | SLAY_UNDEAD |
-F:BRAND_COLD |
-F:SLOW_DIGEST | SHOW_MODS | HIDE_TYPE | BLESSED
+F:BLESSED
+F:BRAND_COLD
+F:CON
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:REGEN
+F:RES_CHAOS
+F:RES_COLD
+F:RES_FEAR
+F:RES_NETHER
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:SLOW_DIGEST
+F:STR
+F:SUST_CON
+F:SUST_STR
D:The beautiful sword of Thingol with a hilt of gold and silver inlay,
D:glistening icily enough to freeze the hearts of demons. You feel supple
D:and lightfooted as you hold it.
@@ -1046,9 +1656,20 @@ N:73:'Glamdring'
I:23:16:1
W:20:20:150:40000
P:0:2d5:10:15:0
-F:SEARCH | HIDE_TYPE | BLESSED | SLAY_DEMON |
-F:SLAY_EVIL | BRAND_FIRE | SLAY_ORC | RES_FIRE | RES_LITE | LITE1 |
-F:SLOW_DIGEST | SHOW_MODS | ESP_ORC | SPECIAL_GENE |
+F:BLESSED
+F:BRAND_FIRE
+F:ESP_ORC
+F:HIDE_TYPE
+F:LITE1
+F:RANDOM_RES_OR_POWER
+F:RES_FIRE
+F:RES_LITE
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLOW_DIGEST
+F:SPECIAL_GENE
D:This fiery, shining blade earned its sobriquet "Foe-Hammer" from dying orcs
D:who dared to come near hidden Gondolin.
@@ -1059,10 +1680,22 @@ N:74:'Aeglin'
I:23:16:4
W:20:90:150:95000
P:0:2d5:12:16:0
-F:SEARCH | BLESSED | LITE1 | HIDE_TYPE |
-F:BRAND_ELEC | SLAY_ORC | SLAY_GIANT | SLAY_TROLL | RES_FEAR |
-F:RES_ELEC | RES_FIRE | RES_BLIND | ESP_ORC | ESP_GIANT | ESP_TROLL |
-F:SLOW_DIGEST | SHOW_MODS
+F:BLESSED
+F:BRAND_ELEC
+F:ESP_GIANT
+F:ESP_ORC
+F:ESP_TROLL
+F:HIDE_TYPE
+F:LITE1
+F:RES_BLIND
+F:RES_ELEC
+F:RES_FEAR
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SLOW_DIGEST
D:Like unto Orcrist and Glamdring, and like them long lost, this sword is
D:continually coved in tiny arcs of captive lightning that flash and dance
D:eerily in the globe of light they create.
@@ -1074,9 +1707,20 @@ N:75:'Orcrist'
I:23:16:3
W:20:20:150:40000
P:0:2d5:10:15:0
-F:SEARCH | ESP_ORC | SLAY_DRAGON | ESP_DRAGON | RES_COLD | HIDE_TYPE |
-F:SLAY_EVIL | BRAND_COLD | SLAY_ORC | RES_COLD | LITE1 | RES_DARK |
-F:SLOW_DIGEST | SHOW_MODS
+F:BRAND_COLD
+F:ESP_DRAGON
+F:ESP_ORC
+F:HIDE_TYPE
+F:LITE1
+F:RANDOM_RES_OR_POWER
+F:RES_COLD
+F:RES_COLD
+F:RES_DARK
+F:SHOW_MODS
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLOW_DIGEST
D:This coldly gleaming blade is called simply "Biter", by orcs who came to
D:know its power all too well.
@@ -1087,10 +1731,23 @@ N:76:'Gurthang'
I:23:25:2
W:30:30:200:100000
P:0:3d6:13:17:0
-F:STR | HIDE_TYPE | VORPAL | ESP_DRAGON | DRAIN_HP |
-F:RES_FIRE | RES_POIS | BRAND_FIRE | BRAND_POIS |
-F:KILL_DRAGON | SLAY_TROLL | FREE_ACT | SLOW_DIGEST | REGEN | SHOW_MODS
+F:BRAND_FIRE
+F:BRAND_POIS
+F:DRAIN_HP
+F:ESP_DRAGON
+F:FREE_ACT
+F:HIDE_TYPE
+F:KILL_DRAGON
F:MUST2H
+F:RANDOM_RES_OR_POWER
+F:REGEN
+F:RES_FIRE
+F:RES_POIS
+F:SHOW_MODS
+F:SLAY_TROLL
+F:SLOW_DIGEST
+F:STR
+F:VORPAL
f:MUST2H
D:A giant sword once wielded by mighty Turin, and a great dragonbane which
D:bathed in Glaurung's blood: but beware, it will drink the blood of those
@@ -1103,11 +1760,29 @@ N:77:'Zarcuthra'
I:23:25:4
W:30:180:250:205000
P:0:4d6:19:21:0
-F:STR | CHR | INFRA | HIDE_TYPE | VORPAL | DRAIN_MANA |
-F:KILL_DRAGON | SLAY_ANIMAL | SLAY_EVIL | BRAND_FIRE |
-F:SLAY_UNDEAD | SLAY_DEMON | SLAY_TROLL | SLAY_GIANT | SLAY_ORC |
-F:RES_FIRE | RES_CHAOS | FREE_ACT | SEE_INVIS | AGGRAVATE | SHOW_MODS
+F:AGGRAVATE
+F:BRAND_FIRE
+F:CHR
+F:DRAIN_MANA
+F:FREE_ACT
+F:HIDE_TYPE
+F:INFRA
+F:KILL_DRAGON
F:MUST2H
+F:RANDOM_RES_OR_POWER
+F:RES_CHAOS
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SLAY_UNDEAD
+F:STR
+F:VORPAL
f:MUST2H
D:Dark and deadly runes stand stark against the naked steel of this awesome
D:weapon, and you feel a stunning power of slaying and rending as you
@@ -1120,10 +1795,25 @@ N:78:'Mormegil'
I:23:33:2
W:30:15:250:0
P:0:6d7:0:0:-20
-F:SPEED | IM_FIRE | RES_FIRE | BRAND_FIRE | RES_DISEN | RES_FEAR |
-F:AGGRAVATE | CURSED | HEAVY_CURSE | SHOW_MODS | LEVELS | TY_CURSE |
-F:BLOWS | SLAY_DRAGON | RES_CHAOS | ANTIMAGIC_50 |
-F:DRAIN_MANA | DRAIN_HP | DRAIN_EXP
+F:AGGRAVATE
+F:ANTIMAGIC_50
+F:BLOWS
+F:BRAND_FIRE
+F:CURSED
+F:DRAIN_EXP
+F:DRAIN_HP
+F:DRAIN_MANA
+F:HEAVY_CURSE
+F:IM_FIRE
+F:LEVELS
+F:RES_CHAOS
+F:RES_DISEN
+F:RES_FEAR
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_DRAGON
+F:SPEED
+F:TY_CURSE
D:A foul, twisted sword with blackened spines and knobs, whose very name is a
D:curse upon the lips of Elves and Men.
@@ -1134,9 +1824,17 @@ N:79:'Gondricam'
I:23:12:3
W:20:8:110:28000
P:0:1d7:10:11:0
-F:DEX | STEALTH | HIDE_TYPE |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | FEATHER |
-F:SEE_INVIS | REGEN | SHOW_MODS
+F:DEX
+F:FEATHER
+F:HIDE_TYPE
+F:REGEN
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:STEALTH
D:Famed sea-defender of Lebennin. A short, slightly curved chopping blade
D:with a perfect edge shining cleanly in the sun, an object of hate to the
D:men of Umbar who met it in combat.
@@ -1148,9 +1846,18 @@ N:80:'Crisdurian'
I:23:28:0
W:40:15:260:111000
P:0:4d5:18:19:0
-F:SLAY_DRAGON | SLAY_EVIL | SLAY_UNDEAD | SLAY_TROLL | SLAY_GIANT |
-F:SLAY_ORC | SEE_INVIS | SHOW_MODS | VORPAL | BRAND_POIS | WOUNDING
+F:BRAND_POIS
F:MUST2H
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SLAY_UNDEAD
+F:VORPAL
+F:WOUNDING
f:MUST2H
D:A giant's weapon, with a long blade tall and straight thrusting out from a
D:massive double-pronged hilt. On its blade are written doomspells against
@@ -1163,9 +1870,13 @@ N:81:'Aglarang'
I:23:20:5
W:35:25:50:40000
P:0:8d4:0:0:0
-F:DEX | TUNNEL | SPEED | HIDE_TYPE |
-F:SUST_DEX | SHOW_MODS
F:COULD2H
+F:DEX
+F:HIDE_TYPE
+F:SHOW_MODS
+F:SPEED
+F:SUST_DEX
+F:TUNNEL
f:COULD2H
D:An utterly perfect, cleanly chiselled sword, with a edge that effortlessly
D:slices rock and bone, and spells to render the wearer lithe and nimble. It
@@ -1178,11 +1889,25 @@ N:82:'Ringil'
I:23:17:10
W:20:120:130:300000
P:0:4d5:22:25:0
-F:SPEED | HIDE_TYPE | RES_FEAR | BLESSED |
-F:SLAY_EVIL | BRAND_COLD | SLAY_UNDEAD | KILL_DEMON | SLAY_TROLL |
-F:FREE_ACT | RES_COLD | RES_LITE | LITE1 | SEE_INVIS | SLOW_DIGEST | REGEN |
-F:ACTIVATE | SHOW_MODS
-a:HARDCORE=BA_COLD_2
+F:ACTIVATE
+F:BLESSED
+F:BRAND_COLD
+F:FREE_ACT
+F:HIDE_TYPE
+F:KILL_DEMON
+F:LITE1
+F:REGEN
+F:RES_COLD
+F:RES_FEAR
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_TROLL
+F:SLAY_UNDEAD
+F:SLOW_DIGEST
+F:SPEED
+a:BA_COLD_2
D:The weapon of Fingolfin, High King of the Noldor; it shines like a column
D:of ice lit by light unquenchable. Morgoth came but unwillingly to meet it
D:of old; his lame foot will remind him of its might should he meet it again.
@@ -1194,11 +1919,28 @@ N:83:'Anduril'
I:23:17:4
W:20:40:130:100000
P:0:3d5:10:15:5
-F:STR | DEX | HIDE_TYPE | RES_FEAR | FREE_ACT | BLESSED | LUCK
-F:SLAY_EVIL | BRAND_FIRE | SLAY_TROLL | SLAY_ORC | FREE_ACT |
-F:RES_FIRE | SUST_DEX | SEE_INVIS | ACTIVATE | SHOW_MODS | LITE1
-F:RES_DISEN | SPECIAL_GENE
-a:HARDCORE=BA_FIRE_1
+F:ACTIVATE
+F:BLESSED
+F:BRAND_FIRE
+F:DEX
+F:FREE_ACT
+F:FREE_ACT
+F:HIDE_TYPE
+F:LITE1
+F:LUCK
+F:RANDOM_RES_OR_POWER
+F:RES_DISEN
+F:RES_FEAR
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPECIAL_GENE
+F:STR
+F:SUST_DEX
+a:BA_FIRE_1
D:The famed "Flame of the West", the sword that was broken and is forged
D:again. It glows with the essence of fire, its wearer is mighty in combat,
D:and no creature of Sauron can withstand it. It will never be stained or
@@ -1211,10 +1953,23 @@ N:84:'Anguirel'
I:23:17:2
W:20:30:130:40000
P:0:2d5:8:12:0
-F:STR | CON | SPEED | HIDE_TYPE |
-F:SLAY_EVIL | BRAND_ELEC | SLAY_DEMON | FREE_ACT | RES_ELEC |
-F:RES_LITE | RES_DARK | SEE_INVIS | SHOW_MODS | VORPAL | WOUNDING
-F:AGGRAVATE | CURSED
+F:AGGRAVATE
+F:BRAND_ELEC
+F:CON
+F:CURSED
+F:FREE_ACT
+F:HIDE_TYPE
+F:RES_DARK
+F:RES_ELEC
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SPEED
+F:STR
+F:VORPAL
+F:WOUNDING
D:Forged of black galvorn by the Dark-Elven smith Eol, this blade has the
D:living lightning trapped inside.
@@ -1225,8 +1980,17 @@ N:85:'Elvagil'
I:23:17:2
W:20:8:130:20000
P:0:2d5:5:7:0
-F:DEX | CHR | STEALTH | HIDE_TYPE | ESP_ORC | ESP_TROLL
-F:SLAY_TROLL | SLAY_ORC | FEATHER | SEE_INVIS | SHOW_MODS
+F:CHR
+F:DEX
+F:ESP_ORC
+F:ESP_TROLL
+F:FEATHER
+F:HIDE_TYPE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STEALTH
D:The "Singing Blade", whose wearer can slay Orcs and Trolls in the hidden
D:and secret places of the earth.
@@ -1237,7 +2001,11 @@ N:86:'Forasgil'
I:23:7:0
W:15:8:40:15000
P:0:1d6:12:19:0
-F:SLAY_ANIMAL | BRAND_COLD | RES_COLD | RES_LITE | SHOW_MODS
+F:BRAND_COLD
+F:RES_COLD
+F:RES_LITE
+F:SHOW_MODS
+F:SLAY_ANIMAL
D:A slender, tapered blade whose wielder strikes icy blows with deadly
D:accuracy.
@@ -1248,9 +2016,17 @@ N:87:'Careth Asdriag'
I:23:11:2
W:15:8:50:25000
P:0:2d7:6:8:0
-F:DEX | BLOWS | SPEED | CON |
-F:SLAY_DRAGON | SLAY_ANIMAL | SLAY_TROLL | SLAY_GIANT |
-F:SLAY_ORC | SHOW_MODS | ESP_ANIMAL
+F:BLOWS
+F:CON
+F:DEX
+F:ESP_ANIMAL
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_DRAGON
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPEED
D:An heirloom of the Lords of Rhun far to the east, and a name of
D:dismay to creatures natural and unnatural.
@@ -1261,10 +2037,25 @@ N:88:'Sting'
I:23:8:2
W:20:205:75:100000
P:0:1d6:7:8:0
-F:STR | DEX | CON | BLOWS | SPEED | LEVELS |
-F:ESP_ORC | ESP_UNDEAD | ESP_SPIDER |
-F:SLAY_EVIL | SLAY_UNDEAD | SLAY_ORC | SLAY_ANIMAL | LITE1 |
-F:FREE_ACT | RES_LITE | SEE_INVIS | SHOW_MODS |
+F:BLOWS
+F:CON
+F:DEX
+F:ESP_ORC
+F:ESP_SPIDER
+F:ESP_UNDEAD
+F:FREE_ACT
+F:LEVELS
+F:LITE1
+F:RANDOM_RESIST
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_UNDEAD
+F:SPEED
+F:STR
D:"I will give you a name, and I shall call you Sting." The perfect size
D:for Bilbo, and stamped forever by the courage he found in Mirkwood, this
D:sturdy little blade grants the wearer combat prowess and survival
@@ -1277,11 +2068,21 @@ N:89:'Haradekket'
I:23:18:2
W:20:8:130:111111
P:0:2d5:9:11:0
-F:INT | WIS | BLOWS |
-F:SLAY_ANIMAL | SLAY_EVIL | SLAY_UNDEAD | SLAY_DRAGON | SLAY_DEMON |
-F:RES_CHAOS | RES_DISEN | RES_NEXUS |
-F:SEE_INVIS | BLESSED |
+F:BLESSED
+F:BLOWS
+F:INT
+F:RANDOM_RES_OR_POWER
+F:RES_CHAOS
+F:RES_DISEN
+F:RES_NEXUS
+F:SEE_INVIS
F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:WIS
D:A damascened scimitar that seems wondrously easy to hold. Famed in song as
D:the "Sickle of Harad", and a deadly foe to the undead.
@@ -1292,8 +2093,14 @@ N:90:'Gilettar'
I:23:10:2
W:20:8:80:35000
P:0:1d7:3:7:0
-F:BLOWS | HIDE_TYPE |
-F:SLAY_ANIMAL | SLOW_DIGEST | REGEN | SHOW_MODS | SEE_INVIS | RES_DISEN
+F:BLOWS
+F:HIDE_TYPE
+F:REGEN
+F:RES_DISEN
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLOW_DIGEST
D:A stubby blade worn by Beren, whose horn sounded of old in the glades of
D:Brethil.
@@ -1304,10 +2111,27 @@ N:91:'Doomcaller'
I:23:30:0
W:70:25:180:250000
P:0:6d5:18:28:-50
-F:KILL_DRAGON | SLAY_ANIMAL | SLAY_EVIL | BRAND_COLD | SLAY_TROLL |
-F:SLAY_ORC | FREE_ACT | RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:RES_CHAOS | SEE_INVIS | ESP_EVIL | AGGRAVATE | SHOW_MODS |
-F:CHAOTIC | VORPAL | BRAND_FIRE | BRAND_POIS | SPECIAL_GENE
+F:AGGRAVATE
+F:BRAND_COLD
+F:BRAND_FIRE
+F:BRAND_POIS
+F:CHAOTIC
+F:ESP_EVIL
+F:FREE_ACT
+F:KILL_DRAGON
+F:RES_ACID
+F:RES_CHAOS
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPECIAL_GENE
+F:VORPAL
D:This weapon of wrath, cursed with a violent anger, dives hungrily
D:into the flesh of its enemies. It gathers shadows of death into its
D:owner as they inflict wounds that will never heal.
@@ -1319,8 +2143,16 @@ N:92:'Vorpal Blade'
I:23:17:2
W:50:30:150:250000
P:0:5d5:32:32:0
-F:VORPAL | SLAY_EVIL | WOUNDING
-F:FREE_ACT | SEE_INVIS | SLOW_DIGEST | REGEN | SPEED | STR | DEX
+F:DEX
+F:FREE_ACT
+F:REGEN
+F:SEE_INVIS
+F:SLAY_EVIL
+F:SLOW_DIGEST
+F:SPEED
+F:STR
+F:VORPAL
+F:WOUNDING
D:"One, two! One, two! And through, and through, the vorpal blade
D:went snicker-snack!"
@@ -1331,9 +2163,16 @@ N:93:of Theoden
I:22:10:3
W:20:15:180:40000
P:0:2d6:8:10:0
-F:WIS | CON | HIDE_TYPE |
-F:SLAY_DRAGON | ESP_EVIL | ESP_UNDEAD | SLOW_DIGEST | ACTIVATE | SHOW_MODS
-a:HARDCORE=DRAIN_2
+F:ACTIVATE
+F:CON
+F:ESP_EVIL
+F:ESP_UNDEAD
+F:HIDE_TYPE
+F:SHOW_MODS
+F:SLAY_DRAGON
+F:SLOW_DIGEST
+F:WIS
+a:DRAIN_2
D:The narrow axe head of this weapon, finely balanced by a crow's beak,
D:would pierce even the armour of Smaug, and its wielder becomes aware of
D:the minds of their enemies.
@@ -1345,8 +2184,10 @@ N:94:of Pain
I:22:13:0
W:30:155:190:50000
P:0:9d6:0:30:0
-F:SHOW_MODS | LEVELS | DRAIN_MANA
F:COULD2H
+F:DRAIN_MANA
+F:LEVELS
+F:SHOW_MODS
f:COULD2H
D:The massive chopper that crowns this glaive glows blood-red and black;
D:fell spells of annihilation swirl and dance as you swing death's myrmidon
@@ -1359,10 +2200,18 @@ N:95:'Osondir'
I:22:15:3
W:20:8:190:22000
P:0:3d5:6:9:0
-F:CHR | HIDE_TYPE |
-F:BRAND_FIRE | SLAY_UNDEAD | SLAY_GIANT | RES_FIRE | RES_SOUND |
-F:FEATHER | SEE_INVIS | SHOW_MODS | ESP_GIANT
+F:BRAND_FIRE
+F:CHR
F:COULD2H
+F:ESP_GIANT
+F:FEATHER
+F:HIDE_TYPE
+F:RES_FIRE
+F:RES_SOUND
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_GIANT
+F:SLAY_UNDEAD
f:COULD2H
D:Lordly and tall did Osondir stand against the wrath of giants, and
D:clear-eyed in barrows fell, wielding a halberd glowing ruby red.
@@ -1374,10 +2223,20 @@ N:96:'Til-i-arc'
I:22:8:2
W:20:15:160:32000
P:0:2d5:10:12:10
-F:INT | HIDE_TYPE |
-F:BRAND_COLD | BRAND_FIRE | SLAY_DEMON | SLAY_TROLL | SLAY_GIANT | ESP_GIANT
-F:RES_FIRE | RES_COLD | SUST_INT | SLOW_DIGEST | SHOW_MODS |
+F:BRAND_COLD
+F:BRAND_FIRE
F:COULD2H
+F:ESP_GIANT
+F:HIDE_TYPE
+F:INT
+F:RES_COLD
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_GIANT
+F:SLAY_TROLL
+F:SLOW_DIGEST
+F:SUST_INT
f:COULD2H
D:Within this long thrusting spear lie the spirits of frost giants and fire
D:demons, who war forever, trapped by magely spells.
@@ -1389,12 +2248,25 @@ N:97:'Aeglos'
I:22:2:4
W:15:45:50:180000
P:0:3d6:15:25:5
-F:DEX | WIS | HIDE_TYPE |
-F:BRAND_COLD | BRAND_ELEC | LITE1 |
-F:SLAY_TROLL | SLAY_ORC | SLAY_GIANT | KILL_UNDEAD |
-F:FREE_ACT | RES_COLD | RES_ELEC | RES_LITE |
-F:SLOW_DIGEST | ACTIVATE | BLESSED | SHOW_MODS |
-a:HARDCORE=BA_ELEC_2
+F:ACTIVATE
+F:BLESSED
+F:BRAND_COLD
+F:BRAND_ELEC
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:KILL_UNDEAD
+F:LITE1
+F:RES_COLD
+F:RES_ELEC
+F:RES_LITE
+F:SHOW_MODS
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SLOW_DIGEST
+F:WIS
+a:BA_ELEC_2
D:The mighty spear of Gil-galad, famed as "Snow-point" in the songs of
D:Elves, against which all the foul corruptions of Sauron dashed in vain.
@@ -1405,14 +2277,29 @@ N:98:of Orome
I:22:2:4
W:15:45:50:77777
P:0:4d6:15:15:0
-F:INT | WIS | SPEED | TUNNEL | INFRA | HIDE_TYPE | SEARCH |
-F:BRAND_FIRE |
-F:SLAY_GIANT | SLAY_EVIL | SLAY_DEMON | SLAY_UNDEAD | SLAY_DRAGON |
-F:RES_FIRE | RES_LITE | HOLD_LIFE | RES_FEAR |
-F:FEATHER | ESP_GIANT
-F:SEE_INVIS |
-F:ACTIVATE | BLESSED | SHOW_MODS
-a:HARDCORE=STONE_MUD
+F:ACTIVATE
+F:BLESSED
+F:BRAND_FIRE
+F:ESP_GIANT
+F:FEATHER
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:INFRA
+F:INT
+F:RES_FEAR
+F:RES_FIRE
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_UNDEAD
+F:SPEED
+F:TUNNEL
+F:WIS
+a:STONE_MUD
D:The thrusting spear of wise Orome the Vala, strong against giants of frost,
D:which can melt rock or flesh with ease.
@@ -1423,8 +2310,16 @@ N:99:'Nimloth'
I:22:2:3
W:15:12:50:30000
P:0:1d6:11:13:0
-F:STEALTH | RES_DARK | INFRA | SPEED | BLESSED |
-F:BRAND_COLD | SLAY_UNDEAD | RES_COLD | SEE_INVIS | SHOW_MODS
+F:BLESSED
+F:BRAND_COLD
+F:INFRA
+F:RES_COLD
+F:RES_DARK
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_UNDEAD
+F:SPEED
+F:STEALTH
D:A thin spike of thrice-forged steel caps a straight sylvan shaft cut from
D:a legendary tree; spells to break the will of the undead and strike cold
D:fear into the hearts of foes lie on this perfectly balanced spear.
@@ -1436,9 +2331,17 @@ N:100:of Eorlingas
I:22:20:2
W:20:23:360:55000
P:0:3d8:3:21:0
-F:STR | DEX | SPEED | HIDE_TYPE | RES_FEAR |
-F:SLAY_EVIL | SLAY_TROLL | SLAY_ORC | SEE_INVIS | SHOW_MODS
+F:DEX
+F:HIDE_TYPE
F:MUST2H
+F:RES_FEAR
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPEED
+F:STR
f:MUST2H
D:"Forth Eorlingas!" To the field of Cormallen came Eorl the Young
D:to save beleaguered Gondor, and from his lance fled massive trolls
@@ -1451,11 +2354,26 @@ N:101:of Durin
I:24:25:3
W:30:90:230:150000
P:0:4d4:10:20:15
-F:STR | CON | TUNNEL | HIDE_TYPE | ESP_EVIL | RES_FEAR |
-F:SLAY_DRAGON | KILL_DEMON | SLAY_TROLL | SLAY_ORC | FREE_ACT |
-F:RES_ACID | RES_FIRE | RES_LITE | RES_DARK | RES_CHAOS | SHOW_MODS |
-F:BRAND_ACID | BRAND_FIRE
+F:BRAND_ACID
+F:BRAND_FIRE
+F:CON
+F:ESP_EVIL
+F:FREE_ACT
+F:HIDE_TYPE
+F:KILL_DEMON
F:MUST2H
+F:RES_ACID
+F:RES_CHAOS
+F:RES_DARK
+F:RES_FEAR
+F:RES_FIRE
+F:RES_LITE
+F:SHOW_MODS
+F:SLAY_DRAGON
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
+F:TUNNEL
f:MUST2H
D:The twin massive axe heads of this ancient demon's dread gleam with
D:mithril inlay, which tell sagas of endurance, invoking the powers of
@@ -1468,11 +2386,26 @@ N:102:of Eonwe
I:24:25:2
W:30:120:230:200000
P:0:4d4:15:18:8
-F:STR | INT | WIS | DEX | CON | CHR | HIDE_TYPE |
-F:SLAY_EVIL | BRAND_COLD | KILL_DEMON | SLAY_UNDEAD | ESP_NONLIVING
-F:SLAY_ORC | FREE_ACT | IM_COLD | SEE_INVIS | ACTIVATE |
-F:BLESSED | SHOW_MODS
-a:HARDCORE=MASS_GENO
+F:ACTIVATE
+F:BLESSED
+F:BRAND_COLD
+F:CHR
+F:CON
+F:DEX
+F:ESP_NONLIVING
+F:FREE_ACT
+F:HIDE_TYPE
+F:IM_COLD
+F:INT
+F:KILL_DEMON
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_UNDEAD
+F:STR
+F:WIS
+a:MASS_GENO
D:The axe of Eonwe, leader of the Hosts of the West before the gates of
D:Thangorodrim, strikes with icy wrath at the undead, disperses hosts of
D:evil at a word, and grants Maia-like powers of body and mind.
@@ -1484,11 +2417,25 @@ N:103:of Balli Stonehand
I:22:22:3
W:30:15:170:90000
P:0:3d8:8:11:5
-F:STR | CON | STEALTH | HIDE_TYPE | ESP_NONLIVING
-F:SLAY_DEMON | SLAY_TROLL | SLAY_ORC | FREE_ACT |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_BLIND | FEATHER |
-F:SEE_INVIS | REGEN | SHOW_MODS
+F:CON
F:COULD2H
+F:ESP_NONLIVING
+F:FEATHER
+F:FREE_ACT
+F:HIDE_TYPE
+F:REGEN
+F:RES_ACID
+F:RES_BLIND
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STEALTH
+F:STR
f:COULD2H
D:The twin blades of this weapon were forged in Belegost, and powerful forces
D:to resist and endure lie ready for he who shall wield it once more.
@@ -1500,9 +2447,14 @@ N:104:'Lotharang'
I:22:22:1
W:30:15:170:21000
P:0:2d8:4:3:0
-F:STR | DEX | HIDE_TYPE |
-F:SLAY_TROLL | SLAY_ORC | ACTIVATE | SHOW_MODS
-a:HARDCORE=CURE_MW
+F:ACTIVATE
+F:DEX
+F:HIDE_TYPE
+F:SHOW_MODS
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
+a:CURE_MW
D:A superbly crafted double-bladed axe that slays the creatures of earth and
D:allows rapid recovery from their blows.
@@ -1513,10 +2465,17 @@ N:105:of the Dwarves
I:22:28:10
W:30:8:250:80000
P:0:3d8:12:17:0
-F:SLAY_EVIL | TUNNEL | INFRA | SEARCH | SLAY_GIANT |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_FEAR |
-F:SHOW_MODS
F:COULD2H
+F:INFRA
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FEAR
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:TUNNEL
f:COULD2H
D:A massive axe with twin razor-sharp heads, so large that it usually
D:requires two hands to wield, intricately engraved in gold with spells
@@ -1529,10 +2488,15 @@ N:106:'Barukkheled'
I:24:11:3
W:20:8:160:50000
P:0:2d6:13:19:0
-F:CON | HIDE_TYPE |
-F:SLAY_EVIL | SLAY_TROLL | SLAY_GIANT | SLAY_ORC |
-F:SEE_INVIS | SHOW_MODS
+F:CON
F:COULD2H
+F:HIDE_TYPE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
f:COULD2H
D:A royal heirloom of the southern coast, strong in combat against evil
D:creatures of the earth.
@@ -1544,10 +2508,19 @@ N:107:of Wrath
I:22:5:2
W:15:35:300:90000
P:0:3d8:16:18:0
-F:STR | DEX | HIDE_TYPE | CHAOTIC | DRAIN_MANA |
-F:SLAY_EVIL | KILL_UNDEAD | RES_LITE | RES_DARK | SEE_INVIS |
-F:BLESSED | SHOW_MODS
+F:BLESSED
+F:CHAOTIC
F:COULD2H
+F:DEX
+F:DRAIN_MANA
+F:HIDE_TYPE
+F:KILL_UNDEAD
+F:RES_DARK
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:STR
f:COULD2H
D:A massive triple-pronged spear, so great it normally requires two hands to
D:wield, evoking the spirit of Osse who with it pierced legions of
@@ -1560,11 +2533,23 @@ N:108:of Ulmo
I:22:5:4
W:30:90:70:120000
P:0:4d8:15:19:0
-F:DEX | HIDE_TYPE |
-F:SLAY_DRAGON | SLAY_ANIMAL | FREE_ACT | HOLD_LIFE | IM_ACID |
-F:RES_NETHER | SEE_INVIS | SLOW_DIGEST | REGEN | ACTIVATE |
-F:BLESSED | SHOW_MODS | WATER_BREATH
-a:HARDCORE=TELE_AWAY
+F:ACTIVATE
+F:BLESSED
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:IM_ACID
+F:RANDOM_POWER
+F:REGEN
+F:RES_NETHER
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_DRAGON
+F:SLOW_DIGEST
+F:WATER_BREATH
+a:TELE_AWAY
D:The awesome weapon of the Vala Ulmo, Lord of Waters. Mightiest of all the
D:powers of good save Manwe himself, Ulmo laughs in scorn at the dread powers
D:of the undead, and is utterly in command of the element of water.
@@ -1576,12 +2561,21 @@ N:109:'Avavir'
I:22:17:3
W:40:8:250:18000
P:0:5d3:8:8:10
-F:DEX | CHR | HIDE_TYPE |
-F:BRAND_COLD | BRAND_FIRE | FREE_ACT | RES_FIRE | RES_COLD |
-F:RES_LITE | SEE_INVIS | ACTIVATE | SHOW_MODS
+F:ACTIVATE
+F:BRAND_COLD
+F:BRAND_FIRE
+F:CHR
F:COULD2H
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:RES_COLD
+F:RES_FIRE
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
f:COULD2H
-a:HARDCORE=RECALL
+a:RECALL
D:With elemental powers whose struggles turn this weapon red and purest
D:white, this shining reaper bears within it a power of going forth and
D:returning.
@@ -1593,10 +2587,27 @@ N:110:of the Dawn
I:23:17:3
W:40:160:130:250000
P:0:3d5:20:20:0
-F:ACTIVATE | BRAND_FIRE | FREE_ACT | RES_FIRE | INFRA | LEVELS |
-F:SLAY_EVIL | SLAY_DRAGON | SLAY_UNDEAD | SLAY_DEMON | VORPAL | CLONE |
-F:CHR | SUST_CHR | RES_FEAR | RES_LITE | RES_BLIND | REGEN | SHOW_MODS
-a:HARDCORE=DAWN
+F:ACTIVATE
+F:BRAND_FIRE
+F:CHR
+F:CLONE
+F:FREE_ACT
+F:INFRA
+F:LEVELS
+F:RANDOM_RES_OR_POWER
+F:REGEN
+F:RES_BLIND
+F:RES_FEAR
+F:RES_FIRE
+F:RES_LITE
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:SUST_CHR
+F:VORPAL
+a:DAWN
D:Forged in the farthest East by a race of mighty spellcasters, this
D:shiny pale sword gleams with the rays of rising sun as you invoke
D:its power of commanding legions of powerful immortal warriors...
@@ -1608,13 +2619,30 @@ N:111:'Grond'
I:21:50:2
W:100:1:1000:500000
P:0:9d9:25:25:10
-F:KILL_DRAGON | SLAY_ANIMAL | SLAY_EVIL | IMPACT | KILL_UNDEAD | NO_MAGIC |
-F:KILL_DEMON | SLAY_TROLL | SLAY_ORC | RES_ACID | RES_ELEC | RES_FIRE |
-F:RES_COLD | SEE_INVIS | ESP_ALL | AGGRAVATE | SHOW_MODS | INSTA_ART |
-F:LEVELS | ACTIVATE | SPECIAL_GENE
+F:ACTIVATE
+F:AGGRAVATE
+F:ESP_ALL
+F:IMPACT
+F:INSTA_ART
+F:KILL_DEMON
+F:KILL_DRAGON
+F:KILL_UNDEAD
+F:LEVELS
F:MUST2H
+F:NO_MAGIC
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPECIAL_GENE
f:MUST2H
-a:HARDCORE=GROND
+a:GROND
D:The mighty Hammer of the Underworld, blackened by doomspells of shattering,
D:whose wielder holds the lives of all Morgoth's servants in his hand.
@@ -1625,12 +2653,17 @@ N:112:'Totila'
I:21:13:2
W:20:8:150:55000
P:0:3d6:6:8:0
-F:STEALTH |
-F:SLAY_EVIL | BRAND_FIRE | RES_FIRE | RES_CONF | ACTIVATE |
-F:SHOW_MODS | LITE1
+F:ACTIVATE
+F:BRAND_FIRE
F:COULD2H
+F:LITE1
+F:RES_CONF
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_EVIL
+F:STEALTH
f:COULD2H
-a:HARDCORE=CONFUSE
+a:CONFUSE
D:A flail whose head befuddles those who stare as you whirl it around, and
D:becomes a fiery comet as you bring it down.
@@ -1641,10 +2674,20 @@ N:113:'Thunderfist'
I:21:18:4
W:45:38:300:160000
P:0:3d6:5:18:0
-F:STR | CON | HIDE_TYPE | RES_FEAR |
-F:SLAY_ANIMAL | BRAND_FIRE | BRAND_ELEC | SLAY_TROLL | SLAY_ORC |
-F:RES_ELEC | RES_FIRE | RES_DARK | SHOW_MODS |
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:CON
+F:HIDE_TYPE
F:MUST2H
+F:RES_DARK
+F:RES_ELEC
+F:RES_FEAR
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
f:MUST2H
D:The long-lost weapon of Kzurin, Dwarven champion of ancient Belegost,
D:with runes of strength in its handle, and flames and sparks that roar and
@@ -1657,9 +2700,15 @@ N:114:'Bloodspike'
I:21:12:4
W:20:30:150:30000
P:0:2d6:8:22:0
-F:STR | HIDE_TYPE | BRAND_POIS |
-F:SLAY_ANIMAL | SLAY_TROLL | SLAY_ORC | RES_NEXUS | SEE_INVIS |
+F:BRAND_POIS
+F:HIDE_TYPE
+F:RES_NEXUS
+F:SEE_INVIS
F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
D:You feel strong and firm of foot as you whip the chain-suspended spiked orb
D:around - and bathe it in the blood of your foes.
@@ -1670,8 +2719,12 @@ N:115:'Firestar'
I:21:12:0
W:20:100:150:35000
P:0:2d6:5:7:2
-F:BRAND_FIRE | IM_FIRE | ACTIVATE | SHOW_MODS | LITE1
-a:HARDCORE=FIRESTAR
+F:ACTIVATE
+F:BRAND_FIRE
+F:IM_FIRE
+F:LITE1
+F:SHOW_MODS
+a:FIRESTAR
D:A famed battle-lord of old, with a ruddy head, coloured as embers are that
D:can yet rise up in wrath.
@@ -1682,10 +2735,14 @@ N:116:'Taratol'
I:21:5:0
W:20:15:200:50000
P:0:3d4:12:12:0
-F:KILL_DRAGON | BRAND_ELEC | IM_ELEC | ACTIVATE | SHOW_MODS
+F:ACTIVATE
+F:BRAND_ELEC
F:COULD2H
+F:IM_ELEC
+F:KILL_DRAGON
+F:SHOW_MODS
f:COULD2H
-a:HARDCORE=SPEED
+a:SPEED
D:A great ridged mace that calls around you a nimbus of living lightning;
D:you remain utterly untouched even as fat sparks arc around your
D:fingers and eyebrows.
@@ -1697,11 +2754,26 @@ N:117:of Aule
I:21:8:4
W:40:75:120:250000
P:0:9d3:19:21:5
-F:WIS | TUNNEL | HIDE_TYPE | RES_FEAR |
-F:KILL_DRAGON | SLAY_EVIL | BRAND_ELEC | SLAY_UNDEAD | SLAY_DEMON |
-F:FREE_ACT | RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_NEXUS |
-F:SEE_INVIS | SHOW_MODS
+F:BRAND_ELEC
F:COULD2H
+F:FREE_ACT
+F:HIDE_TYPE
+F:KILL_DRAGON
+F:RANDOM_POWER
+F:RANDOM_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FEAR
+F:RES_FIRE
+F:RES_NEXUS
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:TUNNEL
+F:WIS
f:COULD2H
D:The wondrous hammer of Aule, creator of the wise Dwarven lords of old.
D:It bears magics of demolishing that no serpent or demon can withstand, and
@@ -1714,9 +2786,13 @@ N:118:'Nar-i-vagil'
I:21:3:3
W:20:18:150:70000
P:0:1d9:10:20:0
-F:INT | HIDE_TYPE |
-F:SLAY_ANIMAL | BRAND_FIRE | RES_FIRE | SHOW_MODS
+F:BRAND_FIRE
F:COULD2H
+F:HIDE_TYPE
+F:INT
+F:RES_FIRE
+F:SHOW_MODS
+F:SLAY_ANIMAL
f:COULD2H
D:Named for a fiery star and set with gems of great worth binding mystic
D:virtues of protection and thought.
@@ -1728,9 +2804,18 @@ N:119:'Eriril'
I:21:3:4
W:20:18:150:20000
P:0:1d9:3:5:0
-F:INT | WIS | HIDE_TYPE | ESP_EVIL | SPELL_CONTAIN | WIELD_CAST
-F:SLAY_EVIL | RES_LITE | SEE_INVIS | ACTIVATE | SHOW_MODS
-a:HARDCORE=ID_PLAIN
+F:ACTIVATE
+F:ESP_EVIL
+F:HIDE_TYPE
+F:INT
+F:RES_LITE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SPELL_CONTAIN
+F:WIELD_CAST
+F:WIS
+a:ID_PLAIN
D:The radiant golden staff of an Istari of legend, this wizard's companion
D:grants keen sight and the knowledge of many hidden things.
@@ -1741,10 +2826,25 @@ N:120:of Olorin
I:21:3:4
W:30:105:150:140000
P:0:2d9:10:13:0
-F:INT | WIS | CHR | HIDE_TYPE | SEARCH | BRAND_FIRE |
-F:SLAY_EVIL | BRAND_FIRE | SLAY_TROLL | SLAY_ORC | SPELL_CONTAIN | WIELD_CAST
-F:HOLD_LIFE | RES_FIRE | RES_NETHER | SEE_INVIS | ACTIVATE | SHOW_MODS
-a:HARDCORE=DETECT_XTRA
+F:ACTIVATE
+F:BRAND_FIRE
+F:BRAND_FIRE
+F:CHR
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:INT
+F:RANDOM_POWER
+F:RES_FIRE
+F:RES_NETHER
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_EVIL
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPELL_CONTAIN
+F:WIELD_CAST
+F:WIS
+a:DETECT_XTRA
D:A staff tall and sturdy, with rough-hewn runes that invoke the element of
D:Earth, and which strikes down all creatures who live in the shadow of
D:mountains.
@@ -1756,11 +2856,25 @@ N:121:'Deathwreaker'
I:21:20:6
W:80:38:400:444444
P:0:7d8:18:18:0
-F:STR | TUNNEL | HIDE_TYPE | NO_TELE | DRAIN_MANA |
-F:SLAY_DRAGON | SLAY_ANIMAL | SLAY_EVIL | KILL_UNDEAD | BRAND_FIRE |
-F:IM_FIRE | RES_DARK | RES_CHAOS | RES_DISEN | AGGRAVATE |
-F:SHOW_MODS | BRAND_POIS | VAMPIRIC
+F:AGGRAVATE
+F:BRAND_FIRE
+F:BRAND_POIS
+F:DRAIN_MANA
+F:HIDE_TYPE
+F:IM_FIRE
+F:KILL_UNDEAD
F:MUST2H
+F:NO_TELE
+F:RES_CHAOS
+F:RES_DARK
+F:RES_DISEN
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:STR
+F:TUNNEL
+F:VAMPIRIC
f:MUST2H
D:A weapon so massive it seems beyond the strength of mortals, yet you feel
D:the might of giants within you as you heft it. As you grip the handle
@@ -1775,12 +2889,23 @@ N:122:'Turmil'
I:21:10:4
W:20:15:120:30000
P:0:2d5:10:6:8
-F:WIS | INFRA | HIDE_TYPE |
-F:BRAND_COLD | SLAY_ORC | RES_COLD | RES_LITE | REGEN |
-F:ACTIVATE | SHOW_MODS | ESP_ORC | ESP_TROLL | ESP_GIANT
+F:ACTIVATE
+F:BRAND_COLD
F:COULD2H
+F:ESP_GIANT
+F:ESP_ORC
+F:ESP_TROLL
+F:HIDE_TYPE
+F:INFRA
+F:RANDOM_RESIST
+F:REGEN
+F:RES_COLD
+F:RES_LITE
+F:SHOW_MODS
+F:SLAY_ORC
+F:WIS
f:COULD2H
-a:HARDCORE=TURMIL
+a:TURMIL
D:Wielded by the High Priest of Meneltarma, this great mace gleams coldly as
D:though moonlit, and it can strike as mighty a blow spiritually as
D:physically.
@@ -1792,11 +2917,26 @@ N:123:of Gothmog
I:21:2:-2
W:20:15:120:100000
P:0:3d6:15:16:0
-F:INT | DEX | INFRA | HIDE_TYPE | DRAIN_HP |
-F:HEAVY_CURSE | CURSED | AGGRAVATE |
-F:BRAND_FIRE | SLAY_ANIMAL | SLAY_DEMON | RES_FIRE | ESP_SPIDER
-F:VORPAL | RES_LITE | LITE1 | REGEN | ESP_DEMON | WOUNDING
+F:AGGRAVATE
+F:BRAND_FIRE
+F:CURSED
+F:DEX
+F:DRAIN_HP
+F:ESP_DEMON
+F:ESP_SPIDER
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:INFRA
+F:INT
+F:LITE1
+F:REGEN
+F:RES_FIRE
+F:RES_LITE
F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SLAY_DEMON
+F:VORPAL
+F:WOUNDING
D:With this unbearably bright whip of flame, the Balrog Gothmog has become
D:known for never having lost in combat.
@@ -1807,8 +2947,12 @@ N:124:'Belthronding'
I:19:13:3
W:40:20:40:35000
P:0:0d0:20:22:0
-F:DEX | STEALTH | HIDE_TYPE |
-F:RES_DISEN | XTRA_SHOTS | SHOW_MODS
+F:DEX
+F:HIDE_TYPE
+F:RES_DISEN
+F:SHOW_MODS
+F:STEALTH
+F:XTRA_SHOTS
D:The great bow of Beleg, made of black yew and strung with elven hair that
D:faintly shines a pale clear gold.
@@ -1819,8 +2963,13 @@ N:125:of Bard
I:19:13:2
W:30:20:40:20000
P:0:0d0:17:19:0
-F:DEX | HIDE_TYPE | ESP_DRAGON | LUCK
-F:FREE_ACT | XTRA_MIGHT | SHOW_MODS
+F:DEX
+F:ESP_DRAGON
+F:FREE_ACT
+F:HIDE_TYPE
+F:LUCK
+F:SHOW_MODS
+F:XTRA_MIGHT
D:The great yew bow of grim-faced Bard, who shot the mightiest arrow that
D:songs record.
@@ -1831,9 +2980,13 @@ N:126:'Cubragol'
I:19:23:10
W:50:25:110:50000
P:0:0d0:10:14:0
-F:SPEED | HIDE_TYPE |
-F:RES_FIRE | ACTIVATE | SHOW_MODS
-a:HARDCORE=CUBRAGOL
+F:ACTIVATE
+F:HIDE_TYPE
+F:RANDOM_RES_OR_POWER
+F:RES_FIRE
+F:SHOW_MODS
+F:SPEED
+a:CUBRAGOL
D:A crossbow that grants fiery speed to he who finds it, and from which
D:shoot bolts that blaze with flame unquenchable.
@@ -1846,13 +2999,31 @@ N:127:of Eternity
I:6:1:12
W:127:220:20:9000000
P:0:1d4:-19:-19:0
-F:INT | CHR | WIS | MANA | SPELL | ACTIVATE |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | LUCK | SPECIAL_GENE
-F:SEE_INVIS | ESP_EVIL | ESP_DEMON | NEVER_BLOW | INFRA
-F:PRECOGNITION | IM_FIRE | ULTIMATE | SPELL_CONTAIN | WIELD_CAST
+F:ACTIVATE
+F:CHR
F:COULD2H
+F:ESP_DEMON
+F:ESP_EVIL
+F:IM_FIRE
+F:INFRA
+F:INT
+F:LUCK
+F:MANA
+F:NEVER_BLOW
+F:PRECOGNITION
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SEE_INVIS
+F:SPECIAL_GENE
+F:SPELL
+F:SPELL_CONTAIN
+F:ULTIMATE
+F:WIELD_CAST
+F:WIS
f:COULD2H
-a:HARDCORE=GANDALF
+a:GANDALF
D:A simple, wooden wizard's staff. Unremarkable in all aspects...
D:except that it pulses with overwhelming power.
@@ -1864,8 +3035,12 @@ N:128:of Beor
I:15:4:4
W:20:10:20:40000
P:0:4d5:8:12:0
-F:DEX | SPEED |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD
+F:DEX
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SPEED
D:Beor's boomerang makes its wielder as agile as the winds,
D:and as hard to harm.
@@ -1876,8 +3051,20 @@ N:129:'Glimdrir'
I:15:4:3
W:40:20:20:60000
P:0:5d5:15:16:0
-F:DEX | SPEED | FREE_ACT | BRAND_POIS | SLAY_EVIL | SLAY_UNDEAD | REGEN
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_SOUND | NO_TELE | CURSED
+F:BRAND_POIS
+F:CURSED
+F:DEX
+F:FREE_ACT
+F:NO_TELE
+F:REGEN
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_SOUND
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:SPEED
D:A powerful boomerang that makes one agile and fast, with a thirst for
D:evil and undead creatures, but demands its wielder not teleport, for fear
D:of desertion.
@@ -1889,9 +3076,19 @@ N:130:of Incanus
I:36:2:3
W:30:20:20:60000
P:2:0d0:0:0:20
-F:INT | WIS | SEARCH | HIDE_TYPE | SPELL_CONTAIN | WIELD_CAST
-F:SUST_INT | SUST_WIS | FREE_ACT | SEE_INVIS |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
+F:FREE_ACT
+F:HIDE_TYPE
+F:INT
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SEE_INVIS
+F:SPELL_CONTAIN
+F:SUST_INT
+F:SUST_WIS
+F:WIELD_CAST
+F:WIS
Z:weigh magic
D:Gandalf's long, flowing robe. It provides insight and allows the
D:wearer to see things not seen by all.
@@ -1903,8 +3100,13 @@ N:131:of the Thain
I:19:2:4
W:40:20:40:35000
P:0:0d0:15:15:0
-F:HIDE_TYPE | DEX | CON
-F:RES_NETHER | XTRA_SHOTS | XTRA_MIGHT | SHOW_MODS
+F:CON
+F:DEX
+F:HIDE_TYPE
+F:RES_NETHER
+F:SHOW_MODS
+F:XTRA_MIGHT
+F:XTRA_SHOTS
D:This sling was crafted by Faramir I, Thain of the Shire, just in case
D:the nasties of his father's stories ever dare to enter the Shire again.
@@ -1915,9 +3117,16 @@ N:134:'Lasher'
I:21:2:3
W:20:5:30:50000
P:0:1d6:12:15:0
-F:DEX | BLOWS | HIDE_TYPE |
-F:SLAY_ANIMAL | SLAY_ORC | BRAND_POIS | VORPAL |
-F:RES_POIS | FREE_ACT | ESP_ORC
+F:BLOWS
+F:BRAND_POIS
+F:DEX
+F:ESP_ORC
+F:FREE_ACT
+F:HIDE_TYPE
+F:RES_POIS
+F:SLAY_ANIMAL
+F:SLAY_ORC
+F:VORPAL
D:A powerful whip that is deadly against orcs. It poisons your foes
D:and is said to go "snicker snack".
@@ -1928,9 +3137,19 @@ N:135:'Bullseye'
I:17:2:0
W:45:1:2:50000
P:0:7d4:20:15:0
-F:SLAY_ANIMAL | SLAY_EVIL | SLAY_UNDEAD | KILL_DEMON |
-F:SLAY_ORC | SLAY_TROLL | SLAY_GIANT | SLAY_DRAGON |
-F:BRAND_ACID | BRAND_ELEC | BRAND_FIRE | BRAND_COLD | BRAND_POIS
+F:BRAND_ACID
+F:BRAND_COLD
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:BRAND_POIS
+F:KILL_DEMON
+F:SLAY_ANIMAL
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SLAY_UNDEAD
D:A powerful arrow that is feared by even the mightiest demons.
@@ -1940,7 +3159,11 @@ N:136:'Travak'
I:16:0:0
W:5:1:2:5000
P:0:3d6:8:5:0
-F:BRAND_ACID | BRAND_ELEC | BRAND_FIRE | BRAND_COLD | BRAND_POIS
+F:BRAND_ACID
+F:BRAND_COLD
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:BRAND_POIS
D:A rounded pebble imbued with the powers of the elements.
@@ -1950,8 +3173,19 @@ N:137:of Maglor
I:14:59:3
W:60:10:20:100000
P:0:3d4:0:0:0
-F:CHR | SPEED | WIS | SEE_INVIS | RES_SOUND | STEALTH | LUCK
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | ESP_UNIQUE | WIELD_CAST
+F:CHR
+F:ESP_UNIQUE
+F:LUCK
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_SOUND
+F:SEE_INVIS
+F:SPEED
+F:STEALTH
+F:WIELD_CAST
+F:WIS
D:This harp that once belonged to Maglor makes those who use it seem
D:more forceful and convincing. It is also said that those who have
D:used it found themselves walking faster, as if to an unheard beat.
@@ -1963,8 +3197,18 @@ N:138:of the Sky
I:14:58:2
W:40:10:15:80000
P:0:3d4:0:0:0
-F:CHR | SPEED | WIS | SEE_INVIS | RES_SOUND | STEALTH | LUCK
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | WIELD_CAST
+F:CHR
+F:LUCK
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_SOUND
+F:SEE_INVIS
+F:SPEED
+F:STEALTH
+F:WIELD_CAST
+F:WIS
D:The drum is decorated with the images of the stars, the clouds, the
D:Sun guided by Arien and the Moon with Tilion. It imparts to the
D:wearer an echo of the beauty of the sky, and protects him from the
@@ -1978,8 +3222,17 @@ N:139:of Daeron
I:14:59:1
W:20:10:10:50000
P:0:3d4:0:0:0
-F:CHR | SPEED | WIS | RES_SOUND | STEALTH | LUCK
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | WIELD_CAST
+F:CHR
+F:LUCK
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_SOUND
+F:SPEED
+F:STEALTH
+F:WIELD_CAST
+F:WIS
D:A pretty harp that makes those who play it beautiful, wise and
D:fast.
@@ -1990,9 +3243,17 @@ N:140:of Erebor
I:20:6:5
W:50:15:200:55000
P:0:3d4:0:0:0
-F:STR | TUNNEL | SUST_STR | HIDE_TYPE | LITE1 | ACTIVATE | CLIMB
-F:RES_CHAOS | RES_LITE | RES_DARK
-a:HARDCORE=EREBOR
+F:ACTIVATE
+F:CLIMB
+F:HIDE_TYPE
+F:LITE1
+F:RES_CHAOS
+F:RES_DARK
+F:RES_LITE
+F:STR
+F:SUST_STR
+F:TUNNEL
+a:EREBOR
D:A pick that provides a magical light by which to see while tunnelling.
@@ -2002,8 +3263,13 @@ N:141:of the Druedain
I:14:58:4
W:19:10:15:10000
P:0:3d4:0:0:0
-F:ACTIVATE | STEALTH | SEARCH | INFRA | RES_POIS | RES_DARK | WIELD_CAST
-a:HARDCORE=DRUEDAIN
+F:ACTIVATE
+F:INFRA
+F:RES_DARK
+F:RES_POIS
+F:STEALTH
+F:WIELD_CAST
+a:DRUEDAIN
D:The fabled Drum of the Druedain that will protect those who play it
D:from darkness and poison attacks. It also aids in the seeing of
D:warm-blooded creatures.
@@ -2015,8 +3281,12 @@ N:142:of Rohan
I:14:60:2
W:14:10:15:80000
P:0:3d4:0:0:0
-F:ACTIVATE | CHR | WIS | ESP_DRAGON | WIELD_CAST
-a:HARDCORE=ROHAN
+F:ACTIVATE
+F:CHR
+F:ESP_DRAGON
+F:WIELD_CAST
+F:WIS
+a:ROHAN
D:A horn carved from the bones of the Dragon of Ered-Mithrin, this
D:heirloom of the House of Eorl bestows to its user the gifts of
D:courage and command.
@@ -2028,8 +3298,14 @@ N:143:of Helm
I:14:60:2
W:16:10:15:15000
P:0:3d4:0:0:0
-F:ACTIVATE | STR | CON | IM_COLD | RES_NETHER | RES_FEAR | WIELD_CAST
-a:HARDCORE=HELM
+F:ACTIVATE
+F:CON
+F:IM_COLD
+F:RES_FEAR
+F:RES_NETHER
+F:STR
+F:WIELD_CAST
+a:HELM
D:Heedless of cold, fearless of darkness -- besiegers fled at the wind
D:of the solitary coming of King Helm Hammerhand, proclaimed by a single
D:horn-blast in the dead of winter.
@@ -2041,8 +3317,14 @@ N:144:of Boromir
I:14:60:3
W:18:10:15:18000
P:0:3d4:0:0:0
-F:ACTIVATE | STR | CON | RES_FEAR | RES_FIRE | AGGRAVATE | WIELD_CAST
-a:HARDCORE=BOROMIR
+F:ACTIVATE
+F:AGGRAVATE
+F:CON
+F:RES_FEAR
+F:RES_FIRE
+F:STR
+F:WIELD_CAST
+a:BOROMIR
D:Boromir's horn gives courage and endurance to the wearer, provided he does
D:not wish to travel in secrecy: for it must always sound when its wielder
D:sets forth on a journey. "Loud and clear it sounds in the valleys of the
@@ -2055,8 +3337,14 @@ N:145:of Gothmog
I:22:28:-4
W:30:8:250:30000
P:0:3d8:14:19:0
-F:BRAND_FIRE | IM_FIRE | CHR | ACTIVATE | SHOW_MODS | CURSED | TY_CURSE
-a:HARDCORE=AXE_GOTHMOG
+F:ACTIVATE
+F:BRAND_FIRE
+F:CHR
+F:CURSED
+F:IM_FIRE
+F:SHOW_MODS
+F:TY_CURSE
+a:AXE_GOTHMOG
D:The black axe of Gothmog, which struck Fingon at Nirnaeth. Mighty
D:spells of evil make it unsafe in any hands but those of its original wielder.
@@ -2067,7 +3355,8 @@ N:146:of Gondor
I:17:2:0
W:20:5:3:25000
P:0:10d8:10:20:0
-F:SLAY_EVIL | SLAY_DEMON
+F:SLAY_DEMON
+F:SLAY_EVIL
D:An arrow that was created to rid the world of demons.
@@ -2078,14 +3367,41 @@ N:147:of Eternity
I:23:17:10
W:127:220:130:9000000
P:0:5d6:21:26:50
-F:LIFE | CON | CHR | LUCK
-F:SUST_STR | SUST_INT | SUST_WIS | SUST_DEX | SUST_CON | SUST_CHR |
-F:BRAND_FIRE | BRAND_COLD | BRAND_ELEC | VORPAL | IM_COLD |
-F:SLAY_EVIL | SLAY_UNDEAD | SLAY_DEMON | SLAY_TROLL | SLAY_DEMON |
-F:FREE_ACT | RES_FIRE | RES_DARK | LITE1 | SEE_INVIS | SLOW_DIGEST | REGEN |
-F:ACTIVATE | SHOW_MODS | BLESSED |
-F:PRECOGNITION | NO_MAGIC | ULTIMATE | SPECIAL_GENE
-a:HARDCORE=ERU
+F:ACTIVATE
+F:BLESSED
+F:BRAND_COLD
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:CHR
+F:CON
+F:FREE_ACT
+F:IM_COLD
+F:LIFE
+F:LITE1
+F:LUCK
+F:NO_MAGIC
+F:PRECOGNITION
+F:REGEN
+F:RES_DARK
+F:RES_FIRE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SLAY_TROLL
+F:SLAY_UNDEAD
+F:SLOW_DIGEST
+F:SPECIAL_GENE
+F:SUST_CHR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_INT
+F:SUST_STR
+F:SUST_WIS
+F:ULTIMATE
+F:VORPAL
+a:ERU
D:A warm light bathes this translucent blade. The power of the fates are
D:at the command of its wielder as the weapon passes Supreme Judgment on
D:the inhabitants of Angband.
@@ -2097,8 +3413,11 @@ N:148:of Great Luck
I:36:2:60
W:50:120:20:60000
P:-30:0d0:0:0:-20
-F:LUCK | HIDE_TYPE |
-F:FREE_ACT | DRAIN_HP | DRAIN_MANA
+F:DRAIN_HP
+F:DRAIN_MANA
+F:FREE_ACT
+F:HIDE_TYPE
+F:LUCK
D:A powerful wizard once created this robe to grant him incredible luck....
D:It seems he forgot to wear it.
@@ -2109,9 +3428,13 @@ N:149:of Farmer Maggot
I:19:2:2
W:10:10:5:20000
P:0:0d0:20:0:0
-F:INFRA | SEARCH | HIDE_TYPE |
-F:XTRA_SHOTS | SHOW_MODS | ACTIVATE | SPECIAL_GENE
-a:SPELL=Artifact Maggot
+F:ACTIVATE
+F:HIDE_TYPE
+F:INFRA
+F:SHOW_MODS
+F:SPECIAL_GENE
+F:XTRA_SHOTS
+a:MAGGOT
D:This ordinary seeming leather sling has been raised to legendary
D:status amongst generations of hobbit children. Farmer Maggot's
D:ability to notice and strike any mushroom thief anywhere within
@@ -2127,10 +3450,25 @@ N:150:of Angmar
I:23:17:-10
W:20:40:130:30000
P:0:4d5:-22:-25:0
-F:SPEED | STR | WIS | CHR | ESP_UNDEAD
-F:BRAND_FIRE | SEE_INVIS | SLOW_DIGEST | FREE_ACT |
-F:VAMPIRIC | NO_TELE | AGGRAVATE | WRAITH | INVIS |
-F:CURSED | HEAVY_CURSE | DG_CURSE | SHOW_MODS | CLONE |
+F:AGGRAVATE
+F:BRAND_FIRE
+F:CHR
+F:CLONE
+F:CURSED
+F:DG_CURSE
+F:ESP_UNDEAD
+F:FREE_ACT
+F:HEAVY_CURSE
+F:INVIS
+F:NO_TELE
+F:SEE_INVIS
+F:SHOW_MODS
+F:SLOW_DIGEST
+F:SPEED
+F:STR
+F:VAMPIRIC
+F:WIS
+F:WRAITH
D:Dark flames wreath the naked steel of the Witch-King of Angmar.
D:A mighty curse to all those who wield it apart from its master,
D:the torture of the wraithworld awaits those who dare.
@@ -2142,9 +3480,19 @@ N:151:of Feanor
I:18:2:0
W:127:220:130:100000
P:0:5d5:5:6:0
-F:BRAND_COLD | BRAND_FIRE | BRAND_ELEC | BRAND_ACID | BRAND_POIS |
-F:SLAY_DRAGON | SLAY_GIANT | SLAY_TROLL | KILL_UNDEAD | SLAY_ORC |
-F:SLAY_DEMON | SLAY_EVIL | SPECIAL_GENE
+F:BRAND_ACID
+F:BRAND_COLD
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:BRAND_POIS
+F:KILL_UNDEAD
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:SPECIAL_GENE
D:Made during the war against Morgoth by Feanor, this powerful
D:bolt is the bane of Morgoth's power, and has especial strength
D:against those foes who are already dead.
@@ -2157,11 +3505,38 @@ N:152:of Eternity
I:19:24:5
W:127:220:130:8000000
P:0:0d0:36:28:0
-F:SEE_INVIS | SLOW_DIGEST | FREE_ACT | SPEED | DEX | CON | FLY | LUCK
-F:XTRA_MIGHT | XTRA_SHOTS | IM_ELEC | REFLECT | INVIS | STEALTH |
-F:SUST_STR | SUST_INT | SUST_WIS | SUST_DEX | SUST_CON | SUST_CHR |
-F:RES_CHAOS | RES_DISEN | RES_CONF | RES_BLIND | INFRA | ESP_ORC | ESP_TROLL | ESP_EVIL |
-F:PRECOGNITION | NO_MAGIC | ULTIMATE | SPECIAL_GENE
+F:CON
+F:DEX
+F:ESP_EVIL
+F:ESP_ORC
+F:ESP_TROLL
+F:FLY
+F:FREE_ACT
+F:IM_ELEC
+F:INFRA
+F:INVIS
+F:LUCK
+F:NO_MAGIC
+F:PRECOGNITION
+F:REFLECT
+F:RES_BLIND
+F:RES_CHAOS
+F:RES_CONF
+F:RES_DISEN
+F:SEE_INVIS
+F:SLOW_DIGEST
+F:SPECIAL_GENE
+F:SPEED
+F:STEALTH
+F:SUST_CHR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_INT
+F:SUST_STR
+F:SUST_WIS
+F:ULTIMATE
+F:XTRA_MIGHT
+F:XTRA_SHOTS
D:Designed to be used with the Seeker Bolt of Feanor, this Crossbow
D:is perfect against the terrible powers of Morgoth.
@@ -2172,8 +3547,16 @@ N:153:of the Sandworm
I:36:4:5
W:30:3:80:65000
P:30:0d0:0:0:0
-F:RES_POIS | RES_ELEC | RES_FIRE | RES_ACID | SPECIAL_GENE
-F:TUNNEL | STR | STEALTH | INFRA | ESP_ANIMAL
+F:ESP_ANIMAL
+F:INFRA
+F:RES_ACID
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+F:SPECIAL_GENE
+F:STEALTH
+F:STR
+F:TUNNEL
D:This powerful piece of armour was made using the remains of
D:the Sandworm Queen.
@@ -2184,8 +3567,14 @@ N:154:'Dragonbane'
I:22:28:2
W:70:20:260:33000
P:0:3d8:20:20:0
-F:BLOWS | KILL_DRAGON | RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:RES_POIS | SHOW_MODS
+F:BLOWS
+F:KILL_DRAGON
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+F:SHOW_MODS
D:Forged by the Dwarves to defend their home of Khazad-dum from dragons,
D:this axe has been lost to time... until now.
@@ -2196,7 +3585,11 @@ N:155:'Limbslicer'
I:24:8:4
W:15:3:140:12000
P:0:2d5:12:15:0
-F:DEX | VORPAL | HIDE_TYPE | SHOW_MODS | WOUNDING
+F:DEX
+F:HIDE_TYPE
+F:SHOW_MODS
+F:VORPAL
+F:WOUNDING
D:The Petty-dwarves of Bathak forged this blade, and it shares their thirst
D:for blood.
@@ -2207,10 +3600,14 @@ N:156:'Orchast'
I:24:11:4
W:15:2:170:12000
P:0:2d7:20:14:0
-F:DEX | SEARCH | SLAY_ORC | ACTIVATE | HIDE_TYPE | SHOW_MODS
+F:ACTIVATE
F:COULD2H
+F:DEX
+F:HIDE_TYPE
+F:SHOW_MODS
+F:SLAY_ORC
f:COULD2H
-a:HARDCORE=ORCHAST
+a:ORCHAST
D:Forged by the dwarves of Khazad-dum in a time of desperation,
D:this axe turned many a battle against the invading orcs.
@@ -2221,9 +3618,17 @@ N:157:of the Night
I:24:1:4
W:45:20:45:34000
P:0:2d6:34:22:0
-F:DEX | STEALTH | VAMPIRIC | KILL_UNDEAD | RES_DARK | HIDE_TYPE |
-F:SHOW_MODS | SEE_INVIS | ACTIVATE | DRAIN_EXP
-a:HARDCORE=NIGHT
+F:ACTIVATE
+F:DEX
+F:DRAIN_EXP
+F:HIDE_TYPE
+F:KILL_UNDEAD
+F:RES_DARK
+F:SEE_INVIS
+F:SHOW_MODS
+F:STEALTH
+F:VAMPIRIC
+a:NIGHT
D:Found on an unmarked grave after a violent storm, this hatchet
D:has a sinister aura of darkness and decay.
@@ -2234,9 +3639,17 @@ N:158:'Naturebane'
I:24:30:3
W:70:20:300:28400
P:0:5d7:31:27:0
-F:STR | SLAY_ANIMAL | SUST_STR | RES_SHARDS | RES_NEXUS | FEATHER |
-F:HIDE_TYPE | SHOW_MODS | ACTIVATE | DRAIN_HP
-a:HARDCORE=NATUREBANE
+F:ACTIVATE
+F:DRAIN_HP
+F:FEATHER
+F:HIDE_TYPE
+F:RES_NEXUS
+F:RES_SHARDS
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:STR
+F:SUST_STR
+a:NATUREBANE
D:Used by the orcs in their battle at Dagor Bragollach against the elves, this
D:axe has a bloodthirst for nature.
@@ -2247,8 +3660,14 @@ N:159:of Ice
I:24:8:3
W:30:25:140:26550
P:0:2d5:3:15:0
-F:INT | CHR | SUST_DEX | BRAND_COLD | IM_COLD | RES_NEXUS | HIDE_TYPE |
+F:BRAND_COLD
+F:CHR
+F:HIDE_TYPE
+F:IM_COLD
+F:INT
+F:RES_NEXUS
F:SHOW_MODS
+F:SUST_DEX
D:Crafted of purest ice and held solid by powerful spells, this icy axe
D:delivers a chill of death to its victims.
@@ -2259,62 +3678,30 @@ N:160:of Knowledge
I:32:5:-6
W:20:5:75:100000
P:6:1d3:0:0:20
-F:LITE1 | HIDE_TYPE | SPECIAL_GENE | LUCK
-F:AUTO_ID | ACTIVATE
-a:HARDCORE=KNOWLEDGE
+F:ACTIVATE
+F:AUTO_ID
+F:HIDE_TYPE
+F:LITE1
+F:LUCK
+F:SPECIAL_GENE
+a:KNOWLEDGE
D:This helm, designed by Petty-Dwarves ages ago to act as the brain of a
D:long lost project, is made of finest glass. Its light banishes all secrets,
D:and makes audible whispers from the deceased.
-
-### Trapping Kits ###
-
-### note prices and rarities may have to be adjusted ###
-
-# The Catapult Trap Set of Ahromarwar
-
-N:161:of Ahromarwar
-I:46:1:3
-W:20:10:40:20000
-P:0:0d0:25:15:30
-F:STEALTH | AUTOMATIC_99 | XTRA_MIGHT | HIDE_TYPE
-D:A trap that can almost never be detected. Its missiles may be mere pebbles,
-D:but fired at an incredibly high velocity to penetrate even the toughest
-D:hide or armour.
-
-
-# The Device Trap Set 'Hanisbroner's Surprise'
-
-N:162:'Hanisbroner's Surprise'
-I:46:6:3
-W:20:20:40:20000
-P:0:0d0:0:0:25
-F:STEALTH | XTRA_SHOTS | TELEPORT_TO | HIDE_TYPE | AUTOMATIC_99
-D:A magical trap, armed with a wand. Unaccountably, its victims keep
-D:on coming back for more...
-
-
-# The Bolt Trap Set 'Merlion Karc's Demonbane'
-
-N:163:'Merlion Karc's Demonbane'
-I:46:3:2
-W:20:20:200:20000
-P:0:0d0:17:27:37
-F:STEALTH | XTRA_SHOTS | XTRA_MIGHT | HIDE_TYPE | ONLY_DEMON
-D:A snare set not for animals, or people, but for demons alone, and
-D:enchanted so that whenever the demon sets foot or claw into the
-D:(hidden) pentagram, its hide is immediately pierced by many magical
-D:crossbow bolts.
-
-
# The Broken Sword 'Narsil'
N:164:'Narsil'
I:23:2:2
W:20:5:30:2000
P:0:3d2:6:10:0
-F:STR | DEX | HIDE_TYPE | BLESSED |
-F:SLAY_ORC | SLAY_TROLL | RES_FIRE
+F:BLESSED
+F:DEX
+F:HIDE_TYPE
+F:RES_FIRE
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
D:The sword that was broken shall be reforged...
@@ -2327,7 +3714,8 @@ I:32:6:0
W:20:15:15:25000
P:20:0d0:0:0:80
F:ACTIVATE
-a:SPELL=Artifact Lebauhaum
+F:EASY_USE
+a:LEBOHAUM
D:With the Helm 'Lebohaum' your head is safe!
@@ -2337,12 +3725,23 @@ N:166:'Mediator'
I:38:30:0
W:95:12:500:400000
P:50:2d4:-8:0:35
-F:FEATHER | FLY | ESP_DRAGON |
-F:RES_NEXUS | RES_CHAOS | AGGRAVATE | REGEN |
-F:RES_SHARDS | RES_SOUND | RES_DISEN | RES_CONF |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD |
F:ACTIVATE
-a:HARDCORE=MEDIATOR
+F:AGGRAVATE
+F:ESP_DRAGON
+F:FEATHER
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:REGEN
+F:RES_CHAOS
+F:RES_CONF
+F:RES_DISEN
+F:RES_NEXUS
+F:RES_SHARDS
+F:RES_SOUND
+a:MEDIATOR
D:A mighty suit of dragon armour, set with the scales of dragons of both
D:Law and Chaos, and with power over both.
@@ -2353,8 +3752,11 @@ N:167:of Himring
I:36:6:0
W:50:20:100:35000
P:6:0d0:0:0:15
-F:RES_CHAOS | RES_NETHER | RES_POIS | ACTIVATE
-a:HARDCORE=PROT_EVIL
+F:ACTIVATE
+F:RES_CHAOS
+F:RES_NETHER
+F:RES_POIS
+a:PROT_EVIL
D:Contained within this studded cuirass of pliable leather is the memory of
D:unvanquished Himring, defiant fortress surrounded by the legions of Morgoth.
@@ -2365,8 +3767,13 @@ N:168:'Hithlomir'
I:36:4:4
W:20:3:80:45000
P:4:0d0:0:0:20
-F:STEALTH | HIDE_TYPE | SEARCH |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_DARK
+F:HIDE_TYPE
+F:RES_ACID
+F:RES_COLD
+F:RES_DARK
+F:RES_ELEC
+F:RES_FIRE
+F:STEALTH
D:Familiar with the secret ways hidden in darkness, this leather cuirass is
D:truly more than it appears.
@@ -2378,11 +3785,20 @@ N:169:of Gil-galad
I:34:10:5
W:70:4:80:65000
P:10:1d3:0:0:20
-F:ACTIVATE |
-F:LITE1 | WIS | CHR | SEARCH | LUCK
-F:RES_ELEC | RES_ACID | RES_DISEN | RES_DARK | HIDE_TYPE |
-F:SUST_WIS | SUST_DEX | SUST_CHR
-a:HARDCORE=GILGALAD
+F:ACTIVATE
+F:CHR
+F:HIDE_TYPE
+F:LITE1
+F:LUCK
+F:RES_ACID
+F:RES_DARK
+F:RES_DISEN
+F:RES_ELEC
+F:SUST_CHR
+F:SUST_DEX
+F:SUST_WIS
+F:WIS
+a:GILGALAD
D:The legendary shield of Gil-Galad, who fought his way to the gates of
D:the Dark Tower, and with whom came light even to Gorgoroth.
@@ -2393,10 +3809,16 @@ N:170:of Celebrimbor
I:32:3:3
W:55:12:20:45000
P:3:1d1:0:0:18
-F:INT | DEX | CHR | SPELL | SEARCH |
-F:RES_FIRE | RES_ACID | RES_DISEN | RES_SHARDS |
F:ACTIVATE
-a:HARDCORE=CELEBRIMBOR
+F:CHR
+F:DEX
+F:INT
+F:RES_ACID
+F:RES_DISEN
+F:RES_FIRE
+F:RES_SHARDS
+F:SPELL
+a:CELEBRIMBOR
D:This once belonged to Celebrimbor, maker of the Rings of Power. One who
D:knows both fire and acid, from the business of forging and engraving, will
D:fear neither: nor have his enchantments ever faded. Celebrimbor was even
@@ -2410,10 +3832,18 @@ N:171:of Umbar
I:19:24:2
W:60:20:200:35000
P:0:4d1:18:18:0
-F:STR | CON | XTRA_MIGHT | AGGRAVATE |
-F:RES_LITE | RES_DARK | RES_BLIND | RES_ELEC |
-F:HIDE_TYPE | ACTIVATE | SHOW_MODS
-a:HARDCORE=UMBAR
+F:ACTIVATE
+F:AGGRAVATE
+F:CON
+F:HIDE_TYPE
+F:RES_BLIND
+F:RES_DARK
+F:RES_ELEC
+F:RES_LITE
+F:SHOW_MODS
+F:STR
+F:XTRA_MIGHT
+a:UMBAR
D:A great brazen arbalest with arms of gleaming steel, shooting quarrels with
D:speed and power for those brave enough to risk betrayal.
@@ -2425,8 +3855,13 @@ N:172:of Amrod
I:19:12:2
W:25:10:30:9000
P:0:0d0:12:15:0
-F:STR | CON | XTRA_MIGHT |
-F:RES_FIRE | RES_ELEC | RES_COLD | REGEN
+F:CON
+F:REGEN
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:STR
+F:XTRA_MIGHT
D:This bow, and its twin, belonged to Feanor's last two twin sons, Amrod
D:and Amras, who both hunted with the Green-elves for a time. Like the
D:twins, the bows are similar, for both protect their wielders from the
@@ -2440,8 +3875,16 @@ N:173:of Amras
I:19:12:1
W:25:10:30:9000
P:0:0d0:12:15:0
-F:INT | WIS | DEX | XTRA_SHOTS | XTRA_MIGHT | SPEED |
-F:RES_FIRE | RES_ELEC | RES_COLD | SLOW_DIGEST
+F:DEX
+F:INT
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SLOW_DIGEST
+F:SPEED
+F:WIS
+F:XTRA_MIGHT
+F:XTRA_SHOTS
D:This bow, and its twin, belonged to Feanor's last two twin sons, Amrod
D:and Amras, who both hunted with the Green-elves for a time. Like the
D:twins, the bows are similar, for both protect their wielders from the
@@ -2455,11 +3898,21 @@ N:174:of Nain
I:20:7:6
W:60:5:250:30000
P:0:3d8:12:18:0
-F:TUNNEL | INFRA | SEARCH | STR | ESP_ORC | CLIMB |
-F:SLAY_ORC | SLAY_TROLL | SLAY_GIANT | SLAY_DRAGON |
-F:BRAND_ACID | RES_ACID | RES_DARK | RES_DISEN |
F:ACTIVATE
-a:HARDCORE=STONE_MUD
+F:BRAND_ACID
+F:CLIMB
+F:ESP_ORC
+F:INFRA
+F:RES_ACID
+F:RES_DARK
+F:RES_DISEN
+F:SLAY_DRAGON
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
+F:TUNNEL
+a:STONE_MUD
D:Wielded by Nain of the Iron Hills at the Battle of Azanulbizar, this great
D:mattock brought victory to the Dwarves over Azog's Orcs - though Nain
D:himself fell at the last, even with victory already assured.
@@ -2471,13 +3924,22 @@ N:175:of Fundin Bluecloak
I:21:6:4
W:25:100:130:60000
P:0:5d4:13:17:10
-F:STR | WIS | SPEED | LITE1 | HIDE_TYPE |
-F:SLAY_EVIL | SLAY_UNDEAD |
-F:RES_FIRE | RES_ELEC | RES_NETHER | RES_DISEN | HOLD_LIFE |
F:ACTIVATE
F:COULD2H
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:LITE1
+F:RES_DISEN
+F:RES_ELEC
+F:RES_FIRE
+F:RES_NETHER
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:SPEED
+F:STR
+F:WIS
f:COULD2H
-a:HARDCORE=FUNDIN
+a:FUNDIN
D:The weapon of one of the great dwarven priests, with powers
D:to preserve body, soul and enchantments, and the bane of those
D:who seek life beyond death.
@@ -2489,10 +3951,17 @@ N:176:of the Haradrim
I:34:4:2
W:35:12:120:25000
P:4:1d2:0:0:15
-F:ACTIVATE |
-F:STR | CON | SUST_STR | SUST_CON | HIDE_TYPE |
-F:RES_FEAR | RES_BLIND | RES_POIS | AGGRAVATE
-a:HARDCORE=HARADRIM
+F:ACTIVATE
+F:AGGRAVATE
+F:CON
+F:HIDE_TYPE
+F:RES_BLIND
+F:RES_FEAR
+F:RES_POIS
+F:STR
+F:SUST_CON
+F:SUST_STR
+a:HARADRIM
D:A great shield from the far lands of the South, whose wielder
D:will go charging into battle heedless of danger, with the
D:strength and endurance of a madman. Nor will he fear poison, for
@@ -2505,14 +3974,24 @@ N:177:'Skullcleaver'
I:21:15:5
W:30:15:500:60000
P:0:5d4:11:23:20
-F:STR | TUNNEL | INFRA | HIDE_TYPE |
-F:CURSED | AGGRAVATE | NO_MAGIC |
-F:RES_NEXUS | RES_BLIND | RES_SOUND |
-F:KILL_DRAGON | SLAY_ANIMAL | BRAND_POIS | BRAND_ELEC |
F:ACTIVATE
+F:AGGRAVATE
+F:BRAND_ELEC
+F:BRAND_POIS
F:COULD2H
+F:CURSED
+F:HIDE_TYPE
+F:INFRA
+F:KILL_DRAGON
+F:NO_MAGIC
+F:RES_BLIND
+F:RES_NEXUS
+F:RES_SOUND
+F:SLAY_ANIMAL
+F:STR
+F:TUNNEL
f:COULD2H
-a:HARDCORE=SKULLCLEAVER
+a:SKULLCLEAVER
D:This mighty bludgeon brings destruction to all around it, and is the
D:bane of dragons and magic.
@@ -2523,9 +4002,18 @@ N:178:of Eol
I:31:2:3
W:55:35:25:40000
P:3:1d1:0:0:15
-F:INT | MANA | FREE_ACT | FEATHER | RES_ELEC | RES_DARK | RES_POIS | ACTIVATE
-F:LUCK | SPELL_CONTAIN | WIELD_CAST
-a:HARDCORE=EOL
+F:ACTIVATE
+F:FEATHER
+F:FREE_ACT
+F:INT
+F:LUCK
+F:MANA
+F:RES_DARK
+F:RES_ELEC
+F:RES_POIS
+F:SPELL_CONTAIN
+F:WIELD_CAST
+a:EOL
D:The iron-shod gauntlets of the Dark Elven smith Eol, tingling with magics
D:that he could channel in battle.
@@ -2536,7 +4024,10 @@ N:179:of Nevrast
I:30:3:3
W:20:8:40:35000
P:3:1d1:0:0:13
-F:STEALTH | CON | SPEED | HIDE_TYPE
+F:CON
+F:HIDE_TYPE
+F:SPEED
+F:STEALTH
D:Footgear made of bear leather and set with opals, which grant the wearer
D:silent, hasted movement.
@@ -2547,7 +4038,10 @@ N:180:of Gimli
I:30:6:4
W:40:8:60:22500
P:4:1d1:5:5:10
-F:INFRA | SEARCH | TUNNEL | CLIMB | HIDE_TYPE
+F:CLIMB
+F:HIDE_TYPE
+F:INFRA
+F:TUNNEL
Z:magic map
D:A set of iron-shod boots stamped by Gimli's combat prowess, a peerless
D:ally to those journeying through halls of stone under mountains.
@@ -2560,9 +4054,19 @@ N:181:of Gothmog
I:115:55:-20
W:10:0:150:500
P:0:7d6:13:13:0
-F:SHOW_MODS | SLAY_DEMON | SLAY_EVIL | BRAND_FIRE | BRAND_POIS
-F:LUCK | CHAOTIC | LITE1 | WOUNDING | RES_MORGUL | WIELD_CAST
-F:HEAVY_CURSE | AUTO_CURSE
+F:AUTO_CURSE
+F:BRAND_FIRE
+F:BRAND_POIS
+F:CHAOTIC
+F:HEAVY_CURSE
+F:LITE1
+F:LUCK
+F:RES_MORGUL
+F:SHOW_MODS
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:WIELD_CAST
+F:WOUNDING
# The Demonshield of Gothmog
@@ -2571,9 +4075,18 @@ N:182:of Gothmog
I:115:56:4
W:15:0:70:500
P:13:1d1:0:0:13
-F:DEX | INVIS | SUST_STR | SUST_CON | SUST_DEX
-F:FEATHER | SH_FIRE | FREE_ACT | HOLD_LIFE
-F:HEAVY_CURSE | AUTO_CURSE | WIELD_CAST
+F:AUTO_CURSE
+F:DEX
+F:FEATHER
+F:FREE_ACT
+F:HEAVY_CURSE
+F:HOLD_LIFE
+F:INVIS
+F:SH_FIRE
+F:SUST_CON
+F:SUST_DEX
+F:SUST_STR
+F:WIELD_CAST
# The Demonhorn of Gothmog
@@ -2582,9 +4095,15 @@ N:183:of Gothmog
I:115:57:-5
W:20:0:30:500
P:2:1d1:0:0:13
-F:LITE2 | REGEN | ESP_DEMON
-F:CHR | SLOW_DIGEST | SEE_INVIS
-F:HEAVY_CURSE | AUTO_CURSE | WIELD_CAST
+F:AUTO_CURSE
+F:CHR
+F:ESP_DEMON
+F:HEAVY_CURSE
+F:LITE2
+F:REGEN
+F:SEE_INVIS
+F:SLOW_DIGEST
+F:WIELD_CAST
# The Long Sword 'Durandil'
@@ -2594,9 +4113,12 @@ N:184:'Durandil'
I:23:17:3
W:5:10:130:500
P:0:2d5:5:6:0
-F:RES_FEAR | LUCK
-F:ACTIVATE | SHOW_MODS
-a:SPELL=Artifact Durandil
+F:ACTIVATE
+F:EASY_USE
+F:LUCK
+F:RES_FEAR
+F:SHOW_MODS
+a:DURANDIL
D:Don't go adventuring without your Durandil sword!
@@ -2606,10 +4128,22 @@ N:200:of Undeath
I:39:103:-5
W:20:10:10:0
P:0:1d1:0:0:0
-F:CURSED | INT | WIS | CON | DEX | CHR | STR | ACTIVATE |
-F:LITE3 | LITE2 | LUCK | MAGIC_BREATH
-F:INSTA_ART | DG_CURSE | ESP_UNDEAD |
-a:HARDCORE=UNDEATH
+F:ACTIVATE
+F:CHR
+F:CON
+F:CURSED
+F:DEX
+F:DG_CURSE
+F:ESP_UNDEAD
+F:INSTA_ART
+F:INT
+F:LITE2
+F:LITE3
+F:LUCK
+F:MAGIC_BREATH
+F:STR
+F:WIS
+a:UNDEATH
D:It appears like the Phial of Galadriel at first - but wait! It
D:is a cursed phial created by an evil wizard to lure adventurers
D:into wielding it unknowingly.
@@ -2621,7 +4155,8 @@ N:201:
I:9:1:0
W:200:1:10:0
P:0:1d1:0:0:0
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
# The Palantir of Orthanc
@@ -2630,10 +4165,19 @@ N:202:of Orthanc
I:39:104:2
W:75:60:200:100000
P:0:10d10:0:0:0
-F:WIS | INT | SEARCH | INFRA | HIDE_TYPE | ACTIVATE | ESP_ALL |
-F:SEE_INVIS | RES_BLIND | AGGRAVATE | DRAIN_MANA | LITE2
+F:ACTIVATE
+F:AGGRAVATE
+F:DRAIN_MANA
+F:ESP_ALL
+F:HIDE_TYPE
+F:INFRA
F:INSTA_ART
-a:HARDCORE=PALANTIR
+F:INT
+F:LITE2
+F:RES_BLIND
+F:SEE_INVIS
+F:WIS
+a:PALANTIR
D:A shining white ball of unbreakable crystal, the ancient Palantiri
D:were used by kings of Numenor and later by the Exiles for rapid
D:communication between distant lands. Nothing is hidden from one who
@@ -2648,10 +4192,19 @@ N:203:of Phasing
I:45:55:15
W:110:0:2:3000000
P:0:1d1:0:0:0
-F:SPEED | SEE_INVIS | LUCK | MAGIC_BREATH
-F:CURSED | HEAVY_CURSE | REGEN
-F:WRAITH | IM_NETHER | DRAIN_EXP | HOLD_LIFE | SPECIAL_GENE |
+F:CURSED
+F:DRAIN_EXP
+F:HEAVY_CURSE
+F:HOLD_LIFE
+F:IM_NETHER
F:INSTA_ART
+F:LUCK
+F:MAGIC_BREATH
+F:REGEN
+F:SEE_INVIS
+F:SPECIAL_GENE
+F:SPEED
+F:WRAITH
Z:teleport
D:Imbued with the screams of the victims of undead everywhere, this
D:ring is more a hole in reality than anything else. Strange forces ripple over
@@ -2666,12 +4219,26 @@ N:204:'Toris Mejistos'
I:40:18:2
W:50:10:3:60000
Z:restore life
-F:INT | WIS | HIDE_TYPE | MANA | LUCK
-F:SUST_INT | SUST_WIS | LITE1 | REGEN
-F:SLOW_DIGEST | AUTO_CURSE | HEAVY_CURSE
-F:ESP_GOOD | ESP_EVIL | HOLD_LIFE
-F:INSTA_ART | SPECIAL_GENE | WATER_BREATH
-F:SPELL_CONTAIN | WIELD_CAST
+F:AUTO_CURSE
+F:ESP_EVIL
+F:ESP_GOOD
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:INSTA_ART
+F:INT
+F:LITE1
+F:LUCK
+F:MANA
+F:REGEN
+F:SLOW_DIGEST
+F:SPECIAL_GENE
+F:SPELL_CONTAIN
+F:SUST_INT
+F:SUST_WIS
+F:WATER_BREATH
+F:WIELD_CAST
+F:WIS
D:A blue stone, with an incredible number of incredibly small runes of power
D:on it. It carries many secrets.
@@ -2681,10 +4248,26 @@ D:on it. It carries many secrets.
N:205:of Durin
I:45:57:2
W:70:70:2:65000
-F:CON | CHR | STR | SUST_CHR | SUST_CON | SUST_STR | HIDE_TYPE |
-F:ESP_EVIL | AGGRAVATE | HEAVY_CURSE | HOLD_LIFE | DRAIN_EXP |
-F:RES_DARK | RES_CHAOS | RES_NETHER | RES_COLD | RES_ACID |
-F:INSTA_ART | SPECIAL_GENE | CURSED
+F:AGGRAVATE
+F:CHR
+F:CON
+F:CURSED
+F:DRAIN_EXP
+F:ESP_EVIL
+F:HEAVY_CURSE
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:INSTA_ART
+F:RES_ACID
+F:RES_CHAOS
+F:RES_COLD
+F:RES_DARK
+F:RES_NETHER
+F:SPECIAL_GENE
+F:STR
+F:SUST_CHR
+F:SUST_CON
+F:SUST_STR
Z:Midas touch
D:The greatest of the Seven Rings of the Dwarf-lords, and the last to be
D:lost. Alone among the Seven, it was not taken by Sauron when he made
@@ -2699,10 +4282,19 @@ N:206:'Elessar'
I:40:19:4
W:60:60:3:40000
P:0:0d0:7:7:10
-F:STR | WIS | CHR | SPEED | LITE3 | INSTA_ART |
-F:RES_FEAR | RES_FIRE | RES_POIS | RES_DISEN | HIDE_TYPE |
F:ACTIVATE
-a:HARDCORE=ELESSAR
+F:CHR
+F:HIDE_TYPE
+F:INSTA_ART
+F:LITE3
+F:RES_DISEN
+F:RES_FEAR
+F:RES_FIRE
+F:RES_POIS
+F:SPEED
+F:STR
+F:WIS
+a:ELESSAR
D:This green gem glows with inner light. Aragorn son of Arathorn wore
D:it at the Battle of the Pelennor Fields, and he was himself given the
D:name of 'Elessar' by the people of Gondor because of this.
@@ -2713,10 +4305,19 @@ D:name of 'Elessar' by the people of Gondor because of this.
N:207:'Evenstar'
I:40:20:3
W:50:50:3:35000
-F:HOLD_LIFE | SUST_CON | SUST_WIS | SUST_INT | LITE1 | CON |
-F:RES_DARK | RES_COLD | RES_NETHER | REGEN | INSTA_ART |
F:ACTIVATE
-a:HARDCORE=REST_ALL
+F:CON
+F:HOLD_LIFE
+F:INSTA_ART
+F:LITE1
+F:REGEN
+F:RES_COLD
+F:RES_DARK
+F:RES_NETHER
+F:SUST_CON
+F:SUST_INT
+F:SUST_WIS
+a:REST_ALL
D:A pure white jewel, the last gift of Queen Arwen Undomiel to Frodo
D:Baggins, intended to be worn around his neck on the chain that had
D:once borne the One Ring.
@@ -2728,10 +4329,21 @@ N:208:of Minas Ithil
I:39:107:-3
W:75:60:200:0
P:0:10d10:0:0:-30
-F:LIFE | CON | INT | WIS | ESP_ALL | LITE3 | LITE1
-F:CURSED | HEAVY_CURSE | TY_CURSE | DRAIN_EXP |
-F:RES_BLIND | SEE_INVIS | ACTIVATE
-a:HARDCORE=PALANTIR
+F:ACTIVATE
+F:CON
+F:CURSED
+F:DRAIN_EXP
+F:ESP_ALL
+F:HEAVY_CURSE
+F:INT
+F:LIFE
+F:LITE1
+F:LITE3
+F:RES_BLIND
+F:SEE_INVIS
+F:TY_CURSE
+F:WIS
+a:PALANTIR
D:A shining white ball of unbreakable crystal, the ancient Palantiri
D:were used by kings of Numenor and later by the Exiles for rapid
D:communication between distant lands. This Palantir, however, was
@@ -2746,8 +4358,12 @@ N:209:'Balefire'
I:18:3:0
W:55:30:2:50000
P:0:6d5:20:15:0
-F:ESP_DEMON | ESP_UNDEAD | LITE1 |
-F:BRAND_FIRE | KILL_DEMON | KILL_UNDEAD |
+F:BRAND_FIRE
+F:ESP_DEMON
+F:ESP_UNDEAD
+F:KILL_DEMON
+F:KILL_UNDEAD
+F:LITE1
D:This silver-tipped bolt, ablaze with undying celestial fire,
D:is especially potent against undead and creatures of the
D:netherworld; it even points the way to places where such
@@ -2760,9 +4376,14 @@ N:210:'Stone-biter'
I:18:3:3
W:55:30:2:50000
P:0:6d5:20:15:0
-F:ESP_ORC | ESP_TROLL |
-F:INFRA | SEARCH | TUNNEL | LUCK
-F:BRAND_ACID | SLAY_ORC | SLAY_TROLL |
+F:BRAND_ACID
+F:ESP_ORC
+F:ESP_TROLL
+F:INFRA
+F:LUCK
+F:SLAY_ORC
+F:SLAY_TROLL
+F:TUNNEL
D:Wherever it strikes, this silver-tipped bolt eats through rock
D:and metal as easily as through flesh. The dwarf-smith who
D:crafted Stone-biter also inscribed the shaft with powerful
@@ -2776,7 +4397,9 @@ N:211:'Heart's Blood'
I:18:2:5
W:85:40:3:35000
P:0:8d5:15:20:0
-F:VORPAL | WOUNDING | CRIT |
+F:CRIT
+F:VORPAL
+F:WOUNDING
D:The barbed head of this bolt glows deep red with terrible runes
D:of destruction; legend has it that Heart's Blood cannot hit its
D:mark without causing a mortal wound.
@@ -2788,8 +4411,9 @@ N:212:'Scale-piercer'
I:18:2:0
W:85:40:3:35000
P:0:8d5:15:20:0
-F:ESP_DRAGON | RES_FEAR |
-F:KILL_DRAGON |
+F:ESP_DRAGON
+F:KILL_DRAGON
+F:RES_FEAR
D:This bolt, crafted from the bones of a Great Wyrm, is less famous
D:and less powerful than Bard's black arrow. Nonetheless it enables
D:the owner to find dragons unerringly, face them bravely, and kill
@@ -2806,10 +4430,20 @@ N:213:of Forochel
I:6:1:3
W:65:70:60:60000
P:0:3d4:-12:-8:0
-F:INT | WIS | MANA | SPELL | INFRA | SEE_INVIS
-F:SUST_INT | SUST_WIS | RES_BLIND | IM_COLD | SENS_FIRE
-F:SPECIAL_GENE | WIELD_CAST
F:COULD2H
+F:IM_COLD
+F:INFRA
+F:INT
+F:MANA
+F:RES_BLIND
+F:SEE_INVIS
+F:SENS_FIRE
+F:SPECIAL_GENE
+F:SPELL
+F:SUST_INT
+F:SUST_WIS
+F:WIELD_CAST
+F:WIS
f:COULD2H
D:A shaft of pure, invincible crystal cut from the heart of one
D:of the great glaciers ringing the Ice-Bay of Forochel.
@@ -2822,8 +4456,16 @@ N:214:of Mellyrn
I:35:2:4
W:40:40:5:65000
P:4:0d0:0:0:20
-F:HIDE_TYPE | INVIS | DEX | SPEED | STEALTH | LUCK
-F:SUST_DEX | RES_LITE | RES_DARK | SPECIAL_GENE
+F:DEX
+F:HIDE_TYPE
+F:INVIS
+F:LUCK
+F:RES_DARK
+F:RES_LITE
+F:SPECIAL_GENE
+F:SPEED
+F:STEALTH
+F:SUST_DEX
D:Bearing the same lyrical name as the great trees of Lothlorien
D:and containing in its close-woven folds the speed and skill of
D:the Galadrim, this grey cloak is ideal for those who travel in
@@ -2836,9 +4478,18 @@ N:215:of Ephel Duath
I:23:31:-3
W:60:60:50:30000
P:0:2d6:-20:-18:0
-F:STR | WIS | CHR | BRAND_POIS | VAMPIRIC | VORPAL
-F:INVIS | AGGRAVATE | CURSED | HEAVY_CURSE | SHOW_MODS
+F:AGGRAVATE
+F:BRAND_POIS
+F:CHR
+F:CURSED
+F:HEAVY_CURSE
+F:INVIS
+F:SHOW_MODS
F:SPECIAL_GENE
+F:STR
+F:VAMPIRIC
+F:VORPAL
+F:WIS
D:This filthy orc-blade is famed for vile deeds of torture and blood,
D:and its wielder will never cease to fear treachery.
@@ -2849,10 +4500,22 @@ N:216:'Garachoth'
I:24:30:2
W:70:300:400:91000
P:0:7d5:18:18:-20
-F:STR | CON | SPEED | LEVELS | BLACK_BREATH
-F:KILL_DEMON | SLAY_ANIMAL | BRAND_FIRE | VORPAL
-F:RES_FEAR | RES_FIRE | RES_CHAOS | RES_NETHER
-F:HIDE_TYPE | SHOW_MODS | SPECIAL_GENE
+F:BLACK_BREATH
+F:BRAND_FIRE
+F:CON
+F:HIDE_TYPE
+F:KILL_DEMON
+F:LEVELS
+F:RES_CHAOS
+F:RES_FEAR
+F:RES_FIRE
+F:RES_NETHER
+F:SHOW_MODS
+F:SLAY_ANIMAL
+F:SPECIAL_GENE
+F:SPEED
+F:STR
+F:VORPAL
D:A ghastly axe with the soul of a demon lord trapped inside, this horrifying
D:creation reverberates with the screams of the damned. As you gaze into its
D:glassy, translucent blade, it seems that endless sulphrous wastelands
@@ -2865,9 +4528,20 @@ N:217:'Skycleaver'
I:31:5:1
W:40:45:40:100000
P:5:1d1:16:7:16
-F:STR | CON | DEX | CHR | LUCK | FLY
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS
-F:HIDE_TYPE | SHOW_MODS | SPECIAL_GENE
+F:CHR
+F:CON
+F:DEX
+F:FLY
+F:HIDE_TYPE
+F:LUCK
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+F:SHOW_MODS
+F:SPECIAL_GENE
+F:STR
D:The handgear of a legendary dragonslaying hero. The wearer of these
D:wyrmskin gauntlets will be versed in all aerial ways, and will fear no
D:dragon that walks or flies.
@@ -2880,9 +4554,16 @@ N:218:of the Machine
I:30:6:3
W:30:100:170:19000
P:6:1d1:0:0:24
-F:INT | SPEED | TUNNEL | AGGRAVATE
-F:RES_CHAOS | RES_SHARDS | RES_CONF
-F:ESP_NONLIVING | HIDE_TYPE | SPECIAL_GENE
+F:AGGRAVATE
+F:ESP_NONLIVING
+F:HIDE_TYPE
+F:INT
+F:RES_CHAOS
+F:RES_CONF
+F:RES_SHARDS
+F:SPECIAL_GENE
+F:SPEED
+F:TUNNEL
D:A massive pair of adamantine boots studded with gold, the final and
D:greatest product of the petty-dwarven magical forge. Despite
D:the great powers they contain, they are heavy and awkward enough to
diff --git a/lib/edit/ab_info.txt b/lib/edit/ab_info.txt
index 7b9aa152..579368f4 100644
--- a/lib/edit/ab_info.txt
+++ b/lib/edit/ab_info.txt
@@ -20,25 +20,17 @@
# S:level(linear mode):stats
# a:needed ability
-# E:excluding ability:excluding ability
-
-# If you need more sophisticated prereqs use the HOOK_LEARN_ABILITY
-
-# Version stamp (required)
-
# Do not forget to update misc.txt with an entry like the following :
# Maximum number of traits in ab_info.txt
# M:b:50
-V:2.2.0
-
N:0:Spread blows
D:If a monster dies to your attack but you still have blows left
D:you won't lose the full turn, allowing you to attack some other
D:monster in the same turn
-D:Prereq: Weaponmastery skill@30, Dex@17
+D:Prereq: Combat@30, Dex@17
I:5
-k:30:Weaponmastery
+k:30:Combat
S:17:DEX
N:1:Tree walking
@@ -83,15 +75,6 @@ k:40:Combat
S:30:DEX
S:30:STR
-N:7:Artifact Creation
-D:In combination with a high alchemy skill this ability will let you
-D:design your very own artifacts
-D:Prereq: Alchemy@40, INT@35, WIS@35
-I:70
-k:40:Alchemy
-S:35:INT
-S:35:WIS
-
N:8:Far reaching attack
D:You can attack an enemy one square far using a long polearm.
D:At high levels of Polearm-mastery skill, you can even hit two enemies at once.
@@ -101,13 +84,6 @@ A:102:Far reaching attack
k:15:Combat
k:15:Polearm-mastery
-N:9:Trapping
-D:Ability to set monster traps
-D:Prereq: Disarming@15
-I:10
-A:14:Set trap
-k:15:Disarming
-
N:10:Undead Form
D:Ability to turn into a weak undead being when you "die".
D:You must then kill enough monsters to absorb enough life energy
diff --git a/lib/edit/al_info.txt b/lib/edit/al_info.txt
deleted file mode 100644
index fbd4c9a0..00000000
--- a/lib/edit/al_info.txt
+++ /dev/null
@@ -1,2097 +0,0 @@
-# File: al_info.txt
-
-
-# This file is used to initialize the "lib/raw/al_info.raw" file, which is
-# used as the alchemist recipes in ToME
-
-# Do not modify this file unless you know exactly what you are doing,
-# unless you wish to risk possible system crashes.
-
-# Version stamp (required)
-
-V:2.0.0
-
-
-#Note: when you add anything to this file, you also need to change the M:a
-#line of misc.txt. Unlike other files, there is no 'count' entry. The
-#easiest and fastest way to find out what to say in misc.txt is:
-#
-# grep '^[Ia]:' <al.txt | wc -l
-# you need to add one to the result of the above statement.
-#
-# Which only works on unix systems. But if you have the misfortune not to
-#be working on a unix system, you can use an editor and to a global search
-#and replace, searching for I: and then for a:, which will give you a count
-#that's a few high, but will still work.
-
-
-#Format: There's only one kind of line here, and that's the
-# Item line. Goes like this:
-
-
-# I:tval:sval:Qty:essence
-#
-# The problem here is that it doesn't matter what order things are in.
-# Since the tval and sval are specified on each line, the lines that
-# describe a particular recipe for a particular item don't have to be
-# anywhere even close to each other in the file. This could cause a problem:
-# if the same item has two different entries for the same essence, it will
-# find one, assume that the player has enough, and display that one in green.
-# But when the player goes to make it, they may not have enough. It would also
-# cause weird recipe displays, with one essence listed twice. Funny-looking
-
-
-
-# Some special tvals:
-# 0 Not a tval, used internally by the parser to store the artifact flag essences.
-# We don't currently have any mechanism to control which tvals flags are used on.
-# 1 Not actually a tval, used for ego items, in which case the 'sval' is the e_idx
-# We don't need tvals or svals for ego items, because that information is
-# contained in the e_info record, which the e_idx points us to.
-#
-# 40 Amulet
-# 45 ring
-# 55 staff
-# 65 wand
-# 66 rod tip
-# 70 scroll
-# 71 potion
-# 40 Amulet
-# 45 ring
-# 55 staff
-# 65 wand
-# 66 rod tip
-# 70 scroll
-# 71 potion
-# 72 potion2
-# 80 Food ('shrooms, etc)
-
-# I:tval:sval:Qty:essence
-
-#**********************Mushrooms***********************
-
-#SV_FOOD_POISON 0
-I:80:0:1:LIFE
-I:80:0:8:POISON
-
-#SV_FOOD_BLINDNESS 1
-I:80:1:1:LIFE
-I:80:1:6:DARKNESS
-I:80:1:2:LITE
-
-#SV_FOOD_PARANOIA 2
-I:80:2:1:LIFE
-I:80:2:4:KNOWLEDGE
-I:80:2:4:CONFUSION
-
-#SV_FOOD_CONFUSION 3
-I:80:3:1:LIFE
-I:80:3:8:CONFUSION
-
-#SV_FOOD_HALLUCINATION 4
-I:80:4:1:LIFE
-I:80:4:4:CONFUSION
-I:80:4:4:MANA
-I:80:4:4:TELEPORT
-
-#SV_FOOD_PARALYSIS 5
-I:80:5:1:LIFE
-I:80:5:8:FORCE
-
-#SV_FOOD_WEAKNESS 6
-I:80:6:1:LIFE
-I:80:6:4:POISON
-I:80:6:4:FORCE
-
-#SV_FOOD_SICKNESS 7
-I:80:7:8:LIFE
-I:80:7:1:POISON
-
-#SV_FOOD_STUPIDITY 8
-I:80:8:1:LIFE
-I:80:8:1:MANA
-I:80:8:8:KNOWLEDGE
-
-#SV_FOOD_NAIVETY 9
-I:80:9:1:LIFE
-I:80:9:1:MANA
-I:80:9:4:CONFUSION
-I:80:9:4:KNOWLEDGE
-
-#SV_FOOD_UNHEALTH 10
-I:80:10:8:LIFE
-I:80:10:1:FORCE
-I:80:10:1:POISON
-
-#SV_FOOD_DISEASE 11
-I:80:11:1:LIFE
-I:80:11:1:TIME
-I:80:11:8:POISON
-
-#SV_FOOD_CURE_POISON 12
-I:80:12:1:LIFE
-I:80:12:8:POISON
-
-#SV_FOOD_CURE_BLINDNESS 13
-I:80:13:1:LIFE
-I:80:13:6:LITE
-I:80:13:2:DARKNESS
-
-#SV_FOOD_CURE_PARANOIA 14
-I:80:14:1:LIFE
-I:80:14:1:TIME
-
-#SV_FOOD_CURE_CONFUSION 15
-I:80:15:1:LIFE
-I:80:15:12:KNOWLEDGE
-
-#SV_FOOD_CURE_SERIOUS 16
-I:80:16:8:LIFE
-
-#SV_FOOD_RESTORE_STR 17
-I:80:17:20:LIFE
-I:80:17:2:TIME
-
-#SV_FOOD_RESTORE_CON 18
-I:80:18:20:LIFE
-I:80:18:2:TIME
-
-#SV_FOOD_RESTORING 19
-I:80:19:40:LIFE
-I:80:19:4:TIME
-
-#/* many missing mushrooms */
-#Note - the comment below appears on the list in defines.h, but I can't find
-#any more mushrooms in k_info.txt
-
-#define SV_FOOD_BISCUIT 32
-#define SV_FOOD_JERKY 33
-#define SV_FOOD_RATION 35
-#define SV_FOOD_SLIME_MOLD 36
-#define SV_FOOD_WAYBREAD 37
-#define SV_FOOD_PINT_OF_ALE 38
-#define SV_FOOD_PINT_OF_WINE 39
-#define SV_FOOD_ATHELAS 40
-#define SV_FOOD_GREAT_HEALTH 41
-#define SV_FOOD_FORTUNE_COOKIE 42
-
-
-
-#***************************Artifact Flags************************************
-#
-#A:Group:tval:sval:pval:pval?:level:xp
-# The first three describe the required item, they can be left unspecified
-# for no object, or specify starting with tval for increasingly specific
-# objects.
-# Note: pval? is boolean (0 or 1) if true, then this flag has a
-# variable effect, and we should require more experience and times for
-# increasing pvals.
-# Note:for tval=TV_CORPSE, sval=corpse type, pval=monster idx,
-# or use f:moster_race_flags, or leave all blank for any corpse at all.
-#F:object flag to be set
-#D:Description of flag
-#x:Description of activation (instead of description of flag, see below)
-#d:Description of required item
-#p:Description of required item (plural, optional. Illegal if pval != 1)
-#a:qty:object_flag_to_be_set Essence_name (not used)
-
-# Note that like I: lines, a: lines can be anywhere and in any order.
-# Note: 'flag' is the flag name from a_info.txt,
-# 'monster_race_flag' is from r_info.txt
-
-#The group numbers are 1-5, and the descriptions of the groups
-#are hard coded. see cmd7.c
-
-
-A:1:45:24:1:1:40:5000
-F:STR
-D:Add to Strength
-d:Ring of Strength
-p:Rings of Strength
-
-A:1:45:25:1:1:43:5000
-F:INT
-D:Add to Intelligence
-d:Ring of Intelligence
-p:Rings of Intelligence
-
-A:1:40:28:1:1:46:5000
-F:WIS
-D:Add to Wisdom
-d:Amulet of Wisdom
-p:Amulets of Wisdom
-
-A:1:45:26:1:1:46:5000
-F:DEX
-D:Add to Dexterity
-d:Ring of Dexterity
-p:Rings of Dexterity
-
-A:1:45:27:1:1:42:5000
-F:CON
-D:Add to Constitution
-d:Ring of Constitution
-p:Rings of Constitution
-
-A:1:40:2:0:1:30:5000
-F:CHR
-D:Add to Charisma
-d:Amulet of Adornment
-p:Amulets of Adornment
-
-A:1:45:10:0:0:32:1000
-F:SUST_STR
-D:Sustain Strength
-d:Ring of Sustain Strength
-
-A:1:45:11:0:0:34:1000
-F:SUST_INT
-D:Sustain Intelligence
-d:Ring of Sustain Intelligence
-
-A:1:45:12:0:0:28:1000
-F:SUST_WIS
-D:Sustain Wisdom
-d:Ring of Sustain Wisdom
-
-A:1:45:14:0:0:36:1000
-F:SUST_DEX
-D:Sustain Dexterity
-d:Ring of Sustain Dexterity
-
-A:1:45:13:0:0:36:1000
-F:SUST_CON
-D:Sustain Constitution
-d:Ring of Sustain Constitution
-
-A:1:45:15:0:0:25:1000
-F:SUST_CHR
-D:Sustain Charisma
-d:Ring of Sustain Charisma
-
-A:1:45:31:1:1:40:50000
-F:SPEED
-D:Speed
-d:Ring of Speed
-p:Rings of Speed
-
-A:1:45:49:1:1:38:150000
-F:BLOWS
-D:Extra Attacks
-d:Ring of Extra Attacks
-p:Rings of Extra Attacks
-
-A:1:30:2:0:1:32:5000
-F:STEALTH
-D:Stealthy
-d:Left Insole from a Used Soft Boot
-p:Left Insoles from Used Soft Boots
-
-A:1:36:1:0:1:29:2000
-F:SEARCH
-D:Adds to Searching
-d:Filthy Rag
-p:Filthy Rags
-
-A:1:39:1:0:1:6:1000
-F:INFRA
-D:Helps Infravision
-d:Brass Lantern
-p:Brass Lanterns
-
-A:1:9:-1:5:1:30:1000
-F:LUCK
-D:Lucky
-d:Rabbit's Left Forefoot
-p:Rabbit's Left Forefeet
-
-A:1:20:4:0:1:25:30000
-F:TUNNEL
-D:Aids in digging
-d:Pick
-p:Picks
-
-A:1:9:1:0:1:40:50000
-F:LIFE
-f:TROLL
-D:Multiplies Life
-d:Troll's Heart
-p:Troll's Hearts
-
-A:2:71:8:0:0:20:15000
-F:INVIS
-D:Invisibility
-d:Potion of Invisibility
-
-A:2:71:8:0:0:20:4000
-F:SEE_INVIS
-D:See Invisible
-d:Potion of Invisibility
-
-A:2:5:0:0:0:20:30000
-F:FREE_ACT
-D:Free Action
-d:Iron Spike
-
-A:2:34:5:0:0:38:90000
-F:REFLECT
-D:Reflection
-d:Large Metal Shield
-
-A:2:9:1:644:0:20:30000
-F:SH_FIRE
-D:Aura of Fire
-d:Lungs from an Ancient Red Dragon
-
-A:2:9:1:601:0:25:30000
-F:SH_ELEC
-D:Aura of Lightning
-d:Lungs from an Ancient Blue Dragon
-
-A:2:39:2:0:0:8:1000
-F:LITE1
-D:Light
-d:Everburning Torch
-
-A:2:39:3:0:0:20:10000
-F:LITE2
-D:Bright Light
-d:Dwarven Lantern
-
-A:2:39:4:0:0:40:100000
-F:LITE3
-D:Sunlight
-d:Feanorian Lamp
-
-A:2:38:-1:0:0:40:200000
-F:FLY
-D:Flight
-d:Suit of Dragon Armour (any colour)
-
-A:2:9:-1:862:0:50:10000000
-F:AUTO_ID
-D:Automatically IDs
-d:Morgoth's Testicles
-
-A:2:40:14:0:0:29:2000
-F:NO_TELE
-D:Anti-Teleportation
-d:Teleport Inhibiting Amulet
-
-A:2:40:13:0:0:34:2000
-F:NO_MAGIC
-D:Anti-Magic
-d:Magic Inhibiting Amulet
-
-A:2:71:62:0:0:50:100000
-F:WRAITH
-D:Wraith Form
-d:Potion of Invulnerability
-
-A:2:71:33:0:0:15:1000
-F:FEATHER
-D:Levitation
-d:Potion of Berserk Strength
-
-A:2:80:37:0:0:20:10000
-F:SLOW_DIGEST
-D:Slow Digestion
-d:Lembas Wafer
-
-A:2:80:10:0:0:32:20000
-F:REGEN
-D:Regenerate
-d:Mushroom of Unhealth
-
-A:2:80:3:0:0:12:20000
-F:TELEPORT
-D:Teleport
-d:Mushroom of Confusion
-
-A:3:21:2:0:1:30:20000
-F:CRIT
-D:Extra Critical Hits
-d:Whip
-p:Whips
-
-A:3:23:30:0:0:30:30000
-F:WOUNDING
-D:Wounds Monsters
-d:Blade of Chaos
-
-A:3:66:18:0:1:26:6000
-F:VAMPIRIC
-D:Vampiric
-d:Rod Tip of Drain Life
-
-A:3:9:1:0:0:16:2000
-F:SLAY_ANIMAL
-f:ANIMAL
-D:Slay Animal
-d:Dead Animal's Body
-
-A:3:9:-1:0:0:25:2000
-F:SLAY_EVIL
-f:EVIL
-D:Slay Evil
-d:Evil Dead Thing's Remains
-
-A:3:9:-1:0:0:30:2000
-F:SLAY_UNDEAD
-f:UNDEAD
-D:Slay Undead
-d:Remains of Undead Monster
-
-A:3:9:1:0:0:40:1500
-F:SLAY_DEMON
-f:DEMON
-D:Slay Demon
-d:Demon's Corpse
-
-A:3:9:1:0:0:10:700
-F:SLAY_ORC
-f:ORC
-D:Slay Orc
-d:Dead Orc
-
-A:3:9:1:0:0:16:700
-F:SLAY_TROLL
-f:TROLL
-D:Slay Troll
-d:Dead Troll
-
-A:3:9:1:0:0:25:900
-F:SLAY_GIANT
-f:GIANT
-D:Slay Giant
-d:Dead Giant
-
-A:3:9:1:0:0:33:2000
-F:SLAY_DRAGON
-f:DRAGON
-D:Slay Dragon
-d:Dead Dragon (any size will do)
-
-A:3:9:-1:593:0:41:5000
-F:KILL_DRAGON
-D:*Slay* Dragon
-d:Mature Multi-Hued Dragon's Remains
-
-A:3:9:-1:0:0:41:90000
-F:KILL_UNDEAD
-f:S_HI_UNDEAD
-D:*Slay* Undead
-d:Dead Summoner of Greater Undead
-
-A:3:9:-1:996:0:41:90000
-F:KILL_DEMON
-D:*Slay* Demon
-d:Lesser Balrog's Corpse
-
-A:3:0:0:0:0:36:20000
-F:VORPAL
-D:Vorpal
-
-A:3:0:0:0:0:40:90000
-F:IMPACT
-D:Earthquakes
-
-A:3:0:0:0:0:3:2000
-F:BRAND_POIS
-D:Poison Brand
-
-A:3:0:0:0:0:12:2000
-F:BRAND_ACID
-D:Acid Brand
-
-A:3:0:0:0:0:10:2000
-F:BRAND_ELEC
-D:Lightning Brand
-
-A:3:0:0:0:0:6:2000
-F:BRAND_FIRE
-D:Fire Brand
-
-A:3:0:0:0:0:8:2000
-F:BRAND_COLD
-D:Frost Brand
-
-A:3:0:0:0:1:30:3000
-F:XTRA_MIGHT
-D:Extra Might (Bows Only)
-
-A:3:0:0:0:1:35:3000
-F:XTRA_SHOTS
-D:Extra Shots (Bows Only)
-
-A:4:9:1:624:0:49:500000
-F:IM_ACID
-D:Immune to Acid
-d:Ancient Black Dragon's Foreskin
-
-A:4:9:1:601:0:50:500000
-F:IM_ELEC
-D:Immune to Lightning
-d:Ancient Blue Dragon's Foreskin
-
-A:4:9:1:644:0:49:500000
-F:IM_FIRE
-D:Immune to Fire
-d:Ancient Red Dragon's Foreskin
-
-A:4:9:1:617:0:50:500000
-F:IM_COLD
-D:Immune to Cold
-d:Ancient White Dragon's Foreskin
-
-A:4:40:8:0:0:30:30000
-F:HOLD_LIFE
-D:Hold Life
-d:Amulet of the Magi
-
-A:4:45:17:0:0:12:10000
-F:RES_ACID
-D:Resist Acid
-d:Ring of Acid
-
-A:4:45:56:0:0:15:10000
-F:RES_ELEC
-D:Resist Lightning
-d:Ring of Lightning
-
-A:4:71:30:0:0:13:10000
-F:RES_FIRE
-D:Resist Fire
-d:Potion of Resist Heat
-
-A:4:71:31:0:0:14:10000
-F:RES_COLD
-D:Resist Cold
-d:Potion of Resist Cold
-
-A:4:71:27:0:0:25:30000
-F:RES_POIS
-D:Resist Poison
-d:Potion of Cure Poison
-
-A:4:45:38:0:0:26:10000
-F:RES_FEAR
-D:Resist Fear
-d:Ring of Fear Resistance
-
-A:4:45:39:0:0:31:60000
-F:RES_LITE
-D:Resist Light
-d:Ring of Light and Darkness Resistance
-
-A:4:45:39:0:0:31:60000
-F:RES_DARK
-D:Resist Darkness
-d:Ring of Light and Darkness Resistance
-
-A:4:45:47:0:0:30:30000
-F:RES_BLIND
-D:Resist Blindness
-d:Ring of Blindness Resistance
-
-A:4:45:43:0:0:30:30000
-F:RES_CONF
-D:Resist Confusion
-d:Ring of Confusion Resistance
-
-A:4:45:42:0:0:30:60000
-F:RES_SOUND
-D:Resist Sound
-d:Ring of Sound Resistance
-
-A:4:45:44:0:0:30:60000
-F:RES_SHARDS
-D:Resist Shards
-d:Ring of Shard Resistance
-
-A:4:45:40:0:0:30:60000
-F:RES_NETHER
-D:Resist Nether
-d:Ring of Nether Resistance
-
-A:4:45:41:0:0:30:60000
-F:RES_NEXUS
-D:Resist Nexus
-d:Ring of Nexus Resistance
-
-A:4:45:46:0:0:30:60000
-F:RES_CHAOS
-D:Resist Chaos
-d:Ring of Chaos Resistance
-
-A:4:45:45:0:0:30:60000
-F:RES_DISEN
-D:Resist Disenchantment
-d:Ring of Disenchantment Resistance
-
-A:5:9:1:0:0:50:-100000
-F:TEMPORARY
-D:Temporary Item
-d:Corpse, any corpse
-
-A:5:36:1:0:0:10:-2000
-F:AUTO_CURSE
-D:Self-Cursing
-d:Filthy Rag
-
-A:5:80:40:0:0:45:-10000
-F:BLACK_BREATH
-D:Causes the Black Breath
-d:Sprig of Athelas
-
-A:5:70:15:0:0:40:-5000
-F:TY_CURSE
-D:Ancient Curse
-d:Scroll of *Remove Curse*
-
-A:5:0:0:0:0:40:-5000
-F:DRAIN_EXP
-D:Drains your Experience
-
-A:5:0:0:0:0:30:-5000
-F:AGGRAVATE
-D:Aggravates Monsters
-
-A:5:70:14:0:0:30:-500
-F:CURSED
-D:Curse
-d:Scroll of Remove Curse
-
-#Removed for balance - allows you to trade two essences of extra life,
-# and 25+ magic essence for 10000xp on your artifact, which isn't
-# anything to sneeze at. Curse, above, has the same problem, but
-# for 1000xp, I figure it's a fair trade.
-#A:5:70:15:0:0:40:-10000
-#D:Heavy Curse
-#F:HEAVY_CURSE
-#d:Scroll of *Remove Curse*
-
-A:5:0:0:0:0:50:-5000
-F:PERMA_CURSE
-D:Permanently Cursed
-
-A:5:0:0:0:0:35:-2000
-F:CURSE_NO_DROP
-D:Can't be Dropped
-
-A:5:0:0:0:0:45:-5000
-F:DRAIN_HP
-D:Drains your Hit Points
-
-A:5:0:0:0:0:20:-50000
-F:IMMOVABLE
-D:Wielder Can't Move
-
-#/* Floating eye corpse for esp all :) other ESP's don't require anything at all...*/
-A:5:9:1:32:0:40:20000
-F:ESP_ALL
-D:Telepathy
-d:Formerly Floating Eye
-
-A:5:0:0:0:0:25:3000
-F:ESP_ORC
-D:Sense Orcs
-
-A:5:0:0:0:0:25:3000
-F:ESP_TROLL
-D:Sense Trolls
-
-A:5:0:0:0:0:25:5000
-F:ESP_DRAGON
-D:Sense Dragons
-
-A:5:0:0:0:0:25:5000
-F:ESP_GIANT
-D:Sense Giants
-
-A:5:0:0:0:0:25:5000
-F:ESP_DEMON
-D:Sense Demons
-
-A:5:0:0:0:0:25:5000
-F:ESP_UNDEAD
-D:Sense Undead
-
-A:5:0:0:0:0:25:5000
-F:ESP_EVIL
-D:Sense Evil
-
-A:5:0:0:0:0:25:5000
-F:ESP_ANIMAL
-D:Sense Animals
-
-A:5:0:0:0:0:25:5000
-F:ESP_THUNDERLORD
-D:Sense Thunderlords
-
-A:5:0:0:0:0:25:5000
-F:ESP_GOOD
-D:Sense Good
-
-A:5:0:0:0:0:25:5000
-F:ESP_NONLIVING
-D:Sense Nonliving
-
-A:5:0:0:0:0:25:5000
-F:ESP_UNIQUE
-D:Sense Unique Monsters
-
-A:5:0:0:0:0:25:2000
-F:ESP_SPIDER
-D:Sense Spiders
-
-
-#***************************Activations for artifacts***********************
-# Activations follow all of the rules for artifact flags.
-# except: group number and pval are IGNORED
-# They MUST come after ALL artifact flags in this file!!!
-# There is no way (currently) to require essences...
-#
-# They use a LOWER CASE x: instead of the F: object flag
-#
-# all ACT_ constants are supported, anything else must be coded into init1.c
-# Internally, they are assigned the magic group number of '88'
-# and a NEGATIVE flag number (which is the activation number)
-# Note that although you can use the p: to give activations a plural
-# item description, it will never be used, because pval is forced to 0.
-#
-#A:<Ógnored>:tval:sval:<ignored>:<ignored>:level:xp
-# tval and sval describe the required item, they can be left unspecified
-# for no object, or specify starting with tval for increasingly specific
-# objects.
-#F:object flag to be set
-#D:Description of flag
-#x:Description of activation (instead of description of flag)
-#d:Description of required item
-#p:Description of required item (plural, not used for activations)
-#a:qty:object_flag_to_be_set Essence_name
-
-#define ACT_PET_SUMMON 150
-#define ACT_CURE_PARA 151
-#define ACT_CURE_HALLU 152
-#define ACT_CURE_POIS 153
-#define ACT_CURE_HUNGER 154
-#define ACT_CURE_STUN 155
-#define ACT_CURE_CUTS 156
-#define ACT_CURE_FEAR 157
-#define ACT_CURE_CONF 158
-#define ACT_CURE_BLIND 159
-#define ACT_CURING 160
-#define ACT_ACQUIREMENT 163
-#define ACT_MUT 166
-#define ACT_CURE_INSANITY 167
-#define ACT_CURE_MUT 168
-#define ACT_REST_LIFE 84
-#define ACT_REST_ALL 85
-#define ACT_CURE_LW 81
-#define ACT_CURE_MW 82
-#define ACT_CURE_POISON 83
-#define ACT_CURE_700 86
-#define ACT_CURE_1000 87
-
-#define ACT_LIGHT 111
-
-#define ACT_SUNLIGHT 1
-A:0:70:15:0:0:40:40000
-x:SUNLIGHT
-D:Sunlight
-d:Brass Lantern
-
-#define ACT_MAP_LIGHT 112
-#define ACT_DETECT_ALL 113
-#define ACT_DETECT_XTRA 114
-#define ACT_ID_FULL 115
-#define ACT_ID_PLAIN 116
-
-#define ACT_GROW_MOLD 197
-
-
-#define ACT_BO_MISS_1 2
-A:0:0:0:0:0:20:4000
-x:BO_MISS_1
-D:Magic Missile (1)
-
-#define ACT_BO_MISS_2 15
-A:0:0:0:0:0:30:300000
-x:BO_MISS_2
-D:Magic Missile (2)
-
-#define ACT_BA_MISS_3 24
-A:0:0:0:0:0:40:400000
-x:BA_MISS_3
-D:Ball of Missiles
-
-#define ACT_BO_ELEC_1 4
-A:0:0:0:0:0:30:300000
-x:BO_ELEC_1
-D:Bolt of Lightning
-
-#define ACT_BA_ELEC_2 12
-A:0:0:0:0:0:30:300000
-x:BA_ELEC_2
-D:Ball of Lightning
-
-#define ACT_BA_ELEC_3 18
-A:0:0:0:0:0:35:350000
-x:BA_ELEC_3
-D:Ball of Lightning(2)
-
-#define ACT_BA_ELEC_H 172
-A:0:0:0:0:0:40:400000
-x:BA_ELEC_H
-D:Ball of Lightning(3)
-
-#define ACT_BA_ELEC_4 183
-A:0:0:0:0:0:40:400000
-x:BA_ELEC_4
-D:Ball of Lightning(4)
-
-#define ACT_BR_ELEC 184
-A:0:0:0:0:0:45:450000
-x:BR_ELEC
-D:Breathe Lightning
-
-#define ACT_BO_ACID_1 5
-#define ACT_BA_COLD_1 8
-#define ACT_BA_ACID_H 173
-#define ACT_BA_ACID_4 182
-#define ACT_BR_ACID 187
-#define ACT_BO_COLD_1 6
-#define ACT_BA_COLD_2 11
-#define ACT_BA_COLD_3 17
-#define ACT_BA_COLD_H 171
-#define ACT_BA_COLD_4 180
-#define ACT_BR_COLD 185
-#define ACT_BO_FIRE_1 7
-#define ACT_BA_FIRE_1 9
-#define ACT_BA_FIRE_2 16
-#define ACT_BA_FIRE_H 170
-#define ACT_BA_FIRE_4 181
-#define ACT_BR_FIRE 186
-#define ACT_BA_POIS_1 3
-#define ACT_BA_POIS_4 179
-#define ACT_BR_POIS 188
-#define ACT_BR_MANY 189
-#define ACT_BR_CONF 190
-#define ACT_BR_SOUND 191
-#define ACT_BR_CHAOS 192
-#define ACT_BR_SHARD 193
-#define ACT_BR_BALANCE 194
-#define ACT_BR_LIGHT 195
-#define ACT_BR_POWER 196
-#define ACT_ROCKET 22
-A:0:0:0:0:0:50:40000
-x:ROCKET
-D:Fire a Rocket
-
-#define ACT_JUMP 177
-#define ACT_WHIRLWIND 19
-#define ACT_CALL_CHAOS 21
-#define ACT_DISP_EVIL 23
-#define ACT_DISP_GOOD 25
-#define ACT_DAWN 61
-#define ACT_CHARM_ANIMAL 65
-#define ACT_CHARM_UNDEAD 66
-#define ACT_CHARM_OTHER 67
-#define ACT_CHARM_ANIMALS 68
-#define ACT_CHARM_OTHERS 69
-#define ACT_SUMMON_ANIMAL 70
-#define ACT_SUMMON_PHANTOM 71
-#define ACT_SUMMON_ELEMENTAL 72
-#define ACT_SUMMON_DEMON 73
-#define ACT_SUMMON_UNDEAD 74
-#define ACT_RUNE_EXPLO 117
-#define ACT_RUNE_PROT 118
-#define ACT_SATIATE 119
-#define ACT_DEST_DOOR 120
-#define ACT_STONE_MUD 121
-#define ACT_RECHARGE 122
-#define ACT_ALCHEMY 123
-#define ACT_DIM_DOOR 124
-#define ACT_TELEPORT 125
-#define ACT_RECALL 126
-
-#define ACT_SPIN 174
-#define ACT_NOLDOR 175
-#define ACT_SPECTRAL 176
-#define ACT_DEST_TELE 178
-#define ACT_DRAIN_1 10
-#define ACT_DRAIN_2 13
-#define ACT_VAMPIRE_1 14
-#define ACT_VAMPIRE_2 20
-#define ACT_GILGALAD 26
-#define ACT_CELEBRIMBOR 27
-#define ACT_SKULLCLEAVER 28
-#define ACT_HARADRIM 29
-#define ACT_FUNDIN 30
-#define ACT_EOL 31
-#define ACT_UMBAR 32
-#define ACT_NUMENOR 33
-#define ACT_KNOWLEDGE 34
-#define ACT_UNDEATH 35
-#define ACT_THRAIN 36
-#define ACT_BARAHIR 37
-#define ACT_TULKAS 38
-#define ACT_NARYA 39
-#define ACT_NENYA 40
-#define ACT_VILYA 41
-#define ACT_POWER 42
-#define ACT_STONE_LORE 43
-#define ACT_RAZORBACK 44
-#define ACT_BLADETURNER 45
-#define ACT_MEDIATOR 46
-#define ACT_BELEGENNON 47
-#define ACT_GORLIM 48
-#define ACT_COLLUIN 49
-#define ACT_BELANGIL 50
-#define ACT_CONFUSE 51
-#define ACT_SLEEP 52
-#define ACT_QUAKE 53
-#define ACT_TERROR 54
-#define ACT_TELE_AWAY 55
-#define ACT_BANISH_EVIL 56
-#define ACT_GENOCIDE 57
-#define ACT_MASS_GENO 58
-#define ACT_ANGUIREL 59
-#define ACT_ERU 60
-#define ACT_FIRESTAR 62
-#define ACT_TURMIL 63
-#define ACT_CUBRAGOL 64
-#define ACT_ELESSAR 75
-#define ACT_GANDALF 76
-#define ACT_MARDA 77
-#define ACT_PALANTIR 78
-#define ACT_ROBINTON 79
-#define ACT_PIEMUR 80
-#define ACT_MENOLLY 88
-#define ACT_EREBOR 89
-#define ACT_DRUEDAIN 90
-#define ACT_ESP 91
-#define ACT_BERSERK 92
-#define ACT_PROT_EVIL 93
-#define ACT_RESIST_ALL 94
-#define ACT_SPEED 95
-#define ACT_XTRA_SPEED 96
-#define ACT_WRAITH 97
-#define ACT_INVULN 98
-#define ACT_ROHAN 99
-#define ACT_HELM 100
-#define ACT_BOROMIR 101
-#define ACT_HURIN 102
-#define ACT_AXE_GOTHMOG 103
-#define ACT_MELKOR 104
-#define ACT_GROND 105
-#define ACT_NATUREBANE 106
-#define ACT_NIGHT 107
-#define ACT_ORCHAST 108
-
-#define ACT_DEATH 127
-#define ACT_RUINATION 128
-#define ACT_DESTRUC 129
-#define ACT_UNINT 130
-#define ACT_UNSTR 131
-#define ACT_UNCON 132
-#define ACT_UNCHR 133
-#define ACT_UNDEX 134
-#define ACT_UNWIS 135
-#define ACT_STATLOSS 136
-#define ACT_HISTATLOSS 137
-#define ACT_EXPLOSS 138
-#define ACT_HIEXPLOSS 139
-#define ACT_SUMMON_MONST 140
-#define ACT_PARALYZE 141
-#define ACT_HALLU 142
-#define ACT_POISON 143
-#define ACT_HUNGER 144
-#define ACT_STUN 145
-#define ACT_CUTS 146
-#define ACT_PARANO 147
-#define ACT_CONFUSION 148
-#define ACT_BLIND 149
-#define ACT_DARKNESS 161
-#define ACT_LEV_TELE 162
-#define ACT_WEIRD 164
-#define ACT_AGGRAVATE 165
-#define ACT_LIGHT_ABSORBTION 169
-#define ACT_MUSIC 200
-
-
-#***************************Amulets***********************
-
-#SV_AMULET_ADORNMENT
-I:40:2:4:DARKNESS
-
-#SV_AMULET_BRILLANCE
-I:40:6:1:KNOWLEDGE
-I:40:6:2:CONFUSION
-
-#SV_AMULET_CHARISMA
-I:40:7:4:DARKNESS
-
-#SV_AMULET_DEVOTION
-I:40:25:1:MAGIC
-I:40:25:2:CONFUSION
-I:40:25:8:KNOWLEDGE
-
-#SV_AMULET_ESP
-I:40:22:4:KNOWLEDGE
-
-#SV_AMULET_INFRA
-I:40:26:1:LITE
-
-#SV_AMULET_NO_MAGIC
-I:40:13:4:MAGIC
-
-#SV_AMULET_NO_TELE
-I:40:14:8:TELEPORT
-
-#SV_AMULET_REFLECTION
-I:40:9:10:FORCE
-I:40:9:10:MANA
-
-#SV_AMULET_REGENERATION
-I:40:30:4:LIFE
-
-#SV_AMULET_RESISTANCE
-I:40:15:4:ACID
-I:40:15:4:COLD
-I:40:15:4:FIRE
-I:40:15:4:LIGHTNING
-
-#SV_AMULET_RESIST_ACID
-I:40:4:4:ACID
-
-#SV_AMULET_RESIST_ELEC
-I:40:29:4:LIGHTNING
-
-#SV_AMULET_SEARCHING
-I:40:5:4:KNOWLEDGE
-I:40:5:4:LITE
-
-#SV_AMULET_SERPENT
-I:40:17:1:MANA
-I:40:17:4:ACID
-
-#SV_AMULET_SLOW_DIGEST
-I:40:3:4:LIFE
-
-#SV_AMULET_SUSTENANCE
-I:40:21:8:LIFE
-
-#SV_AMULET_TELEPORT
-I:40:1:8:TELEPORT
-
-#SV_AMULET_THE_MAGI
-I:40:8:1:MAGIC
-I:40:8:4:KNOWLEDGE
-
-#SV_AMULET_TRICKERY
-#I:40:23:1:MAGIC
-I:40:23:8:CONFUSION
-
-#SV_AMULET_WEAPONMASTERY
-I:40:24:12:EXPLOSION
-I:40:24:1:MAGIC
-
-#SV_AMULET_WISDOM
-I:40:28:1:KNOWLEDGE
-I:40:28:2:CONFUSION
-
-#*********Potions******************************
-#Note that these first few potions are the ones which
-#can be thrown for much damage, and are thus an integral part of
-#the alchemist's arsenal.
-
-#SV_POTION_DETONATIONS
-I:71:22:6:EXPLOSION
-
-#SV_POTION_DEATH
-I:71:23:10:LIFE
-
-#SV_POTION_RUINATION
-I:71:15:5:DARKNESS
-
-#SV_POTION_APPLE_JUICE
-I:71:1:1:LIFE
-
-#SV_POTION_AUGMENTATION
-I:71:55:16:POISON
-I:71:55:24:CONFUSION
-I:71:55:6:MAGIC
-I:71:55:8:EXPLOSION
-I:71:55:16:LIFE
-I:71:55:8:LIGHTNING
-I:71:55:16:DARKNESS
-
-#SV_POTION_BESERK_STRENGTH
-I:71:33:1:FIRE
-
-#SV_POTION_BLINDNESS
-I:71:7:1:DARKNESS
-
-#SV_POTION_BOLDNESS
-I:71:28:1:LITE
-
-#SV_POTION_CONFUSION
-I:71:9:1:CONFUSION
-
-#SV_POTION_CURE_CRITICAL
-I:71:36:4:LIFE
-
-#SV_POTION_CURE_LIGHT
-I:71:34:1:LIFE
-
-#SV_POTION_CURE_SERIOUS
-I:71:35:2:LIFE
-
-#SV_POTION_CURING
-I:71:61:1:LIFE
-
-#SV_POTION_DEC_CHR
-I:71:21:1:MANA
-I:71:21:8:DARKNESS
-I:71:21:8:CONFUSION
-
-#SV_POTION_DEC_CON
-I:71:20:1:MANA
-I:71:20:8:LIFE
-I:71:20:8:POISON
-
-#SV_POTION_DEC_DEX
-I:71:19:1:MANA
-I:71:19:8:LIGHTNING
-I:71:19:8:DARKNESS
-
-#SV_POTION_DEC_INT
-I:71:17:1:MANA
-I:71:17:8:CONFUSION
-I:71:17:8:KNOWLEDGE
-
-#SV_POTION_DEC_STR
-I:71:16:1:MANA
-I:71:16:8:EXPLOSION
-I:71:16:8:POISON
-
-#SV_POTION_DEC_WIS
-I:71:18:1:MANA
-I:71:18:8:CONFUSION
-I:71:18:8:LIFE
-
-#SV_POTION_DETECT_INVIS
-I:71:25:1:DARKNESS
-I:71:25:1:LITE
-
-#SV_POTION_ENLIGHTENMENT
-I:71:56:8:KNOWLEDGE
-
-#SV_POTION_EXPERIENCE
-I:71:59:30:EXTRALIFE
-
-#SV_POTION_HEALING
-I:71:37:1:EXTRALIFE
-
-#SV_POTION_HEROISM
-I:71:32:1:COLD
-
-#SV_POTION_INC_CHR
-I:71:53:1:MAGIC
-I:71:53:8:DARKNESS
-I:71:53:8:CONFUSION
-
-#SV_POTION_INC_CON
-I:71:52:1:MAGIC
-I:71:52:8:LIFE
-I:71:52:8:POISON
-
-#Potion of Slow Poison
-I:71:26:1:POISON
-
-#Potion of Cure Poison
-I:71:27:2:POISON
-
-#Potion of Poison
-I:71:6:1:POISON
-
-#SV_POTION_INC_DEX
-I:71:51:1:MAGIC
-I:71:51:8:LIGHTNING
-I:71:51:8:DARKNESS
-
-#SV_POTION_INC_INT
-I:71:49:1:MAGIC
-I:71:49:8:KNOWLEDGE
-I:71:49:8:CONFUSION
-
-#SV_POTION_INC_STR
-I:71:48:1:MAGIC
-I:71:48:8:EXPLOSION
-I:71:48:8:POISON
-
-#SV_POTION_INC_WIS
-I:71:50:1:MAGIC
-I:71:50:8:CONFUSION
-I:71:50:8:LIFE
-
-#SV_POTION_INFRAVISION
-I:71:24:1:LITE
-
-#SV_POTION_INVIS
-I:71:8:4:DARKNESS
-
-#SV_POTION_INVULNERABILITY
-I:71:62:10:FORCE
-I:71:62:4:MAGIC
-
-#SV_POTION_LIFE
-I:71:39:8:EXTRALIFE
-
-#SV_POTION_LOSE_MEMORIES
-I:71:13:20:DARKNESS
-
-#SV_POTION_MUTATION
-I:71:10:12:CHAOS
-
-#SV_POTION_NEW_LIFE
-I:71:63:16:EXTRALIFE
-
-#SV_POTION_RESISTANCE
-I:71:60:2:ACID
-I:71:60:2:COLD
-I:71:60:2:FIRE
-I:71:60:2:LIGHTNING
-
-#SV_POTION_RESIST_COLD
-I:71:31:1:COLD
-
-#SV_POTION_RESIST_HEAT
-I:71:30:1:FIRE
-
-#SV_POTION_RESTORE_EXP
-I:71:41:8:LIFE
-I:71:41:3:KNOWLEDGE
-
-#SV_POTION_RESTORE_MANA
-I:71:40:12:MANA
-
-#SV_POTION_RES_CHR
-I:71:47:12:LIFE
-
-#SV_POTION_RES_CON
-I:71:46:12:LIFE
-
-#SV_POTION_RES_DEX
-I:71:45:12:LIFE
-
-#SV_POTION_RES_INT
-I:71:43:12:LIFE
-
-#SV_POTION_RES_STR
-I:71:42:12:LIFE
-
-#SV_POTION_RES_WIS
-I:71:44:12:LIFE
-
-#SV_POTION_SALT_WATER
-I:71:5:1:LIGHTNING
-
-#SV_POTION_SELF_KNOWLEDGE
-I:71:58:2:KNOWLEDGE
-
-#SV_POTION_SLEEP
-I:71:11:1:MANA
-
-#SV_POTION_SLIME_MOLD
-I:71:2:1:LIFE
-
-#SV_POTION_SLOWNESS
-I:71:4:1:MANA
-
-#SV_POTION_SPEED
-I:71:29:1:TIME
-
-#SV_POTION_STAR_ENLIGHTENMENT
-I:71:57:12:KNOWLEDGE
-
-#SV_POTION_STAR_HEALING
-I:71:38:4:EXTRALIFE
-
-#SV_POTION_WATER
-I:71:0:1:LIFE
-
-#********************************Potion 2*********************************
-
-#SV_POTION2_MIMIC 1
-I:72:1:2:LIFE
-#SV_POTION2_CURE_LIGHT_SANITY 14
-I:72:14:1:CONFUSION
-I:72:14:1:DARKNESS
-#SV_POTION2_CURE_SERIOUS_SANITY 15
-I:72:15:2:CONFUSION
-I:72:15:2:DARKNESS
-#SV_POTION2_CURE_CRITICAL_SANITY 16
-I:72:16:4:CONFUSION
-I:72:16:4:DARKNESS
-#SV_POTION2_CURE_SANITY 17
-I:72:17:8:CONFUSION
-I:72:17:8:DARKNESS
-#SV_POTION2_CURE_WATER 18
-#I:72:18:4:EXPLOSION
-#I:72:18:4:POISON
-#I:72:18:2:EXTRALIFE
-
-#************Rod Tips.****************************
-
-#SV_ROD_ACID_BALL
-I:66:24:1:MAGIC
-I:66:24:8:ACID
-
-#SV_ROD_ACID_BOLT
-I:66:20:4:ACID
-
-#SV_ROD_COLD_BALL
-I:66:27:1:MAGIC
-I:66:27:8:COLD
-
-#SV_ROD_COLD_BOLT
-I:66:23:4:COLD
-
-#SV_ROD_CURING
-I:66:8:3:LIFE
-
-#SV_ROD_DETECTION
-I:66:6:8:KNOWLEDGE
-
-#SV_ROD_DETECT_DOOR
-I:66:1:1:KNOWLEDGE
-
-#SV_ROD_DETECT_TRAP
-I:66:29:1:KNOWLEDGE
-
-#SV_ROD_DISARMING
-I:66:14:4:TELEPORT
-
-#SV_ROD_DRAIN_LIFE
-I:66:18:10:LIFE
-
-#SV_ROD_ELEC_BALL
-I:66:25:1:MAGIC
-I:66:25:8:LIGHTNING
-
-#SV_ROD_ELEC_BOLT
-I:66:21:4:LIGHTNING
-
-#SV_ROD_FIRE_BALL
-I:66:26:1:MAGIC
-I:66:26:8:FIRE
-
-#SV_ROD_FIRE_BOLT
-I:66:22:4:FIRE
-
-#SV_ROD_HAVOC
-I:66:28:5:CHAOS
-
-#SV_ROD_HEALING
-I:66:9:4:EXTRALIFE
-
-#SV_ROD_IDENTIFY
-I:66:2:4:MANA
-I:66:2:4:KNOWLEDGE
-
-#SV_ROD_ILLUMINATION
-I:66:4:4:LITE
-
-#SV_ROD_LITE
-I:66:15:1:LITE
-
-#SV_ROD_MAPPING
-I:66:5:1:KNOWLEDGE
-I:66:5:8:LITE
-
-#SV_ROD_POLYMORPH
-I:66:19:1:CHAOS
-
-#SV_ROD_PROBING
-I:66:7:20:KNOWLEDGE
-I:66:7:3:MANA
-
-#SV_ROD_RECALL
-I:66:3:3:FORCE
-I:66:3:9:TELEPORT
-
-#SV_ROD_RESTORATION
-I:66:10:30:LIFE
-
-#SV_ROD_SLEEP_MONSTER
-I:66:16:1:MANA
-
-#SV_ROD_SLOW_MONSTER
-I:66:17:1:TIME
-
-#SV_ROD_SPEED
-I:66:11:10:TIME
-
-#SV_ROD_TELEPORT_AWAY
-I:66:13:8:TELEPORT
-
-#**************************Scrolls ********************
-
-#SV_SCROLL_ACQUIREMENT
-I:70:46:10:MAGIC
-
-#SV_SCROLL_ARTIFACT
-I:70:52:99:MAGIC
-
-#SV_SCROLL_BLESSING
-I:70:33:1:LIFE
-
-#SV_SCROLL_CHAOS
-I:70:50:2:CHAOS
-
-#SV_SCROLL_DARKNESS
-I:70:0:1:DARKNESS
-
-#SV_SCROLL_DETECT_DOOR
-I:70:29:1:KNOWLEDGE
-
-#SV_SCROLL_DETECT_GOLD
-I:70:26:1:KNOWLEDGE
-
-#SV_SCROLL_DETECT_INVIS
-I:70:30:1:DARKNESS
-I:70:30:1:KNOWLEDGE
-
-#SV_SCROLL_DETECT_ITEM
-I:70:27:2:KNOWLEDGE
-
-#SV_SCROLL_DETECT_TRAP
-I:70:28:1:KNOWLEDGE
-
-#SV_SCROLL_DISPEL_UNDEAD
-I:70:42:1:EXTRALIFE
-
-#SV_SCROLL_ENCHANT_ARMOR
-I:70:16:3:EXPLOSION
-
-#SV_SCROLL_ENCHANT_WEAPON_PVAL
-I:70:19:10:MAGIC
-
-#SV_SCROLL_ENCHANT_WEAPON_TO_DAM
-I:70:18:3:EXPLOSION
-
-#SV_SCROLL_ENCHANT_WEAPON_TO_HIT
-I:70:17:3:LITE
-
-#SV_SCROLL_FIRE
-I:70:48:1:FIRE
-
-#SV_SCROLL_GENOCIDE
-I:70:44:1:FORCE
-I:70:44:5:DARKNESS
-
-#SV_SCROLL_HOLY_CHANT
-I:70:34:2:LIFE
-
-#SV_SCROLL_HOLY_PRAYER
-I:70:35:3:LIFE
-
-#SV_SCROLL_ICE
-I:70:49:1:COLD
-
-#SV_SCROLL_IDENTIFY
-I:70:12:1:KNOWLEDGE
-
-#SV_SCROLL_LIGHT
-I:70:24:1:LITE
-
-#SV_SCROLL_MAPPING
-I:70:25:2:KNOWLEDGE
-I:70:25:5:LITE
-
-#SV_SCROLL_MASS_GENOCIDE
-I:70:45:1:FORCE
-I:70:45:30:DARKNESS
-
-#SV_SCROLL_MONSTER_CONFUSION
-I:70:36:1:CONFUSION
-
-#SV_SCROLL_PHASE_DOOR
-I:70:8:1:TELEPORT
-
-#SV_SCROLL_PROTECTION_FROM_EVIL
-I:70:37:1:MANA
-I:70:37:9:LIFE
-
-#SV_SCROLL_RECHARGING
-I:70:22:4:LIGHTNING
-
-#SV_SCROLL_REMOVE_CURSE
-I:70:14:1:LIFE
-
-#SV_SCROLL_RESET_RECALL
-I:70:23:1:FORCE
-
-#SV_SCROLL_RUMOR
-I:70:51:1:LIGHTNING
-
-#SV_SCROLL_RUNE_OF_PROTECTION
-I:70:38:1:EXTRALIFE
-I:70:38:6:FORCE
-
-#SV_SCROLL_SATISFY_HUNGER
-I:70:32:1:LIFE
-
-#SV_SCROLL_STAR_ACQUIREMENT
-I:70:47:20:MAGIC
-
-#SV_SCROLL_STAR_DESTRUCTION
-I:70:41:12:FORCE
-
-#SV_SCROLL_STAR_ENCHANT_ARMOR
-I:70:20:9:EXPLOSION
-
-#SV_SCROLL_STAR_ENCHANT_WEAPON
-I:70:21:9:EXPLOSION
-I:70:21:9:LITE
-
-#SV_SCROLL_STAR_IDENTIFY
-I:70:13:1:MAGIC
-I:70:13:20:KNOWLEDGE
-
-#SV_SCROLL_STAR_REMOVE_CURSE
-I:70:15:1:EXTRALIFE
-
-#SV_SCROLL_TELEPORT
-I:70:9:1:TELEPORT
-
-#SV_SCROLL_TELEPORT_LEVEL
-I:70:10:5:TELEPORT
-
-#SV_SCROLL_TRAP_CREATION
-I:70:7:1:CONFUSION
-I:70:7:1:TELEPORT
-
-#SV_SCROLL_TRAP_DOOR_DESTRUCTION
-I:70:39:1:FORCE
-
-#SV_SCROLL_WORD_OF_RECALL
-I:70:11:1:FORCE
-I:70:11:3:TELEPORT
-
-#***************************Staves************************
-
-#Globe of Light
-I:55:3:1:LITE
-#Fiery Shield
-I:55:4:2:FIRE
-I:55:4:1:MANA
-#Remove Curse
-I:55:5:2:LIFE
-#Wings of Winds
-I:55:6:1:FORCE
-#Shake
-I:55:7:4:FORCE
-#Disarm
-I:55:8:1:FORCE
-I:55:8:1:KNOWLEDGE
-#Teleportation
-I:55:9:1:TELEPORT
-#Probability Travel
-I:55:10:1:MANA
-I:55:10:1:TELEPORT
-#11 Recovery
-I:55:11:1:LIFE
-#12 Healing
-I:55:12:1:EXTRALIFE
-#13 Vision
-I:55:13:1:LITE
-#Identify
-I:55:14:1:KNOWLEDGE
-I:55:14:1:MANA
-#Sense Hidden
-I:55:15:1:KNOWLEDGE
-#Reveal Ways
-I:55:16:1:KNOWLEDGE
-#Sense Monsters
-I:55:17:1:KNOWLEDGE
-#Genocide
-I:55:18:1:FORCE
-I:55:18:5:DARKNESS
-#19 Summon
-I:55:19:1:LIFE
-I:55:19:1:TELEPORT
-#Wish
-I:55:20:99:MAGIC
-#Mana
-I:55:21:1:MANA
-#Sterilize
-I:55:24:1:POISON
-I:55:24:1:MANA
-
-#********************Wands*****************
-
-#MannaThrust
-I:65:3:4:MANA
-
-#FireFlash
-I:65:4:1:FIRE
-
-#FireWall
-I:65:5:4:FIRE
-I:65:5:1:MANA
-
-#Tidal Wave
-I:65:6:1:POISON
-I:65:6:1:ACID
-I:65:6:1:COLD
-
-#Ice Storm
-I:65:7:4:COLD
-I:65:7:1:MANA
-
-#Wand of Noxious Cloud
-I:65:8:1:POISON
-
-#Poison Blood
-I:65:9:2:POISON
-I:65:9:1:LIFE
-
-#Thunderstorm
-I:65:10:4:LIGHTNING
-
-#DIG
-I:65:11:1:FORCE
-
-#Stone Prison
-I:65:12:3:FORCE
-I:65:12:1:MANA
-
-#Strike
-I:65:13:1:FORCE
-#Teleport Away
-I:65:14:1:TELEPORT
-#Summon Animal
-I:65:15:4:LIFE
-I:65:15:1:MANA
-#MageLock
-I:65:16:1:FORCE
-#Slow Monster
-I:65:17:1:MANA
-#Essence of Speed
-I:65:18:1:TIME
-#Banishment
-I:65:19:2:TELEPORT
-#20 Disperse Magic
-I:65:20:4:LIFE
-I:65:20:4:MANA
-#Charm
-I:65:21:1:MANA
-I:65:21:1:LIFE
-#Confuse
-I:65:22:1:CONFUSION
-#Deamon Blade
-I:65:23:1:FORCE
-I:65:23:1:FIRE
-#Heal Monster
-I:65:24:1:LIFE
-#25 Haste Monster
-I:65:25:1:MANA
-
-
-
-#RINGS*********************************************************
-
-#ring of poison resistance
-I:45:20:8:POISON
-
-#Ring of Critical Hits
-I:45:59:8:MANA
-
-#Damage
-I:45:29:1:EXPLOSION
-
-#Slaying
-I:45:30:8:EXPLOSION
-I:45:30:8:LITE
-
-#Sound Resistance
-I:45:42:4:EXPLOSION
-I:45:42:4:LITE
-
-#Shard Resistance
-I:45:44:4:EXPLOSION
-I:45:44:4:TELEPORT
-
-#Flying
-I:45:54:12:TELEPORT
-
-#Extra Attacks
-I:45:49:8:TELEPORT
-I:45:49:4:TIME
-
-#Teleportation
-I:45:4:8:TELEPORT
-
-#Lordly Protection
-I:45:48:4:TELEPORT
-I:45:48:12:LITE
-I:45:48:1:EXTRALIFE
-
-#Ring of Ice
-I:45:19:8:COLD
-
-#Ring of Cold Resistance
-I:45:9:4:COLD
-
-#Ring of Flames
-I:45:18:8:FIRE
-
-#Ring of Fire Resistance
-I:45:8:4:FIRE
-
-#Ring of Acid
-I:45:17:8:ACID
-
-#Ring of Disenchantment Resistance
-I:45:45:8:ACID
-I:45:45:2:CHAOS
-
-#Ring of slow digestion
-I:45:6:4:LIFE
-I:45:6:1:TIME
-
-#ring of confusion resistance
-I:45:43:8:CONFUSION
-
-#Ring of Stupidity
-I:45:3:1:CONFUSION
-
-#Ring of Blindness Resistance
-I:45:47:8:LITE
-
-#Ring of Accuracy
-I:45:28:1:LITE
-
-#Ring of Searching
-I:45:23:4:LITE
-I:45:23:3:KNOWLEDGE
-
-#Ring of Chaos
-I:45:46:8:LITE
-
-#Ring of Light and Darkness Resistance
-I:45:39:8:LITE
-I:45:39:8:DARKNESS
-
-#Ring of Speed
-I:45:31:12:TIME
-
-#ring of Weakness
-I:45:2:1:POISON
-
-#ring of Constitution
-I:45:27:2:POISON
-I:45:27:8:LIFE
-
-#ring of Strength
-I:45:24:1:POISON
-I:45:24:1:EXPLOSION
-
-#Ring of Dexterity
-I:45:26:1:KNOWLEDGE
-I:45:26:1:LIGHTNING
-
-#ring of Sustain Constitution
-I:45:13:1:POISON
-I:45:13:4:LIFE
-I:45:13:1:MANA
-
-#ring of Sustain Strength
-I:45:10:1:POISON
-I:45:10:1:EXPLOSION
-I:45:10:1:MANA
-
-#ring of Sustain Intelligence
-I:45:11:1:CONFUSION
-I:45:11:1:MANA
-
-#ring of Intelligence
-I:45:25:1:CONFUSION
-I:45:25:12:KNOWLEDGE
-
-#Ring of Sustain Wisdom
-I:45:12:1:MANA
-I:45:12:4:CONFUSION
-
-#Ring of Sustain Dexterity
-I:45:14:1:MANA
-I:45:14:1:LIGHTNING
-
-#Ring of Sustain Charisma
-I:45:15:1:MANA
-I:45:15:1:DARKNESS
-
-#Ring of See Invisible
-I:45:22:8:DARKNESS
-
-#Ring of Invisibility
-I:45:53:8:DARKNESS
-
-#Ring of Fear resistance
-I:45:38:1:MAGIC
-
-#Ring of Levitation
-I:45:7:1:MANA
-
-#Ring of Nether Resistance
-I:45:40:1:MANA
-I:45:40:12:LIFE
-
-#Ring of Nexus Resistance
-I:45:41:1:MANA
-
-#Ring of Free Action
-I:45:21:1:FORCE
-
-#Ring of Protection
-I:45:16:10:FORCE
-
-#Ring of Lightning
-I:45:56:12:LIGHTNING
-
-#EGO ITEMS, in order by e_idx
-I:1:1:1:MAGIC },/*of Mana*/
-I:1:2:2:MAGIC },/*of Power*/
-I:1:3:3:MAGIC },/*of Wizardry*/
-I:1:4:2:MAGIC },/*of Spell*/
-I:1:5:4:ACID },/*of Resist Acid*/
-I:1:6:4:LIGHTNING },/*of Resist Lightning*/
-I:1:7:4:FIRE },/*of Resist Fire*/
-I:1:8:4:COLD },/*of Resist Cold*/
-I:1:9:4:ACID },/*of Resistance*/
-I:1:9:4:COLD },/*of Resistance*/
-I:1:9:4:FIRE },/*of Resistance*/
-I:1:9:4:LIGHTNING },/*of Resistance*/
-I:1:10:5:ACID },/*Elven*/
-I:1:10:5:COLD },/*Elven*/
-I:1:10:5:FIRE },/*Elven*/
-I:1:10:5:LIGHTNING },/*Elven*/
-I:1:11:1:MAGIC },/*of Permanence*/
-I:1:11:6:ACID },/*of Permanence*/
-I:1:11:6:COLD },/*of Permanence*/
-I:1:11:6:FIRE },/*of Permanence*/
-I:1:11:6:LIGHTNING },/*of Permanence*/
-I:1:12:1:POISON },/*of Leprousness*/
-I:1:13:3:MAGIC },/*of Immunity*/
-I:1:14:5:MAGIC },/*of Defense*/
-I:1:15:4:TELEPORT },/*of Jumping*/
-I:1:16:4:ACID },/*of Resist Acid*/
-I:1:17:4:LIGHTNING },/*of Resist Lightning*/
-I:1:18:4:FIRE },/*of Resist Fire*/
-I:1:19:4:COLD },/*of Resist Cold*/
-I:1:20:4:ACID },/*of Resistance*/
-I:1:20:4:COLD },/*of Resistance*/
-I:1:20:4:FIRE },/*of Resistance*/
-I:1:20:4:LIGHTNING },/*of Resistance*/
-I:1:21:12:FORCE },/*of Reflection*/
-I:1:22:8:LIGHTNING },/*of Electricity*/
-I:1:23:4:DARKNESS },/*of the Noldor*/
-I:1:24:4:KNOWLEDGE },/*of Intelligence*/
-I:1:25:4:KNOWLEDGE },/*of Wisdom*/
-I:1:26:4:KNOWLEDGE },/*of Beauty*/
-I:1:27:12:KNOWLEDGE },/*of the Magi*/
-I:1:28:12:EXPLOSION },/*of Might*/
-I:1:29:4:MANA },/*of Lordliness*/
-I:1:30:8:KNOWLEDGE },/*of Seeing*/
-I:1:31:1:LITE },/*of Infravision*/
-I:1:32:1:LITE },/*of Light*/
-I:1:33:8:KNOWLEDGE },/*of Telepathy*/
-I:1:34:4:LIFE },/*of Regeneration*/
-I:1:35:4:TELEPORT },/*of Teleportation*/
-I:1:40:8:EXPLOSION },/*Dwarven*/
-I:1:40:8:FIRE },/*Dwarven*/
-I:1:40:8:LIFE },/*Dwarven*/
-I:1:40:8:LITE },/*Dwarven*/
-I:1:40:8:MANA },/*Dwarven*/
-I:1:41:4:FORCE },/*of Protection*/
-I:1:42:4:DARKNESS },/*of Stealth*/
-I:1:43:4:ACID },/*of Aman*/
-I:1:43:4:COLD },/*of Aman*/
-I:1:43:4:DARKNESS },/*of Aman*/
-I:1:43:4:FIRE },/*of Aman*/
-I:1:43:4:LIGHTNING },/*of Aman*/
-I:1:44:8:FIRE },/*of Immolation*/
-I:1:48:8:LIGHTNING },/*of Electricity*/
-I:1:49:1:FORCE },/*of Free Action*/
-I:1:50:4:FORCE },/*of Slaying*/
-I:1:50:4:LITE },/*of Slaying*/
-I:1:51:4:LIGHTNING },/*of Agility*/
-I:1:52:4:EXPLOSION },/*of Power*/
-I:1:54:2:DARKNESS },/*of Charming*/
-I:1:57:3:DARKNESS },/*of Levitation*/
-I:1:58:3:DARKNESS },/*of Stealth*/
-I:1:59:3:DARKNESS },/*of Free Action*/
-I:1:60:5:TIME },/*of Speed*/
-I:1:61:2:DARKNESS },/*of Dwarvish Endurance*/
-I:1:61:2:EXPLOSION },/*of Dwarvish Endurance*/
-I:1:65:4:ACID },/*of Aman*/
-I:1:65:4:COLD },/*of Aman*/
-I:1:65:4:DARKNESS },/*of Aman*/
-I:1:65:4:FIRE },/*of Aman*/
-I:1:65:4:LIGHTNING },/*of Aman*/
-I:1:66:1:MAGIC },/*(Defender)*/
-I:1:66:4:ACID },/*(Defender)*/
-I:1:66:4:COLD },/*(Defender)*/
-I:1:66:4:FIRE },/*(Defender)*/
-I:1:66:4:LIGHTNING },/*(Defender)*/
-I:1:67:8:KNOWLEDGE },/*Blessed*/
-I:1:68:12:LIFE },/*of Greater Life*/
-I:1:68:2:MAGIC },/*of Greater Life*/
-I:1:69:4:DARKNESS },/*of Westernesse*/
-I:1:69:4:EXPLOSION },/*of Westernesse*/
-I:1:69:4:LIGHTNING },/*of Westernesse*/
-I:1:69:4:LITE },/*of Westernesse*/
-I:1:70:2:TIME },/*of Extra Attacks*/
-I:1:71:4:FORCE },/*of Slaying*/
-I:1:71:4:LITE },/*of Slaying*/
-I:1:72:4:EXPLOSION },/*of Spinning*/
-I:1:72:4:LIGHTNING },/*of Spinning*/
-I:1:73:4:ACID },/*Acidic*/
-I:1:74:4:LIGHTNING },/*Shocking*/
-I:1:75:4:FIRE },/*Fiery*/
-I:1:76:4:COLD },/*Frozen*/
-I:1:77:4:POISON },/*Venomous*/
-I:1:78:4:CHAOS },/*Chaotic*/
-I:1:79:4:FORCE },/*Sharp*/
-I:1:80:4:FORCE },/*of Earthquakes*/
-I:1:81:8:CHAOS },/*of Slay Animal*/
-I:1:82:8:CHAOS },/*of Slay Evil*/
-I:1:83:8:CHAOS },/*of Slay Undead*/
-I:1:84:8:CHAOS },/*of Slay Demon*/
-I:1:85:8:CHAOS },/*of Slay Orc*/
-I:1:86:8:CHAOS },/*of Slay Troll*/
-I:1:87:8:CHAOS },/*of Slay Giant*/
-I:1:88:8:CHAOS },/*of Slay Dragon*/
-I:1:89:12:CHAOS },/*of *Slay Animal**/
-I:1:90:12:CHAOS },/*of *Slay Evil**/
-I:1:91:12:CHAOS },/*of *Slay Undead**/
-I:1:92:12:CHAOS },/*of *Slay Demon**/
-I:1:93:12:CHAOS },/*of *Slay Orc**/
-I:1:94:12:CHAOS },/*of *Slay Troll**/
-I:1:95:12:CHAOS },/*of *Slay Giant**/
-I:1:96:12:CHAOS },/*of *Slay Dragon**/
-I:1:97:8:LIFE },/*Vampiric*/
-I:1:98:4:MAGIC },/*(*Defender*)*/
-I:1:98:8:ACID },/*(*Defender*)*/
-I:1:98:8:COLD },/*(*Defender*)*/
-I:1:98:8:FIRE },/*(*Defender*)*/
-I:1:98:8:LIGHTNING },/*(*Defender*)*/
-I:1:98:8:POISON },/*(*Defender*)*/
-I:1:99:12:TELEPORT },/*of the Thunderlords*/
-I:1:100:12:KNOWLEDGE },/*of Gondolin*/
-I:1:100:1:MAGIC },/*of Gondolin*/
-I:1:101:1:FORCE },/*of Digging*/
-I:1:102:12:LIFE },/*Spectral*/
-I:1:102:4:MANA },/*Spectral*/
-I:1:105:1:LITE },/*of Accuracy*/
-I:1:106:2:FORCE },/*of Power*/
-I:1:107:2:FORCE },/*of Extra Might*/
-I:1:108:1:FORCE },/*of Extra Shots*/
-I:1:108:1:LITE },/*of Extra Shots*/
-I:1:108:1:TIME },/*of Extra Shots*/
-I:1:109:2:FORCE },/*of Lothlorien*/
-I:1:109:2:LITE },/*of Lothlorien*/
-I:1:110:2:FORCE },/*of the Haradrim*/
-I:1:110:2:LITE },/*of the Haradrim*/
-I:1:111:2:FORCE },/*of Buckland*/
-I:1:111:2:LITE },/*of Buckland*/
-I:1:112:1:CHAOS },/*of Slay Animal*/
-I:1:113:1:CHAOS },/*of Slay Evil*/
-I:1:114:1:CHAOS },/*of Slay Undead*/
-I:1:115:1:POISON },/*of Venom*/
-I:1:116:1:ACID },/*of Acid*/
-I:1:117:12:ACID },/*Elemental*/
-I:1:117:12:COLD },/*Elemental*/
-I:1:117:12:FIRE },/*Elemental*/
-I:1:117:12:LIGHTNING },/*Elemental*/
-I:1:117:12:POISON },/*Elemental*/
-I:1:118:1:CHAOS },/*of Slay Demon*/
-I:1:119:1:CHAOS },/*of Slay Dragon*/
-I:1:120:1:FORCE },/*of Slaying*/
-I:1:120:1:LITE },/*of Slaying*/
-I:1:121:1:LIGHTNING },/*of Lightning*/
-I:1:121:1:LITE },/*of Lightning*/
-I:1:122:1:FIRE },/*of Flame*/
-I:1:122:1:LITE },/*of Flame*/
-I:1:123:1:COLD },/*of Frost*/
-I:1:123:1:LITE },/*of Frost*/
-I:1:124:1:LIFE },/*of Wounding*/
-I:1:128:2:ACID },/*of the Eldar*/
-I:1:128:2:DARKNESS },/*of the Eldar*/
-I:1:129:2:ACID },/*of Power*/
-I:1:129:2:COLD },/*of Power*/
-I:1:129:2:DARKNESS },/*of Power*/
-I:1:129:2:FIRE },/*of Power*/
-I:1:129:2:LIGHTNING },/*of Power*/
-I:1:130:1:MANA },/*Dragon*/
-I:1:131:1:MANA },/*Capacity of */
-I:1:132:1:LIFE },/*Cheapness of */
-I:1:133:1:TIME },/*Quickness of */
-I:1:134:1:TIME },/*Charging of */
-I:1:135:3:LIFE },/*the Istari of */
-I:1:135:3:MANA },/*the Istari of */
-I:1:135:3:TIME },/*the Istari of */
-I:1:136:1:LITE },/*of Boldness*/
-I:1:137:1:LITE },/*of Fearlessness*/
-I:1:138:2:LITE },/*of Illumination*/
-I:1:139:2:LITE },/*of Brightness*/
-I:1:140:4:LITE },/*of *Brightness**/
-I:1:141:4:DARKNESS },/*of the Shadows*/
-I:1:141:4:LITE },/*of the Shadows*/
-I:1:142:4:DARKNESS },/*of Infravision*/
-I:1:142:4:LITE },/*of Infravision*/
-I:1:143:8:DARKNESS },/*of the Eternal Eye*/
-I:1:144:4:MANA },/*of the Ethereal Eye*/
-I:1:146:4:DARKNESS },/*Dwarven*/
-I:1:146:4:EXPLOSION },/*Dwarven*/
-I:1:146:4:LITE },/*Dwarven*/
-I:1:147:1:MAGIC },/*Indestructible*/
-I:1:147:4:ACID },/*Indestructible*/
-I:1:147:4:COLD },/*Indestructible*/
-I:1:147:4:FIRE },/*Indestructible*/
-I:1:147:4:LIGHTNING },/*Indestructible*/
-I:1:147:4:MANA },/*Indestructible*/
-I:1:149:1:FIRE },/*Fireproof*/
-I:1:163:3:DARKNESS },/*of the Magi*/
-I:1:163:3:KNOWLEDGE },/*of the Magi*/
-I:1:163:3:MANA },/*of the Magi*/
-I:1:166:4:MAGIC },/*of Preservation*/
-I:1:166:4:MANA },/*of Preservation*/
-I:1:167:12:MANA },/*of Serenity*/
-I:1:168:4:DARKNESS },/*of Night and Day*/
-I:1:168:4:LITE },/*of Night and Day*/
-I:1:169:1:TIME },/*of the Magi*/
-I:1:169:8:KNOWLEDGE },/*of the Magi*/
-I:1:170:4:DARKNESS },/*of Invisibility*/
-I:1:171:8:DARKNESS },/*of the Bat*/
-I:1:171:8:TELEPORT },/*of the Bat*/
-I:1:172:4:LIGHTNING },/*of Thievery*/
-I:1:173:4:FORCE },/*of Combat*/
-I:1:174:4:TELEPORT },/*of Stability*/
-I:1:175:4:ACID },/*of Elvenkind*/
-I:1:175:4:COLD },/*of Elvenkind*/
-I:1:175:4:FIRE },/*of Elvenkind*/
-I:1:175:4:LIGHTNING },/*of Elvenkind*/
-I:1:176:1:MAGIC },/*of Fury*/
-I:1:176:4:CHAOS },/*of Fury*/
-I:1:176:4:EXPLOSION },/*of Fury*/
-I:1:176:4:MANA },/*of Fury*/
-I:1:178:8:FORCE },/*Magical*/
-I:1:179:4:KNOWLEDGE },/*Simplicity of */
-I:1:180:1:FIRE },/*of Warmth*/
-I:1:185:12:LIFE },/*of Life*/
-I:1:185:2:MAGIC },/*of Life*/
diff --git a/lib/edit/ba_info.txt b/lib/edit/ba_info.txt
index 8156fd2f..20e7bb77 100644
--- a/lib/edit/ba_info.txt
+++ b/lib/edit/ba_info.txt
@@ -17,10 +17,6 @@
# 1 = Restrict to normal & liked
# 2 = Restrict to liked
-# Version stamp (required)
-
-V:2.0.0
-
N:0:Nothing
C:0:0:0
I:0:0:.
@@ -65,10 +61,6 @@ N:10:Play craps
C:0:0:0
I:14:0:c
-N:11:Spin the wheel
-C:0:0:0
-I:15:0:s
-
N:12:Play dice slots
C:0:0:0
I:16:0:d
@@ -93,18 +85,6 @@ N:17:Look at busts of Kings
C:0:0:0
I:5:0:l
-N:18:Research monster
-C:1600:1500:1400
-I:20:0:r
-
-N:19:View bounties
-C:0:0:0
-I:38:0:v
-
-N:20:Receive bounty money
-C:0:0:0
-I:39:0:b
-
N:21:Get quest monster
C:0:0:0
I:54:0:q
@@ -165,19 +145,6 @@ N:35:Get a quest
C:0:0:0
I:6:0:q
-# Restrict to liked/normal
-N:36:Get a quest
-C:0:0:0
-I:46:1:q
-
-N:37:Get a quest
-C:0:0:0
-I:47:0:q
-
-N:38:Get a quest
-C:0:0:0
-I:49:0:q
-
N:39:Herbal Healing
C:32000:10000:0
I:50:0:h
@@ -190,10 +157,6 @@ N:41:Distribute earnings
C:0:0:0
I:7:2:d
-N:42:Morph restoration
-C:3000:1500:750
-I:37:0:r
-
#for The Mirror
N:43:View fate
C:500:500:500
@@ -204,11 +167,6 @@ N:44:Research item
C:1500:1500:1500
I:1:0:a
-#for library in gondol
-N:45:Research item
-C:2000:2000:2000
-I:1:0:a
-
#for Star-Dome
N:46:Identify possessions
C:1200:1000:250
@@ -257,18 +215,6 @@ N:55:Get an item
C:0:0:0
I:44:0:g:p
-N:56:Request an item
-C:0:0:0
-I:51:2:r
-
-N:57:Ask for loan
-C:0:0:0
-I:52:2:a
-
-N:58:Pay back loan
-C:0:0:0
-I:53:2:p
-
N:59:Donate an item
C:0:0:0
I:43:0:d
diff --git a/lib/edit/between.map b/lib/edit/between.map
index 1458cdb7..d522799f 100644
--- a/lib/edit/between.map
+++ b/lib/edit/between.map
@@ -23,16 +23,16 @@ F:G:89:5:955
F:L:89:5:956
# Floor with grass with a brown thunderlord
-F:B:89:5:957:0:0:0:0:0:0:2
+F:B:89:5:957:0:0:0:0:0:2
# Floor with grass with a bronze thunderlord
-F:z:89:5:958:0:0:0:0:0:0:2
+F:z:89:5:958:0:0:0:0:0:2
# Floor with dirt with a bronze thunderlord
-F:Z:88:5:958:0:0:0:0:0:0:2
+F:Z:88:5:958:0:0:0:0:0:2
# Floor with dirt with a gold thunderlord
-F:D:88:5:959:0:0:0:0:0:0:2
+F:D:88:5:959:0:0:0:0:0:2
D:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
D:X..T.TT..T...T...T...T.....T....T......T...T.,,.....T......T....T...T.T..T..TT...T..T.TT.T.TT.TX
diff --git a/lib/edit/d_info.txt b/lib/edit/d_info.txt
index 59a1e6f2..fe20c276 100644
--- a/lib/edit/d_info.txt
+++ b/lib/edit/d_info.txt
@@ -12,7 +12,7 @@
# N:<index>:<name>
# D:<3 letter short name>:<long name>
-# W:<min depth>:<max depth>:<min player level>:<next dungeon>:<min alloc>:<max alloc chance>
+# W:<min depth>:<max depth>:<min player level>:<min alloc>:<max alloc chance>
# L:<floor1>:<%1>:<floor2>:<%2>:<floor3>:<%3>
# A:<wall1>:<%1>:<wall2>:<%2>:<wall3>:<%3>:<outer wall>:<inner wall>
# O:<%treasure>:<%combat>:<%magic>:<%tools>
@@ -29,66 +29,75 @@
# 3 = OR
# 4 = NOR
-# Version stamp (required)
-
-V:2.0.0
-
### Wilderness(purely cosmetic, never used) ###
N:0:Wilderness
D:Wil:a way to the Wilderness
-W:0:0:0:0:14:500
+W:0:0:0:14:500
L:89:80:199:20:1:0
A:96:100:56:0:56:0:57:58
O:20:20:20:20
-F:PRINCIPAL | FLAT | NO_RECALL
+F:FLAT
+F:NO_RECALL
+F:PRINCIPAL
R:100:0
### The principal dungeons, they were created by spliting the vanilla dungeon ###
N:1:Mirkwood
D:Mkw:a way to the Mirkwood Forest.
-W:11:33:5:0:14:160
+W:11:33:5:14:160
L:89:95:199:5:88:0
A:96:100:97:0:56:0:202:96
O:20:20:20:20
-F:PRINCIPAL | NO_DOORS | NO_DESTROY | FLAT
F:FILL_METHOD_0
+F:FLAT
+F:NO_DESTROY
+F:NO_DOORS
+F:PRINCIPAL
R:100:0
N:2:Mordor
D:Mdr:a door to the Land of Mordor.
-W:34:66:15:0:14:160
+W:34:66:15:14:160
L:88:67:93:33:1:0
L:0:100:0
A:97:50:56:50:56:0:57:97
A:0:100:0
O:20:20:20:20
-F:PRINCIPAL | LAVA_RIVER | CAVERN | NO_STREAMERS
+F:CAVERN
F:FILL_METHOD_2
+F:LAVA_RIVER
+F:NO_STREAMERS
+F:PRINCIPAL
R:100:0
N:3:Angband
D:Ang:an entrance to the Pits of Angband.
-W:67:127:30:0:14:160
+W:67:127:30:14:160
L:1:100:1:0:1:0
A:56:100:56:0:56:0:57:58
O:20:20:20:20
-F:PRINCIPAL | CAVERN | NO_EASY_MOVE | NO_RECALL
-F:ADJUST_LEVEL_1_2 | ADJUST_LEVEL_1
+F:ADJUST_LEVEL_1
+F:ADJUST_LEVEL_1_2
+F:CAVERN
F:FILL_METHOD_0
+F:NO_EASY_MOVE
+F:NO_RECALL
+F:PRINCIPAL
R:100:0
N:4:Barrow-Downs
D:BDw:a way to the Barrow-Downs.
-W:1:10:1:0:14:160
+W:1:10:1:14:160
L:88:78:89:18:199:4
L:0:95:5
A:96:34:97:66:56:0:57:97
A:100:0:0
O:20:20:20:20
-F:PRINCIPAL | FLAT
F:FILL_METHOD_3
+F:FLAT
+F:PRINCIPAL
R:25:1
M:UNDEAD
R:75:0
@@ -99,13 +108,18 @@ R:75:0
# Levels 85-99
N:5:Mount Doom
D:MDm:a way to the top of the Mount Doom.
-W:85:99:18:0:14:160
+W:85:99:18:14:160
L:86:90:205:10:1:0
A:177:100:0:0:0:0:85:87
O:10:10:30:30
E:2d10:10:FIRE
-F:CAVE | LAVA_RIVER | NO_RECALL | NO_STREAMERS | NO_UP
-F:FILL_METHOD_0 | NO_EASY_MOVE
+F:CAVE
+F:FILL_METHOD_0
+F:LAVA_RIVER
+F:NO_EASY_MOVE
+F:NO_RECALL
+F:NO_STREAMERS
+F:NO_UP
R:100:1
M:IM_FIRE
@@ -114,47 +128,67 @@ M:IM_FIRE
# guarded by Tik'srvzllat, who has the Ring of Phasing
N:6:Nether Realm
D:Nth:a magical portal to the Nether Realm.
-W:666:696:40:0:14:160
+W:666:696:40:14:160
L:102:80:86:15:85:5
A:85:80:87:20:87:0:57:85
A:50:50:0
O:25:25:25:25
E:10d10:3:NETHER
-F:EMPTY | FORGET | NO_BREATH | NO_EASY_MOVE | NO_SHAFT
-F:RANDOM_TOWNS | ADJUST_LEVEL_2 | NO_RECALL | NO_STREAMERS
-F:LAVA_RIVER | FINAL_GUARDIAN_1032 | FINAL_ARTIFACT_203
-F:FILL_METHOD_2 | NO_RECALL_OUT | NO_UP
+F:ADJUST_LEVEL_2
+F:EMPTY
+F:FILL_METHOD_2
+F:FINAL_ARTIFACT_203
+F:FINAL_GUARDIAN_1032
+F:FORGET
+F:LAVA_RIVER
+F:NO_BREATH
+F:NO_EASY_MOVE
+F:NO_RECALL
+F:NO_RECALL_OUT
+F:NO_SHAFT
+F:NO_STREAMERS
+F:NO_UP
+F:RANDOM_TOWNS
R:5:0
R:95:3
-M:RES_NETH | R_CHAR_G | R_CHAR_W | R_CHAR_U
+M:RES_NETH
+M:R_CHAR_G
+M:R_CHAR_U
+M:R_CHAR_W
# The Lost Land of Numenor
# levels 35-50
# guarded by Ar-Pharazon the Golden, who has the stone "Toris Mejistos".
N:7:Submerged Ruins
D:Num:a submerged way to the lost land of Numenor.
-W:35:50:25:0:14:160
+W:35:50:25:14:160
L:84:95:187:5:1:0
A:187:80:84:10:56:10:57:187
A:60:0:40
O:30:30:10:10
E:1d1:1:ACID
+F:FILL_METHOD_3
+F:FINAL_ARTIFACT_204
+F:FINAL_GUARDIAN_980
F:NO_STREAMERS
-F:FINAL_GUARDIAN_980 | FINAL_ARTIFACT_204
-F:FILL_METHOD_3 | WATER_BREATH
+F:WATER_BREATH
R:20:0
R:80:3
-M:AQUATIC | CAN_SWIM | CAN_FLY
+M:AQUATIC
+M:CAN_FLY
+M:CAN_SWIM
# Used for astral mode
N:8:Halls of Mandos
D:HMa:*A BUG*YOU should see this message!*
-W:1:98:1:0:14:160
+W:1:98:1:14:160
L:1:100:1:0:1:0
O:20:20:20:20
A:56:100:56:0:56:0:57:58
-F:RANDOM_TOWNS | NO_RECALL | NO_SHAFT
F:FILL_METHOD_0
+F:NO_RECALL
+F:NO_SHAFT
+F:RANDOM_TOWNS
R:100:2
M:UNIQUE
@@ -163,35 +197,50 @@ M:UNIQUE
# guarded by Shelob.
N:9:Cirith Ungol
D:CUg:an entrance to Cirith Ungol.
-W:25:50:10:0:14:160
+W:25:50:10:14:160
L:87:5:88:65:16:30
A:97:90:16:10:56:0:16:58
O:30:30:30:10
E:4d4:20:POISON
-F:FINAL_GUARDIAN_481
F:CIRCULAR_ROOMS
F:FILL_METHOD_2
+F:FINAL_GUARDIAN_481
R:2:0
R:49:3
-M:SPIDER | R_CHAR_c | R_CHAR_a | R_CHAR_I |
+M:R_CHAR_I
+M:R_CHAR_a
+M:R_CHAR_c
+M:SPIDER
R:49:3
-M:ORC | R_CHAR_w | R_CHAR_m | R_CHAR_j
+M:ORC
+M:R_CHAR_j
+M:R_CHAR_m
+M:R_CHAR_w
# The Heart of the Earth
# levels 25-36
# guarded by Golgarach, the Living Rock
N:10:Heart of the Earth
D:HoE:a passage leading into the very heart of the world.
-W:25:36:10:0:14:160
+W:25:36:10:14:160
L:1:100:1:0:1:0
A:56:100:56:0:56:0:57:58
O:40:10:10:20
G:life
-F:EVOLVE | FINAL_GUARDIAN_1035 | NO_RECALL | NO_SHAFT | NO_UP
+F:EVOLVE
+F:FINAL_GUARDIAN_1035
+F:NO_RECALL
+F:NO_SHAFT
+F:NO_UP
R:40:3
-M:R_CHAR_# | R_CHAR_X | R_CHAR_g | R_CHAR_E |
+M:R_CHAR_#
+M:R_CHAR_E
+M:R_CHAR_X
+M:R_CHAR_g
R:30:3
-M:PASS_WALL | KILL_WALL | HURT_ROCK
+M:HURT_ROCK
+M:KILL_WALL
+M:PASS_WALL
R:30:0
# The Void
@@ -199,30 +248,43 @@ R:30:0
# Where Melkor lurks for the final battle!
N:11:The Void
D:Vod:a jumpgate to the Void
-W:128:150:40:0:20:160
+W:128:150:40:20:160
L:183:97:102:3:0:0
A:183:90:102:10:0:0:102:102
A:40:60:0
O:25:25:25:25
E:20d6:100:DARK
-F:EMPTY | FORGET | NO_BREATH | NO_EASY_MOVE | NO_RECALL_OUT | NO_RECALL |
-F:ADJUST_LEVEL_1_2 | ADJUST_LEVEL_1 | NO_STREAMERS | NO_SHAFT
+F:ADJUST_LEVEL_1
+F:ADJUST_LEVEL_1_2
+F:EMPTY
F:FILL_METHOD_2
-F:FINAL_GUARDIAN_1044 |
+F:FINAL_GUARDIAN_1044
+F:FORGET
+F:NO_BREATH
+F:NO_EASY_MOVE
+F:NO_RECALL
+F:NO_RECALL_OUT
+F:NO_SHAFT
+F:NO_STREAMERS
R:1:0
R:99:3
-M:UNDEAD | DEMON | DRAGON | NONLIVING | SPIRIT
+M:DEMON
+M:DRAGON
+M:NONLIVING
+M:SPIRIT
+M:UNDEAD
# TEST dungeon
N:12:Test
D:Tst:a way to test dungeon gen
-W:1:10:1:0:14:160
+W:1:10:1:14:160
L:88:78:89:18:199:4
L:0:95:5
A:177:100:0:0:0:0:85:87
A:100:0:0
O:20:20:20:20
-F:FILL_METHOD_3 | SMALL
+F:FILL_METHOD_3
+F:SMALL
R:100:0
G:dungeon2
@@ -232,50 +294,70 @@ G:dungeon2
# Feagwath is there, guarding Doomcaller
N:16:Paths of the Dead
D:PoD:the entrance to the Paths of the Dead.
-W:40:70:18:0:24:100
+W:40:70:18:24:100
L:88:85:84:15:1:0
A:56:75:87:25:56:0:57:58
O:30:30:30:2
E:1d1:20:RAISE
-F:FINAL_GUARDIAN_804 | FINAL_ARTIFACT_91
F:FILL_METHOD_3
+F:FINAL_ARTIFACT_91
+F:FINAL_GUARDIAN_804
R:5:0
R:10:3
M:R_CHAR_p
R:85:3
-M:UNDEAD | NONLIVING
+M:NONLIVING
+M:UNDEAD
# The Illusory Castle
# levels 35-52
# Guarded by The Glass Golem guarding The Helm of Knowledge
N:17:Illusory Castle
D:Ill:an entrance to the Illusory Castle.
-W:35:52:10:0:24:100
+W:35:52:10:24:100
L:1:98:188:2:1:0
A:56:50:189:50:56:0:57:58
O:50:10:20:20
E:6d2:6:CONFUSION
-F:RANDOM_TOWNS | NO_STREAMERS
-F:FINAL_GUARDIAN_1033 | FINAL_ARTIFACT_160
F:FILL_METHOD_1
+F:FINAL_ARTIFACT_160
+F:FINAL_GUARDIAN_1033
+F:NO_STREAMERS
+F:RANDOM_TOWNS
R:30:0
R:70:3
-M:STUPID | WEIRD_MIND | SHAPECHANGER | ATTR_MULTI | CHAR_MULTI | RAND_25 |
-M:RAND_50 | EMPTY_MIND | INVISIBLE | PASS_WALL | KILL_WALL
-S:BR_CONF | BR_CHAO | BA_CHAO | CONF | FORGET | TRAPS | MULTIPLY
+M:ATTR_MULTI
+M:CHAR_MULTI
+M:EMPTY_MIND
+M:INVISIBLE
+M:KILL_WALL
+M:PASS_WALL
+M:RAND_25
+M:RAND_50
+M:SHAPECHANGER
+M:STUPID
+M:WEIRD_MIND
+S:BA_CHAO
+S:BR_CHAO
+S:BR_CONF
+S:CONF
+S:FORGET
+S:MULTIPLY
# The Maze
# Levels 25-37
# Guarded by The Minotaur of the Labyrinth with the Steel Helm of Hammerhand
N:18:Maze
D:Maz:a small tunnel leading to a maze of twisty little passages, all alike.
-W:25:37:15:0:20:160
+W:25:37:15:20:160
L:1:100:1:0:1:0
A:56:98:48:2:56:0:57:58
O:2:40:10:40
G:maze
-F:SMALLEST | FORGET
-F:FINAL_GUARDIAN_1029 | FINAL_ARTIFACT_38
+F:FINAL_ARTIFACT_38
+F:FINAL_GUARDIAN_1029
+F:FORGET
+F:SMALLEST
R:80:0
R:20:3
M:R_CHAR_p
@@ -285,74 +367,97 @@ M:R_CHAR_p
# There is Azog with the Wand of Thrain at the bottom
N:19:Orc Cave
D:Orc:a dark tunnel leading to an Orc Cave.
-W:10:22:8:0:35:200
+W:10:22:8:35:200
L:88:100:1:0:1:0
A:97:100:56:0:56:0:57:97
O:5:50:10:25
-F:RANDOM_TOWNS |
-F:FINAL_OBJECT_810 | FINAL_GUARDIAN_373 | CAVE |
+F:CAVE
F:FILL_METHOD_0
+F:FINAL_GUARDIAN_373
+F:FINAL_OBJECT_810
+F:RANDOM_TOWNS
R:30:3
M:TROLL
R:20:0
R:50:3
-M:ORC | R_CHAR_k | R_CHAR_o | R_CHAR_O
+M:ORC
+M:R_CHAR_O
+M:R_CHAR_k
+M:R_CHAR_o
# Erebor
# levels 60-72
# There is Glaurung
N:20:Erebor
D:Ere:a tunnel leading into depths of the Lonely Mountain.
-W:60:72:35:0:20:140
+W:60:72:30:20:140
L:88:100:1:0:1:0
A:97:90:87:10:56:0:57:97
O:40:40:40:40
-F:BIG | LAVA_RIVER | CAVERN | NO_RECALL | NO_STREAMERS
-F:CAVE | DOUBLE | FINAL_GUARDIAN_715 |
+F:BIG
+F:CAVE
+F:CAVERN
+F:DOUBLE
F:FILL_METHOD_2
+F:FINAL_GUARDIAN_715
+F:LAVA_RIVER
+F:NO_RECALL
+F:NO_STREAMERS
R:10:0
R:60:1
-M:DRAGON | R_CHAR_D
+M:DRAGON
+M:R_CHAR_D
R:30:1
-M:DRAGON | R_CHAR_d
+M:DRAGON
+M:R_CHAR_d
# The Old Forest
# levels 13-25
# Old Man Willow protects it
N:21:The Old Forest
D:OFr:a path into the Old Forest.
-W:13:25:5:0:15:100
+W:13:25:5:15:100
L:88:76:84:16:199:8
L:68:16:16
A:96:100:56:0:56:0:202:96
O:20:5:15:30
-F:WATER_RIVERS | NO_DOORS | NO_DESTROY | FLAT | NO_STREAMERS
-F:RANDOM_TOWNS | FINAL_GUARDIAN_206
F:FILL_METHOD_3
+F:FINAL_GUARDIAN_206
+F:FLAT
+F:NO_DESTROY
+F:NO_DOORS
+F:NO_STREAMERS
+F:RANDOM_TOWNS
+F:WATER_RIVERS
R:30:0
R:40:3
-M:ANIMAL
+M:ANIMAL
R:30:3
-M:UNDEAD | R_CHAR_h
+M:R_CHAR_h
+M:UNDEAD
# The Mines of Moria
# levels 30-50
# There is Durin's Bane
N:22:Moria
D:MoM:a stone door leading to the Mines of Moria.
-W:30:50:20:0:40:40
+W:30:50:20:40:40
L:88:100:1:0:1:0
A:97:100:56:0:56:0:57:97
O:30:50:10:5
-F:FINAL_GUARDIAN_872 | WATER_RIVER | BIG | NO_STREAMERS
+F:BIG
+F:FILL_METHOD_0
+F:FINAL_GUARDIAN_872
F:FORCE_DOWN
+F:NO_STREAMERS
F:RANDOM_TOWNS
+F:WATER_RIVER
F:WILD_45_30__44_37
-F:FILL_METHOD_0
R:40:3
M:ORC
R:30:3
-M:TROLL | GIANT
+M:GIANT
+M:TROLL
R:20:3
M:DEMON
R:10:0
@@ -362,20 +467,25 @@ R:10:0
# The Necromancer (weak Sauron) at the bottom, with the Ring of Durin
N:23:Dol Guldur
D:TDG:a gate leading to the tower of Dol Guldur.
-W:57:70:34:0:24:160
+W:57:70:34:24:160
L:1:80:174:20:1:0
A:56:100:56:0:56:0:57:58
O:20:1:70:9
-F:SMALL | FINAL_GUARDIAN_819 | FINAL_ARTIFACT_205
F:FILL_METHOD_3
+F:FINAL_ARTIFACT_205
+F:FINAL_GUARDIAN_819
+F:SMALL
R:30:3
-M:R_CHAR_p | R_CHAR_P
+M:R_CHAR_P
+M:R_CHAR_p
R:10:3
-M:ORC | TROLL
+M:ORC
+M:TROLL
R:20:3
M:UNDEAD
R:30:3
-M:DEMON | DRAGON
+M:DEMON
+M:DRAGON
R:10:0
# Dungeons from Variaz
@@ -385,13 +495,15 @@ R:10:0
# The Watcher in the Water is at the bottom
N:24:The Small Water Cave
D:SWC:the entrance to a small water cave.
-W:32:34:20:0:14:160
+W:32:34:20:14:160
L:84:100:84:0:84:0
A:97:100:56:0:56:0:57:58
O:10:10:30:30
E:1d1:20:ACID
-F:FINAL_GUARDIAN_517 | NO_RECALL | NO_UP
F:FILL_METHOD_0
+F:FINAL_GUARDIAN_517
+F:NO_RECALL
+F:NO_UP
R:10:0
R:10:3
M:AQUATIC
@@ -407,13 +519,16 @@ M:IM_COLD
# Levels 45-70
N:25:The Sacred Land Of Mountains
D:LoM:the way to the Sacred Land of Mountains.
-W:45:70:20:0:14:160
+W:45:70:20:14:160
L:89:100:89:0:89:0
A:97:100:56:0:56:0:97:97
O:20:20:20:20
-F:RANDOM_TOWNS | FLAT | NO_STREAMERS
-F:FINAL_GUARDIAN_789 | FINAL_ARTIFACT_27
F:FILL_METHOD_0
+F:FINAL_ARTIFACT_27
+F:FINAL_GUARDIAN_789
+F:FLAT
+F:NO_STREAMERS
+F:RANDOM_TOWNS
R:60:3
M:CAN_FLY
R:40:0
@@ -423,14 +538,18 @@ R:40:0
# Guarded by Ulfang the Black, Morgoth's first Easterling follower.
N:26:The Land Of Rhun
D:LoR:a way to the Land of Rhun.
-W:26:40:15:0:14:160
+W:26:40:15:14:160
L:89:100:1:0:1:0
A:89:50:96:25:84:25:57:58
O:20:20:20:20
-F:RANDOM_TOWNS | FLAT | NO_STREAMERS | FINAL_GUARDIAN_990
F:FILL_METHOD_1
+F:FINAL_GUARDIAN_990
+F:FLAT
+F:NO_STREAMERS
+F:RANDOM_TOWNS
R:30:3
-M:R_CHAR_p | R_CHAR_h
+M:R_CHAR_h
+M:R_CHAR_p
R:30:3
M:ANIMAL
R:40:0
@@ -440,13 +559,15 @@ R:40:0
# guarded by the Sandworm Queen (and her children), who will drop her armour
N:27:The Sandworm lair
D:SwL:a sandhole.
-W:22:30:12:0:5:200
+W:22:30:12:5:200
L:91:85:94:10:93:5
A:98:100:96:0:84:0:94:94
O:15:5:60:20
-F:NO_DOORS | SAND_VEIN |
-F:FINAL_GUARDIAN_1030 | FINAL_ARTIFACT_153
F:FILL_METHOD_0
+F:FINAL_ARTIFACT_153
+F:FINAL_GUARDIAN_1030
+F:NO_DOORS
+F:SAND_VEIN
R:90:3
M:R_CHAR_w
R:10:3
@@ -455,12 +576,15 @@ S:MULTIPLY
# Used by the death fate
N:28:Death fate
D:Dth:a fated death.
-W:1:1:1:0:30:255
+W:1:1:1:30:255
L:1:100:1:0:1:0
A:1:100:1:0:1:0:1:1
O:1:1:1:1
-F:EMPTY | SMALLEST | NO_RECALL | NO_STREAMERS
+F:EMPTY
F:FILL_METHOD_0
+F:NO_RECALL
+F:NO_STREAMERS
+F:SMALLEST
R:100:0
# The Grinding Ice
@@ -468,16 +592,19 @@ R:100:0
# Guarded by the White Balrog
N:29:The Helcaraxe
D:Ice:the entrance to the Grinding Ice of the Helcaraxe.
-W:20:40:10:0:14:160
+W:20:40:10:14:160
L:90:0:88:70:84:30
L:90:0:10
A:95:0:56:100:56:0:57:58
A:100:0:0
O:20:20:20:20
E:1d4:15:COLD
-F:DOUBLE | WATER_RIVER | CAVERN | NO_STREAMERS
-F:FINAL_GUARDIAN_1034 |
+F:CAVERN
+F:DOUBLE
F:FILL_METHOD_2
+F:FINAL_GUARDIAN_1034
+F:NO_STREAMERS
+F:WATER_RIVER
R:100:1
M:IM_COLD
@@ -487,11 +614,12 @@ M:IM_COLD
# See god.lua for details
N:30:a lost temple
D:LTm:the entrance to a lost temple.
-W:1:50:1:0:14:160
+W:1:50:1:14:160
L:1:100:1:0:1:0
A:56:100:56:0:56:0:57:58
O:20:20:20:20
-F:FILL_METHOD_4 | NO_RECALL
+F:FILL_METHOD_4
+F:NO_RECALL
R:100:0
# N:<index>:<name>
diff --git a/lib/edit/e_info.txt b/lib/edit/e_info.txt
index f01d8cf7..165d4771 100644
--- a/lib/edit/e_info.txt
+++ b/lib/edit/e_info.txt
@@ -63,10 +63,6 @@
-# Version stamp (required)
-
-V:2.0.0
-
### Mage Staff ###
N:1:of Mana
@@ -97,19 +93,11 @@ T:6:0:255
W:10:1:8:50000
C:-40:-40:0:3
R:100
-F:MANA | SPELL
+F:MANA
+F:SPELL
R:50
F:PVAL_M2
-N:4:of Spell
-T:6:0:255
-X:A:24:60
-W:0:2:8:40000
-C:0:0:0:0
-R:100
-F:ACTIVATE
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-
### Body Armor ###
N:5:of Resist Acid
@@ -118,8 +106,10 @@ T:37:0:255
X:A:30:16
W:0:4:20:1000
R:100
-F:RES_ACID | IGNORE_ACID
-f:RES_ACID | IGNORE_ACID
+F:IGNORE_ACID
+F:RES_ACID
+f:IGNORE_ACID
+f:RES_ACID
N:6:of Resist Lightning
T:36:0:255
@@ -127,8 +117,10 @@ T:37:0:255
X:A:30:10
W:0:4:20:400
R:100
-F:RES_ELEC | IGNORE_ELEC
-f:RES_ELEC | IGNORE_ELEC
+F:IGNORE_ELEC
+F:RES_ELEC
+f:IGNORE_ELEC
+f:RES_ELEC
N:7:of Resist Fire
T:36:0:15
@@ -137,8 +129,10 @@ T:37:0:255
X:A:30:14
W:0:4:20:800
R:100
-F:RES_FIRE | IGNORE_FIRE
-f:RES_FIRE | IGNORE_FIRE
+F:IGNORE_FIRE
+F:RES_FIRE
+f:IGNORE_FIRE
+f:RES_FIRE
N:8:of Resist Cold
T:36:0:15
@@ -147,8 +141,10 @@ T:37:0:255
X:A:30:12
W:0:4:20:600
R:100
-F:RES_COLD | IGNORE_COLD
-f:RES_COLD | IGNORE_COLD
+F:IGNORE_COLD
+F:RES_COLD
+f:IGNORE_COLD
+f:RES_COLD
N:9:of Resistance
T:36:0:255
@@ -157,9 +153,18 @@ X:A:30:20
W:0:2:20:12500
C:0:0:10:0
R:100
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-f:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+f:RES_ACID
+f:RES_COLD
+f:RES_ELEC
+f:RES_FIRE
R:25
F:R_HIGH
@@ -170,11 +175,18 @@ X:B:30:25
W:0:2:20:15000
C:0:0:10:3
R:100
-F:STEALTH | ESP_ORC
-f:STEALTH
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:ESP_ORC
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:OLD_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:STEALTH
+f:STEALTH
R:25
F:RES_POIS
@@ -185,10 +197,22 @@ X:A:30:30
W:0:1:10:30000
C:0:0:10:0
R:100
-F:SUST_STR | SUST_DEX | SUST_CON | SUST_INT | SUST_WIS | SUST_CHR |
-F:HOLD_LIFE | RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:HOLD_LIFE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:OLD_RESIST
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:SUST_CHR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_INT
+F:SUST_STR
+F:SUST_WIS
R:2
F:R_IMMUNITY
@@ -199,7 +223,10 @@ X:A:30:0
W:0:1:10:0
C:0:0:0:-6
R:100
-F:CON | STR | R_STAT | CURSED
+F:CON
+F:CURSED
+F:R_STAT
+F:STR
# No CURSE_NO_DROP here, players seems to unlike surprises
# Mithirl & Adamantite mails & PDSM
@@ -231,7 +258,7 @@ C:0:0:0:3
Z:blink
R:100
F:ACTIVATE
-a:HARDCORE=JUMP
+a:JUMP
### Shields ###
@@ -242,8 +269,10 @@ T:34:7:255
X:A:32:16
W:0:6:22:1000
R:100
-F:RES_ACID | IGNORE_ACID
-f:RES_ACID | IGNORE_ACID
+F:IGNORE_ACID
+F:RES_ACID
+f:IGNORE_ACID
+f:RES_ACID
N:17:of Resist Lightning
T:34:0:5
@@ -252,8 +281,10 @@ T:115:56:56
X:A:32:10
W:0:6:22:400
R:100
-F:RES_ELEC | IGNORE_ELEC
-f:RES_ELEC | IGNORE_ELEC
+F:IGNORE_ELEC
+F:RES_ELEC
+f:IGNORE_ELEC
+f:RES_ELEC
N:18:of Resist Fire
T:34:0:5
@@ -262,8 +293,10 @@ T:115:56:56
X:A:32:14
W:0:6:22:800
R:100
-F:RES_FIRE | IGNORE_FIRE
-f:RES_FIRE | IGNORE_FIRE
+F:IGNORE_FIRE
+F:RES_FIRE
+f:IGNORE_FIRE
+f:RES_FIRE
N:19:of Resist Cold
T:115:56:56
@@ -272,8 +305,10 @@ T:34:7:255
X:A:32:12
W:0:6:22:600
R:100
-F:RES_COLD | IGNORE_COLD
-f:RES_COLD | IGNORE_COLD
+F:IGNORE_COLD
+F:RES_COLD
+f:IGNORE_COLD
+f:RES_COLD
N:20:of Resistance
T:115:56:56
@@ -283,9 +318,18 @@ X:A:32:20
W:0:2:22:12500
C:0:0:10:0
R:100
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-f:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+f:RES_ACID
+f:RES_COLD
+f:RES_ELEC
+f:RES_FIRE
N:21:of Reflection
T:115:56:56
@@ -295,9 +339,12 @@ X:A:32:20
W:0:2:22:15000
C:0:0:5:0
R:100
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:REFLECT
f:REFLECT
-F:IGNORE_ELEC | IGNORE_ACID | IGNORE_COLD | IGNORE_FIRE
# Metal shields only
N:22:of Electricity
@@ -307,7 +354,9 @@ T:34:10:10
X:A:32:10
W:0:2:22:400
R:100
-F:RES_ELEC | IGNORE_ELEC | SH_ELEC
+F:IGNORE_ELEC
+F:RES_ELEC
+F:SH_ELEC
f:SH_ELEC
### Crowns and Helms ###
@@ -320,8 +369,11 @@ X:A:33:13
C:0:0:0:2
W:0:1:8:500
R:100
-F:DEX | SUST_DEX | ACTIVATE | ESP_ORC
-a:HARDCORE=NOLDOR
+F:ACTIVATE
+F:DEX
+F:ESP_ORC
+F:SUST_DEX
+a:NOLDOR
N:24:of Intelligence
X:A:33:13
@@ -331,7 +383,8 @@ T:32:0:6
T:32:8:99
T:115:57:57
R:100
-F:INT | SUST_INT
+F:INT
+F:SUST_INT
f:INT
N:25:of Wisdom
@@ -342,7 +395,8 @@ T:32:0:6
T:32:8:99
T:115:57:57
R:100
-F:WIS | SUST_WIS
+F:SUST_WIS
+F:WIS
f:WIS
N:26:of Beauty
@@ -353,7 +407,8 @@ T:32:0:6
T:32:8:99
T:115:57:57
R:100
-F:CHR | SUST_CHR
+F:CHR
+F:SUST_CHR
f:CHR
# 40% chance of increase spell power
@@ -363,14 +418,23 @@ W:0:1:8:7500
C:0:0:0:3
T:33:0:99
R:100
-F:INT | SUST_INT |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-F:ABILITY | R_HIGH
+F:ABILITY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:INT
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:R_HIGH
+F:SUST_INT
R:40
F:SPELL
R:50
-F:SPELL_CONTAIN | WIELD_CAST
+F:SPELL_CONTAIN
+F:WIELD_CAST
N:28:of Might
X:A:33:19
@@ -378,8 +442,14 @@ W:0:1:8:2000
C:0:0:0:3
T:33:0:99
R:100
-F:STR | DEX | CON | SUST_STR | SUST_DEX | SUST_CON | FREE_ACT
+F:CON
+F:DEX
+F:FREE_ACT
F:R_HIGH
+F:STR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_STR
N:29:of Lordliness
X:A:33:17
@@ -387,8 +457,11 @@ W:0:1:8:2000
C:0:0:0:3
T:33:0:99
R:100
-F:WIS | CHR | SUST_WIS | SUST_CHR
+F:CHR
F:R_HIGH
+F:SUST_CHR
+F:SUST_WIS
+F:WIS
N:30:of Seeing
X:A:33:8
@@ -399,8 +472,8 @@ T:32:8:99
T:33:0:99
T:115:57:57
R:100
-F:SEARCH | RES_BLIND | SEE_INVIS
-f:SEARCH
+F:RES_BLIND
+F:SEE_INVIS
R:20
F:ESP_ALL
@@ -412,7 +485,8 @@ T:32:0:6
T:32:8:99
T:115:57:57
R:100
-F:INFRA | HIDE_TYPE
+F:HIDE_TYPE
+F:INFRA
f:INFRA
N:32:of Light
@@ -422,7 +496,8 @@ T:32:0:6
T:32:8:99
T:115:57:57
R:100
-F:LITE1 | RES_LITE
+F:LITE1
+F:RES_LITE
f:LITE1
N:33:of Telepathy
@@ -464,7 +539,8 @@ T:32:0:6
T:32:8:99
T:115:57:57
R:100
-F:INT | CURSED
+F:CURSED
+F:INT
f:INT
# No CURSE_NO_DROP here, players seems to unlike surprises
@@ -496,7 +572,9 @@ C:0:0:0:-5
W:0:1:7:0
T:33:0:99
R:100
-F:STR | DEX | CON
+F:CON
+F:DEX
+F:STR
N:40:Dwarven
T:32:0:6
@@ -505,7 +583,11 @@ X:B:33:13
C:0:0:0:2
W:0:1:8:500
R:100
-F:INFRA | CON | RES_FIRE | ESP_TROLL | ESP_DRAGON
+F:CON
+F:ESP_DRAGON
+F:ESP_TROLL
+F:INFRA
+F:RES_FIRE
### Cloaks ###
@@ -516,7 +598,11 @@ W:0:4:19:1500
C:0:0:10:0
T:35:0:255
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | RES_SHARDS
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_SHARDS
N:42:of Stealth
X:A:31:10
@@ -533,10 +619,13 @@ W:0:1:28:4000
C:0:0:20:3
T:35:0:255
R:100
-F:STEALTH |
-f:STEALTH |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:OLD_RESIST
+F:STEALTH
+f:STEALTH
# Aura, Fire
N:44:of Immolation
@@ -545,7 +634,10 @@ W:0:1:18:4000
C:0:0:4:0
T:35:0:255
R:100
-F:IGNORE_ACID | IGNORE_FIRE | SH_FIRE | RES_FIRE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:RES_FIRE
+F:SH_FIRE
f:SH_FIRE
N:45:of Enveloping
@@ -570,7 +662,8 @@ W:0:1:3:0
C:-15:-15:0:0
T:35:0:255
R:100
-F:AGGRAVATE | SHOW_MODS
+F:AGGRAVATE
+F:SHOW_MODS
# Aura, Electricity
N:48:of Electricity
@@ -579,7 +672,10 @@ W:0:1:18:4000
C:0:0:4:0
T:35:0:255
R:100
-F:IGNORE_ACID | IGNORE_ELEC | SH_ELEC | RES_ELEC
+F:IGNORE_ACID
+F:IGNORE_ELEC
+F:RES_ELEC
+F:SH_ELEC
### Gloves ###
@@ -605,7 +701,8 @@ W:0:2:10:1000
C:0:0:0:5
T:31:0:99
R:100
-F:DEX | HIDE_TYPE
+F:DEX
+F:HIDE_TYPE
f:DEX
N:52:of Power
@@ -614,9 +711,11 @@ X:A:34:22
W:0:1:10:2500
C:5:5:0:5
R:100
-F:STR | SHOW_MODS | HIDE_TYPE
-f:STR
+F:HIDE_TYPE
F:R_HIGH
+F:SHOW_MODS
+F:STR
+f:STR
# 53 Gauntlets only
N:53:of Peace
@@ -625,7 +724,8 @@ W:0:1:3:0
C:-10:-10:0:0
T:31:2:2
R:100
-F:HEAVY_CURSE | CURSED
+F:CURSED
+F:HEAVY_CURSE
# 54 Gloves only
N:54:of Charming
@@ -691,7 +791,8 @@ W:0:1:27:200000
C:0:0:0:10
T:30:0:99
R:100
-F:SPEED | HIDE_TYPE
+F:HIDE_TYPE
+F:SPEED
f:SPEED
R:10
F:PVAL_M3
@@ -704,7 +805,9 @@ W:0:1:20:5000
C:0:0:0:6
T:30:6:6
R:100
-F:CON | INFRA | RES_DARK
+F:CON
+F:INFRA
+F:RES_DARK
R:33
F:STR
@@ -731,7 +834,8 @@ W:0:1:3:0
C:0:0:0:-10
T:30:0:99
R:100
-F:SPEED | AGGRAVATE
+F:AGGRAVATE
+F:SPEED
### Weapons ###
@@ -745,10 +849,16 @@ X:A:24:30
W:0:2:44:20000
C:6:6:4:3
R:100
-F:WIS |
-F:SLAY_EVIL | SLAY_UNDEAD | SLAY_DEMON |
-F:SEE_INVIS | BLESSED | RES_FEAR | ESP_EVIL
-F:SUSTAIN | LIMIT_BLOWS
+F:BLESSED
+F:ESP_EVIL
+F:LIMIT_BLOWS
+F:RES_FEAR
+F:SEE_INVIS
+F:SLAY_DEMON
+F:SLAY_EVIL
+F:SLAY_UNDEAD
+F:SUSTAIN
+F:WIS
R:10
F:BLOWS
R:1
@@ -765,12 +875,22 @@ X:A:24:25
W:0:2:44:15000
C:4:4:8:4
R:100
-F:STEALTH |
-f:STEALTH |
-F:FREE_ACT | SEE_INVIS | FEATHER | REGEN |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-F:SUSTAIN | R_HIGH
+F:FEATHER
+F:FREE_ACT
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:REGEN
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:R_HIGH
+F:SEE_INVIS
+F:STEALTH
+F:SUSTAIN
+f:STEALTH
R:33
F:RES_POIS
@@ -783,8 +903,10 @@ X:B:24:20
W:0:1:44:5000
C:0:0:0:3
R:100
-F:WIS | ESP_GOOD
-F:BLESSED | ABILITY
+F:ABILITY
+F:BLESSED
+F:ESP_GOOD
+F:WIS
f:BLESSED
N:68:of Greater Life
@@ -798,7 +920,8 @@ W:0:1:50:30000
C:5:5:0:3
r:N:MUST2H
R:100
-F:LIFE | HOLD_LIFE
+F:HOLD_LIFE
+F:LIFE
f:LIFE
N:69:of Westernesse
@@ -811,9 +934,17 @@ X:A:24:20
W:0:2:44:20000
C:5:5:0:2
R:100
-F:STR | DEX | CON |
-F:SLAY_ORC | SLAY_TROLL | SLAY_GIANT |
-F:FREE_ACT | SEE_INVIS | ESP_ORC | ESP_TROLL | ESP_GIANT
+F:CON
+F:DEX
+F:ESP_GIANT
+F:ESP_ORC
+F:ESP_TROLL
+F:FREE_ACT
+F:SEE_INVIS
+F:SLAY_GIANT
+F:SLAY_ORC
+F:SLAY_TROLL
+F:STR
R:33
F:RES_FEAR
R:50
@@ -845,7 +976,8 @@ X:A:24:15
W:0:2:44:2500
C:0:0:0:0
R:100
-F:SLAY_WEAP | WOUNDING
+F:SLAY_WEAP
+F:WOUNDING
N:72:of Spinning
T:125:0:255
@@ -858,8 +990,11 @@ X:A:24:18
W:0:1:44:9000
C:8:8:0:2
R:100
-F:DEX | STR | VORPAL | ACTIVATE
-a:HARDCORE=SPIN
+F:ACTIVATE
+F:DEX
+F:STR
+F:VORPAL
+a:SPIN
# The "Elemental" brands (4) (6)
@@ -874,7 +1009,9 @@ T:115:55:55
X:B:24:15
W:0:4:44:5000
R:100
-F:BRAND_ACID | RES_ACID | IGNORE_ACID
+F:BRAND_ACID
+F:IGNORE_ACID
+F:RES_ACID
f:BRAND_ACID
N:74:Shocking
@@ -888,7 +1025,9 @@ T:115:55:55
X:B:24:20
W:0:4:44:4500
R:100
-F:BRAND_ELEC | RES_ELEC | IGNORE_ELEC
+F:BRAND_ELEC
+F:IGNORE_ELEC
+F:RES_ELEC
f:BRAND_ELEC
N:75:Fiery
@@ -902,8 +1041,11 @@ T:115:55:55
X:B:24:20
W:0:4:44:3500
R:100
-F:BRAND_FIRE | RES_FIRE | IGNORE_FIRE | LITE1
-f:BRAND_FIRE |
+F:BRAND_FIRE
+F:IGNORE_FIRE
+F:LITE1
+F:RES_FIRE
+f:BRAND_FIRE
N:76:Frozen
T:125:0:255
@@ -916,8 +1058,10 @@ T:115:55:55
X:B:24:15
W:0:4:44:3000
R:100
-F:BRAND_COLD | RES_COLD | IGNORE_COLD
-f:BRAND_COLD |
+F:BRAND_COLD
+F:IGNORE_COLD
+F:RES_COLD
+f:BRAND_COLD
N:77:Venomous
T:125:0:255
@@ -930,8 +1074,9 @@ T:115:55:55
X:B:24:20
W:0:4:44:4000
R:100
-F:BRAND_POIS | RES_POIS
-f:BRAND_POIS |
+F:BRAND_POIS
+F:RES_POIS
+f:BRAND_POIS
N:78:Chaotic
T:125:0:255
@@ -944,9 +1089,13 @@ T:115:55:55
X:B:24:28
W:0:1:44:10000
R:100
-F:CHAOTIC | RES_CHAOS | IGNORE_ELEC | IGNORE_ACID | IGNORE_FIRE
-f:CHAOTIC
+F:CHAOTIC
+F:IGNORE_ACID
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_CHAOS
F:R_ANY
+f:CHAOTIC
N:79:Sharp
T:125:0:255
@@ -967,7 +1116,10 @@ X:A:24:20
W:0:1:44:4000
C:10:10:0:6
R:100
-F:IMPACT | STR | TUNNEL | HIDE_TYPE
+F:HIDE_TYPE
+F:IMPACT
+F:STR
+F:TUNNEL
f:IMPACT
# The "Slay" brands (8)
@@ -1092,8 +1244,13 @@ X:A:24:20
W:0:2:44:6000
C:0:0:0:2
R:100
-F:INT | SLAY_ANIMAL | SLOW_DIGEST | STEALTH | ESP_ANIMAL
-f:SLAY_ANIMAL | STEALTH
+F:ESP_ANIMAL
+F:INT
+F:SLAY_ANIMAL
+F:SLOW_DIGEST
+F:STEALTH
+f:SLAY_ANIMAL
+f:STEALTH
N:90:of *Slay Evil*
T:125:0:255
@@ -1106,8 +1263,13 @@ X:A:24:20
W:0:2:44:6000
C:0:0:0:2
R:100
-F:WIS | SLAY_EVIL | BLESSED | ESP_EVIL | RES_FEAR | ABILITY
-f:SLAY_EVIL |
+F:ABILITY
+F:BLESSED
+F:ESP_EVIL
+F:RES_FEAR
+F:SLAY_EVIL
+F:WIS
+f:SLAY_EVIL
N:91:of *Slay Undead*
T:125:0:255
@@ -1121,8 +1283,12 @@ X:A:24:24
W:0:2:44:8000
C:0:0:0:2
R:100
-F:WIS | KILL_UNDEAD | SEE_INVIS | ESP_UNDEAD | RES_NETHER
-f:KILL_UNDEAD |
+F:ESP_UNDEAD
+F:KILL_UNDEAD
+F:RES_NETHER
+F:SEE_INVIS
+F:WIS
+f:KILL_UNDEAD
N:92:of *Slay Demon*
T:125:0:255
@@ -1136,8 +1302,12 @@ X:A:24:16
W:0:2:44:8000
C:0:0:0:2
R:100
-F:INT | KILL_DEMON | ESP_DEMON | RES_FIRE | RES_CHAOS
-f:KILL_DEMON |
+F:ESP_DEMON
+F:INT
+F:KILL_DEMON
+F:RES_CHAOS
+F:RES_FIRE
+f:KILL_DEMON
N:93:of *Slay Orc*
T:15:0:255
@@ -1150,8 +1320,11 @@ X:A:24:14
W:0:2:44:4000
C:0:0:0:2
R:100
-F:DEX | SLAY_ORC | ESP_ORC | SUST_DEX |
-f:SLAY_ORC |
+F:DEX
+F:ESP_ORC
+F:SLAY_ORC
+F:SUST_DEX
+f:SLAY_ORC
N:94:of *Slay Troll*
T:15:0:255
@@ -1164,8 +1337,12 @@ X:A:24:14
W:0:2:44:4000
C:0:0:0:2
R:100
-F:STR | SLAY_TROLL | ESP_TROLL | REGEN | SUST_STR
-f:SLAY_TROLL |
+F:ESP_TROLL
+F:REGEN
+F:SLAY_TROLL
+F:STR
+F:SUST_STR
+f:SLAY_TROLL
N:95:of *Slay Giant*
T:15:0:255
@@ -1178,8 +1355,12 @@ X:A:24:16
W:0:2:44:4000
C:0:0:0:2
R:100
-F:STR | SLAY_GIANT | ESP_GIANT | RES_SHARDS | SUST_STR
-f:SLAY_GIANT |
+F:ESP_GIANT
+F:RES_SHARDS
+F:SLAY_GIANT
+F:STR
+F:SUST_STR
+f:SLAY_GIANT
N:96:of *Slay Dragon*
T:15:0:255
@@ -1192,9 +1373,13 @@ X:A:24:24
W:0:2:44:8000
C:0:0:0:2
R:100
-F:CON | KILL_DRAGON | ESP_DRAGON | RES_FEAR |
+F:CON
+F:ESP_DRAGON
+F:KILL_DRAGON
+F:RES_FEAR
+F:R_ELEM
+F:R_LOW
f:KILL_DRAGON
-F:R_LOW | R_ELEM
R:20
F:RES_POIS
@@ -1206,8 +1391,11 @@ X:B:24:25
W:0:2:44:10000
C:0:0:0:-2
R:100
-F:LIFE | VAMPIRIC | HOLD_LIFE
-f:LIFE | VAMPIRIC
+F:HOLD_LIFE
+F:LIFE
+F:VAMPIRIC
+f:LIFE
+f:VAMPIRIC
N:98:(*Defender*)
T:21:0:255
@@ -1218,18 +1406,40 @@ X:A:24:35
W:0:1:100:50000
C:-15:-15:20:4
R:100
-F:STEALTH | RES_POIS | DEX | CON | WIS | HOLD_LIFE |
+F:CON
+F:DEX
+F:FEATHER
+F:FREE_ACT
+F:HOLD_LIFE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:REGEN
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+F:R_ANY
+F:R_LOW
+F:SEE_INVIS
+F:STEALTH
+F:SUSTAIN
+F:WIS
f:STEALTH
-F:FREE_ACT | SEE_INVIS | FEATHER | REGEN |
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-F:R_ANY | R_LOW | SUSTAIN
R:30
-F:R_ANY | R_LOW | SUSTAIN
+F:R_ANY
+F:R_LOW
+F:SUSTAIN
R:20
-F:R_ANY | R_LOW | SUSTAIN | R_HIGH
+F:R_ANY
+F:R_HIGH
+F:R_LOW
+F:SUSTAIN
R:10
-F:R_IMMUNITY | R_ANY
+F:R_ANY
+F:R_IMMUNITY
N:99:of the Thunderlords
T:21:0:255
@@ -1239,15 +1449,26 @@ T:24:0:255
X:A:24:22
W:0:1:100:7000
C:4:4:0:2
-a:HARDCORE=TELEPORT
+a:TELEPORT
R:100
-F:SLAY_EVIL | KILL_DRAGON | TELEPORT | FREE_ACT | SEARCH | BRAND_ELEC
-F:REGEN | SLOW_DIGEST | RES_NEXUS | ACTIVATE | FLY | ESP_DRAGON
+F:ACTIVATE
+F:BRAND_ELEC
+F:ESP_DRAGON
+F:FLY
+F:FREE_ACT
+F:KILL_DRAGON
+F:REGEN
+F:RES_NEXUS
F:R_HIGH
+F:SLAY_EVIL
+F:SLOW_DIGEST
+F:TELEPORT
R:12
F:ABILITY
R:2
-F:R_P_ABILITY | PVAL_M3 | LIMIT_BLOWS
+F:LIMIT_BLOWS
+F:PVAL_M3
+F:R_P_ABILITY
N:100:of Gondolin
T:21:0:255
@@ -1258,10 +1479,21 @@ X:A:24:26
W:0:1:44:25000
C:7:7:0:3
R:100
-F:STR | CON | ESP_EVIL | RES_FEAR |
-F:SLAY_EVIL | SLAY_TROLL | SLAY_DRAGON | SLAY_DEMON |
-F:FREE_ACT | SEE_INVIS | LITE1 | RES_DARK | ABILITY |
-F:IGNORE_ACID | IGNORE_FIRE
+F:ABILITY
+F:CON
+F:ESP_EVIL
+F:FREE_ACT
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:LITE1
+F:RES_DARK
+F:RES_FEAR
+F:SEE_INVIS
+F:SLAY_DEMON
+F:SLAY_DRAGON
+F:SLAY_EVIL
+F:SLAY_TROLL
+F:STR
R:33
F:R_HIGH
R:33
@@ -1277,9 +1509,12 @@ X:A:24:4
W:0:1:2:500
C:0:0:0:5
R:100
-F:TUNNEL |
-f:TUNNEL |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:TUNNEL
+f:TUNNEL
# More weapons
@@ -1293,9 +1528,12 @@ T:115:55:55
X:B:24:30
W:0:1:5:5000
R:100
-F:SLAY_UNDEAD | SEE_INVIS | HOLD_LIFE | DRAIN_HP
F:ACTIVATE
-a:HARDCORE=SPECTRAL
+F:DRAIN_HP
+F:HOLD_LIFE
+F:SEE_INVIS
+F:SLAY_UNDEAD
+a:SPECTRAL
N:103:of Morgul
T:125:0:255
@@ -1308,9 +1546,15 @@ X:A:24:0
W:0:1:1:0
C:-20:-20:-10:-10
R:100
+F:AGGRAVATE
+F:AUTO_CURSE
+F:BLACK_BREATH
+F:CURSED
+F:DRAIN_EXP
+F:HEAVY_CURSE
F:LUCK
-F:SEE_INVIS | AGGRAVATE | HEAVY_CURSE | CURSED | BLACK_BREATH | DRAIN_EXP |
-F:AUTO_CURSE | WOUNDING
+F:SEE_INVIS
+F:WOUNDING
# No CURSE_NO_DROP here, players seems to unlike surprises
N:104:of Nothingness
@@ -1324,7 +1568,10 @@ X:A:24:0
W:0:1:2:0
C:-100:-100:0:0
R:100
-F:NEVER_BLOW | HEAVY_CURSE | CURSED | AUTO_CURSE
+F:AUTO_CURSE
+F:CURSED
+F:HEAVY_CURSE
+F:NEVER_BLOW
### Missile Launchers ###
@@ -1349,8 +1596,10 @@ X:A:25:20
W:0:4:21:10000
C:5:10:0:1
R:100
-F:XTRA_MIGHT | PVAL_M3 | R_ANY
-f:XTRA_MIGHT |
+F:PVAL_M3
+F:R_ANY
+F:XTRA_MIGHT
+f:XTRA_MIGHT
N:108:of Extra Shots
T:19:0:255
@@ -1358,8 +1607,9 @@ X:A:25:20
C:10:5:0:1
W:0:4:21:10000
R:100
-F:XTRA_SHOTS | PVAL_M2
-f:XTRA_SHOTS |
+F:PVAL_M2
+F:XTRA_SHOTS
+f:XTRA_SHOTS
# Bows only
N:109:of Lothlorien
@@ -1368,8 +1618,14 @@ X:A:25:20
W:50:2:21:30000
C:10:10:0:2
R:100
-F:DEX | XTRA_MIGHT | FREE_ACT | IGNORE_ACID | IGNORE_FIRE | HIDE_TYPE |
-F:BLESSED | ABILITY
+F:ABILITY
+F:BLESSED
+F:DEX
+F:FREE_ACT
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:XTRA_MIGHT
# Crossbows only
N:110:of the Haradrim
@@ -1378,7 +1634,11 @@ X:A:25:30
W:50:2:21:20000
C:5:15:0:1
R:100
-F:XTRA_MIGHT | XTRA_SHOTS | IGNORE_ACID | IGNORE_FIRE | HIDE_TYPE
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:XTRA_MIGHT
+F:XTRA_SHOTS
# Slings only
N:111:of Buckland
@@ -1387,7 +1647,12 @@ W:40:2:21:20000
C:8:8:0:2
T:19:2:2
R:100
-F:DEX | XTRA_SHOTS | XTRA_MIGHT | IGNORE_ACID | IGNORE_FIRE | HIDE_TYPE
+F:DEX
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:XTRA_MIGHT
+F:XTRA_SHOTS
### Ammo ###
@@ -1438,8 +1703,9 @@ T:17:0:99
T:18:0:99
X:A:23:10
R:100
-F:BRAND_ACID | IGNORE_ACID
-f:BRAND_ACID |
+F:BRAND_ACID
+F:IGNORE_ACID
+f:BRAND_ACID
W:0:1:12:30
# 117 All Elements at once - melee weapon
@@ -1451,16 +1717,26 @@ T:22:0:99
T:23:0:99
T:24:0:99
R:100
-F:BRAND_ACID | RES_ACID | IGNORE_ACID
-F:BRAND_ELEC | RES_ELEC | IGNORE_ELEC
-F:BRAND_FIRE | RES_FIRE | IGNORE_FIRE
-F:BRAND_COLD | RES_COLD | IGNORE_COLD
-F:BRAND_POIS | RES_POIS | DRAIN_MANA
-f:BRAND_ACID |
-f:BRAND_ELEC |
-f:BRAND_FIRE |
-f:BRAND_COLD |
-f:BRAND_POIS |
+F:BRAND_ACID
+F:BRAND_COLD
+F:BRAND_ELEC
+F:BRAND_FIRE
+F:BRAND_POIS
+F:DRAIN_MANA
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+f:BRAND_ACID
+f:BRAND_COLD
+f:BRAND_ELEC
+f:BRAND_FIRE
+f:BRAND_POIS
N:118:of Slay Demon
T:16:0:99
@@ -1495,8 +1771,9 @@ T:17:0:99
T:18:0:99
X:A:23:10
R:100
-F:BRAND_ELEC | IGNORE_ELEC
-f:BRAND_ELEC |
+F:BRAND_ELEC
+F:IGNORE_ELEC
+f:BRAND_ELEC
W:0:1:12:30
N:122:of Flame
@@ -1505,8 +1782,9 @@ T:17:0:99
T:18:0:99
X:A:23:10
R:100
-F:BRAND_FIRE | IGNORE_FIRE
-f:BRAND_FIRE |
+F:BRAND_FIRE
+F:IGNORE_FIRE
+f:BRAND_FIRE
W:0:2:12:25
N:123:of Frost
@@ -1515,8 +1793,9 @@ T:17:0:99
T:18:0:99
X:A:23:10
R:100
-F:BRAND_COLD | IGNORE_COLD
-f:BRAND_COLD |
+F:BRAND_COLD
+F:IGNORE_COLD
+f:BRAND_COLD
W:0:2:12:25
N:124:of Wounding
@@ -1567,9 +1846,15 @@ X:A:25:20
W:0:2:3:1000
C:0:0:0:0
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD |
-F:RES_ACID | CHR | SEE_INVIS
-F:R_ANY | PVAL_M2
+F:CHR
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:PVAL_M2
+F:RES_ACID
+F:R_ANY
+F:SEE_INVIS
R:25
F:PVAL_M1
@@ -1580,9 +1865,19 @@ X:A:25:20
W:0:1:3:2000
C:0:0:0:0
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | SUST_CHR |
-F:RES_FIRE | RES_COLD | RES_ELEC | RES_ACID | CHR | SEE_INVIS
-F:R_ANY | PVAL_M3
+F:CHR
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:PVAL_M3
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:R_ANY
+F:SEE_INVIS
+F:SUST_CHR
R:50
F:PVAL_M1
R:35
@@ -1596,13 +1891,18 @@ X:B:25:20
W:0:1:2:2000
C:0:0:0:0
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | ACTIVATE
-F:R_ANY | PVAL_M2
+F:ACTIVATE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:PVAL_M2
+F:R_ANY
R:50
F:PVAL_M1
R:25
F:PVAL_M1
-a:HARDCORE=BA_ACID_H
+a:BA_ACID_H
# Rods ego
N:131:Capacity of
@@ -1647,7 +1947,10 @@ X:A:51:10
W:0:1:10:10000
C:0:0:0:0
R:100
-F:CAPACITY | CHARGING | CHEAPNESS | FAST_CAST |
+F:CAPACITY
+F:CHARGING
+F:CHEAPNESS
+F:FAST_CAST
### Lights ###
@@ -1698,10 +2001,10 @@ R:100
F:LITE1
F:LITE2
F:LITE3
+F:RES_DARK
f:LITE1
f:LITE2
f:LITE3
-F:RES_DARK
N:141:of the Shadows
X:A:0:6
@@ -1730,7 +2033,8 @@ T:39:0:99
W:0:3:40:4000
C:0:0:0:0
R:100
-F:RES_BLIND | SEE_INVIS
+F:RES_BLIND
+F:SEE_INVIS
N:144:of the Ethereal Eye
X:A:0:7
@@ -1755,9 +2059,19 @@ X:B:30:18
W:0:2:20:5000
C:0:0:15:2
R:100
-F:STR | CON | INFRA | FREE_ACT | HIDE_TYPE |
-F:RES_FEAR | RES_DARK | SUST_STR | SUST_CON |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:CON
+F:FREE_ACT
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:INFRA
+F:RES_DARK
+F:RES_FEAR
+F:STR
+F:SUST_CON
+F:SUST_STR
# Ring and Amulet egos
@@ -1768,8 +2082,14 @@ T:45:0:255
W:0:1:10:1000
C:0:0:0:0
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-f:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+f:IGNORE_ACID
+f:IGNORE_COLD
+f:IGNORE_ELEC
+f:IGNORE_FIRE
N:148:Cursed
X:B:0:0
@@ -1803,123 +2123,17 @@ T:65:31:255
W:0:1:20:1000
C:0:0:0:3
R:100
-F:PVAL_M5 | PVAL_M3
+F:PVAL_M3
+F:PVAL_M5
R:50
-F:PVAL_M5 | PVAL_M3
+F:PVAL_M3
+F:PVAL_M5
R:10
-F:PVAL_M5 | PVAL_M3
+F:PVAL_M3
+F:PVAL_M5
R:1
-F:PVAL_M5 | PVAL_M3
-
-
-### Trapping Kits ###
-
-N:151:of Extra Might
-X:A:0:5
-T:46:1:3
-W:0:1:10:1000
-C:20:20:0:2
-R:100
-F:XTRA_MIGHT
-f:XTRA_MIGHT
-
-N:152:of Extra Shots
-X:A:0:10
-T:46:0:99
-W:0:1:10:2000
-C:20:20:0:3
-R:100
-F:XTRA_SHOTS
-f:XTRA_SHOTS
-
-N:153:Automatic
-X:B:0:15
-T:46:0:99
-W:0:1:10:3000
-C:10:10:0:0
-R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_COLD | IGNORE_FIRE |
-F:AUTOMATIC_5
-f:AUTOMATIC_5
-
-N:154:Fully Automatic
-X:B:0:15
-T:46:0:99
-W:0:1:15:5000
-C:10:10:0:0
-R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_COLD | IGNORE_FIRE |
-F:AUTOMATIC_99
-f:AUTOMATIC_99
-
-N:155:Well-hidden
-X:B:0:5
-T:46:0:99
-W:0:1:8:1000
-C:15:15:5:12
-R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_COLD | IGNORE_FIRE |
-F:STEALTH | HIDE_TYPE
-f:STEALTH
-
-N:156:Complicated
-X:B:0:10
-T:46:0:99
-W:0:1:12:2000
-C:15:15:30:0
-R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_COLD | IGNORE_FIRE
-
-N:157:Obvious
-X:B:0:0
-T:46:0:99
-W:0:1:1:0
-C:-20:-20:-20:-20
-R:100
-F:STEALTH | CURSED | HIDE_TYPE
-f:STEALTH
-
-N:158:for Dragons
-X:A:0:5
-T:46:0:99
-W:0:3:10:500
-C:20:20:10:4
-R:100
-F:STEALTH | ONLY_DRAGON | HIDE_TYPE | XTRA_SHOTS |
-F:IGNORE_ACID | IGNORE_FIRE
-
-N:159:for Demons
-X:A:0:5
-T:46:0:99
-W:0:3:10:500
-C:20:20:10:4
-R:100
-F:STEALTH | ONLY_DEMON | HIDE_TYPE | XTRA_SHOTS
-F:IGNORE_ACID | IGNORE_FIRE
-
-N:160:for Animals
-X:A:0:5
-T:46:0:99
-W:0:3:10:500
-C:20:20:10:4
-R:100
-F:STEALTH | ONLY_ANIMAL | HIDE_TYPE | XTRA_SHOTS
-
-N:161:for Undead
-X:A:0:5
-T:46:0:99
-W:0:3:10:500
-C:20:20:10:4
-R:100
-F:STEALTH | ONLY_UNDEAD | HIDE_TYPE | XTRA_SHOTS | KILL_GHOST
-
-N:162:for Evil
-X:A:0:5
-T:46:0:99
-W:0:3:10:500
-C:20:20:10:4
-R:100
-F:STEALTH | ONLY_EVIL | HIDE_TYPE | XTRA_SHOTS | KILL_GHOST
+F:PVAL_M3
+F:PVAL_M5
# Lite ego
N:163:of the Magi
@@ -1929,15 +2143,19 @@ W:0:1:150:2000
C:0:0:0:3
Z:magic map
R:100
-F:INT | WIS | CHR
+F:CHR
+F:INT
+F:WIS
R:60
-F:INVIS | RES_BLIND
+F:INVIS
+F:RES_BLIND
R:30
F:R_HIGH
R:30
F:PVAL_M2
R:50:
-F:SPELL_CONTAIN | WIELD_CAST
+F:SPELL_CONTAIN
+F:WIELD_CAST
### New ego-items added by JLE
@@ -1949,7 +2167,8 @@ C:0:0:-50:0
T:36:0:99
T:37:0:99
R:100
-F:AGGRAVATE | CURSED
+F:AGGRAVATE
+F:CURSED
# Shield of Vulnerability (the only cursed shield)
N:165:of Vulnerability
@@ -1959,7 +2178,8 @@ C:0:0:-50:0
T:115:56:56
T:34:0:99
R:100
-F:AGGRAVATE | CURSED
+F:AGGRAVATE
+F:CURSED
# Shield of Preservation -
N:166:of Preservation
@@ -1969,8 +2189,16 @@ C:-10:-10:20:0
T:115:56:56
T:34:0:99
R:100
-F:RES_DISEN | SUST_STR | SUST_CON | SUST_DEX | HOLD_LIFE | R_HIGH |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:HOLD_LIFE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_DISEN
+F:R_HIGH
+F:SUST_CON
+F:SUST_DEX
+F:SUST_STR
R:33
F:R_LOW
R:33
@@ -1984,7 +2212,9 @@ T:32:0:6
T:32:8:99
T:33:0:99
R:100
-F:RES_SOUND | RES_CONF | RES_FEAR
+F:RES_CONF
+F:RES_FEAR
+F:RES_SOUND
# Crown of Night and Day
N:168:of Night and Day
@@ -1992,7 +2222,12 @@ X:A:33:18
W:35:1:15:4000
T:33:0:99
R:100
-F:RES_LITE | RES_DARK | LITE1 | SEE_INVIS | RES_BLIND | IGNORE_ACID
+F:IGNORE_ACID
+F:LITE1
+F:RES_BLIND
+F:RES_DARK
+F:RES_LITE
+F:SEE_INVIS
# Cloak of the Magi
N:169:of the Magi
@@ -2001,9 +2236,16 @@ W:30:1:18:2000
C:-5:-5:5:3
T:35:0:99
R:100
-F:INT | SPEED | SUST_INT | FREE_ACT | STEALTH | HIDE_TYPE | IGNORE_ACID
+F:FREE_ACT
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:INT
+F:SPEED
+F:STEALTH
+F:SUST_INT
R:30
-F:SPELL_CONTAIN | WIELD_CAST
+F:SPELL_CONTAIN
+F:WIELD_CAST
# Cloak of Invisibility
N:170:of Invisibility
@@ -2012,7 +2254,9 @@ W:40:1:18:3000
C:0:0:10:5
T:35:0:99
R:100
-F:STEALTH | HIDE_TYPE | INVIS
+F:HIDE_TYPE
+F:INVIS
+F:STEALTH
f:INVIS
# Cloak of the Bat
@@ -2022,7 +2266,13 @@ W:50:1:35:3000
C:-10:-10:10:3
T:35:0:99
R:100
-F:SPEED | FLY | RES_DARK | SEE_INVIS | INFRA | HIDE_TYPE | STEALTH
+F:FLY
+F:HIDE_TYPE
+F:INFRA
+F:RES_DARK
+F:SEE_INVIS
+F:SPEED
+F:STEALTH
# Leather Gloves of Thievery
N:172:of Thievery
@@ -2031,7 +2281,12 @@ W:40:1:15:5000
C:8:3:0:5
T:31:1:1
R:100
-F:DEX | SEARCH | SHOW_MODS | FEATHER | FREE_ACT | HIDE_TYPE | IGNORE_ACID
+F:DEX
+F:FEATHER
+F:FREE_ACT
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:SHOW_MODS
R:10
F:SPEED
@@ -2042,8 +2297,14 @@ W:50:1:15:7000
C:6:8:-20:2
T:31:2:99
R:100
-F:STR | CON | SHOW_MODS | AGGRAVATE | HIDE_TYPE | IGNORE_ACID | RES_FEAR |
+F:AGGRAVATE
+F:CON
F:DRAIN_HP
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:RES_FEAR
+F:SHOW_MODS
+F:STR
R:25
F:BLOWS
@@ -2053,7 +2314,8 @@ X:A:35:20
W:0:3:27:5000
T:30:0:99
R:100
-F:RES_NEXUS | FEATHER
+F:FEATHER
+F:RES_NEXUS
# Boots of Elvenkind (leather boots only)
N:175:of Elvenkind
@@ -2062,7 +2324,13 @@ W:60:1:36:200000
C:0:0:0:5
T:30:2:3
R:100
-F:STEALTH | SPEED | HIDE_TYPE | FEATHER | IGNORE_ACID | IGNORE_FIRE | ABILITY
+F:ABILITY
+F:FEATHER
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:SPEED
+F:STEALTH
# Weapon of Fury (must be big heavy type of weapon, no daggers or whips)
N:176:of Fury
@@ -2075,8 +2343,14 @@ T:24:8:99
T:125:0:99
C:10:10:-20:2
R:100
-F:STR | BLOWS | AGGRAVATE | RES_FEAR | HIDE_TYPE |
-F:IGNORE_ACID | IGNORE_FIRE | DRAIN_MANA
+F:AGGRAVATE
+F:BLOWS
+F:DRAIN_MANA
+F:HIDE_TYPE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:RES_FEAR
+F:STR
# Staffs of wishing
N:177:of Plenty
@@ -2123,27 +2397,36 @@ T:14:7:7
X:B:25:20
W:0:1:2:2000
C:0:0:0:0
-a:HARDCORE=BA_COLD_3
+a:BA_COLD_3
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD |
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
N:182:Dragon
T:14:7:7
X:B:25:20
W:0:1:2:2000
C:0:0:0:0
-a:HARDCORE=BA_ELEC_3
+a:BA_ELEC_3
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD |
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
N:183:Dragon
T:14:7:7
X:B:25:20
W:0:1:2:2000
C:0:0:0:0
-a:HARDCORE=BA_FIRE_H
+a:BA_FIRE_H
R:100
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD |
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
# Helm of water breathing
N:184:of Water Breathing
@@ -2152,7 +2435,8 @@ C:0:0:0:2
W:15:1:25:1000
T:32:5:10
R:100
-F:WATER_BREATH | IGNORE_ACID
+F:IGNORE_ACID
+F:WATER_BREATH
f:WATER_BREATH
# A second of life for non MUST2H weapons, much lower value tho
@@ -2167,7 +2451,8 @@ W:0:1:50:30000
C:5:5:0:1
r:F:MUST2H
R:100
-F:LIFE | HOLD_LIFE
+F:HOLD_LIFE
+F:LIFE
f:LIFE
# Cloak of Air
@@ -2195,7 +2480,10 @@ X:A:25:30
W:60:5:30:30000
C:10:15:20:2
R:120
-F:XTRA_MIGHT | XTRA_SHOTS | REFLECT | IMMOVABLE
+F:IMMOVABLE
+F:REFLECT
+F:XTRA_MIGHT
+F:XTRA_SHOTS
# N: serial number : ego type
# D: description
diff --git a/lib/edit/evil.map b/lib/edit/evil.map
index a2f00914..aff2de9b 100644
--- a/lib/edit/evil.map
+++ b/lib/edit/evil.map
@@ -14,13 +14,13 @@ F:<:6:0
F:.:88:0
# Lesser Balrog
-F:b:88:0:996:0:0:0:0:0:0:2
+F:b:88:0:996:0:0:0:0:0:2
# Greater Balrog
-F:B:88:0:807:0:0:0:0:0:0:2
+F:B:88:0:807:0:0:0:0:0:2
# Pit Fiend
-F:P:88:0:812:0:0:0:0:0:0:2
+F:P:88:0:812:0:0:0:0:0:2
# Dungeon layout
D:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
diff --git a/lib/edit/f_info.txt b/lib/edit/f_info.txt
index c0dc2e9a..939af78e 100644
--- a/lib/edit/f_info.txt
+++ b/lib/edit/f_info.txt
@@ -15,11 +15,6 @@
# Note that terrain feature zero contains the "darkness" picture.
-# Version stamp (required)
-
-V:2.0.0
-
-
# 0x00 --> nothing
N:0:nothing
@@ -30,39 +25,62 @@ F:FLOOR
N:1:open floor
G:.:w
-F:FLOOR | DONT_NOTICE_RUNNING | SUPPORT_LIGHT | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
+F:SUPPORT_LIGHT
# 0x02 -> fountain
N:2:fountain
G:_:w
-F:FLOOR | NOTICE | REMEMBER | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:The liquid here seems magical.
# 0x03 --> glyph of warding
N:3:glyph of warding
G:;:y
-F:FLOOR | NOTICE | SUPPORT_LIGHT | CAN_RUN | REMEMBER
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:There is a mighty spell of protection here.
# 0x04 --> open door
N:4:open door
G:':U
-F:FLOOR | NOTICE | REMEMBER | CAN_RUN | DOOR
+F:CAN_RUN
+F:DOOR
+F:FLOOR
+F:NOTICE
+F:REMEMBER
# 0x05 --> broken door
N:5:broken door
G:':U
-F:FLOOR | NOTICE | REMEMBER | CAN_RUN | DOOR
+F:CAN_RUN
+F:DOOR
+F:FLOOR
+F:NOTICE
+F:REMEMBER
# 0x06 --> up stairs (perm)
N:6:up staircase
G:<:w
-F:FLOOR | PERMANENT | NOTICE | SUPPORT_LIGHT | REMEMBER | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:There is an up staircase here.
D:1:You cannot tunnel a stair.
@@ -70,60 +88,102 @@ D:1:You cannot tunnel a stair.
N:7:down staircase
G:>:w
-F:FLOOR | PERMANENT | NOTICE | SUPPORT_LIGHT | REMEMBER | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:There is a down staircase here.
D:1:You cannot tunnel a stair.
N:8:quest entrance
G:>:y
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:1:You cannot tunnel a quest entrance.
N:9:quest exit
G:<:y
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:1:You cannot tunnel a quest exit.
N:10:quest down level
G:>:r
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
N:11:quest up level
G:<:r
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
N:12:town exit
G:>:g
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
N:13:shaft down
G:>:U
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:There is a shaft down here.
D:1:You cannot tunnel a shaft.
N:14:shaft up
G:<:U
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:There is a shaft up here.
D:1:You cannot tunnel a shaft.
# 0x0F -> empty fountain
N:15:fountain
G:_:D
-F:FLOOR | NOTICE | REMEMBER | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:The fountain seems empty.
N:16:web
G:+:y
-F:CAN_PASS | NOTICE | WEB | NOTICE | TUNNELABLE
+F:CAN_PASS
+F:NOTICE
+F:NOTICE
+F:TUNNELABLE
+F:WEB
D:1:You tunnel through the web.
D:2:a web blocking your way
# Trap -- the flags are not used by the program
N:17:trap
G:^:w
-F:FLOOR | NOTICE | REMEMBER
+F:FLOOR
+F:NOTICE
+F:REMEMBER
# 0x12 --> 0x1F -- UNUSED
@@ -132,8 +192,14 @@ F:FLOOR | NOTICE | REMEMBER
N:32:door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 1)
@@ -141,8 +207,14 @@ D:1:You bash the boor.
N:33:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 2)
@@ -150,8 +222,14 @@ D:1:You bash the boor.
N:34:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 3)
@@ -159,8 +237,14 @@ D:1:You bash the boor.
N:35:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 4)
@@ -168,8 +252,14 @@ D:1:You bash the boor.
N:36:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 5)
@@ -177,8 +267,14 @@ D:1:You bash the boor.
N:37:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 6)
@@ -186,8 +282,14 @@ D:1:You bash the boor.
N:38:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> locked door (power 7)
@@ -195,8 +297,14 @@ D:1:You bash the boor.
N:39:locked door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | REMEMBER | DOOR
+F:CAN_PASS
+F:DOOR
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 0)
@@ -204,8 +312,13 @@ D:1:You bash the boor.
N:40:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 1)
@@ -213,8 +326,13 @@ D:1:You bash the boor.
N:41:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 2)
@@ -222,8 +340,13 @@ D:1:You bash the boor.
N:42:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 3)
@@ -231,8 +354,13 @@ D:1:You bash the boor.
N:43:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 4)
@@ -240,8 +368,13 @@ D:1:You bash the boor.
N:44:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 5)
@@ -249,8 +382,13 @@ D:1:You bash the boor.
N:45:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 6)
@@ -258,8 +396,13 @@ D:1:You bash the boor.
N:46:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x2x --> jammed door (power 7)
@@ -267,8 +410,13 @@ D:1:You bash the boor.
N:47:jammed door
G:+:U
M:32
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | REMEMBER | NOTICE
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:REMEMBER
F:TUNNELABLE
+F:WALL
D:1:You bash the boor.
# 0x30 --> secret door
@@ -276,36 +424,55 @@ D:1:You bash the boor.
N:48:secret door
G:#:w
M:56
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | DOOR
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:DOOR
+F:NO_VISION
+F:NO_WALK
F:TUNNELABLE
+F:WALL
D:1:You tunnel.
# 0x31 --> rubble
N:49:pile of rubble
G:::w
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE
-F:CAN_FLY | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You dig in the rubble.
# 0x32 --> magma vein
N:50:magma vein
G:%:s
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the magma vein.
# 0x33 --> quartz vein
N:51:quartz vein
G:%:w
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the quartz vein.
# 0x34 --> magma vein + treasure
@@ -313,9 +480,14 @@ D:1:You tunnel into the quartz vein.
N:52:magma vein
G:%:s
M:50
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the magma vein.
# 0x35 --> quartz vein + treasure
@@ -323,36 +495,55 @@ D:1:You tunnel into the magma vein.
N:53:quartz vein
G:%:w
M:51
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the quartz vein.
# 0x36 --> magma vein + known treasure
N:54:magma vein with treasure
G:*:o
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the magma vein.
# 0x37 --> quartz vein + known treasure
N:55:quartz vein with treasure
G:*:o
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the quartz vein.
# 0x38 --> granite wall -- basic
N:56:granite wall
G:#:w
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the granite wall.
# 0x39 --> granite wall -- inner
@@ -360,9 +551,13 @@ D:1:You tunnel into the granite wall.
N:57:granite wall
G:#:w
M:56
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the granite wall.
# 0x3A --> granite wall -- outer
@@ -370,9 +565,13 @@ D:1:You tunnel into the granite wall.
N:58:granite wall
G:#:w
M:56
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the granite wall.
# 0x3B --> granite wall -- solid
@@ -380,110 +579,172 @@ D:1:You tunnel into the granite wall.
N:59:granite wall
G:#:w
M:56
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the granite wall.
# 0x3C --> permanent wall -- basic (perm)
N:60:permanent wall
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
# 0x3D --> permanent wall -- inner (perm)
N:61:permanent wall
G:#:w
M:60
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
# 0x3E --> permanent wall -- outer (perm)
N:62:permanent wall
G:#:w
M:60
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
# 0x3F --> permanent wall -- solid (perm)
N:63:permanent wall
G:#:w
M:60
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
N:64:explosive rune
G:*:R
-F:FLOOR | CAN_LEVITATE | CAN_FLY | NOTICE | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_LEVITATE
+F:FLOOR
+F:NOTICE
+F:SUPPORT_LIGHT
D:0:This rune seems unstable.
N:65:Straight Road startpoint
G:*:w
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:66:section of the Straight Road
G:*:B
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:67:section of the Straight Road
G:*:b
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:68:section of the Straight Road
G:*:B
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:69:section of the Straight Road
G:*:b
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:70:section of the Straight Road
G:*:W
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:71:section of the Straight Road (discharged)
G:*:W
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:72:Straight Road exit
G:*:w
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
N:73:corrupted section of the Straight Road
G:*:D
-F:FLOOR | REMEMBER | NOTICE
+F:FLOOR
+F:NOTICE
+F:REMEMBER
# 74 --> shop
N:74:Building
G:1:U
-F:FLOOR | PERMANENT | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
# 75 --> 78 Quests index
N:75:permanent wall
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
N:76:permanent wall
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
N:77:permanent wall
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
N:78:permanent wall
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
# 79 --> 83 UNSUSED
@@ -491,94 +752,136 @@ N:84:stream of shallow water
G:~:B
S:B:B:B:B:B:B:b
F:ATTR_MULTI
-F:FLOOR | CAN_LEVITATE | CAN_FLY | REMEMBER | SUPPORT_LIGHT | CAN_RUN
+F:CAN_FLY
+F:CAN_LEVITATE
+F:CAN_RUN
F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:REMEMBER
F:SUPPORT_GROWTH
+F:SUPPORT_LIGHT
# -1 = player level
N:85:pool of deep lava
G:.:R
E:-1d2:1:FIRE
-F:FLOOR | CAN_LEVITATE | CAN_FLY | REMEMBER | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_LEVITATE
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:You move across the deep lava.
N:86:stream of shallow lava
G:.:r
E:-1d1:1:FIRE
-F:FLOOR | CAN_LEVITATE | CAN_FLY | REMEMBER | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_LEVITATE
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:You move across the shallow lava.
N:87:dark pit
G:#:D
-F:CAN_LEVITATE | CAN_FLY
-F:NO_WALK | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_LEVITATE
F:DONT_NOTICE_RUNNING
+F:NO_WALK
+F:SUPPORT_LIGHT
D:0:Ohhh, it is dark and deep.
N:88:dirt
G:.:U
-F:FLOOR | SUPPORT_LIGHT | CAN_RUN
+F:CAN_RUN
F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
+F:SUPPORT_LIGHT
N:89:patch of grass
G:.:G
-F:FLOOR | SUPPORT_LIGHT | CAN_RUN
+F:CAN_RUN
F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
+F:SUPPORT_LIGHT
N:90:ice
G:.:W
E:1d1:50:ICE
-F:FLOOR | NOTICE
+F:FLOOR
+F:NOTICE
N:91:sand
G:.:y
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
N:92:dead tree
G:#:D
-F:CAN_FLY | CAN_PASS
-F:WALL | NO_WALK | NO_VISION | NOTICE
+F:CAN_FLY
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
F:TUNNELABLE
+F:WALL
D:1:You chop away at the dead tree.
D:2:a tree blocking your way
N:93:ash
G:.:s
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
N:94:mud
G:.:u
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
N:95:ice wall
G:#:W
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the ice wall... #BOh chilly#w.
D:2:an ice wall blocking your way
N:96:tree
G:#:G
-F:CAN_FLY | CAN_PASS | SUPPORT_LIGHT
-F:WALL | NO_WALK | NO_VISION
+F:CAN_FLY
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You chop away at the tree.
D:2:a tree blocking your way
N:97:mountain chain
G:^:U
-F:CAN_CLIMB | CAN_PASS | SUPPORT_LIGHT
-F:WALL | NO_WALK | NO_VISION
+F:CAN_CLIMB
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
D:1:You cannot tunnel into such a hard stone.
D:2:a hard stone block blocking your way
@@ -586,9 +889,13 @@ D:2:a hard stone block blocking your way
N:98:sandwall
G:#:y
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
F:TUNNELABLE
+F:WALL
D:1:You easily dig into the sandwall.
D:2:a sandwall blocking your way
@@ -597,9 +904,13 @@ D:2:a sandwall blocking your way
N:99:sandwall
G:%:y
M:98
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
F:TUNNELABLE
+F:WALL
D:1:You easily dig into the sandwall.
D:2:a sandwall blocking your way
@@ -607,16 +918,23 @@ D:2:a sandwall blocking your way
N:100:sandwall with treasure
G:*:o
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
F:TUNNELABLE
+F:WALL
D:1:You easily tunnel into the sandwall.
D:2:a sandwall blocking your way
N:101:high mountain chain
G:^:W
-F:WALL | NO_WALK | NO_VISION | PERMANENT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
D:1:This rock is far too hard.
D:2:a very hard stone block blocking your way
@@ -625,46 +943,71 @@ G:.:v
S:v:R:r:v:R:r:D
E:1d1:40:NETHER
F:ATTR_MULTI
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
# A diggable glass wall.
N:103:molten glass wall
G:.:B
-F:NO_WALK | WALL | CAN_PASS | TUNNELABLE | NOTICE
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_WALK
+F:TUNNELABLE
+F:WALL
D:1:You tunnel into the molten glass wall...
D:2:a molten glass wall blocking your way
N:160:Void Jumpgate
G:+:v
-F:FLOOR | REMEMBER | NOTICE | PERMANENT | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:A dark rift opens to the void here.
###### Here are the altars. ######
N:161:Altar of Being
G:0:W
-F:FLOOR | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:You feel at peace.
N:162:Altar of Winds
G:0:B
-F:FLOOR | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:You grow a desire to become a bird.
N:163:Altar of Force
G:0:R
-F:FLOOR | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:You grow a desire to fight evil.
N:164:Altar of Darkness
G:0:D
-F:FLOOR | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:Images of pain and death fill your mind.
N:165:Altar of Nature
G:0:g
-F:FLOOR | REMEMBER | NOTICE | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:REMEMBER
D:0:You feel the desire to walk in a great forest.
# XXX
@@ -679,20 +1022,30 @@ D:0:You feel the desire to walk in a great forest.
# Used as a marker for random quests
N:172:open floor
G:.:w
-F:FLOOR | CAN_RUN | DONT_NOTICE_RUNNING
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
# Underground Tunnel
N:173:Underground Tunnel
G:#:s
-F:FLOOR | REMEMBER | SUPPORT_LIGHT | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:Oh, an underground tunnel!
# Tainted water
N:174:stream of tainted water
G:~:u
-F:FLOOR | CAN_LEVITATE | CAN_FLY | REMEMBER | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_LEVITATE
F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
N:175:monster trap
G:;:v
@@ -700,14 +1053,22 @@ F:FLOOR
N:176:Void Jumpgate
G:+:v
-F:FLOOR | REMEMBER | NOTICE | PERMANENT | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:A dark rift opens to the void here.
N:177:lava wall
G:#:R
S:R:R:r:r:U:u:R
F:ATTR_MULTI
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
D:1:The lava is far too hot to tunnel into it.
D:2:a lava wall blocking your way
@@ -716,33 +1077,51 @@ G:%:v
S:R:R:y:v:y:v:R
E:150d2:1:HELL_FIRE
F:ATTR_MULTI
-F:FLOOR | REMEMBER | NOTICE | PERMANENT
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:This fire is so powerful it could destroy even the most powerful artifacts.
N:179:path to the next area
G:>:w
-F:FLOOR | PERMANENT | NOTICE | REMEMBER | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:There is a path leading to the next area here.
D:1:You cannot tunnel a path.
N:180:path to the previous area
G:<:w
-F:FLOOR | PERMANENT | NOTICE | REMEMBER | CAN_RUN
+F:CAN_RUN
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:0:There is a path leading to the previous area here.
D:1:You cannot tunnel a path.
N:181:field
G:::g
-F:FLOOR | PERMANENT | NOTICE | REMEMBER
F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:NOTICE
+F:PERMANENT
+F:REMEMBER
D:1:You cannot tunnel a field.
N:182:Ekkaia, the Encircling Sea
G:*:b
S:b:b:b:b:b:b:B
F:ATTR_MULTI
-F:WALL | NO_WALK | NO_VISION | PERMANENT | SUPPORT_LIGHT
F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
N:183:void
G: :d
@@ -756,97 +1135,159 @@ N:187:pool of deep water
G:~:b
S:b:b:b:b:b:b:B
F:ATTR_MULTI
-F:FLOOR | CAN_LEVITATE | CAN_FLY | REMEMBER | SUPPORT_LIGHT
+F:CAN_FLY
+F:CAN_LEVITATE
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
# Glass wall -- can see but not pass
N:188:glass wall
G:.:B
-F:NO_WALK | WALL | PERMANENT | NOTICE
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_WALK
+F:PERMANENT
+F:WALL
D:1:This glass seems to be totaly impenetrable.
D:2:a glass wall blocking your way
# Illusion wall -- can't see but can pass
N:189:illusion wall
G:#:w
-F:FLOOR | NO_VISION | REMEMBER | SUPPORT_LIGHT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:NO_VISION
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:Looks like this wall is not so real.
# Grass roof
N:190:Grass roof
G:#:y
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# grass roof top
N:191:grass roof top
G:#:y
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# grass roof chimney
N:192:grass roof chimney
G:#:y
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# brick roof
N:193:brick roof
G:#:r
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# brick roof top
N:194:brick roof top
G:#:r
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# brick roof chimney
N:195:brick roof chimney
G:#:r
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# window
N:196:window
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# small window
N:197:small window
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# rain barrel
N:198:rain barrel
G:#:w
-F:WALL | NO_WALK | NO_VISION | PERMANENT | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:WALL
# grass with flowers
N:199:grass with flowers
G:;:G
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:SUPPORT_GROWTH
# cobblestone road
N:200:cobblestone road
G:.:w
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
# cobblestone with outlet
N:201:cobblestone with outlet
G:.:w
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
N:202:small tree
G:#:g
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN | SUPPORT_LIGHT | REMEMBER
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:NO_VISION
+F:REMEMBER
+F:SUPPORT_LIGHT
# Just to have a town entrance picture
N:203:town
G:*:w
-F:FLOOR | NOTICE
+F:FLOOR
+F:NOTICE
# Underground Tunnel
N:204:Underground Tunnel
G:^:U
-F:FLOOR | REMEMBER | SUPPORT_LIGHT | DONT_NOTICE_RUNNING | CAN_RUN
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:Oh, an underground tunnel!
# Fire
@@ -856,58 +1297,92 @@ S:y:y:y:R:r:y:R
E:-1d2:1:FIRE
D:0:The blazing fire burns you!
F:ATTR_MULTI
-F:FLOOR | CAN_FLY | REMEMBER | SUPPORT_LIGHT
+F:CAN_FLY
F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
# Permanent rubble -- town use
N:206:pile of rubble
G:::w
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE
-F:CAN_FLY | SUPPORT_LIGHT | PERMANENT
+F:CAN_FLY
+F:CAN_PASS
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:PERMANENT
+F:SUPPORT_LIGHT
+F:WALL
D:1:Looks like this pile of rubble is quite hard.
# Rocky ground - rougher terrain.
N:207:rocky ground
G:.:s
-F:FLOOR | SUPPORT_LIGHT | CAN_RUN
+F:CAN_RUN
F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:SUPPORT_LIGHT
# cloud-like vapour. Floor for Eru's temple
N:208:cloud-like vapour
G:.:W
S:W:B:B:W:w:W:B
-F:FLOOR | CAN_LEVITATE | CAN_FLY | SUPPORT_LIGHT
-F:ATTR_MULTI | CAN_RUN | DONT_NOTICE_RUNNING
+F:ATTR_MULTI
+F:CAN_FLY
+F:CAN_LEVITATE
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:SUPPORT_LIGHT
# condensing water
N:209:condensing water
G:~:B
S:B:B:B:B:B:B:b
F:ATTR_MULTI
-F:FLOOR | CAN_LEVITATE | CAN_FLY | REMEMBER | SUPPORT_LIGHT | CAN_RUN
+F:CAN_FLY
+F:CAN_LEVITATE
+F:CAN_RUN
F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:REMEMBER
+F:SUPPORT_LIGHT
# Dense mist. Can pass through, but not see through
N:210:dense mist
G:#:w
S:w:W:s:s:s:w:w
-F:FLOOR | NO_VISION | REMEMBER | SUPPORT_LIGHT
-F:ATTR_MULTI | DONT_NOTICE_RUNNING
+F:ATTR_MULTI
+F:DONT_NOTICE_RUNNING
+F:FLOOR
+F:NO_VISION
+F:REMEMBER
+F:SUPPORT_LIGHT
D:0:You wander through the mist.
D:1:You cannot tunnel through mist!
# Hail-stone wall
N:211:hail-stone wall
G:#:W
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
+F:CAN_PASS
F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
F:TUNNELABLE
+F:WALL
D:1:You tunnel into the hail-stone wall.
N:212:dead small tree
G:#:D
-F:FLOOR | DONT_NOTICE_RUNNING | CAN_RUN | SUPPORT_LIGHT | REMEMBER
+F:CAN_RUN
+F:DONT_NOTICE_RUNNING
+F:FLOOR
F:NO_VISION
+F:REMEMBER
+F:SUPPORT_LIGHT
# New features for the Maps of Lord Dimwit
@@ -915,27 +1390,46 @@ F:NO_VISION
N:213:copper pillar
G:#:u
S:u:u:u:o:u:u:u
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | NOTICE | SUPPORT_LIGHT
-F:DONT_NOTICE_RUNNING | ATTR_MULTI
+F:ATTR_MULTI
+F:CAN_PASS
+F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
+F:WALL
D:1:The copper is too tough to tunnel through.
D:2:a copper pillar blocking your way
N:214:ethereal wall
G:.:w
-F:WALL | NO_WALK | PERMANENT | NOTICE | DONT_NOTICE_RUNNING
+F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_WALK
+F:PERMANENT
+F:WALL
D:1:You can't even see your obstruction!
D:2:an unseen force blocking your way
N:215:glacial wall
G:#:B
-F:WALL | NO_WALK | CAN_PASS | NO_VISION | SUPPORT_LIGHT
-F:DONT_NOTICE_RUNNING | TUNNELABLE
+F:CAN_PASS
+F:DONT_NOTICE_RUNNING
+F:NO_VISION
+F:NO_WALK
+F:SUPPORT_LIGHT
+F:TUNNELABLE
+F:WALL
D:1:You tunnel into the glacial wall... #BOh chilly#w.
D:2:a hard glacial wall blocking your way
N:216:battlement
G:#:w
-F:NO_WALK | CAN_PASS | NOTICE | SUPPORT_LIGHT
-F:DONT_NOTICE_RUNNING | TUNNELABLE
+F:CAN_PASS
+F:DONT_NOTICE_RUNNING
+F:NOTICE
+F:NO_WALK
+F:SUPPORT_LIGHT
+F:TUNNELABLE
D:1:You tunnel into the battlement.
D:2:a hard stone battlement blocking your way
diff --git a/lib/edit/k_info.txt b/lib/edit/k_info.txt
index aba86074..1f97827b 100644
--- a/lib/edit/k_info.txt
+++ b/lib/edit/k_info.txt
@@ -20,11 +20,6 @@
# Note that object zero is used for the "stack" picture (unused).
-# Version stamp (required)
-
-V:2.0.0
-
-
##### Something special #####
N:0:something
@@ -271,7 +266,8 @@ N:29:& Blue Stone~
G:":B
I:40:18:0
W:60:0:3:90000
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
##### Edged Weapons #####
@@ -290,7 +286,8 @@ I:23:21:0
W:15:0:140:350
A:15/1
P:0:3d4:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:This is a long, double-edged sword with a plain hilt that could
D:be wielded in one or two hands. It's called a "bastard sword" because in
@@ -345,8 +342,11 @@ W:70:0:180:4000
A:70/8
P:0:6d5:0:0:0
F:ATTR_MULTI
-F:RES_CHAOS | CHAOTIC | SHOW_MODS
-f:RES_CHAOS | CHAOTIC
+F:CHAOTIC
+F:RES_CHAOS
+F:SHOW_MODS
+f:CHAOTIC
+f:RES_CHAOS
D:A mighty sword which seems to be completely blunt. However, it is a conduit
D:into the realms of pure chaos and strikes its victims with the devastating
D:might of chaos itself whenever it connects. It gives you resistance to chaos
@@ -359,7 +359,8 @@ I:23:25:0
W:30:0:200:775
A:30/1:40/1
P:0:3d6:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This blade is lot longer, wider and heavier than a long sword. You have to
D:wield it with two hands. This means that wielding a shield makes fighting
@@ -393,7 +394,8 @@ I:23:28:0
W:40:0:260:850
A:40/1
P:0:4d5:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:These weapons have been built in all sizes. They are custom-made
D:for warriors that want to set out and kill their archenemy. These
@@ -405,7 +407,8 @@ I:23:20:0
W:20:0:120:400
A:20/1
P:0:3d4:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:The katana is a long blade with only a small disk for a guard.
D:Its hilt is long enough for two hands, though it could be used
@@ -485,7 +488,8 @@ I:21:6:0
W:20:0:150:200
A:20/1
P:0:2d4:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:This weapon has a ball linked with a chain to a wooden handle.
D:Preferred tactic is smashing the brains of your opponent.
@@ -507,7 +511,8 @@ I:21:13:0
W:10:0:150:353
A:10/1
P:0:2d6:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:This weapon was originally used to cut corn. More warlike versions
D:sport a large blade stuck on a wooden handle. The hinge allows it to get
@@ -519,7 +524,8 @@ I:21:18:0
W:45:0:280:590
A:45/1
P:0:3d6:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This two-handed version of the flail gives the fighter a fearsome
D:weapon that can do a fair amount of damage. It typically has several
@@ -541,7 +547,8 @@ I:21:5:0
W:5:0:120:130
A:5/1
P:0:2d4:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:This weapon is a club ending in a sphere. The sphere is studded
D:with metal shards, and thus can both crush and cut your adversary.
@@ -552,7 +559,8 @@ I:21:3:0
W:10:0:150:200
A:10/1
P:0:1d9:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A long, wooden pole, usually the height of the wielder. Four of them can be
D:made out of the trunk of one young tree, hence the name. The quarterstaff
@@ -566,7 +574,8 @@ I:21:8:0
W:5:0:120:225
A:5/1
P:0:3d3:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A large hammer, designed to crush skulls with mighty strikes.
@@ -576,7 +585,8 @@ I:21:15:0
W:15:0:180:502
A:15/1
P:0:3d4:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A large, mean mace filled with lead in order to wreak a maximum of havoc.
@@ -586,8 +596,11 @@ I:21:20:0
W:80:0:400:4300
A:80/5
P:0:5d8:0:0:0
-F:SLAY_UNDEAD | SHOW_MODS | MUST2H
-f:MUST2H | SLAY_UNDEAD
+F:MUST2H
+F:SHOW_MODS
+F:SLAY_UNDEAD
+f:MUST2H
+f:SLAY_UNDEAD
D:This mace is custom-made for priests that go out to destroy evil.
D:It is deadly, especially for undead.
@@ -597,7 +610,8 @@ I:21:10:0
W:10:0:120:376
A:10/1
P:0:2d5:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A war hammer combined with a spearpoint, mounted on a long pole.
@@ -609,7 +623,8 @@ I:22:10:0
W:15:0:180:408
A:15/1
P:0:2d6:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This polearm has a beak mounted opposite the blade.
@@ -619,7 +634,8 @@ I:22:13:0
W:20:0:190:363
A:20/1
P:0:2d6:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A polearm with a long, slightly curved knife-like blade. It has spurs on
D:the dull side of the blade. It's primarily a slashing and chopping weapon. Glaives
@@ -633,7 +649,8 @@ I:22:15:0
W:25:0:190:430
A:25/1
P:0:3d5:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:The halberd has a broad, short axe blade on a 5 - 6ft long haft, with a
D:spearpoint at the top, often a back-spike and occasionally a butt-spike. Used to
@@ -649,7 +666,8 @@ I:22:4:0
W:10:0:160:340
A:10/1
P:0:1d8:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:This is a polearm with a long square-sectioned spike on the end.
@@ -659,7 +677,8 @@ I:22:8:0
W:15:0:160:358
A:15/1
P:0:2d5:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A staff, 16-18 feet long, that has a small piercing head about 10 inches
D:long. The pike is often used by infantry to fend off cavalry. It is very
@@ -684,7 +703,8 @@ I:22:5:0
W:5:0:70:120
A:5/1
P:0:1d8:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:The trident is based on the pitchfork. In fact, when not used as a weapon,
D:it is often employed as a pitchfork. It is famous for its uses in
@@ -697,7 +717,8 @@ I:22:20:0
W:10:0:300:230
A:10/1
P:0:2d8:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This is the original polearm. It is shaped like a spear but is bigger. It's
D:meant to fend off enemies, not to be thrown.
@@ -708,7 +729,8 @@ I:24:25:0
W:40:0:230:500
A:40/1
P:0:4d4:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:A huge and heavy two-headed axe.
@@ -718,7 +740,8 @@ I:22:22:0
W:15:0:170:334
A:15/1
P:0:2d8:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:Nordic polearm with a broad blade and a hook mounted on the end of the shaft.
D:The Nordics' take on the halberd. The polearm of choice for many Nordics,
@@ -730,7 +753,8 @@ I:22:28:0
W:45:0:250:750
A:45/1
P:0:3d8:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:Nordic polearm with a broad blade and a hook mounted on the end of the shaft.
D:A Nordic version of the halberd. The polearm of choice for many Nordics,
@@ -742,7 +766,8 @@ I:24:11:0
W:15:0:160:304
A:15/1
P:0:2d6:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A one-headed axe made for combat, with an elongated moon-shaped blade.
@@ -752,7 +777,8 @@ I:22:17:0
W:45:0:250:800
A:45/1
P:0:5d3:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:A simple farm implement, converted into a weapon by slightly straightening
D:its blade and putting it in line with its pole, instead of the typical
@@ -764,8 +790,13 @@ I:22:30:0
W:80:0:250:10000
A:80/20
P:0:8d4:0:0:0
-F:SHOW_MODS | MUST2H | WOUNDING | VORPAL
-f:MUST2H | VORPAL | WOUNDING
+F:MUST2H
+F:SHOW_MODS
+F:VORPAL
+F:WOUNDING
+f:MUST2H
+f:VORPAL
+f:WOUNDING
D:The simple design of the war scythe, but this one uses a finely crafted and
D:incredibly sharp steel blade which causes terrible wounds when it hits.
@@ -957,8 +988,12 @@ I:35:2:0
W:30:0:5:1500
A:30/4
P:4:0d0:0:0:4
-F:IGNORE_ACID | IGNORE_COLD | IGNORE_FIRE | IGNORE_ELEC
-F:STEALTH | SEARCH | LUCK
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:LUCK
+F:STEALTH
f:STEALTH
D:A wonderfully light cloak coloured in brown and green hues. Its colouring
D:greatly helps the wearer to avoid undesired attention. Wearing it makes you
@@ -1271,7 +1306,9 @@ I:35:6:1
W:60:0:5:7500
A:75/4
P:6:0d0:0:0:4
-F:RES_DARK | RES_LITE | STEALTH
+F:RES_DARK
+F:RES_LITE
+F:STEALTH
f:STEALTH
D:A rare cloak imbued with magic to radiate a strange twilight, absorbing both
D:extreme brightness and darkness.
@@ -1349,7 +1386,8 @@ G:=:d
I:45:24:0
W:30:0:2:500
A:30/1
-F:STR | HIDE_TYPE
+F:HIDE_TYPE
+F:STR
f:STR
D:This bauble magically improves your strength.
@@ -1358,7 +1396,8 @@ G:=:d
I:45:26:0
W:30:0:2:500
A:30/1
-F:DEX | HIDE_TYPE
+F:DEX
+F:HIDE_TYPE
f:DEX
D:This piece of jewellery magically improves your agility.
@@ -1367,7 +1406,8 @@ G:=:d
I:45:27:0
W:30:0:2:500
A:30/1
-F:CON | HIDE_TYPE
+F:CON
+F:HIDE_TYPE
f:CON
D:This ring magically grants you health, improving your constitution.
@@ -1376,7 +1416,8 @@ G:=:d
I:45:25:0
W:30:0:2:500
A:30/1
-F:INT | HIDE_TYPE
+F:HIDE_TYPE
+F:INT
f:INT
D:This magical piece of jewellery makes you smarter.
@@ -1385,27 +1426,22 @@ G:=:d
I:45:31:0
W:75:0:2:100000
A:75/1
-F:SPEED | HIDE_TYPE
+F:HIDE_TYPE
+F:SPEED
f:SPEED
D:This wonderful ring grants you additional energy, allowing you to act faster.
-N:137:Searching
-G:=:d
-I:45:23:0
-W:5:0:2:250
-A:5/1
-F:SEARCH | HIDE_TYPE
-f:SEARCH
-D:This ring magically improves your attention, so you can detect hidden things better.
-
# New : It can be activated but at the cost of its destruction
N:138:Teleportation
G:=:d
I:45:4:0
W:5:0:2:250
A:5/1
-a:HARDCORE=DEST_TELE
-F:CURSED | TELEPORT | EASY_KNOW | ACTIVATE
+a:DEST_TELE
+F:ACTIVATE
+F:CURSED
+F:EASY_KNOW
+F:TELEPORT
f:TELEPORT
D:This ring will uncontrollably send you to different places at its whim.
D:You can use its power once at your will, but it will destroy the ring.
@@ -1415,7 +1451,8 @@ G:=:d
I:45:6:0
W:5:0:2:250
A:5/1
-F:SLOW_DIGEST | EASY_KNOW
+F:EASY_KNOW
+F:SLOW_DIGEST
f:SLOW_DIGEST
D:This magical bauble grants you some sustenance, allowing you to subsist on less food.
@@ -1424,7 +1461,9 @@ G:=:d
I:45:8:0
W:10:0:2:250
A:10/1
-F:RES_FIRE | IGNORE_FIRE | EASY_KNOW
+F:EASY_KNOW
+F:IGNORE_FIRE
+F:RES_FIRE
f:RES_FIRE
D:This piece of jewellery grants you some protection from the burning heat of fire.
@@ -1433,7 +1472,9 @@ G:=:d
I:45:9:0
W:10:0:2:250
A:10/1
-F:RES_COLD | IGNORE_COLD | EASY_KNOW
+F:EASY_KNOW
+F:IGNORE_COLD
+F:RES_COLD
f:RES_COLD
D:This piece of jewellery grants you some protection from the chilling forces of cold.
@@ -1442,7 +1483,8 @@ G:=:d
I:45:7:0
W:5:0:2:200
A:5/1
-F:FEATHER | EASY_KNOW
+F:EASY_KNOW
+F:FEATHER
f:FEATHER
D:When you put on this ring, you will be able to float just above the floor.
D:It prevents you from drowning, and all your falls will be painless.
@@ -1452,7 +1494,8 @@ G:=:d
I:45:20:0
W:60:0:2:16000
A:60/2
-F:RES_POIS | EASY_KNOW
+F:EASY_KNOW
+F:RES_POIS
f:RES_POIS
D:This magical ring grants protection from poison.
D:It is rumoured that in deep dungeons monsters can kill you at once if you
@@ -1463,7 +1506,8 @@ G:=:d
I:45:21:0
W:20:0:2:1500
A:20/1
-F:FREE_ACT | EASY_KNOW
+F:EASY_KNOW
+F:FREE_ACT
f:FREE_ACT
D:This magical bauble prevents you from being held.
D:Some monsters will paralyse you and then kill you if you lack free action.
@@ -1473,7 +1517,9 @@ G:=:d
I:45:2:-5
W:5:0:2:0
A:5/1
-F:CURSED | STR | HIDE_TYPE
+F:CURSED
+F:HIDE_TYPE
+F:STR
f:STR
D:This accursed ring will sap your strength, rendering you much weaker as long as you wear it.
@@ -1483,8 +1529,10 @@ I:45:18:0
W:50:0:2:3000
A:50/1
P:0:0d0:0:0:15
-a:HARDCORE=BA_FIRE_4
-F:RES_FIRE | IGNORE_FIRE | ACTIVATE
+a:BA_FIRE_4
+F:ACTIVATE
+F:IGNORE_FIRE
+F:RES_FIRE
f:RES_FIRE
D:This fiery circlet grants you protection, makes fire less dangerous and even
D:allows you to call forth a ball of flame.
@@ -1495,8 +1543,10 @@ I:45:17:0
W:50:0:2:3000
A:50/1
P:0:0d0:0:0:15
-a:HARDCORE=BA_ACID_4
-F:RES_ACID | IGNORE_ACID | ACTIVATE
+a:BA_ACID_4
+F:ACTIVATE
+F:IGNORE_ACID
+F:RES_ACID
f:RES_ACID
D:This magical ring is imbued with spells of devouring acid, granting protection against such
D:assaults and the ability to shoot acid at your foes.
@@ -1506,9 +1556,11 @@ G:=:d
I:45:19:0
W:50:0:2:3000
A:50/1
-a:HARDCORE=BA_COLD_4
+a:BA_COLD_4
P:0:0d0:0:0:15
-F:RES_COLD | IGNORE_COLD | ACTIVATE
+F:ACTIVATE
+F:IGNORE_COLD
+F:RES_COLD
f:RES_COLD
D:This ring is imbued with supernatural cold, which makes you less vulnerable to such effects
D:and occasionally allows you to throw balls of ice at your foes.
@@ -1518,7 +1570,12 @@ G:=:d
I:45:0:-5
W:50:0:2:0
A:50/1
-F:CURSED | TELEPORT | WIS | CHR | HIDE_TYPE | AUTO_CURSE
+F:AUTO_CURSE
+F:CHR
+F:CURSED
+F:HIDE_TYPE
+F:TELEPORT
+F:WIS
D:This accursed ring will turn you into a bumbling fool and, in addition, magically
D:transports you to places you never wanted to see. It can recurse itself if
D:you leave it on too long.
@@ -1528,7 +1585,9 @@ G:=:d
I:45:3:-5
W:5:0:2:0
A:5/1
-F:CURSED | INT | HIDE_TYPE
+F:CURSED
+F:HIDE_TYPE
+F:INT
f:INT
D:This wicked ring feeds off your intellect, magically making you stupid.
@@ -1561,7 +1620,10 @@ G:=:d
I:45:1:0
W:5:0:2:0
A:5/1
-F:CURSED | AGGRAVATE | EASY_KNOW | AUTO_CURSE
+F:AGGRAVATE
+F:AUTO_CURSE
+F:CURSED
+F:EASY_KNOW
f:AGGRAVATE
D:This faithless ring will draw opponents' attention towards its hapless owner.
@@ -1570,7 +1632,8 @@ G:=:d
I:45:22:0
W:30:0:2:340
A:30/1
-F:SEE_INVIS | EASY_KNOW
+F:EASY_KNOW
+F:SEE_INVIS
f:SEE_INVIS
D:This magical piece of jewellery allows your eyes to perceive beings otherwise unseen.
@@ -1579,7 +1642,8 @@ G:=:d
I:45:10:0
W:20:0:2:400
A:20/1
-F:SUST_STR | EASY_KNOW
+F:EASY_KNOW
+F:SUST_STR
f:SUST_STR
D:This magical bauble protects your physical force against attacks attempting to drain it.
@@ -1588,7 +1652,8 @@ G:=:d
I:45:11:0
W:20:0:2:400
A:20/1
-F:SUST_INT | EASY_KNOW
+F:EASY_KNOW
+F:SUST_INT
f:SUST_INT
D:This magical ring protects your intellect against attempts to lower it.
@@ -1597,7 +1662,8 @@ G:=:d
I:45:12:0
W:20:0:2:400
A:20/1
-F:SUST_WIS | EASY_KNOW
+F:EASY_KNOW
+F:SUST_WIS
f:SUST_WIS
D:This magical ring protects you from attempts to make you more foolish.
@@ -1606,7 +1672,8 @@ G:=:d
I:45:13:0
W:20:0:2:400
A:20/1
-F:SUST_CON | EASY_KNOW
+F:EASY_KNOW
+F:SUST_CON
f:SUST_CON
D:This magical ring protects your health, making it impossible for your opponents to lower it.
@@ -1615,7 +1682,8 @@ G:=:d
I:45:14:0
W:20:0:2:400
A:20/1
-F:SUST_DEX | EASY_KNOW
+F:EASY_KNOW
+F:SUST_DEX
f:SUST_DEX
D:This magical ring protects your nerves, so that you will never become clumsy.
@@ -1624,7 +1692,8 @@ G:=:d
I:45:15:0
W:20:0:2:400
A:20/1
-F:SUST_CHR | EASY_KNOW
+F:EASY_KNOW
+F:SUST_CHR
f:SUST_CHR
D:This ring magically protects your beauty and charm from attempts to make you ugly.
@@ -1643,7 +1712,10 @@ G:":d
I:40:6:0
W:50:0:3:1000
A:50/4
-F:INT | WIS | HIDE_TYPE | LITE1
+F:HIDE_TYPE
+F:INT
+F:LITE1
+F:WIS
D:This talisman grants a sharper wit, greater insight and brightness to light dark places.
N:164:Charisma
@@ -1651,25 +1723,19 @@ G:":d
I:40:7:0
W:30:0:3:500
A:30/1
-F:CHR | HIDE_TYPE
+F:CHR
+F:HIDE_TYPE
f:CHR
D:This amulet grants beauty beyond mere looks.
-N:165:Searching
-G:":d
-I:40:5:0
-W:15:0:3:600
-A:15/1
-F:SEARCH | HIDE_TYPE
-f:SEARCH
-D:This amulet grants keen sight, finding things that are hidden.
-
N:166:Teleportation
G:":d
I:40:1:0
W:10:0:3:250
A:10/1
-F:CURSED | TELEPORT | EASY_KNOW
+F:CURSED
+F:EASY_KNOW
+F:TELEPORT
f:TELEPORT
D:This amulet nastily throws you all over the place.
@@ -1678,7 +1744,8 @@ G:":d
I:40:3:0
W:15:0:3:200
A:15/1
-F:SLOW_DIGEST | EASY_KNOW
+F:EASY_KNOW
+F:SLOW_DIGEST
f:SLOW_DIGEST
D:This talisman will make you hungry less quickly when worn.
@@ -1687,18 +1754,12 @@ G:":d
I:40:4:0
W:10:0:3:250
A:10/1
-F:RES_ACID | IGNORE_ACID | EASY_KNOW
+F:EASY_KNOW
+F:IGNORE_ACID
+F:RES_ACID
f:RES_ACID
D:This magical talisman will make the corroding forces of acid less threatening to your health.
-N:169:Adornment
-G:":d
-I:40:2:0
-W:10:0:3:20
-A:10/1
-F:EASY_KNOW
-D:This amulet is not magical. It just looks good.
-
##### Extra armour #####
N:170:& Double Ring Mail~
@@ -1718,9 +1779,17 @@ I:40:8:0
W:70:0:3:30000
A:70/8
P:0:0d0:-4:-4:0
-F:INT | SUST_INT | SEARCH | SPELL_CONTAIN | WIELD_CAST
-F:FREE_ACT | RES_BLIND | RES_CONF |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:FREE_ACT
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:INT
+F:RES_BLIND
+F:RES_CONF
+F:SPELL_CONTAIN
+F:SUST_INT
+F:WIELD_CAST
D:This rare amulet is highly desirable for mages, as it makes its wearer smarter, more attentive
D:and impervious to magics which would make their own magic-use impossible.
@@ -1729,8 +1798,16 @@ G:":d
I:40:0:-5
W:50:0:3:0
A:50/1
-F:CURSED | STR | INT | WIS | DEX | CON | CHR | HIDE_TYPE
-F:AUTO_CURSE | CURSE_NO_DROP
+F:AUTO_CURSE
+F:CHR
+F:CON
+F:CURSED
+F:CURSE_NO_DROP
+F:DEX
+F:HIDE_TYPE
+F:INT
+F:STR
+F:WIS
D:This wicked amulet will drain all your abilities, turning you into a mere shadow of yourself. It
D:is exceedingly hard to get rid of.
@@ -1791,7 +1868,10 @@ G:?:d
I:70:50:0
W:100:0:5:10000
A:100/8
-F:IGNORE_FIRE | IGNORE_ACID | IGNORE_COLD | IGNORE_ELEC
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
D:A piece of paper inscribed with strange shifting runes. Upon reading them, they will release
D:a blast of chaotic forces.
@@ -1905,14 +1985,6 @@ A:0/1
D:This scroll shows nearby objects to you. It only makes you aware of items on the floor,
D:however, not those carried by creatures.
-N:194:Trap Detection
-G:?:d
-I:70:28:0
-W:5:0:5:35
-A:5/1:10/1
-D:This scroll is very helpful, because it reveals the locations of nearby snares and traps which you
-D:might otherwise blunder into.
-
##### Extra ammunition #####
N:195:& Sheaf Arrow~
@@ -1931,7 +2003,8 @@ I:16:2:0
W:40:0:4:20
A:40/2:65/1
P:0:3d4:5:5:0
-F:SHOW_MODS | IGNORE_ACID
+F:IGNORE_ACID
+F:SHOW_MODS
D:Sling bullets made from the slags of mithril smelting. They are unusually heavy, hitting
D:with great force, and are almost imperishable.
@@ -1984,22 +2057,6 @@ W:5:0:5:0
A:5/1
D:This nasty scroll will make a loud noise, waking up foes in your vicinity.
-N:203:Trap Creation
-G:?:d
-I:70:7:0
-W:10:0:5:0
-A:10/1
-D:If you read this rather annoying scroll, snares and pitfalls will magically be planted all around
-D:you, ready to do nasty things to you once you walk onto them.
-
-N:204:Trap/Door Destruction
-G:?:d
-I:70:39:0
-W:10:0:5:50
-A:10/1
-D:A very specifically destructive spell is written on this scroll. It will smash all traps and all
-D:doors immediately next to you.
-
N:205:Artifact Creation
G:?:d
I:70:52:0
@@ -2567,8 +2624,11 @@ I:71:60:100
W:20:0:4:250
A:20/1:45/1:80/1:100/1
P:0:1d1:0:0:0
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
F:FOUNTAIN
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
D:This great potion infuses you with the power of the elements, so that you can better
D:withstand their ravages.
@@ -2775,9 +2835,13 @@ W:127:0:4:0
A:127/255
P:0:1d1:0:0:0
T:39:2
-F:NORM_ART | FULL_NAME | SPECIAL_GENE
-F:ACTIVATE | ACTIVATE_NO_WIELD
-a:SPELL=Artifact Eternal Flame
+F:ACTIVATE
+F:ACTIVATE_NO_WIELD
+F:EASY_USE
+F:FULL_NAME
+F:NORM_ART
+F:SPECIAL_GENE
+a:ETERNAL_FLAME
D:An impossibly bright, flickering living flame. It can be used
D:once to imbue an object with the power of Eru Iluvatar himself.
@@ -2787,7 +2851,9 @@ I:23:34:0
W:0:0:7:10
A:0/1:5/1:10/1:20/1
P:0:1d4:0:0:0
-F:SHOW_MODS | VAMPIRIC | SPECIAL_GENE
+F:SHOW_MODS
+F:SPECIAL_GENE
+F:VAMPIRIC
D:This looks like some animal's teeth or at least you think
D:it comes from an animal...
@@ -2799,7 +2865,12 @@ W:50:10:10:12000
P:0:1d4:0:0:0
A:50/200
T:55:8
-F:NO_RECHARGE | EASY_USE | RECHARGED | NORM_ART | FULL_NAME | SPECIAL_GENE
+F:EASY_USE
+F:FULL_NAME
+F:NORM_ART
+F:NO_RECHARGE
+F:RECHARGED
+F:SPECIAL_GENE
D:This horn was given to you as a reward. Blow it if you are in dire need
D:of leaving your current location fast.
@@ -2857,13 +2928,6 @@ W:30:0:50:100
A:30/1
P:0:1d2:0:0:0
-N:307:Disarm
-G:_:d
-I:55:8:-1:SPELL=Disarm
-W:2:0:50:100
-A:2/1
-P:0:1d2:0:0:0
-
N:308:Teleportation
G:_:d
I:55:9:-1:SPELL=Teleportation
@@ -2975,7 +3039,8 @@ I:111:0:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:The bright blue cover of this tome seems to glow
D:with an inner violet light. You feel more attuned
D:to raw magic as you hold it.
@@ -2986,7 +3051,9 @@ I:111:1:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW | IGNORE_FIRE
+F:EASY_KNOW
+F:FULL_NAME
+F:IGNORE_FIRE
D:The cover of this tome is bright red, with flickering
D:flames dancing across it once in a while. As you hold
D:it, you begin to gain a much closer knowledge of all
@@ -2998,7 +3065,9 @@ I:111:2:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW | IGNORE_ELEC
+F:EASY_KNOW
+F:FULL_NAME
+F:IGNORE_ELEC
D:The pages of this tome have a tendency to turn themselves,
D:as though flipped by an errant wind. As you hold it,
D:you start feeling wind at your fingertips.
@@ -3009,7 +3078,9 @@ I:111:3:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW | IGNORE_ACID
+F:EASY_KNOW
+F:FULL_NAME
+F:IGNORE_ACID
D:The solid leather cover of this tome seems permanently
D:stained with caked mud and grass. Heavy it is to lift,
D:yet strangely comforting to hold - you feel stronger
@@ -3021,7 +3092,8 @@ I:111:4:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:The cover and pages of this tome seem to be perpetually
D:wet, though they are not wet to the touch. As you hold
D:it, you begin to understand ocean storms better.
@@ -3032,7 +3104,8 @@ I:111:5:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:This book seems to flicker strangely. It's one of those books
D:with an annoying tendency to disappear when you need it and
D:reappear in the unlikeliest places. As you hold it, you start
@@ -3044,7 +3117,8 @@ I:111:6:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:The cover of this tome is a bright shade of green, and it gives off
D:a healthy, zesty scent that makes your thoughts clearer. As you
D:hold it, your heart goes out to all living things upon Arda.
@@ -3055,7 +3129,8 @@ I:111:7:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:A thick book with solid leather binding. It looks entirely
D:unremarkable, but as you hold it, you feel strangely able
D:to learn the inner workings of things and creatures.
@@ -3134,8 +3209,11 @@ I:39:0:0:4000
W:1:0:30:2
A:1/1
P:0:1d1:0:0:0
-F:EASY_KNOW | LITE1 | FUEL_LITE
-f:LITE1 | FUEL_LITE
+F:EASY_KNOW
+F:FUEL_LITE
+F:LITE1
+f:FUEL_LITE
+f:LITE1
D:A piece of wood with an oily rag wrapped around it. When lit, it will give off a little light and
D:much smoke.
@@ -3145,8 +3223,12 @@ I:39:1:0:7500
W:3:0:50:35
A:3/1
P:0:1d1:0:0:0
-F:EASY_KNOW | IGNORE_FIRE | LITE2 | FUEL_LITE
-f:LITE2 | FUEL_LITE
+F:EASY_KNOW
+F:FUEL_LITE
+F:IGNORE_FIRE
+F:LITE2
+f:FUEL_LITE
+f:LITE2
D:A brass container with a wick emerging from it, protected from draughts by a sheet of greased
D:paper. It can be carried by a handle.
@@ -3187,22 +3269,6 @@ A:15/1
P:0:1d1:0:0:0
D:When fuelled with enough ambient mana, this rod can detect nearby passages.
-N:352:Trap Location
-G:-:d
-I:66:29:8
-W:5:0:15:100
-A:5/1:10/1:20/1
-P:0:1d1:0:0:0
-D:Zapping this rod will release a minor detection magic, alerting you of nearby pits and snares.
-
-N:353:Probing
-G:-:d
-I:66:7:50
-W:40:0:15:4000
-A:40/4
-P:0:1d1:0:0:0
-D:A rod of knowledge which will tell you about nearby creatures' health.
-
N:354:Recall
G:-:d
I:66:3:80
@@ -3292,14 +3358,6 @@ A:45/2
P:0:1d1:0:0:0
D:This rod of movement will displace its target to another location.
-N:365:Disarming
-G:-:d
-I:66:14:50
-W:35:0:15:2100
-A:35/1
-P:0:1d1:0:0:0
-D:This rod will clear a path for you, triggering and thus rendering harmless all traps on the way.
-
N:366:Lightning Balls
G:-:d
I:66:25:50
@@ -3404,7 +3462,8 @@ G:=:d
I:45:58:0
W:10:0:2:1000
A:10/1
-F:SPELL_CONTAIN | WIELD_CAST
+F:SPELL_CONTAIN
+F:WIELD_CAST
f:SPELL_CONTAIN
D:This ring is a container for spells. Those that are skilled in copying spells can inscribe a
D:spell into it.
@@ -3416,7 +3475,8 @@ G:":d
I:40:27:0
W:10:0:2:1000
A:10/1
-F:SPELL_CONTAIN | WIELD_CAST
+F:SPELL_CONTAIN
+F:WIELD_CAST
f:SPELL_CONTAIN
D:This amulet is a container for spells. Those that are skilled in copying spells can inscribe a
D:spell into it.
@@ -3518,10 +3578,15 @@ I:38:1:0
W:60:0:200:50000
A:60/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_ACID
-F:RES_ACID | FLY |
-f:RES_ACID |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_ACID
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+f:RES_ACID
D:An armour made of a black dragon's hide, containing some of this beast's powers.
N:401:& Blue Dragon Scale Mail~
@@ -3530,10 +3595,15 @@ I:38:2:0
W:50:0:200:40000
A:50/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_ELEC
-F:RES_ELEC | FLY |
-f:RES_ELEC |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_ELEC
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ELEC
+f:RES_ELEC
D:A piece of dragon hide fashioned into an armour, shimmering bright blue.
N:402:& White Dragon Scale Mail~
@@ -3541,11 +3611,16 @@ G:[:w
I:38:3:0
W:50:0:200:40000
A:50/8
-a:HARDCORE=BR_COLD
+a:BR_COLD
P:30:2d4:-2:0:10
-F:RES_COLD | FLY |
-f:RES_COLD |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_COLD
+f:RES_COLD
D:An armour fashioned from dragon hide, glistening the white of snow.
N:403:& Red Dragon Scale Mail~
@@ -3554,10 +3629,15 @@ I:38:4:0
W:60:0:200:50000
A:60/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_FIRE
-F:RES_FIRE | FLY |
-f:RES_FIRE |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_FIRE
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_FIRE
+f:RES_FIRE
D:The skin of a dragon made into a suit of armour. It glows a bright red and radiates heat.
N:404:& Green Dragon Scale Mail~
@@ -3566,10 +3646,15 @@ I:38:5:0
W:50:0:200:40000
A:50/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_POIS
-F:RES_POIS | FLY |
-f:RES_POIS |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_POIS
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_POIS
+f:RES_POIS
D:A suit of armour fashioned of dragon hide. It is dirty green and smells awful.
N:405:& Multi-Hued Dragon Scale Mail~
@@ -3578,11 +3663,24 @@ I:38:6:0
W:90:0:200:150000
A:90/32
P:30:2d4:-2:0:10
-a:HARDCORE=BR_MANY
+a:BR_MANY
+F:ACTIVATE
F:ATTR_MULTI
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS | FLY |
-f:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+F:RES_POIS
+f:RES_ACID
+f:RES_COLD
+f:RES_ELEC
+f:RES_FIRE
+f:RES_POIS
D:A powerful armour made of dragonhide. It glows red, blue, green, black and white.
N:406:& Pseudo Dragon Scale Mail~
@@ -3591,9 +3689,15 @@ I:38:10:0
W:70:0:200:70000
A:70/16
P:30:2d4:-2:0:10
-a:HARDCORE=BR_LIGHT
-F:RES_LITE | RES_DARK | FLY |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_LIGHT
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_DARK
+F:RES_LITE
D:A suit of armour made of dragon hide, glowing with a strange light, or is it darkness?
N:407:& Law Dragon Scale Mail~
@@ -3602,9 +3706,15 @@ I:38:12:0
W:80:0:200:80000
A:80/16
P:30:2d4:-2:0:10
-a:HARDCORE=BR_SHARD
-F:RES_SOUND | RES_SHARDS | FLY |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_SHARD
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_SHARDS
+F:RES_SOUND
D:A piece of dragonhide cut and shaped so it can be worn as armour. The scales are very sharp,
D:and the roaring of a storm seems to come from it, but you're not afraid of either.
@@ -3614,9 +3724,14 @@ I:38:14:0
W:50:0:200:40000
A:50/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_CONF
-F:RES_CONF | FLY |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_CONF
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_CONF
D:A suit of armour made from dragon skin. Its brownish scales glitter in a dazzling light.
N:409:& Gold Dragon Scale Mail~
@@ -3625,9 +3740,14 @@ I:38:16:0
W:60:0:200:50000
A:60/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_SOUND
-F:RES_SOUND | FLY |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_SOUND
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_SOUND
D:A suit of golden-hued armour made of dragonhide. The rustle of its scales occasionally
D:increases to a loud boom.
@@ -3637,11 +3757,17 @@ I:38:18:0
W:80:0:200:80000
A:80/16
P:30:2d4:-2:0:10
-a:HARDCORE=BR_CHAOS
+a:BR_CHAOS
+F:ACTIVATE
F:ATTR_MULTI
-F:RES_CHAOS | RES_DISEN | FLY |
-f:RES_CHAOS |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_CHAOS
+F:RES_DISEN
+f:RES_CHAOS
D:A suit of armour made of dragon hide. It glows in colours you have never seen before. As you
D:put it on, you feel like you could change the world and are no longer afraid of your equipment
D:losing its magic.
@@ -3652,9 +3778,17 @@ I:38:20:0
W:95:0:200:100000
A:95/32
P:30:2d4:-2:0:10
-a:HARDCORE=BR_BALANCE
-F:RES_CHAOS | RES_DISEN | RES_SOUND | RES_SHARDS | FLY |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+a:BR_BALANCE
+F:ACTIVATE
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_CHAOS
+F:RES_DISEN
+F:RES_SHARDS
+F:RES_SOUND
D:A suit of armour made of the hide of a dead dragon. When wearing it, you feel like you
D:understand the principles of law and chaos, and no longer fear either.
@@ -3664,12 +3798,28 @@ I:38:30:0
W:100:0:250:350000
A:100/64
P:40:2d4:-3:0:15
-a:HARDCORE=BR_POWER
+a:BR_POWER
+F:ACTIVATE
F:ATTR_MULTI
-F:RES_ACID | RES_FIRE | RES_COLD | RES_ELEC | RES_POIS | FLY |
-F:RES_NETHER | RES_NEXUS | RES_CHAOS | RES_LITE | RES_DARK |
-F:RES_SHARDS | RES_SOUND | RES_DISEN | RES_CONF |
-F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:FLY
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+F:RES_CHAOS
+F:RES_COLD
+F:RES_CONF
+F:RES_DARK
+F:RES_DISEN
+F:RES_ELEC
+F:RES_FIRE
+F:RES_LITE
+F:RES_NETHER
+F:RES_NEXUS
+F:RES_POIS
+F:RES_SHARDS
+F:RES_SOUND
D:A suit of armour made of a very thick richly coloured dragonhide. You think you'll never have
D:to fear dragons if you put it on.
@@ -3681,7 +3831,10 @@ I:32:7:0
W:45:0:50:10000
A:80/4
P:8:1d3:0:0:10
-F:IGNORE_ACID | IGNORE_FIRE | IGNORE_ELEC | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
D:An iron helmet, covered with a layer of dragonhide. It offers great protection and may grant
D:protection against some dragon's attacks, based on the dragon the hide was taken from.
@@ -3691,7 +3844,10 @@ I:34:6:0
W:70:0:100:10000
A:80/4
P:8:1d3:0:0:10
-F:IGNORE_ACID | IGNORE_FIRE | IGNORE_ELEC | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
D:A large shield, with a dragonskin cover. Depending on which dragon the hide came from, it
D:might grant protection against some sorts of dragon breath.
@@ -3756,15 +3912,6 @@ P:0:1d1:0:0:0
D:This wonderful potion will fully heal you no matter how badly you're hurt, allow drained
D:abilities to recover and remove various other ailments.
-N:421:Self Knowledge
-G:!:d
-I:71:58:0
-W:40:0:4:2000
-A:40/1
-P:0:1d1:0:0:0
-F:FOUNTAIN
-D:A drink of insight, letting you know yourself better.
-
N:422:*Enlightenment*
G:!:d
I:71:57:0
@@ -3783,8 +3930,9 @@ G:=:d
I:45:38:0
W:10:0:2:300
A:10/2
-F:RES_FEAR | EASY_KNOW
-f:RES_FEAR |
+F:EASY_KNOW
+F:RES_FEAR
+f:RES_FEAR
D:This ring grants courage, so that you can never become afraid.
N:426:Light and Darkness Resistance
@@ -3792,8 +3940,11 @@ G:=:d
I:45:39:0
W:30:0:2:3000
A:30/2
-F:RES_LITE | RES_DARK | EASY_KNOW
-f:RES_LITE | RES_DARK |
+F:EASY_KNOW
+F:RES_DARK
+F:RES_LITE
+f:RES_DARK
+f:RES_LITE
D:This ring protects against fluctuations of the light.
N:427:Nether Resistance
@@ -3801,8 +3952,10 @@ G:=:d
I:45:40:0
W:34:0:2:14500
A:34/2
-F:RES_NETHER | HOLD_LIFE | EASY_KNOW
-f:RES_NETHER |
+F:EASY_KNOW
+F:HOLD_LIFE
+F:RES_NETHER
+f:RES_NETHER
D:This blessed ring improves your life force, protecting you from the draining forces of nether
D:and other attempts to suck your lifeblood.
@@ -3811,8 +3964,9 @@ G:=:d
I:45:41:0
W:24:0:2:3000
A:24/2
-F:RES_NEXUS | EASY_KNOW
-f:RES_NEXUS |
+F:EASY_KNOW
+F:RES_NEXUS
+f:RES_NEXUS
D:This ring of stability protects you from the warping forces of nexus.
N:429:Sound Resistance
@@ -3820,8 +3974,9 @@ G:=:d
I:45:42:0
W:26:0:2:3000
A:26/2
-F:RES_SOUND | EASY_KNOW
-f:RES_SOUND |
+F:EASY_KNOW
+F:RES_SOUND
+f:RES_SOUND
D:This ring projects an aura of quiet around you, protecting you from loud noise.
N:430:Confusion Resistance
@@ -3829,8 +3984,9 @@ G:=:d
I:45:43:0
W:22:0:2:3000
A:22/2
-F:RES_CONF | EASY_KNOW
-f:RES_CONF |
+F:EASY_KNOW
+F:RES_CONF
+f:RES_CONF
D:This ring stabilises your mind, protecting you from all kinds of befuddlement.
N:431:Shard Resistance
@@ -3838,8 +3994,9 @@ G:=:d
I:45:44:0
W:25:0:2:3000
A:25/2
-F:RES_SHARDS | EASY_KNOW
-f:RES_SHARDS |
+F:EASY_KNOW
+F:RES_SHARDS
+f:RES_SHARDS
D:This piece of jewellery magically toughens your skin, protecting you from flying shrapnel.
N:432:Disenchantment Resistance
@@ -3847,8 +4004,9 @@ G:=:d
I:45:45:0
W:90:0:2:15000
A:90/10
-F:RES_DISEN | EASY_KNOW
-f:RES_DISEN |
+F:EASY_KNOW
+F:RES_DISEN
+f:RES_DISEN
D:This rare ring of preservation protects your equipment from attempts to sap its magic, also
D:causing you to suffer less pain from such attacks.
@@ -3857,8 +4015,10 @@ G:=:d
I:45:46:0
W:50:0:2:13000
A:50/2
-F:RES_CHAOS | RES_CONF | EASY_KNOW
-f:RES_CHAOS |
+F:EASY_KNOW
+F:RES_CHAOS
+F:RES_CONF
+f:RES_CHAOS
D:This ring protects you from the horribly warping forces of chaos.
N:434:Blindness Resistance
@@ -3866,8 +4026,9 @@ G:=:d
I:45:47:0
W:60:0:2:7500
A:60/2
-F:RES_BLIND | EASY_KNOW
-f:RES_BLIND |
+F:EASY_KNOW
+F:RES_BLIND
+f:RES_BLIND
D:This ring magically preserves your eyesight, making you impervious to any attempt to blind
D:you.
@@ -3876,8 +4037,14 @@ G:=:d
I:45:48:0
W:100:0:2:100000
A:100/5
-F:RES_DISEN | RES_POIS | HOLD_LIFE | FREE_ACT
-f:RES_DISEN | RES_POIS | HOLD_LIFE | FREE_ACT
+F:FREE_ACT
+F:HOLD_LIFE
+F:RES_DISEN
+F:RES_POIS
+f:FREE_ACT
+f:HOLD_LIFE
+f:RES_DISEN
+f:RES_POIS
D:This blessed ring will protect you from disenchantment, poison, attempts to drain your life
D:force and holding magic.
@@ -3961,7 +4128,10 @@ I:17:3:0
W:55:0:2:35
A:50/4:90/2
P:0:3d4:0:0:0
-F:SHOW_MODS | SLAY_EVIL | IGNORE_ACID | IGNORE_FIRE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:SHOW_MODS
+F:SLAY_EVIL
D:An arrow to be shot with a bow, its iron head coated with hallowed silver,
D:a material that sears the flesh of all evil creatures.
@@ -3971,7 +4141,10 @@ I:18:3:0
W:50:0:2:40
A:60/4:95/2
P:0:3d5:0:0:0
-F:SHOW_MODS | SLAY_EVIL | IGNORE_ACID | IGNORE_FIRE
+F:IGNORE_ACID
+F:IGNORE_FIRE
+F:SHOW_MODS
+F:SLAY_EVIL
D:This crossbow bolt has a silver tip, blessed by the Valar for fighting evil.
N:467:Lightning Resistance
@@ -3979,8 +4152,10 @@ G:":d
I:40:29:0
W:10:0:3:250
A:10/1
-F:RES_ELEC | IGNORE_ELEC | EASY_KNOW
-f:RES_ELEC |
+F:EASY_KNOW
+F:IGNORE_ELEC
+F:RES_ELEC
+f:RES_ELEC
D:This amulet will protect you from electrical discharges and storms.
N:468:Wisdom
@@ -3988,8 +4163,10 @@ G:":d
I:40:28:0
W:30:0:3:500
A:30/1
-F:WIS | SUST_WIS | HIDE_TYPE
-f:WIS |
+F:HIDE_TYPE
+F:SUST_WIS
+F:WIS
+f:WIS
D:This magical amulet will magically make you wiser, and fend off
D:attacks that would reduce your wisdom. Beware: if cursed, the
D:amulet will do the opposite.
@@ -3999,8 +4176,9 @@ G:":d
I:40:30:0
W:30:0:3:600
A:30/3
-F:REGEN | EASY_KNOW
-f:REGEN |
+F:EASY_KNOW
+F:REGEN
+f:REGEN
D:Wearing this amulet will trigger your body's regenerational
D:processes quicker and make them proceed faster.
@@ -4009,8 +4187,9 @@ G:":d
I:40:26:0
W:10:0:3:200
A:10/1
-F:INFRA | HIDE_TYPE
-f:INFRA |
+F:HIDE_TYPE
+F:INFRA
+f:INFRA
D:This amulet will increase your ability to sense warm-blooded
D:creatures in your vicinity. Beware: if cursed, it will do
D:just the opposite.
@@ -4020,8 +4199,16 @@ G:":d
I:40:25:0
W:70:0:3:30000
A:70/8
-F:WIS | CHR | SUST_WIS | SUST_CHR | LITE1 | HIDE_TYPE |
-F:RES_DARK | RES_LITE | RES_FIRE | HOLD_LIFE |
+F:CHR
+F:HIDE_TYPE
+F:HOLD_LIFE
+F:LITE1
+F:RES_DARK
+F:RES_FIRE
+F:RES_LITE
+F:SUST_CHR
+F:SUST_WIS
+F:WIS
D:This blessed amulet will protect your wisdom and charms from
D:diminishing, often adding to them as well. It also grants
D:some extra protective magics by the grace of the Valar.
@@ -4031,8 +4218,14 @@ G:":d
I:40:24:0
W:70:0:3:30000
A:70/8
-F:STR | CON | SUST_STR | SUST_CON | FREE_ACT | HIDE_TYPE |
-F:RES_FEAR | RES_DISEN |
+F:CON
+F:FREE_ACT
+F:HIDE_TYPE
+F:RES_DISEN
+F:RES_FEAR
+F:STR
+F:SUST_CON
+F:SUST_STR
D:The ultimate amulet for a warrior, it will grant protection
D:in the face of some evil magics, protect your strength and health,
D:also increasing them. Beware: if cursed, the amulet will
@@ -4043,8 +4236,14 @@ G:":d
I:40:23:0
W:70:0:3:30000
A:70/8
-F:DEX | SUST_DEX | STEALTH | SPEED | INFRA | HIDE_TYPE |
-F:RES_NEXUS | RES_POIS
+F:DEX
+F:HIDE_TYPE
+F:INFRA
+F:RES_NEXUS
+F:RES_POIS
+F:SPEED
+F:STEALTH
+F:SUST_DEX
D:The ultimate amulet for a rogue or assassin, it protects the
D:wearer against some evil magics, granting improvements in
D:the abilities vital to these adventurers. Beware: if cursed,
@@ -4055,9 +4254,12 @@ G:":d
I:40:22:0
W:50:0:3:25000
A:50/6
-F:ESP_ALL |
-f:ESP_ALL |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:ESP_ALL
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+f:ESP_ALL
D:This rare and powerful amulet lays bare the minds of monsters
D:before the wearer.
@@ -4066,9 +4268,19 @@ G:":d
I:40:21:0
W:60:0:3:20000
A:60/4
-F:SUST_STR | SUST_INT | SUST_WIS | SUST_DEX | SUST_CON | SUST_CHR |
-F:HOLD_LIFE | SLOW_DIGEST | EASY_KNOW |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:EASY_KNOW
+F:HOLD_LIFE
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:SLOW_DIGEST
+F:SUST_CHR
+F:SUST_CON
+F:SUST_DEX
+F:SUST_INT
+F:SUST_STR
+F:SUST_WIS
D:This blessed amulet will make the wearer impervious to evil magics
D:that would sap innate abilities. It also slows down the digestive
D:system, making food less necessary on long journeys.
@@ -4104,7 +4316,8 @@ N:479:& Ring~
G:=:d
I:45:57:0
W:70:0:2:65000
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
##### And here starts the gold/gems #####
@@ -4210,7 +4423,10 @@ G:\:D
I:21:50:0
W:15:0:200:1000
P:0:3d9:0:0:0
-F:SHOW_MODS | INSTA_ART | MUST2H | SPECIAL_GENE
+F:INSTA_ART
+F:MUST2H
+F:SHOW_MODS
+F:SPECIAL_GENE
f:MUST2H
N:499:& Massive Iron Crown~
@@ -4218,7 +4434,8 @@ G:]:D
I:33:50:0
W:44:0:20:1000
P:0:1d1:0:0:0
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
##### Objects 500 to 511 are "Special Artifacts" #####
@@ -4322,7 +4539,8 @@ N:508:& Ring~
G:=:d
I:45:34:0
W:80:0:2:100000
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
# The Ring of Power 'Nenya' -- see artifact list
@@ -4365,9 +4583,13 @@ G:":d
I:40:9:0
W:60:0:3:30000
A:60/4
-F:REFLECT | EASY_KNOW
-f:REFLECT |
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:EASY_KNOW
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:REFLECT
+f:REFLECT
D:This wondrous amulet will magically make the wearer
D:reflect arrows and bolts launched by adversaries.
@@ -4378,9 +4600,12 @@ G:":d
I:40:13:0
W:40:0:3:30000
A:40/4
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:NO_MAGIC
f:NO_MAGIC
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:This amulet wards off magic of any kind, good or bad.
N:522:Anti-Teleportation
@@ -4388,9 +4613,12 @@ G:":d
I:40:14:0
W:30:0:3:15000
A:30/4
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:NO_TELE
f:NO_TELE
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:This amulet will prevent the space-time continuum from
D:being disrupted around the wearer.
@@ -4401,9 +4629,18 @@ G:":d
I:40:15:0
W:50:0:3:25000
A:50/4
-F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD
-f:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:RES_ACID
+F:RES_COLD
+F:RES_ELEC
+F:RES_FIRE
+f:RES_ACID
+f:RES_COLD
+f:RES_ELEC
+f:RES_FIRE
D:This amulet will make the wearer resist the elements.
##### New arms #####
@@ -4414,7 +4651,8 @@ I:23:29:0
W:40:0:280:580
A:40/3
P:0:4d6:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This great sword of foreign origin is approximately 6 feet long. The hilt is
D:long enough for even four hands to grip. A mighty weapon for a warrior.
@@ -4426,7 +4664,9 @@ I:39:3:0
W:15:0:50:5000
A:15/2
P:0:1d1:0:0:0
-F:EASY_KNOW | IGNORE_FIRE | LITE2
+F:EASY_KNOW
+F:IGNORE_FIRE
+F:LITE2
f:LITE2
D:Made by the dwarves, this lantern provides light in the
D:darkest recesses of the earth.
@@ -4447,7 +4687,9 @@ I:39:2:0
W:5:0:50:2500
A:5/1
P:0:1d1:0:0:0
-F:EASY_KNOW | IGNORE_FIRE | LITE1
+F:EASY_KNOW
+F:IGNORE_FIRE
+F:LITE1
f:LITE1
D:This enchanted torch never needs to be fuelled.
@@ -4478,7 +4720,9 @@ I:39:4:0
W:25:0:50:15000
A:25/3
P:0:1d1:0:0:0
-F:EASY_KNOW | IGNORE_FIRE | LITE3
+F:EASY_KNOW
+F:IGNORE_FIRE
+F:LITE3
f:LITE3
D:Made by the descendants of the Noldo craftsman, this lamp
D:contains a part of the flame which burned inside Feanor.
@@ -4507,7 +4751,8 @@ I:24:1:0
W:10:0:60:120
A:10/2
P:0:1d5:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:This is a large axe that could be wielded in one or two hands. It has
D:a single blade with a pick on the reverse, designed for armour piercing.
@@ -4585,7 +4830,8 @@ I:23:26:0
W:40:0:230:600
A:40/2
P:0:3d7:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:A large, two-handed sword with a blade that weaves
D:left and right until it reaches the hilt.
@@ -4596,7 +4842,8 @@ I:23:23:0
W:40:0:200:600
A:40/2
P:0:2d8:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:Also known as a Claidhmore, or Greatsword, this weapon is favoured
D:by powerful mercenaries. The blade is large, straight, and broad,
@@ -4608,7 +4855,8 @@ I:23:24:0
W:40:0:200:600
A:40/3
P:0:2d9:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This is the strictly two-handed version of the bastard sword.
D:The blade is of medium length, double-edged, and considerably
@@ -4620,39 +4868,20 @@ I:23:22:0
W:40:0:240:500
A:40/3
P:0:4d5:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This is a larger version of the curved oriental blade.
D:Runes of war decorate its golden hilt.
-
-### Trapping Kits
-
-N:549:Arrow
-G:`:r
-I:46:2:0
-W:10:0:60:150
-A:10/2:50/2
-F:SHOW_MODS
-D:It must be loaded with arrows, which will be
-D:fired at the monster who triggers the trap.
-
-N:550:Bolt
-G:`:o
-I:46:3:0
-W:20:0:220:300
-A:20/2:50/2
-F:SHOW_MODS
-D:It must be loaded with crossbow bolts, which will
-D:be fired at the monster who triggers the trap.
-
N:551:& Fauchard~
G:/:s
I:22:6:0
W:18:0:155:301
A:18/2
P:0:1d10:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:It is a type of glaive with two ornate hooks on the back
D:of the blade. It is typically 8 to 9 feet long.
@@ -4663,7 +4892,8 @@ I:22:16:0
W:21:0:165:320
A:21/1
P:0:2d5:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:Mounted on a long shaft for maximum reach, this weapon is
D:effective at repelling both cavalry and infantry.
@@ -4674,7 +4904,8 @@ I:22:29:0
W:43:0:400:700
A:43/2
P:0:4d8:0:0:0
-F:SHOW_MODS | MUST2H
+F:MUST2H
+F:SHOW_MODS
f:MUST2H
D:This is a shock weapon. Its purpose is to unhorse a rider
D:in single combat, or smash through the armour of opposing lines.
@@ -4690,17 +4921,6 @@ D:This is a two-edged dagger with a long blade. A favourite among travellers
D:and warriors alike, it can be worn comfortably with plain clothes
D:as well as armour.
-### Trapping Kits
-
-N:555:Catapult
-G:`:R
-I:46:1:0
-W:1:0:50:40
-A:1/2:20/2
-F:SHOW_MODS
-D:It must be loaded with sling bullets, which will
-D:be fired at the monster who triggers the trap.
-
N:556:& Ring Mail~
G:[:s
I:37:2:0
@@ -4737,16 +4957,6 @@ P:4:1d1:0:0:0
D:Heavy, multi-layered cloth sewn together to cover the body,
D:with extra padding between layers.
-### Trapping Kits
-
-N:560:Fumes
-G:`:G
-I:46:4:0
-W:2:0:20:50
-A:2/2:30/2
-D:It must be loaded with potions, which will splatter
-D:over the monster who triggers the trap.
-
N:561:& Stone and Hide Armour~
G:(:U
I:36:15:0
@@ -4755,26 +4965,6 @@ A:35/7
P:15:1d1:-1:0:0
D:A primitive armour made from a thick hide reinforced by stone shards.
-### Trapping Kits
-
-N:562:Magic
-G:`:g
-I:46:5:0
-W:5:0:20:50
-A:5/2:40/2
-F:IGNORE_ACID | IGNORE_FIRE | IGNORE_COLD | IGNORE_ELEC
-D:It must be loaded with scrolls, which will release
-D:their spells at the monster who triggers the trap.
-
-N:563:Device
-G:`:v
-I:46:6:0
-W:20:0:20:50
-A:20/2:40/2:60/2
-F:IGNORE_ACID | IGNORE_FIRE | IGNORE_COLD | IGNORE_ELEC
-D:It must be loaded with a magic device (wand, staff, or rod), which
-D:will fire its spell at the monster who triggers the trap.
-
N:564:Nothing
G:?:d
I:70:53:0
@@ -4782,13 +4972,6 @@ W:1:0:5:2
A:1/1
P:0:1d1:0:0:0
-N:565:Poison
-G:*:G
-I:4:1:5
-W:0:0:4:2
-A:0/1
-P:0:1d1:0:0:0
-
# wand
N:566:Nothing
G:-:d
@@ -4796,7 +4979,8 @@ I:65:2:-1:SPELL=Nothing
W:2:0:10:20
A:2/1
P:0:1d1:0:0:0
-F:NO_RECHARGE | SPECIAL_GENE
+F:NO_RECHARGE
+F:SPECIAL_GENE
N:567:Nothing
G:=:d
@@ -4811,7 +4995,8 @@ I:55:30:0
W:5:0:50:50
A:5/1
P:0:1d1:0:0:0
-F:NO_RECHARGE | SPECIAL_GENE
+F:NO_RECHARGE
+F:SPECIAL_GENE
N:569:Nothing
G:-:d
@@ -4821,22 +5006,6 @@ A:5/1
P:0:1d1:0:0:0
-# Here comes the Essences (randomly interspersed with other stuff...)
-
-N:570:Explosion
-G:*:G
-I:4:2:50
-W:0:0:4:2
-A:0/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
-N:571:Teleport
-G:*:G
-I:4:3:190
-W:0:0:4:2
-A:5/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
# Amulet of Nothing
N:572:Nothing
@@ -4855,31 +5024,11 @@ W:70:0:4:10000
A:70/16
P:0:1d1:0:0:0
T:71:2
-F:NORM_ART | FULL_NAME
+F:FULL_NAME
+F:NORM_ART
D:Quaffing this measure of living blood will imbue your body and soul
D:with the power to escape death one time.
-N:574:Cold
-G:*:G
-I:4:4:200
-W:0:0:4:2
-A:5/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
-N:575:Fire
-G:*:G
-I:4:5:200
-W:0:0:4:2
-A:5/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
-N:576:Acid
-G:*:G
-I:4:6:200
-W:0:0:4:2
-A:6/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
# Mage staffs (for Sorcerers to wield.)
N:577:& Mage Staff~
@@ -4888,7 +5037,8 @@ I:6:1:0
W:5:0:12:300
A:5/1:20/1:50/1:80/1
P:0:1d4:0:0:0
-F:SHOW_MODS | COULD2H
+F:COULD2H
+F:SHOW_MODS
f:COULD2H
D:It looks like a simple walking stick, plain and nondescript.
D:In the hands of a spellcaster, it can be a deadly weapon.
@@ -4901,35 +5051,14 @@ I:45:56:0
W:50:0:2:3000
A:50/1
P:0:0d0:0:0:15
-a:HARDCORE=BA_ELEC_4
-F:RES_ELEC | IGNORE_ELEC | ACTIVATE
-f:RES_ELEC |
+a:BA_ELEC_4
+F:ACTIVATE
+F:IGNORE_ELEC
+F:RES_ELEC
+f:RES_ELEC
D:This sparkling circlet grants you protection, makes electricity less
D:dangerous and even allows you to call forth a ball of lightning.
-# More essences
-
-N:579:Life
-G:*:G
-I:4:7:300
-W:0:0:4:2
-A:0/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
-N:580:Confusion
-G:*:G
-I:4:8:100
-W:0:0:4:2
-A:0/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
-N:581:Light
-G:*:G
-I:4:9:60
-W:0:0:4:2
-A:0/1:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
# The Ring of Flare -- see artifact list
N:582:& Ring~
@@ -4950,14 +5079,6 @@ F:FOUNTAIN
D:This magical brew will temporarily hide you from sight, and also attunes you
D:to this state so that your eyes can still perceive your hidden form.
-N:584:Chaos
-G:*:G
-I:4:10:200
-W:20:0:4:2
-A:20/1
-P:0:1d1:0:0:0
-F:ATTR_MULTI
-
# Potion of Corruption
N:585:Corruption
@@ -4976,19 +5097,11 @@ G:=:d
I:45:53:4
W:50:0:2:10000
A:50/1
-F:INVIS | HIDE_TYPE
-f:INVIS |
+F:HIDE_TYPE
+F:INVIS
+f:INVIS
D:This magical bauble will hide you from sight.
-### Just another essence, to confuse the edit file hackers ;) ###
-
-N:587:Time
-G:*:G
-I:4:11:600
-W:20:0:4:2
-A:20/1:40/1:60/1
-P:0:1d1:0:0:0
-
######### Here are the parchments ########
N:588:Deep Thoughts
@@ -5135,7 +5248,8 @@ I:72:1:0
W:5:0:4:100
A:1/3:5/1:10/1
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:This concoction can transform your body for a short period of time.
# XXX 606 -> 617
@@ -5154,15 +5268,6 @@ D:extra protection.
# XXX 619 -> 639
-# One more essence...
-
-N:640:Magic
-G:*:G
-I:4:12:700
-W:20:0:4:2
-A:30/1:50/1:80/1
-P:0:1d1:0:0:0
-
# Here are the corpses
N:641:corpse
@@ -5217,7 +5322,8 @@ I:36:16:0
W:5:0:60:400
A:25/1
P:9:1d1:0:0:0
-F:RES_FIRE | RES_COLD |
+F:RES_COLD
+F:RES_FIRE
D:This suit of thick impregnated cloth is worn by the riders of flying steeds,
D:and protects them from extremes of temperatures.
@@ -5226,7 +5332,8 @@ N:647:& Stone~
G:~:g
I:39:106:0
W:15:0:15:20000
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
# Here are the boomerangs
@@ -5354,7 +5461,9 @@ G:~:o
I:102:0:0
W:1:0:50:0
A:1/1:10/1:20/1:30/1
-F:INSTA_ART | ACTIVATE | ACTIVATE_NO_WIELD
+F:ACTIVATE
+F:ACTIVATE_NO_WIELD
+F:INSTA_ART
N:663:Craftsmanship
G:?:d
@@ -5383,7 +5492,9 @@ I:14:60:1
W:7:0:30:400
A:7/2:20/1:40/1:80/1
P:0:1d1:0:0:0
-F:CON | ACTIVATE | WIELD_CAST
+F:ACTIVATE
+F:CON
+F:WIELD_CAST
D:A simple wind instrument made from brass. If used by inexperienced musicians it sounds
D:like somebody making "prbbt!" noises down a drainpipe.
@@ -5393,7 +5504,8 @@ I:14:58:1
W:7:0:30:400
A:7/2:20/1:40/1:80/1
P:0:1d1:0:0:0
-F:STR | WIELD_CAST
+F:STR
+F:WIELD_CAST
D:A sort of clay pot with a bit of skin stretched over its mouth.
N:671:& Harp~
@@ -5402,7 +5514,8 @@ I:14:59:1
W:7:0:30:400
A:7/2:20/1:40/1:80/1
P:0:1d1:0:0:0
-F:CHR | WIELD_CAST
+F:CHR
+F:WIELD_CAST
D:A number of strings held by a wooden frame.
#N:672:& Banjo~
@@ -5446,7 +5559,8 @@ I:10:1:0
W:5:0:30:100
A:5/1:15/1:25/1:35/1
P:0:1d1:0:0:0
-F:ACTIVATE | ACTIVATE_NO_WIELD
+F:ACTIVATE
+F:ACTIVATE_NO_WIELD
### Two more scrolls ###
@@ -5466,169 +5580,6 @@ A:30/1:45/1:55/1
D:This scroll is inscribed with a ritual which allows you to discern what fate holds in store for
D:you.
-### Here comes the Runes ###
-
-N:679:Self
-G:?:b
-I:105:0:0
-W:3:5:2:40
-A:3/1
-P:0:1d1:0:0:0
-
-N:680:Ray
-G:?:b
-I:105:2:0
-W:10:5:2:300
-A:10/1
-P:0:1d1:0:0:0
-F:IGNORE_COLD | IGNORE_ELEC
-
-N:681:Sphere
-G:?:b
-I:105:3:0
-W:15:5:2:1000
-A:15/1
-P:0:1d1:0:0:0
-F:IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-
-N:682:Knowledge
-G:?:b
-I:104:91:0
-W:6:5:2:200
-A:6/1
-P:0:1d1:0:0:0
-
-N:683:Life
-G:?:D
-I:104:53:0
-W:3:5:2:200
-A:3/1
-P:0:1d1:0:0:0
-
-N:684:Fire
-G:?:r
-I:104:5:0
-W:10:5:2:300
-A:10/1
-P:0:1d1:0:0:0
-F:IGNORE_FIRE
-
-N:685:Cold
-G:?:b
-I:104:4:0
-W:12:5:2:300
-A:12/1
-P:0:1d1:0:0:0
-F:IGNORE_COLD
-
-N:686:Lightning
-G:?:W
-I:104:1:0
-W:13:5:2:300
-A:13/1
-P:0:1d1:0:0:0
-F:IGNORE_ELEC
-
-N:687:Acid
-G:?:B
-I:104:3:0
-W:16:5:2:300
-A:16/1
-P:0:1d1:0:0:0
-F:IGNORE_ACID
-
-N:688:Element
-G:?:g
-I:104:10:0
-W:23:5:2:1000
-A:23/1
-P:0:1d1:0:0:0
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-
-N:689:Chaos
-G:?:v
-I:104:30:0
-W:26:5:2:2000
-A:26/1
-P:0:1d1:0:0:0
-F:ATTR_MULTI
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-
-N:690:Mind
-G:?:D
-I:104:85:0
-W:19:5:2:3000
-A:19/1
-P:0:1d1:0:0:0
-F:IGNORE_ELEC
-
-N:691:Holding
-G:?:B
-I:104:75:0
-W:5:5:2:500
-A:5/1
-P:0:1d1:0:0:0
-F:IGNORE_ACID
-
-N:692:Arrow
-G:?:b
-I:105:1:0
-W:6:5:2:100
-A:6/1
-P:0:1d1:0:0:0
-F:IGNORE_ELEC
-
-N:693:Power Surge
-G:?:b
-I:105:4:0
-W:50:5:2:5000
-A:50/1
-P:0:1d1:0:0:0
-F:IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | IGNORE_ACID
-
-N:694:Armageddon
-G:?:b
-I:105:5:0
-W:30:5:2:4000
-A:30/1
-P:0:1d1:0:0:0
-F:IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | IGNORE_ACID
-
-N:695:Gravity
-G:?:G
-I:104:35:0
-W:16:5:2:300
-A:16/1
-P:0:1d1:0:0:0
-F:IGNORE_ACID
-
-# And, among the runes, one more essence...
-
-N:696:Extra Life
-G:*:G
-I:4:13:900
-W:50:0:4:2
-A:50/1:70/1:90/1
-P:0:1d1:0:0:0
-
-# Now, the rest of the runes...
-
-N:697:Undeath
-G:?:G
-I:104:92:0
-W:35:5:2:1000
-A:35/1
-P:0:1d1:0:0:0
-F:IGNORE_ACID
-
-N:698:Protection
-G:?:G
-I:104:74:0
-W:45:5:2:1500
-A:45/1
-P:0:1d1:0:0:0
-F:IGNORE_ACID
-
# XXX
# The Ring of Precognition (now a k_info.txt artifact)
@@ -5638,10 +5589,14 @@ I:45:51:0
W:90:0:2:300000
A:90/100
T:45:23
-F:PRECOGNITION |
-f:PRECOGNITION |
-F:NORM_ART | FULL_NAME
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:FULL_NAME
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:NORM_ART
+F:PRECOGNITION
+f:PRECOGNITION
D:This magical ring allows you to know what you will encounter in the near future.
# Athelas, cures Black Breath
@@ -5682,8 +5637,12 @@ I:70:40:0
W:90:0:5:160000
A:90/140
T:70:51
-F:NORM_ART | FULL_NAME
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:FULL_NAME
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:NORM_ART
D:It allows you to leave your body to reincarnate into
D:another one. However, your current body is lost in the process.
@@ -5693,7 +5652,8 @@ I:23:33:0
W:25:0:70:500
A:25/1:80/2
P:0:3d7:0:0:0
-F:SHOW_MODS | ANTIMAGIC_50
+F:ANTIMAGIC_50
+F:SHOW_MODS
f:ANTIMAGIC_50
D:A strange, very sharp long sword, which seems to drain light from its surroundings. As you
D:wield it, you feel much less attuned to magic.
@@ -5795,8 +5755,12 @@ W:90:0:4:100000
A:90/25
P:0:1d1:0:0:0
T:71:49
-F:NORM_ART | FULL_NAME
-F:IGNORE_ACID | IGNORE_FIRE | IGNORE_COLD | IGNORE_ELEC
+F:FULL_NAME
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:NORM_ART
D:This old potion is supposed to grant more learning power
D:to its user.
@@ -5835,8 +5799,9 @@ G:=:d
I:45:54:0
W:20:0:2:16000
A:20/3
-F:FLY | EASY_KNOW
-f:FLY |
+F:EASY_KNOW
+F:FLY
+f:FLY
D:This ring is imbued with the power of eagles. It grants you the power of flight.
N:756:& Tome~ of the Time
@@ -5845,7 +5810,8 @@ I:111:8:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:This tome seems to have trouble deciding whether it really exists now. Its flickering pages
D:contain all that is known about the currents of time.
@@ -5863,7 +5829,10 @@ I:111:9:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW | IGNORE_FIRE | ATTR_MULTI
+F:ATTR_MULTI
+F:EASY_KNOW
+F:FULL_NAME
+F:IGNORE_FIRE
D:This tome gives you deeper insights on the works of magic.
N:759:& Tome~ of the Mind
@@ -5872,7 +5841,8 @@ I:111:10:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:This tome has no pages; knowledge is transferred to you if you simply
D:hold it.
@@ -5882,7 +5852,8 @@ I:111:20:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:This dusty tome is filled with ancient rituals,
D:designed to uncover all that is hidden.
@@ -5892,7 +5863,8 @@ I:111:21:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:A large jewel-encrusted tome that transfers
D:wisdom and understanding to its wearer.
@@ -5902,7 +5874,8 @@ I:111:22:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:This tome fills you with glorious visions of total devastation.
D:Anyone in your way shall be destroyed.
@@ -5912,7 +5885,9 @@ I:111:11:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW | ATTR_MULTI
+F:ATTR_MULTI
+F:EASY_KNOW
+F:FULL_NAME
D:This singed book smells like burned flesh. Its power is as evident
D:as its thirst for your blood.
@@ -5922,7 +5897,8 @@ I:111:23:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
D:A black and scarlet flame springs from this tome, issuing
D:a thunderous roar under which you think you hear the screams of tormented souls.
@@ -5932,7 +5908,8 @@ I:111:24:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW
+F:EASY_KNOW
+F:FULL_NAME
# for the Library Quest
# Tome of PLAYER
@@ -5942,8 +5919,15 @@ I:111:61:0
W:50:0:30:25000
A:50/4
P:0:1d1:0:0:0
-F:FULL_NAME | EASY_KNOW | ATTR_MULTI | SPECIAL_GENE
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD | NORM_ART
+F:ATTR_MULTI
+F:EASY_KNOW
+F:FULL_NAME
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:NORM_ART
+F:SPECIAL_GENE
D:This book has some of your favourite spells inside.
# The Ring of Phasing -- see artifact list
@@ -5953,7 +5937,8 @@ G:=:d
I:45:55:0
W:110:0:2:300000
A:110/5
-F:INSTA_ART | SPECIAL_GENE
+F:INSTA_ART
+F:SPECIAL_GENE
N:771:[Earth]
G:?:R
@@ -5981,7 +5966,10 @@ I:114:2:0
W:50:0:30:2500
A:50/1
P:0:1d1:0:0:0
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:SPECIAL_GENE
D:A completely translucent gem; as you behold it, you hear a great wind and feel like you're
D:about to take off and fly away.
@@ -5992,7 +5980,10 @@ I:114:3:0
W:70:0:30:50000
A:70/3
P:0:1d1:0:0:0
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:SPECIAL_GENE
D:A large gem, filled with dark blue water. It feels strangely heavy and cold.
@@ -6002,7 +5993,10 @@ I:114:4:0
W:100:0:30:100000
A:100/3
P:0:1d1:0:0:0
-F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
F:SPECIAL_GENE
D:A large gem that seems somehow immaterial and is filled with a strange insubstantial... power?
@@ -6015,8 +6009,12 @@ W:90:0:15:150000
A:100/14
P:0:1d1:0:0:0
T:66:1
-F:NORM_ART | FULL_NAME
-F:IGNORE_FIRE | IGNORE_ACID | IGNORE_COLD | IGNORE_ELEC
+F:FULL_NAME
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:NORM_ART
D:This rod creates a little hatch, allowing access to your home, no matter how far away the abode
D:is.
@@ -6027,7 +6025,9 @@ I:23:32:1
W:50:900:45:2000
A:48/4:60/2:80/1
P:0:4d4:-2:2:0
-F:IGNORE_ACID | RES_DARK | STEALTH
+F:IGNORE_ACID
+F:RES_DARK
+F:STEALTH
f:STEALTH
D:A thin long sword made of a completely black metal, which reflects no light.
@@ -6037,7 +6037,8 @@ I:23:31:0
W:60:1800:50:6000
A:60/20
P:0:1d6:4:0:0
-F:SHOW_MODS | VORPAL
+F:SHOW_MODS
+F:VORPAL
D:A small sword made of a blueish metal with a strangely rough surface. As anything is hurt
D:with it, the weapon will stick inside the wound and cause horrible wounds when torn away.
@@ -6047,54 +6048,14 @@ G:":G
I:40:17:0
W:25:0:3:10000
A:25/1
-a:HARDCORE=BA_POIS_4
-F:RES_POIS | DEX | ACTIVATE
+a:BA_POIS_4
+F:ACTIVATE
+F:DEX
+F:RES_POIS
D:A petrified serpent's tongue, hung on a thin chain to be clasped around your neck. It makes you
D:like unto snakes, able to wriggle out of tight corners, impervious to poisons and poisonous
D:yourself.
-# Here comes the new Essences
-
-N:780:Darkness
-G:*:G
-I:4:14:20
-W:0:0:4:1
-A:0/1:20/1:40/1
-P:0:1d1:0:0:0
-D:It's a gem that eats all light that reaches it. It's perfectly black.
-
-N:781:Knowledge
-G:*:G
-I:4:15:100
-W:0:0:4:1
-A:20/1:30/1:70/1
-P:0:1d1:0:0:0
-D:It's a blue gem with countless formulae scribbled on it.
-
-N:782:Force
-G:*:G
-I:4:16:180
-W:0:0:4:1
-A:10/1:40/1
-P:0:1d1:0:0:0
-D:It's a green gem that can barely contain the forces in it.
-
-N:783:Lightning
-G:*:G
-I:4:17:200
-W:0:0:4:1
-A:28/1
-P:0:1d1:0:0:0
-D:It's a white gem. Inside you see lightning rage.
-
-N:784:Mana
-G:*:G
-I:4:18:400
-W:0:0:4:1
-A:45/2
-P:0:1d1:0:0:0
-D:It's an everchanging gem. You feel the magic throbbing through it.
-
# The Nine Rings for mortal men doomed to die! When a Nazgul is
# destroyed, it drops a Ring of Power with random powers.
@@ -6103,9 +6064,14 @@ G:=:d
I:45:5:0
W:100:0:2:1
A:100/100
-F:INVIS | DRAIN_EXP | CURSED | HEAVY_CURSE | CURSE_NO_DROP
+F:CURSED
+F:CURSE_NO_DROP
+F:DRAIN_EXP
+F:FULL_NAME
+F:HEAVY_CURSE
+F:INVIS
+F:SPECIAL_GENE
f:INVIS
-F:SPECIAL_GENE | FULL_NAME
# To help people climb mountains...
@@ -6135,7 +6101,9 @@ I:115:55:0
W:10:0:150:500
A:10/1
P:0:4d6:0:0:0
-F:SHOW_MODS | SLAY_DEMON | WIELD_CAST
+F:SHOW_MODS
+F:SLAY_DEMON
+F:WIELD_CAST
D:This blade has been taken from the corpse of a demon.
D:Some demonic energy is still coursing through it, helping
D:you slay other demons.
@@ -6146,7 +6114,8 @@ I:115:56:0
W:15:0:70:500
A:15/1
P:5:1d1:0:0:0
-F:REGEN | WIELD_CAST
+F:REGEN
+F:WIELD_CAST
D:This shield has been taken from the corpse of a demon.
D:Some demonic energy is still coursing through it, giving
D:life to any that wield it.
@@ -6157,7 +6126,8 @@ I:115:57:0
W:20:0:30:500
A:20/1
P:2:1d1:0:0:0
-F:LITE2 | WIELD_CAST
+F:LITE2
+F:WIELD_CAST
D:This horn is about six feet long. Just looking at it makes you nervous.
# XXX
@@ -6241,7 +6211,8 @@ I:80:41:0
W:90:5:2:60000
A:90/50
T:80:40
-F:NORM_ART | FULL_NAME
+F:FULL_NAME
+F:NORM_ART
D:This food will, once eaten, permanently add 70 HP.
# Scroll of Mass Resurrection - artifact scroll
@@ -6251,8 +6222,12 @@ I:70:43:0
W:55:0:5:0
A:55/1
T:70:1
-F:NORM_ART | FULL_NAME
-F:IGNORE_FIRE | IGNORE_ACID | IGNORE_COLD | IGNORE_ELEC
+F:FULL_NAME
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:NORM_ART
D:This magical scroll sends a call to the halls of Mandos, issuing forth all those who have been
D:slain by the reader.
@@ -6282,20 +6257,11 @@ I:24:30:0
W:70:0:300:6000
A:70/8
P:0:5d7:0:0:0
-F:SLAY_ANIMAL | SHOW_MODS
+F:SHOW_MODS
+F:SLAY_ANIMAL
D:A huge axe, the sort used for slaughtering animals, this weapon is unusually deadly against
D:natural creatures.
-N:806:& Runestone~
-G:?:v
-I:105:255:0
-W:10:5:2:300
-A:10/3:20/2:30/1:60/1
-P:0:1d1:0:0:0
-F:IGNORE_COLD | IGNORE_ELEC | IGNORE_FIRE | IGNORE_ACID
-D:A small oval stone. One surface is flat, as if something ought to be scratched or inscribed into
-D:it.
-
N:807:& Fortune cookie~
G:,:U
I:80:42:500
@@ -6322,7 +6288,12 @@ W:10:10:10:3200
A:10/200
P:0:10d10:0:0:0
T:65:6
-F:RECHARGE | SPECIAL_GENE | EASY_USE | RECHARGED | NORM_ART | FULL_NAME
+F:EASY_USE
+F:FULL_NAME
+F:NORM_ART
+F:RECHARGE
+F:RECHARGED
+F:SPECIAL_GENE
D:The miner's friend. This wand was used by Thrain to dig into the
D:walls of the dungeon. Its indestructible nature makes it quite useful.
@@ -6334,7 +6305,11 @@ W:50:10:10:12000
P:0:10d4:0:0:0
A:50/200
T:55:8
-F:RECHARGE | EASY_USE | RECHARGED | NORM_ART | FULL_NAME
+F:EASY_USE
+F:FULL_NAME
+F:NORM_ART
+F:RECHARGE
+F:RECHARGED
D:Mithrandir's staff that throws powerful fire attacks at all enemies. It
D:can be recharged without blowing up, for it is built to hold
D:much magical energy.
@@ -6368,7 +6343,11 @@ I:11:7:0
W:0:0:0:1000
A:0/1
P:0:1d1:0:0:0
-F:SPECIAL_GENE | IGNORE_COLD | IGNORE_ELEC | IGNORE_FIRE | IGNORE_ACID
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:SPECIAL_GENE
D:Although it looks like a piece of junk, it is actually part of an ancient
D:relic belonging to Priests of Eru. The relic now lies in pieces, hidden
D:from all but but his most dedicated followers.
@@ -6379,7 +6358,11 @@ I:11:8:0
W:0:0:0:1000
A:0/1
P:0:1d1:0:0:0
-F:SPECIAL_GENE | IGNORE_COLD | IGNORE_ELEC | IGNORE_FIRE | IGNORE_ACID
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:SPECIAL_GENE
D:Although it looks like a piece of junk, it is actually part of an ancient
D:relic belonging to Priests of Manwe. The relic now lies in pieces, hidden
D:from all but his most dedicated followers.
@@ -6390,7 +6373,11 @@ I:11:9:0
W:0:0:0:1000
A:0/1
P:0:1d1:0:0:0
-F:SPECIAL_GENE | IGNORE_COLD | IGNORE_ELEC | IGNORE_FIRE | IGNORE_ACID
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:SPECIAL_GENE
D:Although it looks like a piece of junk, it is actually part of an ancient
D:relic belonging to worshippers of Tulkas. The relic now lies in pieces,
D:hidden from all but his most dedicated followers.
@@ -6401,7 +6388,11 @@ I:11:10:0
W:0:0:0:1000
A:0/1
P:0:1d1:0:0:0
-F:SPECIAL_GENE | IGNORE_COLD | IGNORE_ELEC | IGNORE_FIRE | IGNORE_ACID
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:SPECIAL_GENE
D:Although it looks like a piece of junk, it is actually part of an ancient
D:relic belonging to Dark Priests. The relic now lies in pieces, hidden
D:from all but the most faithful followers of Melkor.
@@ -6412,7 +6403,11 @@ I:11:11:0
W:0:0:0:1000
A:0/1
P:0:1d1:0:0:0
-F:SPECIAL_GENE | IGNORE_COLD | IGNORE_ELEC | IGNORE_FIRE | IGNORE_ACID
+F:IGNORE_ACID
+F:IGNORE_COLD
+F:IGNORE_ELEC
+F:IGNORE_FIRE
+F:SPECIAL_GENE
D:Although it looks like a piece of junk, it is actually part of an ancient
D:relic belonging to Druids. The relic now lies in pieces, hidden
D:from all but the most faithful followers of Yavanna.
diff --git a/lib/edit/maeglin.map b/lib/edit/maeglin.map
index e3be9972..7916fd9b 100644
--- a/lib/edit/maeglin.map
+++ b/lib/edit/maeglin.map
@@ -11,7 +11,7 @@ F:X:63:3
F:<:172:3
# up stairs with maeglin
-F:{:6:3:825:0:0:0:0:0:0:2
+F:{:6:3:825:0:0:0:0:0:2
# Floor with dirt
F:.:88:5
@@ -56,7 +56,7 @@ F:R:88:5:644
F:O:88:5:645
# Floor with dirt with a Lesser Balrog
-F:U:88:5:996:0:0:0:0:0:0:2
+F:U:88:5:996:0:0:0:0:0:2
# Granite wall
F:#:56:5
diff --git a/lib/edit/misc.txt b/lib/edit/misc.txt
index 08e35c1f..06a9fcce 100644
--- a/lib/edit/misc.txt
+++ b/lib/edit/misc.txt
@@ -12,80 +12,8 @@ M:X:101
# Maximum y size of the wilderness
M:Y:66
-# Maximum number of randart parts in ra_info.txt
-M:Z:516
-
-# Maximum number of monsters in r_info.txt
-# WARNING ! add one more to the real count for the player ghost !!
-M:R:1078
-
-# Maximum number of monsters in re_info.txt
-# WARNING ! Use the exact amount of ego types used, if not you
-# will get weird results !
-M:r:14
-
-# Maximum number of items in k_info.txt
-M:K:819
-
-# Maximum number of vaults in v_info.txt
-M:V:108
-
-# Maximum number of terrain features in f_info.txt
-M:F:256
-
-# Maximum number of alchemist recipes
-M:a:1000
-
-# Maximum number of artifacts in a_info.txt
-M:A:219
-
-# Maximum number of sets types in set_info.txt
-M:s:10
-
-# Maximum number of ego-items in e_info.txt
-M:E:200
-
-# Maximum number of dungeon types in d_info.txt
-M:D:31
-
-# Maximum number of trap types in tr_info.txt
-M:U:176
-
-# Maximum number of terrain types in wf_info.txt
-M:W:30
-
-# Maximum number of owners types in ow_info.txt
-M:N:70
-
-# Maximum number of building actions in ba_info.txt
-M:B:62
-
-# Maximum number of store types in st_info.txt
-M:S:61
-
# Maximum size for "o_list[]"
M:O:1024
# Maximum size for "m_list[]"
M:M:768
-
-# Maximum number of race types in p_info.txt
-M:P:R:22
-
-# Maximum number of subrace types in p_info.txt
-M:P:S:10
-
-# Maximum number of class types in p_info.txt
-M:P:C:32
-
-# Maximum number of meta class types in p_info.txt
-M:P:M:1
-
-# Maximum number of histories types in p_info.txt
-M:P:H:266
-
-# Maximum number of skills in s_info.txt
-M:k:60
-
-# Maximum number of traits in ab_info.txt
-M:b:50
diff --git a/lib/edit/nirnaeth.map b/lib/edit/nirnaeth.map
index a8c06999..3ad0789c 100644
--- a/lib/edit/nirnaeth.map
+++ b/lib/edit/nirnaeth.map
@@ -14,28 +14,28 @@ F:s:88:5
F:V:84:5
# Dirt with Olog
-F:a:88:5:538:0:0:0:0:0:0:2
+F:a:88:5:538:0:0:0:0:0:2
# Dirt with Cave Troll
-F:b:88:5:496:0:0:0:0:0:0:2
+F:b:88:5:496:0:0:0:0:0:2
# Dirt with with Eldrak
-F:c:88:1:620:0:0:0:0:0:0:2
+F:c:88:1:620:0:0:0:0:0:2
# Dirt with with Ettin
-F:e:88:1:621:0:0:0:0:0:0:2
+F:e:88:1:621:0:0:0:0:0:2
# Dirt with with War troll
-F:f:88:1:631:0:0:0:0:0:0:2
+F:f:88:1:631:0:0:0:0:0:2
# Dirt with with Hru
-F:g:88:1:709:0:0:0:0:0:0:2
+F:g:88:1:709:0:0:0:0:0:2
# Dirt with Ulik the Troll
-F:h:88:5:729:0:0:0:0:0:0:2
+F:h:88:5:729:0:0:0:0:0:2
# Dirt with Ancient green dragon
-F:i:88:5:618:0:0:0:0:0:0:2
+F:i:88:5:618:0:0:0:0:0:2
# Dungeon
D:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
diff --git a/lib/edit/numenor.txt b/lib/edit/numenor.txt
index ec8621b1..0ca52738 100644
--- a/lib/edit/numenor.txt
+++ b/lib/edit/numenor.txt
@@ -1,7 +1,7 @@
# File: numenor.txt
# Way to the lost land of Numenor
-F:>:7:3:0:0:0:0:0:7
+F:>:7:3:0:0:0:0:7
############### Town Layout ###############
diff --git a/lib/edit/ow_info.txt b/lib/edit/ow_info.txt
index a1e3d0a3..7a27fc59 100644
--- a/lib/edit/ow_info.txt
+++ b/lib/edit/ow_info.txt
@@ -13,435 +13,814 @@
# L:liked races
# H:hated races
-# Version stamp (required)
-
-V:2.0.0
-
N:0:Bilbo the Friendly(Hobbit)
-I:20000:170:108:5:15
-C:120:100:80
-L:Elf | Half-Elf | High-Elf | Dunadan | Hobbit | Dwarf | RohanKnight
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold
+I:20000:120
+C:120:100:80
+L:Dunadan
+L:Dwarf
+L:Elf
+L:Half-Elf
+L:High-Elf
+L:Hobbit
+L:RohanKnight
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:1:Uldrik(Human)
-I:20000:170:108:1:1
+I:20000:120
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:2:Otick(Human)
-I:100:170:108:4:10
+I:100:120
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:3:Merana(Human)
-I:0:170:108:1:1
+I:0:120
C:200:100:95
L:Human
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:4:Mirimbar(High-Elf)
-I:0:170:108:1:1
+I:0:120
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:5:Raistlin the Chicken(Human)
-I:20000:175:108:4:12
+I:20000:130
C:120:100:80
L:Human
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:6:Sultan the Midget(Gnome)
-I:30000:170:107:5:15
+I:30000:120
C:120:100:80
-L:Gnome | Dwarf | Petty-Dwarf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dwarf
+L:Gnome
+L:Petty-Dwarf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:7:Lyar-el the Comely(Elf)
-I:30000:165:107:6:18
-C:120:100:80
-L:Elf | Half-Elf | Dark-Elf | High-Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+I:30000:120
+C:120:100:80
+L:Dark-Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:8:Kon-Dar the Ugly(Half-Orc)
-I:5000:210:115:5:7
-C:120:100:80
-L:Orc | Troll | Half-Ogre | Beorning | Kobold
-H:Gnome | Dwarf | Human | RohanKnight | Elf | Half-Elf | High-Elf
+I:5000:140
+C:120:100:80
+L:Beorning
+L:Half-Ogre
+L:Kobold
+L:Orc
+L:Troll
+H:Dwarf
+H:Elf
+H:Gnome
+H:Half-Elf
+H:High-Elf
+H:Human
+H:RohanKnight
N:9:Darg-Low the Grim(Human)
-I:10000:190:111:4:9
+I:10000:130
C:120:100:80
L:Human
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:10:Decado the Handsome(Dunadan)
-I:25000:200:112:4:10
+I:25000:140
C:120:100:80
-L:Human | Dunadan | RohanKnight
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Human
+L:RohanKnight
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:11:Wieland the Smith(Dwarf)
-I:30000:200:112:4:5
+I:30000:140
C:120:100:80
-L:Gnome | Dwarf | Petty-Dwarf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dwarf
+L:Gnome
+L:Petty-Dwarf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:12:Arnold the Beastly(Barbarian)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
N:13:Arndal Beast-Slayer(Half-Elf)
-I:10000:185:110:5:9
-C:120:100:80
-L:Elf | Half-Elf | Dark-Elf | High-Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+I:10000:130
+C:120:100:80
+L:Dark-Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:14:Eddie Beast-Master(Half-Orc)
-I:25000:190:115:5:7
-C:120:100:80
-L:Orc | Troll | Half-Ogre | Beorning | Kobold
-H:Gnome | Dwarf | Human | RohanKnight | Elf | Half-Elf | High-Elf
+I:25000:140
+C:120:100:80
+L:Beorning
+L:Half-Ogre
+L:Kobold
+L:Orc
+L:Troll
+H:Dwarf
+H:Elf
+H:Gnome
+H:Half-Elf
+H:High-Elf
+H:Human
+H:RohanKnight
N:15:Oglign Dragon-Slayer(Dwarf)
-I:30000:195:112:4:8
+I:30000:130
C:120:100:80
-L:Gnome | Dwarf | Petty-Dwarf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dwarf
+L:Gnome
+L:Petty-Dwarf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:16:Aragorn(Dunadan)
-I:20000:200:112:4:10
+I:20000:140
C:120:100:80
-L:Human | Dunadan | RohanKnight
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Human
+L:RohanKnight
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:17:Sondar(Human)
-I:0:200:112:4:10
+I:0:140
C:120:100:80
N:18:Celebor(Half-Elf)
-I:100:170:108:4:10
+I:100:120
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:19:Sharra(Human)
-I:25000:200:112:4:10
+I:25000:140
C:120:100:80
-L:Human | Dunadan | RohanKnight
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Human
+L:RohanKnight
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:20:Hjolgar(Barbarian)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
#L:Warrior |
N:21:Tanistil(Elf)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
#L:Mage | Sorceror | Thaumaturgist
#H:Warrior |
N:22:Eldore(Human)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
#L:Priest
#H:Necromancer
N:23:Vilios(Human)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
#L:Paladin
#H:Necromancer
N:24:Angros(Elf)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
#L:Ranger
N:25:Palano(Thunderlord)
-I:0:210:115:6:6
+I:0:140
C:120:100:80
L:Thunderlord
N:26:Ludwig the Humble(Dwarf)
-I:5000:175:109:6:15
+I:5000:130
C:120:100:80
-L:Gnome | Dwarf | Petty-Dwarf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dwarf
+L:Gnome
+L:Petty-Dwarf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:27:Gunnar the Paladin(Half-Troll)
-I:10000:185:110:5:23
-C:120:100:80
-L:Orc | Troll | Half-Ogre | Beorning | Kobold
-H:Gnome | Dwarf | Human | RohanKnight | Elf | Half-Elf | High-Elf
+I:10000:130
+C:120:100:80
+L:Beorning
+L:Half-Ogre
+L:Kobold
+L:Orc
+L:Troll
+H:Dwarf
+H:Elf
+H:Gnome
+H:Half-Elf
+H:High-Elf
+H:Human
+H:RohanKnight
N:28:Torin the Chosen(High-Elf)
-I:25000:180:107:6:20
+I:25000:130
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:29:Sarastro the Wise(Human)
-I:30000:185:109:5:15
+I:30000:130
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:30:Mauser the Chemist(Half-Elf)
-I:10000:190:111:5:8
+I:10000:130
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:31:Wizzle the Chaotic(Hobbit)
-I:10000:190:110:6:8
-C:120:100:80
-L:Elf | Half-Elf | High-Elf | Dunadan | Hobbit | Dwarf | RohanKnight
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+I:10000:130
+C:120:100:80
+L:Dunadan
+L:Dwarf
+L:Elf
+L:Half-Elf
+L:High-Elf
+L:Hobbit
+L:RohanKnight
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:32:Midas the Greedy(Gnome)
-I:15000:200:116:6:9
+I:15000:140
C:120:100:80
-L:Gnome | Dwarf | Petty-Dwarf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dwarf
+L:Gnome
+L:Petty-Dwarf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:33:Ja-Far the Alchemist(Elf)
-I:15000:220:111:4:9
-C:120:100:80
-L:Elf | Half-Elf | Dark-Elf | High-Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+I:15000:140
+C:120:100:80
+L:Dark-Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:34:Ariel the Sorceress(Half-Elf)
-I:20000:200:110:7:8
+I:20000:140
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:35:Buggerby the Great(Gnome)
-I:20000:215:113:6:10
+I:20000:140
C:120:100:80
-L:Gnome | Dwarf | Petty-Dwarf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dwarf
+L:Gnome
+L:Petty-Dwarf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:36:Inglorian the Mage(Human)
-I:30000:200:110:7:10
+I:30000:140
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:37:Luthien Starshine(High-Elf)
-I:30000:175:110:5:11
+I:30000:130
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:38:Gary Gygaz(Half-Troll)
-I:20000:250:150:10:5
+I:20000:180
C:120:100:80
#L:Rogue
-H:Gnome | Dwarf | Human | RohanKnight | Elf | Half-Elf | High-Elf
+H:Dwarf
+H:Elf
+H:Gnome
+H:Half-Elf
+H:High-Elf
+H:Human
+H:RohanKnight
N:39:Histor the Goblin(Half-Orc)
-I:20000:250:150:10:5
+I:20000:180
C:120:100:80
#L:Rogue
-H:Gnome | Dwarf | Human | RohanKnight | Elf | Half-Elf | High-Elf
+H:Dwarf
+H:Elf
+H:Gnome
+H:Half-Elf
+H:High-Elf
+H:Human
+H:RohanKnight
N:40:Zorak the Smart(Dwarf)
-I:30000:250:150:10:5
+I:30000:180
C:120:100:80
#L:Rogue
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:41:Tipo the Fair(Human)
-I:30000:250:150:10:5
+I:30000:180
C:120:100:80
#L:Rogue
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:42:Dolaf the Greedy(Human)
-I:10000:175:108:4:12
+I:10000:130
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:43:Odnar the Sage(High-Elf)
-I:15000:120:105:6:16
+I:15000:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:44:Gandar the Neutral(Dark-Elf)
-I:25000:120:110:7:19
+I:25000:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:45:Ro-sha the Patient(Elf)
-I:30000:140:105:6:12
-C:120:100:80
-L:Elf | Half-Elf | Dark-Elf | High-Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+I:30000:110
+C:120:100:80
+L:Dark-Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:46:N'rak the Summoner(Human)
-I:10000:175:108:4:12
+I:10000:130
C:120:100:80
-L:Human | Dunadan | RohanKnight
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Human
+L:RohanKnight
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:47:Esperion the Beastlover(High-Elf)
-I:15000:120:105:6:16
+I:15000:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:48:Flarim the Shopkeeper(Dunadan)
-I:25000:120:110:7:19
+I:25000:110
C:120:100:80
-L:Human | Dunadan | RohanKnight
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Human
+L:RohanKnight
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:49:Tril-akheb the Supreme(Elf)
-I:30000:140:105:6:12
-C:120:100:80
-L:Elf | Half-Elf | Dark-Elf | High-Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+I:30000:110
+C:120:100:80
+L:Dark-Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:50:Dorchel(Elf)
-I:30000:140:105:6:12
-C:120:100:80
-L:Elf | Half-Elf | Dark-Elf | High-Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+I:30000:110
+C:120:100:80
+L:Dark-Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:51:Galadriel(High-Elf)
-I:15000:120:105:6:16
+I:15000:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:52:Celeborn(High-Elf)
-I:15000:120:105:6:16
+I:15000:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:53:Aulendil(Elf)
-I:30000:140:105:6:12
+I:30000:110
C:120:100:80
#L:Warrior |
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:54:Valceronwe(Elf)
-I:30000:140:105:6:12
+I:30000:110
C:120:100:80
#L:Mage | Thaumaturgist | Sorceror
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:55:Voronwe(Elf)
-I:30000:140:105:6:12
+I:30000:110
C:120:100:80
#L:Priest | Paladin
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:56:Celegail(Elf)
-I:30000:140:105:6:12
+I:30000:110
C:120:100:80
#L:Ranger
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:57:Turgon(High-Elf)
-I:30000:120:105:6:16
+I:30000:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:58:Pengolodh(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:59:Aerandir(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:60:Celebrimbor(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
#L:Warrior |
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:61:Lomelosse(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf |
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:62:Arlindel(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
#L:Harper | Ranger
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:63:Sulraen(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
+L:Elf
+L:Half-Elf
+L:High-Elf
#L:Mage | Sorceror
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:64:Firiel(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf |
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:65:Earendur(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf | Elf
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+L:Elf
+L:Half-Elf
+L:High-Elf
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:66:Glorfindel(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf
+L:Half-Elf
+L:High-Elf
#L:Ranger
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:67:Ecthelion(High-Elf)
-I:0:120:105:6:16
+I:0:110
C:120:100:80
-L:High-Elf | Half-Elf
+L:Half-Elf
+L:High-Elf
#L:Paladin
-H:Orc | Troll | Half-Ogre | Beorning | Kobold |
+H:Beorning
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
N:68:Kanris(Human)
-I:5000:210:115:6:6
+I:5000:140
C:120:100:80
-#L:Merchant
-#H:Rogue
N:69:Barliman Butterbur(Human)
-I:100:170:108:4:10
+I:100:120
C:120:100:80
-L:Dunadan | Hobbit | Human |
-H:Orc | Troll | DeathMold | Half-Ogre | Beorning | Kobold |
+L:Dunadan
+L:Hobbit
+L:Human
+H:Beorning
+H:DeathMold
+H:Half-Ogre
+H:Kobold
+H:Orc
+H:Troll
diff --git a/lib/edit/p_info.txt b/lib/edit/p_info.txt
index 1531f4fd..5cb2e5cd 100644
--- a/lib/edit/p_info.txt
+++ b/lib/edit/p_info.txt
@@ -8,8 +8,6 @@
# Do not modify this file unless you know exactly what you are doing,
# unless you wish to risk possible system crashes and broken savefiles.
-V:2.0.0
-
##############################################################################
##############################################################################
##############################################################################
@@ -31,7 +29,6 @@ G:k:+1000:+1000:Magic-Device
# C:D:1:titles
# C:S:str:int:wis:dex:con:chr:mana:bonus blows
# C:K:dis:dev:sav:stl:srh:fos:thn:thb
-# C:X:dis:dev:sav:stl:srh:fos:thn:thb
# C:P:hitdie:xp%
# C:B:num:wgt:mul
# C:C:(H|L):(H|L):base:pl:plus
@@ -54,7 +51,7 @@ G:k:+1000:+1000:Magic-Device
# C:a:b:level:ability
# C:a:O:tval:sval:xdy
-C:N:0:Warrior
+C:N:0:0:Warrior
C:D:0:Simple fighters, they hack away with their trusty weapon.
C:D:1:Rookie
C:D:1:Soldier
@@ -67,10 +64,7 @@ C:D:1:Baron
C:D:1:Duke
C:D:1:Lord
C:S:5:-2:-2:2:2:-1:0:0
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
C:B:4:30:5
-C:C:H:L:9000:2:40
C:P:9:0
C:R:30:0
C:F:RES_FEAR
@@ -84,9 +78,7 @@ C:k:+0:+400:Axe-mastery
C:k:+0:+400:Hafted-mastery
C:k:+0:+400:Polearm-mastery
C:k:+1000:+600:Archery
-C:k:+1000:+900:Sneakiness
C:k:+0000:+400:Stealth
-C:k:+1000:+900:Disarming
C:k:+1000:+300:Magic
C:k:+1000:+400:Spirituality
C:k:+0:+550:Antimagic
@@ -175,8 +167,6 @@ C:a:k:=0:=0:Axe-mastery
C:a:k:=0:=0:Hafted-mastery
C:a:k:=0:=0:Polearm-mastery
C:a:k:+1000:-200:Archery
-C:a:k:+1000:+900:Sneakiness
-C:a:k:+1000:+900:Disarming
C:a:k:+1000:+400:Magic
C:a:k:+1000:+300:Spirituality
C:a:k:=0:=0:Antimagic
@@ -186,7 +176,7 @@ C:a:g:Manwe Sulimo
C:a:g:Tulkas
C:a:g:Melkor Bauglir
-C:N:1:Mage
+C:N:1:3:Mage
C:D:0:The basic spellcaster with lots of different skills
C:D:1:Apprentice
C:D:1:Trickster
@@ -199,10 +189,7 @@ C:D:1:Sorcerer
C:D:1:Ipsissimus
C:D:1:Archimage
C:S:-5:3:0:1:-2:1:50:0
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
C:B:4:40:2
-C:C:L:H:240000:1:5
C:P:0:30
C:E:0:0:0:0:0:0
C:k:+1000:+900:Magic
@@ -220,12 +207,10 @@ C:k:+0:+700:Nature
C:k:+0:+700:Meta
C:k:+0:+700:Mind
C:k:+0:+700:Necromancy
-C:k:+0:+700:Runecraft
C:k:+0:+700:Thaumaturgy
C:k:+1000:+550:Spirituality
C:k:+1000:+200:Combat
C:k:+700:+500:Weaponmastery
-C:k:+1000:+900:Sneakiness
C:k:+0000:+400:Stealth
C:b:1:Perfect casting
C:g:All Gods
@@ -298,7 +283,6 @@ C:a:k:+0:+300:Divination
C:a:k:+0:+300:Meta
C:a:k:+0:+300:Mind
C:a:k:+0:+200:Necromancy
-C:a:k:+0:+200:Runecraft
C:a:k:+0:+200:Thaumaturgy
C:a:O:36:2:1d1
C:a:O:111:50:1d1
@@ -320,17 +304,6 @@ C:a:O:23:4:1d1
C:a:O:111:50:1d1
C:a:b:25:Undead Form
-C:a:N:Runecrafter
-C:a:D:Runecrafters use the runes found in Middle-earth to create
-C:a:D:finely tuned spells for each specific situation.
-C:a:k:+1000:+50:Magic
-C:a:k:+1000:+300:Runecraft
-C:a:k:+0:-100:Weaponmastery
-C:a:O:111:50:1d1
-C:a:O:105:1:1d1
-C:a:O:104:5:1d1
-C:a:O:23:4:1d1
-
C:a:N:Thaumaturgist
C:a:D:Thaumaturgy spells come from within and are different for each character.
C:a:D:Since attack is the best defence, all their spells are offensive.
@@ -342,36 +315,7 @@ C:a:k:+0:-150:Magic-Device
C:a:O:23:4:1d1
C:a:O:111:50:1d1
-C:a:N:Alchemist
-C:a:D:Alchemists can quickly create powerful magic items through the correct use
-C:a:D:of the essences of magic they can extract from magical objects.
-C:a:k:+2000:+0:Magic
-C:a:k:+0:-600:Spell-power
-C:a:k:+0:-600:Necromancy
-C:a:k:+0:-600:Thaumaturgy
-C:a:k:+0:+250:Spirituality
-C:a:k:+0:+500:Combat
-C:a:k:+0:+200:Weaponmastery
-C:a:k:-1000:-600:Mana
-C:a:k:+0:-600:Fire
-C:a:k:+0:-600:Water
-C:a:k:+0:-600:Air
-C:a:k:+0:-600:Earth
-C:a:k:+0:-600:Conveyance
-C:a:k:+0:-600:Nature
-C:a:k:+0:-600:Temporal
-C:a:k:+0:-200:Divination
-C:a:k:+0:-200:Meta
-C:a:k:+0:-600:Mind
-C:a:k:+1000:+800:Alchemy
-C:a:k:+0:+50:Magic-Device
-C:a:O:31:1:1d1
-C:a:O:4:2:6d1
-C:a:O:2:1:1d1
-C:a:O:23:4:1d1
-C:a:G:EXPERIMENTAL
-
-C:N:2:Archer
+C:N:2:1:Archer
C:D:0:'Kill them before they see you' could be the motto of the archer class.
C:D:0:As deadly with a bow as a warrior is with a sword.
C:D:1:Rock Thrower
@@ -385,10 +329,7 @@ C:D:1:Archer
C:D:1:Archer
C:D:1:Great Archer
C:S:2:1:0:2:1:1:0:0
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
C:B:4:35:4
-C:C:H:L:9000:2:40
C:P:4:30
C:E:0:0:0:0:0:0
C:k:+1000:+800:Combat
@@ -399,9 +340,7 @@ C:k:+0:+300:Crossbow-mastery
C:k:+0:+300:Sling-mastery
C:k:+0:+300:Boomerang-mastery
C:k:+0:%150:Boulder-throwing
-C:k:+1000:+900:Sneakiness
C:k:+0000:+400:Stealth
-C:k:+1000:+900:Disarming
C:k:+1000:+300:Magic
C:k:+0:+100:Magic-Device
C:k:+1000:+400:Spirituality
@@ -429,8 +368,6 @@ C:a:k:+0:+400:Magic
C:a:k:+0:+500:Nature
C:a:k:+0:+500:Divination
C:a:k:+0:+500:Conveyance
-C:a:k:+0:+700:Disarming
-C:a:k:+0:+50:Sneakiness
C:a:k:+0:+200:Monster-lore
C:a:O:19:12:1d1
C:a:O:17:1:10d3
@@ -440,9 +377,9 @@ C:a:g:Manwe Sulimo
C:a:g:Tulkas
C:a:g:Yavanna Kementari
-C:N:3:Rogue
+C:N:3:2:Rogue
C:D:0:Rogues are masters of tricks. They can steal from shops and monsters,
-C:D:0:and lure monsters into deadly monster traps.
+C:D:0:and excel at stealthily exploring the dungeon.
C:D:1:Cutpurse
C:D:1:Robber
C:D:1:Burglar
@@ -454,10 +391,7 @@ C:D:1:Master Thief
C:D:1:Assassin
C:D:1:Guildmaster
C:S:2:1:-2:3:1:-1:0:0
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
C:B:4:30:3
-C:C:H:H:20000:2:40
C:P:6:25
C:O:23:4:1d1
C:G:EASE_STEAL
@@ -504,9 +438,7 @@ C:k:+0:+500:Conveyance
C:k:+0:+500:Divination
C:k:+0:+500:Temporal
C:k:+1000:+700:Spirituality
-C:k:+1000:+2000:Sneakiness
C:k:+1000:+1500:Stealth
-C:k:+1000:+2000:Disarming
C:k:+1000:+1000:Backstab
C:k:+1000:+2000:Stealing
C:k:+1000:+2000:Dodging
@@ -516,8 +448,6 @@ C:b:10:Extra Max Blow(1)
C:a:N:Rogue
C:a:D:Rogues are masters of tricks. They can steal from shops and monsters,
C:a:D:and lure monsters into deadly monster traps.
-C:a:b:1:Trapping
-C:a:O:46:1:1d1
C:a:N:Assassin
C:a:D:Assassins are stealthy killers.
@@ -531,12 +461,11 @@ C:a:k:+0:-400:Conveyance
C:a:k:+0:-400:Divination
C:a:k:+0:-300:Temporal
C:a:k:+0:+500:Stealth
-C:a:k:+0:-1000:Disarming
C:a:k:+0:+1000:Backstab
C:a:k:+0:-1800:Stealing
C:a:k:+0:-800:Magic-Device
-C:N:4:Loremaster
+C:N:4:5:Loremaster
C:D:0:Loremasters are skilled in most combat and monster skills.
C:D:1:Apprentice
C:D:1:Apprentice
@@ -549,10 +478,7 @@ C:D:1:Lorekeeper
C:D:1:Loremaster
C:D:1:Loremaster
C:S:1:-2:1:1:0:1:0:0
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
C:B:4:30:3
-C:C:H:L:9000:2:40
C:P:8:40
C:E:0:0:0:0:0:0
C:k:+1000:+700:Combat
@@ -560,9 +486,7 @@ C:k:+1000:+700:Weaponmastery
C:k:+1000:+700:Archery
C:k:+1000:+700:Barehand-combat
C:k:+0:+600:Magic
-C:k:+1000:+700:Sneakiness
C:k:+1000:+700:Stealth
-C:k:+1000:+700:Disarming
C:k:+1000:+700:Spirituality
C:k:+1000:+600:Monster-lore
C:k:+0:+500:Possession
@@ -591,7 +515,6 @@ C:a:k:+0:-100:Combat
C:a:k:+0:-100:Weaponmastery
C:a:k:+0:-300:Archery
C:a:k:-1000:-700:Barehand-combat
-C:a:k:+0:-200:Disarming
C:a:k:+0:-200:Spirituality
C:a:k:+1000:+300:Possession
C:a:k:+0:+200:Corpse-preservation
@@ -609,7 +532,6 @@ C:a:k:+0:+100:Combat
C:a:k:+0:+100:Weaponmastery
C:a:k:+0:-100:Barehand-combat
C:a:k:+1000:+100:Magic
-C:a:k:+0:+100:Sneakiness
C:a:k:+0:+100:Stealth
C:a:k:+0:-200:Spirituality
C:a:k:+0:-400:Possession
@@ -627,7 +549,6 @@ C:a:k:+0:+100:Combat
C:a:k:+0:+100:Weaponmastery
C:a:k:+0:-100:Barehand-combat
C:a:k:+1000:+100:Magic
-C:a:k:+0:+100:Sneakiness
C:a:k:+0:+100:Stealth
C:a:k:+0:-200:Spirituality
C:a:k:+0:-400:Possession
@@ -646,9 +567,7 @@ C:a:k:+0:-100:Weaponmastery
C:a:k:+0:-300:Archery
C:a:k:-1000:-700:Barehand-combat
C:a:k:+1000:+200:Magic
-C:a:k:+0:+0:Sneakiness
C:a:k:+0:+0:Stealth
-C:a:k:+0:-200:Disarming
C:a:k:+0:-200:Spirituality
C:a:k:+15000:+100:Monster-lore
C:a:k:+0:-500:Possession
@@ -667,9 +586,7 @@ C:a:k:-1000:-400:Weaponmastery
C:a:k:-1000:-300:Archery
C:a:k:+0:+200:Barehand-combat
C:a:k:+0:+0:Magic
-C:a:k:+0:+200:Sneakiness
C:a:k:+0:+200:Stealth
-C:a:k:+0:+200:Disarming
C:a:k:+0:+200:Spirituality
C:a:k:+0:-400:Possession
C:a:k:+0:-200:Corpse-preservation
@@ -691,7 +608,6 @@ C:a:O:14:59:1d1
C:a:k:+1000:+0:Magic
C:a:k:-1000:-700:Archery
C:a:k:+0:-100:Barehand-combat
-C:a:k:+0:-100:Disarming
C:a:k:+0:+100:Spirituality
C:a:k:+0:-500:Possession
C:a:k:+0:-100:Summoning
@@ -699,7 +615,7 @@ C:a:k:+0:-100:Symbiosis
C:a:k:+0:-100:Mimicry
C:a:k:+1000:+500:Music
-C:N:5:Priest
+C:N:5:4:Priest
C:D:0:A priest serves a god (Vala, Maia or Eru himself) to bring down
C:D:0:the empire of fear and shadows of Morgoth.
C:D:1:Believer
@@ -713,13 +629,10 @@ C:D:1:Cardinal
C:D:1:Inquisitor
C:D:1:Pope
C:S:-1:-3:3:-1:0:2:0:0
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
C:B:4:35:3
-C:C:L:H:10000:2:40
C:P:2:20
C:Z:detect curses
-C:G:GOD_FRIEND |
+C:G:GOD_FRIEND
C:E:0:0:0:0:0:0
C:k:+1000:+900:Magic
C:k:+0:+600:Spell-power
@@ -729,8 +642,6 @@ C:k:+1000:+1000:Spirituality
C:k:+1000:+700:Prayer
C:k:+2000:+700:Combat
C:k:+1000:+700:Weaponmastery
-C:k:+1000:+900:Sneakiness
-C:k:+0000:+900:Disarming
C:k:+0000:+400:Stealth
C:k:+0:+50:Magic-Device
C:b:1:Perfect casting
@@ -798,50 +709,8 @@ C:a:g:Yavanna Kementari
C:a:k:+0:-300:Prayer
C:a:k:+0:-200:Necromancy
C:a:k:+1000:+300:Mindcraft
-C:a:k:+0:+200:Sneakiness
C:a:k:+0:+100:Magic-Device
-###############################TEST###############################
-C:N:30:Test
-C:D:0:Simple testers.
-C:D:1:Rookie
-C:D:1:Soldier
-C:D:1:Mercenary
-C:D:1:Veteran
-C:D:1:Swordsman
-C:D:1:Champion
-C:D:1:Hero
-C:D:1:Baron
-C:D:1:Duke
-C:D:1:Lord
-C:S:5:-2:-2:2:2:-1:0:3
-C:K:10:10:0:1:10:10:10:10
-C:X:0:0:0:0:0:0:0:0
-C:B:6:30:5
-C:C:H:L:9000:2:40
-C:P:9:0
-C:R:30:0
-C:F:RES_FEAR
-C:E:0:0:0:0:0:0
-C:O:45:38:1d1
-C:O:37:4:1d1
-C:k:+1000:+800:Combat
-C:k:+1000:+850:Weaponmastery
-C:k:+0:+200:Sword-mastery
-C:k:+0:+200:Axe-mastery
-C:k:+0:+200:Hafted-mastery
-C:k:+0:+200:Polearm-mastery
-C:k:+1000:+600:Archery
-C:k:+1000:+900:Sneakiness
-C:k:+1000:+900:Disarming
-C:k:+1000:+300:Magic
-C:k:+0:+550:Antimagic
-
-C:a:N:Shinny test
-C:a:D:Simple testers, they test all with their shiny hacks !
-C:a:O:23:16:1d1
-###############################TEST###############################
-
@@ -856,8 +725,7 @@ C:a:O:23:16:1d1
# R:D:race desc
# R:S:str:int:wis:dex:con:chr:luck
# R:K:dis:dev:sav:stl:srh:fos:thn:thb
-# R:P:hitdie:xp%:infra:history chart
-# R:M:b_age:m_age:m_b_ht:m_m_ht:m_b_wt:m_m_wt:f_b_ht:f_m_ht:f_b_wt:f_m_wt
+# R:P:hitdie:xp%:infra
# R:E:weapons:torso:arms:finger:head:legs
# R:C:allowed classes
# R:G:race flags
@@ -873,26 +741,30 @@ R:D:Humans are the second born, the Edain.
R:D:They are the basic race to which all others are compared.
R:D:Average in ability, they can be any class.
R:S:0:0:0:0:0:0:0
-R:K:0:0:0:0:0:10:0:0
-R:P:10:100:0:1
-R:M:14:6:72:6:180:25:66:4:150:20
+R:P:10:100:0
R:E:1:1:1:2:1:1
-R:C:Warrior | Archer | Mage | Rogue | Priest | Loremaster
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Rogue
+R:C:Warrior
R:N:1:Half-Elf
R:D:A crossbreed of elf and human, they get the best of the two races.
R:S:0:1:1:1:-1:1:0
-R:K:2:3:3:1:6:11:-1:5
-R:P:9:110:2:4
-R:M:24:16:66:6:130:15:62:6:100:10
+R:P:9:110:2
R:E:1:1:1:2:1:1
-R:C:Warrior | Archer | Mage | Rogue | Priest | Loremaster
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Rogue
+R:C:Warrior
R:G:ELF
-R:k:+200:+000:Disarming
R:k:+300:+000:Magic-Device
R:k:+1500:+000:Spirituality
R:k:+1000:+000:Stealth
-R:k:+600:+000:Sneakiness
R:k:-100:+000:Weaponmastery
R:k:+500:+000:Archery
@@ -901,19 +773,19 @@ R:D:Elves are the first born, the Eldar.
R:D:More spiritual than physical beings, they are weaker than humans
R:D:but are more intelligent.
R:S:-1:2:2:1:-2:2:0
-R:K:5:6:6:2:8:12:-5:15
-R:P:8:120:3:5
-R:M:75:75:60:4:100:6:54:4:80:6
+R:P:8:120:3
R:E:1:1:1:2:1:1
R:R:1:0
-R:F:RES_LITE |
-R:C:Warrior | Archer | Mage | Priest | Loremaster
+R:F:RES_LITE
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Warrior
R:G:ELF
-R:k:+500:+000:Disarming
R:k:+600:+000:Magic-Device
R:k:+3000:+000:Spirituality
R:k:+2000:+000:Stealth
-R:k:+800:+000:Sneakiness
R:k:-500:+000:Weaponmastery
R:k:+1500:+000:Archery
@@ -921,21 +793,22 @@ R:N:3:Hobbit
R:D:An old but quiet race related to humans.
R:D:They are small and quite weak but good at many things.
R:S:-2:2:1:3:2:1:5
-R:K:15:18:18:5:12:15:-10:20
-R:P:7:110:4:10
-R:M:21:12:36:3:60:3:33:3:50:3
+R:P:7:110:4
R:E:1:1:1:2:1:1
R:Z:create food
-R:G:RESIST_BLACK_BREATH | XTRA_MIGHT_SLING |
+R:G:RESIST_BLACK_BREATH
+R:G:XTRA_MIGHT_SLING
R:R:1:0
-R:F:SUST_DEX |
-R:C:Warrior | Archer | Mage | Rogue | Loremaster
+R:F:SUST_DEX
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Rogue
+R:C:Warrior
R:k:+0:+300:Sling-mastery
-R:k:+1500:+000:Disarming
R:k:+1800:+000:Magic-Device
R:k:+9000:+000:Spirituality
R:k:+5000:+000:Stealth
-R:k:+1200:+000:Sneakiness
R:k:-1000:+000:Weaponmastery
R:k:+2000:+000:Archery
@@ -943,19 +816,17 @@ R:N:4:Gnome
R:D:Related to dwarves, Gnomes are between Dwarves and Hobbits in size.
R:D:Very good at magic use, they are poor as fighters.
R:S:-1:2:0:2:1:-2:2
-R:K:10:12:12:3:6:13:-8:12
-R:P:8:135:4:13
-R:M:50:40:42:3:90:6:39:3:75:3
+R:P:8:135:4
R:E:1:1:1:2:1:1
R:Z:blink
R:R:1:0
-R:F:FREE_ACT |
-R:C:Warrior | Mage | Rogue
-R:k:+1000:+000:Disarming
+R:F:FREE_ACT
+R:C:Mage
+R:C:Rogue
+R:C:Warrior
R:k:+1200:+000:Magic-Device
R:k:+6000:+000:Spirituality
R:k:+3000:+000:Stealth
-R:k:+600:+000:Sneakiness
R:k:-800:+000:Weaponmastery
R:k:+1200:+000:Archery
@@ -963,39 +834,35 @@ R:N:5:Dwarf
R:D:The children of Aule, a strong but small race.
R:D:Miners and fighters of legend.
R:S:2:-2:2:-2:2:-3:0
-R:K:2:9:10:-1:7:10:15:0
-R:P:11:125:5:16
-R:M:35:15:48:3:150:10:46:3:120:10
+R:P:11:125:5
R:E:1:1:1:2:1:1
R:Z:find secret passages
R:R:1:0
-R:F:RES_BLIND |
-R:C:Warrior | Priest
+R:F:RES_BLIND
+R:C:Priest
+R:C:Warrior
R:k:+0:+200:Axe-mastery
-R:k:+200:+000:Disarming
R:k:+900:+000:Magic-Device
R:k:+5000:+000:Spirituality
R:k:-1000:+000:Stealth
-R:k:+700:+000:Sneakiness
R:k:+1500:+000:Weaponmastery
R:k:+500:+000:Archery
R:N:6:Orc
R:D:Quite strong but not very smart.
R:S:2:-1:0:1:1:-4:-3
-R:K:-3:-3:-3:-1:0:7:12:-5
-R:P:10:110:3:25
-R:M:11:4:66:1:150:5:62:1:120:5
+R:P:10:110:3
R:E:1:1:1:2:1:1
R:Z:remove fear
R:R:1:0
-R:F:RES_DARK |
-R:C:Warrior | Archer | Rogue | Priest
-R:k:-300:+000:Disarming
+R:F:RES_DARK
+R:C:Archer
+R:C:Priest
+R:C:Rogue
+R:C:Warrior
R:k:-300:+000:Magic-Device
R:k:-1000:+000:Spirituality
R:k:-1000:+000:Stealth
-R:k:+000:+000:Sneakiness
R:k:+1200:+000:Weaponmastery
R:k:-500:+000:Archery
@@ -1003,21 +870,17 @@ R:N:7:Troll
R:D:They can bear the light of the sun.
R:D:They are extremely strong and dumb.
R:S:4:-4:-2:-4:3:-6:-4
-R:K:-5:-8:-8:-2:-1:5:20:-10
-R:P:12:137:3:22
-R:M:20:10:96:10:250:50:84:8:225:40
+R:P:12:137:3
R:E:1:1:1:2:1:1
R:Z:berserk
R:R:1:0
-R:F:SUST_STR |
+R:F:SUST_STR
R:R:15:0
-R:F:REGEN |
+R:F:REGEN
R:C:Warrior
-R:k:-500:+000:Disarming
R:k:-800:+000:Magic-Device
R:k:-4000:+000:Spirituality
R:k:-2000:+000:Stealth
-R:k:-100:+000:Sneakiness
R:k:+2000:+000:Weaponmastery
R:k:-1000:+000:Archery
@@ -1025,18 +888,20 @@ R:N:8:Dunadan
R:D:The greatest of the Edain, humans in all respects but
R:D:stronger, smarter and wiser.
R:S:1:2:2:2:3:2:2
-R:K:4:5:5:2:3:13:15:10
-R:P:10:180:0:1
-R:M:50:50:82:5:190:20:78:6:180:15
+R:P:10:180:0
R:E:1:1:1:2:1:1
R:R:1:0
-R:F:SUST_CON | REGEN |
-R:C:Warrior | Archer | Mage | Rogue | Priest | Loremaster
-R:k:+400:+000:Disarming
+R:F:REGEN
+R:F:SUST_CON
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Rogue
+R:C:Warrior
R:k:+500:+000:Magic-Device
R:k:+2500:+000:Spirituality
R:k:+2000:+000:Stealth
-R:k:+800:+000:Sneakiness
R:k:+1500:+000:Weaponmastery
R:k:+1000:+000:Archery
@@ -1045,20 +910,20 @@ R:D:Elves are the first born, the Eldar.
R:D:High elves are the best of the Eldar, strong, fast, intellectual, though
R:D:they sometimes lack wisdom.
R:S:1:3:2:3:1:5:0
-R:K:4:20:20:4:3:14:10:25
-R:P:10:200:4:7
-R:M:100:30:90:10:190:20:82:10:180:15
+R:P:10:200:4
R:E:1:1:1:2:1:1
R:R:1:0
-R:F:SEE_INVIS |
-R:F:RES_LITE |
+R:F:RES_LITE
+R:F:SEE_INVIS
R:G:ELF
-R:C:Warrior | Archer | Mage | Priest | Loremaster
-R:k:+400:+000:Disarming
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Warrior
R:k:+2000:+000:Magic-Device
R:k:+10000:+000:Spirituality
R:k:+4000:+000:Stealth
-R:k:+300:+000:Sneakiness
R:k:+1000:+000:Weaponmastery
R:k:+2500:+000:Archery
@@ -1066,19 +931,17 @@ R:N:10:Half-Ogre
R:D:A crossbreed between a human and an ogre.
R:D:They are similar to half-trolls, strong and dumb.
R:S:3:-1:-1:-1:3:-3:-2
-R:K:-3:-5:-5:-2:-1:5:20:0
-R:P:12:130:3:74
-R:M:40:10:92:10:255:60:80:8:235:60
+R:P:12:130:3
R:E:1:1:1:2:1:1
R:Z:set explosive rune
R:R:1:0
-R:F:SUST_STR | RES_DARK |
-R:C:Warrior | Priest
-R:k:-300:+000:Disarming
+R:F:RES_DARK
+R:F:SUST_STR
+R:C:Priest
+R:C:Warrior
R:k:-500:+000:Magic-Device
R:k:-2500:+000:Spirituality
R:k:-2000:+000:Stealth
-R:k:-100:+000:Sneakiness
R:k:+2000:+000:Weaponmastery
R:k:+000:+000:Archery
@@ -1086,41 +949,37 @@ R:N:11:Beorning
R:D:A race of men shapeshifters.
R:D:They have the unique power of being able to polymorph to bear forms.
R:S:4:-2:-2:-1:3:-5:1
-R:K:-6:-8:-6:-2:-1:5:25:5
-R:P:12:150:3:75
-R:M:40:10:100:10:255:65:80:10:240:64
+R:P:12:150:3
R:E:1:1:1:2:1:1
R:Z:turn into a bear
R:R:1:0
-R:F:SUST_STR |
+R:F:SUST_STR
R:R:20:1
-R:F:STR |
-R:C:Warrior | Rogue | Loremaster
+R:F:STR
+R:C:Loremaster
+R:C:Rogue
+R:C:Warrior
R:k:+1000:+1000:Bearform-combat
-R:k:-600:+000:Disarming
R:k:-800:+000:Magic-Device
R:k:-3000:+000:Spirituality
R:k:-2000:+000:Stealth
-R:k:-100:+000:Sneakiness
R:k:+2500:+000:Weaponmastery
R:k:+500:+000:Archery
R:N:12:Kobold
R:D:A weaker kind of goblin, related to orcs.
R:S:1:-1:0:1:0:-4:0
-R:K:-2:-3:-2:-1:1:8:10:-8
-R:P:9:125:3:82
-R:M:11:3:60:1:130:5:55:1:100:5
+R:P:9:125:3
R:E:1:1:1:2:1:1
R:Z:poison dart
R:R:1:0
-R:F:RES_POIS |
-R:C:Warrior | Archer | Rogue
-R:k:-200:+000:Disarming
+R:F:RES_POIS
+R:C:Archer
+R:C:Rogue
+R:C:Warrior
R:k:-300:+000:Magic-Device
R:k:-1000:+000:Spirituality
R:k:-1000:+000:Stealth
-R:k:+100:+000:Sneakiness
R:k:+1000:+000:Weaponmastery
R:k:-800:+000:Archery
@@ -1128,19 +987,17 @@ R:N:13:Petty-Dwarf
R:D:A nearly extinct subrace of dwarves.
R:D:They prefer to live in the darkness.
R:S:1:-1:2:0:2:-4:-5
-R:K:3:5:10:1:5:10:9:0
-R:P:11:135:5:87
-R:M:40:12:43:3:92:6:40:3:78:3
+R:P:11:135:5
R:E:1:1:1:2:1:1
R:Z:detect doors and traps
R:R:1:0
-R:F:RES_DARK | RES_DISEN |
-R:C:Warrior | Rogue
-R:k:+300:+000:Disarming
+R:F:RES_DARK
+R:F:RES_DISEN
+R:C:Rogue
+R:C:Warrior
R:k:+500:+000:Magic-Device
R:k:+5000:+000:Spirituality
R:k:+1000:+000:Stealth
-R:k:+500:+000:Sneakiness
R:k:+000:+000:Weaponmastery
R:k:+000:+000:Archery
@@ -1149,23 +1006,23 @@ R:D:Elves are the first born, the Eldar.
R:D:Dark elves are rare on Middle-earth and even though not evil
R:D:they are not good.
R:S:-1:3:2:2:-2:1:-2
-R:K:5:15:20:3:8:12:-5:10
-R:P:9:150:5:69
-R:M:75:75:60:4:100:6:54:4:80:6
+R:P:9:150:5
R:E:1:1:1:2:1:1
R:Z:magic missile
R:R:1:0
-R:F:RES_DARK |
+R:F:RES_DARK
R:R:20:0
-R:F:SEE_INVIS |
-R:C:Warrior | Archer | Mage | Rogue | Priest
+R:F:SEE_INVIS
+R:C:Archer
+R:C:Mage
+R:C:Priest
+R:C:Rogue
+R:C:Warrior
R:G:ELF
R:k:+0:+200:Magic
-R:k:+500:+000:Disarming
R:k:+1500:+000:Magic-Device
R:k:+10000:+000:Spirituality
R:k:+3000:+000:Stealth
-R:k:+800:+000:Sneakiness
R:k:-500:+000:Weaponmastery
R:k:+1000:+000:Archery
@@ -1173,30 +1030,32 @@ R:N:15:Ent
R:D:Guardian of the forests of Middle-earth, summoned by Yavanna before
R:D:even the elves awoke. It is said 'Trolls are strong, Ents are STRONGER'.
R:S:10:-3:2:-5:11:-3:-2
-R:K:5:5:20:-6:5:4:15:5
-R:P:14:210:5:95
-R:M:255:70:72:6:100:25:66:4:100:20
+R:P:14:210:5
R:E:1:1:1:2:1:1
R:Z:grow trees
-R:G:NO_STUN | NO_FOOD |
-R:G:AC_LEVEL |
+R:G:AC_LEVEL
+R:G:NO_FOOD
+R:G:NO_STUN
R:R:1:-5
-R:F:SPEED | SENS_FIRE | SLOW_DIGEST |
+R:F:SENS_FIRE
+R:F:SLOW_DIGEST
+R:F:SPEED
R:R:5:0
-R:F:SEE_INVIS |
+R:F:SEE_INVIS
R:R:20:0
-R:F:ESP_ORC |
-R:F:ESP_TROLL | ESP_EVIL |
-R:C:Warrior | Priest | Loremaster
+R:F:ESP_EVIL
+R:F:ESP_ORC
+R:F:ESP_TROLL
+R:C:Loremaster
+R:C:Priest
+R:C:Warrior
R:O:70:32:2d3
R:b:1:Tree walking
R:k:+0:+200:Barehand-combat
R:k:+0:+600:Boulder-throwing
-R:k:+500:+000:Disarming
R:k:+500:+000:Magic-Device
R:k:+10000:+000:Spirituality
R:k:-6000:+000:Stealth
-R:k:+500:+000:Sneakiness
R:k:-300:+000:Weaponmastery
R:k:-200:+000:Archery
@@ -1204,71 +1063,66 @@ R:N:16:RohanKnight
R:D:Humans from the land of Rohan, riding the great Mearas.
R:D:Fast and powerful in battle.
R:S:4:-2:3:1:4:2:0
-R:K:10:5:5:-8:1:1:5:5
-R:P:10:220:0:84
-R:M:20:3:60:3:80:4:54:3:70:4
+R:P:10:220:0
R:E:1:1:1:2:1:1
R:Z:Rohan Knight's Powers
R:R:1:3
-R:F:SPEED |
+R:F:SPEED
R:R:5:1
-R:F:SPEED |
+R:F:SPEED
R:R:10:1
-R:F:SPEED |
+R:F:SPEED
R:R:15:1
-R:F:SPEED |
+R:F:SPEED
R:R:20:1
-R:F:SPEED |
+R:F:SPEED
R:R:25:1
-R:F:SPEED |
+R:F:SPEED
R:R:30:1
-R:F:SPEED |
+R:F:SPEED
R:R:35:1
-R:F:SPEED |
+R:F:SPEED
R:R:40:1
-R:F:SPEED |
+R:F:SPEED
R:R:45:1
-R:F:SPEED |
-R:C:Warrior | Priest
-R:k:+1000:+000:Disarming
+R:F:SPEED
+R:C:Priest
+R:C:Warrior
R:k:+500:+000:Magic-Device
R:k:+2500:+000:Spirituality
R:k:-8000:+000:Stealth
-R:k:+100:+000:Sneakiness
R:k:+100:+200:Weaponmastery
R:k:+500:+000:Archery
-
R:N:17:Thunderlord
R:D:A thunderlord is a Great Eagle of Manwe, ridden by a Maia of Manwe.
R:D:They carry the power of wind and thunder.
R:S:6:2:1:1:3:8:2
-R:K:6:0:10:-16:30:10:15:5
-R:P:12:400:0:89
-R:M:14:6:180:6:255:25:150:4:230:20
+R:P:12:400:0
R:E:1:1:1:2:1:1
R:Z:Thunderlord's Powers
R:R:1:0
-R:F:FEATHER |
+R:F:FEATHER
R:R:4:0
-R:F:ESP_DRAGON |
+R:F:ESP_DRAGON
R:R:5:0
-R:F:RES_ELEC |
+R:F:RES_ELEC
R:R:10:0
-R:F:RES_COLD |
+R:F:RES_COLD
R:R:15:0
-R:F:RES_ACID |
+R:F:RES_ACID
R:R:17:0
-R:F:FLY |
+R:F:FLY
R:R:35:0
-R:F:RES_POIS |
+R:F:RES_POIS
R:R:45:0
-R:F:IM_ELEC |
-R:C:Warrior | Mage | Archer | Priest
-R:k:+600:+000:Disarming
+R:F:IM_ELEC
+R:C:Archer
+R:C:Mage
+R:C:Priest
+R:C:Warrior
R:k:+000:+000:Magic-Device
R:k:+5000:+000:Spirituality
R:k:-16000:+000:Stealth
-R:k:+3000:+000:Sneakiness
R:k:+1500:+000:Weaponmastery
R:k:+500:+000:Archery
@@ -1276,38 +1130,38 @@ R:N:18:DeathMold
R:D:A pure mass of evilness, DeathMolds cannot move, but they have much more
R:D:power than an average race.
R:S:10:0:10:0:10:-15:-5
-R:K:15:-5:15:25:0:10:25:25
-R:P:15:250:10:100
-R:M:5:15:10:1:50:1:10:1:50:1
+R:P:15:250:10
R:E:1:1:1:4:0:0
R:Z:Death Mold's Powers
R:G:EXPERIMENTAL
R:R:1:0
-R:F:IMMOVABLE | HOLD_LIFE |
-R:F:RES_NETHER | RES_NEXUS |
-R:C:Mage | Priest
+R:F:HOLD_LIFE
+R:F:IMMOVABLE
+R:F:RES_NETHER
+R:F:RES_NEXUS
+R:C:Mage
+R:C:Priest
R:k:+0:+200:Necromancy
-R:k:+1500:+000:Disarming
R:k:-500:+000:Magic-Device
R:k:+7500:+000:Spirituality
R:k:+25000:+000:Stealth
-R:k:+000:+000:Sneakiness
R:k:+2500:+000:Weaponmastery
R:k:+2500:+000:Archery
R:N:19:Yeek
R:D:The weakest of all the races, bad at everything except gaining levels quickly.
R:S:-5:-5:-5:-5:-5:-5:-5
-R:K:-5:-5:-10:0:-5:0:-10:-10
-R:P:6:25:2:29
-R:M:10:4:40:5:50:10:35:4:45:10
+R:P:6:25:2
R:E:1:1:1:2:1:1
-R:C:Warrior | Archer | Mage | Rogue | Priest | Loremaster
-R:k:-500:+000:Disarming
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Rogue
+R:C:Warrior
R:k:-500:+000:Magic-Device
R:k:-2500:+000:Spirituality
R:k:-5000:+000:Stealth
-R:k:-500:+000:Sneakiness
R:k:-500:+000:Weaponmastery
R:k:-500:+000:Archery
@@ -1315,22 +1169,23 @@ R:N:20:Wood-Elf
R:D:Elves are the first born, the Eldar.
R:D:Wood elves live in the great forests of Middle-earth.
R:S:-3:2:1:5:-4:1:0
-R:K:5:6:6:5:8:12:-25:40
-R:P:7:130:4:5
-R:M:75:75:60:4:100:6:54:4:80:6
+R:P:7:130:4
R:E:1:1:1:2:1:1
-R:G:XTRA_MIGHT_BOW |
+R:G:XTRA_MIGHT_BOW
R:R:1:1
-R:F:XTRA_MIGHT | RES_LITE |
-R:C:Warrior | Archer | Mage | Priest | Loremaster
+R:F:RES_LITE
+R:F:XTRA_MIGHT
+R:C:Archer
+R:C:Loremaster
+R:C:Mage
+R:C:Priest
+R:C:Warrior
R:G:ELF
R:k:+0:+200:Archery
R:b:1:Tree walking
-R:k:+500:+000:Disarming
R:k:+600:+000:Magic-Device
R:k:+3000:+000:Spirituality
R:k:+5000:+000:Stealth
-R:k:+800:+000:Sneakiness
R:k:-2500:+000:Weaponmastery
R:k:+4000:+000:Archery
@@ -1338,38 +1193,76 @@ R:N:21:Maia
R:D:An old race, dating from before the creation of Arda, the Maiar were
R:D:created by Eru to help the Valar in their task.
R:S:0:0:0:0:0:0:4
-R:K:0:0:0:0:0:10:0:0
-R:P:10:100:0:91
-R:M:14:6:72:6:180:25:66:4:150:20
+R:P:10:100:0
R:E:1:1:1:2:1:1
R:G:NO_GOD
R:R:1:0
-R:F:AGGRAVATE |
+R:F:AGGRAVATE
R:R:20:0
-R:F:DRAIN_EXP |
+R:F:DRAIN_EXP
R:R:6:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:12:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:18:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:24:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:30:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:36:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:42:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
R:R:48:1
-R:F:STR | INT | WIS | DEX | CON | CHR |
-R:C:Warrior | Archer | Mage
-R:k:+000:+000:Disarming
+R:F:CHR
+R:F:CON
+R:F:DEX
+R:F:INT
+R:F:STR
+R:F:WIS
+R:C:Archer
+R:C:Mage
+R:C:Warrior
R:k:+000:+000:Magic-Device
R:k:+000:+000:Spirituality
R:k:=0:=0:Prayer
R:k:+000:+000:Stealth
-R:k:+000:+000:Sneakiness
R:k:+000:+000:Weaponmastery
R:k:+000:+000:Archery
@@ -1383,7 +1276,6 @@ R:k:+000:+000:Archery
# S:S:str:int:wis:dex:con:chr:luck:mana
# S:K:dis:dev:sav:stl:srh:fos:thn:thb
# S:P:hitdie:xp%:infra
-# S:M:b_age:m_age:m_b_ht:m_m_ht:m_b_wt:m_m_wt:f_b_ht:f_m_ht:f_b_wt:f_m_wt
# S:E:weapons:torso:arms:finger:head:legs
# S:A:allowed races
# S:C:'A'llow/'F'orbid:allowed/forbiden classes
@@ -1399,14 +1291,30 @@ I:
S:N:0:
S:D:A:A normal member of the race.
S:S:0:0:0:0:0:0:0:100
-S:K:0:0:0:0:0:0:0:0
S:P:0:0:0
-S:M:0:0:0:0:0:0:0:0:0:0
S:E:0:0:0:0:0:0
-S:A:Human | Half-Elf | Elf | Hobbit | Gnome | Dwarf |
-S:A:Orc | Troll | Dunadan | High-Elf | Half-Ogre | Beorning |
-S:A:Kobold | Petty-Dwarf | Dark-Elf | Ent | RohanKnight | Thunderlord |
-S:A:DeathMold | Yeek | Wood-Elf | Maia |
+S:A:Beorning
+S:A:Dark-Elf
+S:A:DeathMold
+S:A:Dunadan
+S:A:Dwarf
+S:A:Elf
+S:A:Ent
+S:A:Gnome
+S:A:Half-Elf
+S:A:Half-Ogre
+S:A:High-Elf
+S:A:Hobbit
+S:A:Human
+S:A:Kobold
+S:A:Maia
+S:A:Orc
+S:A:Petty-Dwarf
+S:A:RohanKnight
+S:A:Thunderlord
+S:A:Troll
+S:A:Wood-Elf
+S:A:Yeek
# Just a place holder, the actualy setting are done with corruptions, see
# corrupt.lua and player.lua
@@ -1414,13 +1322,23 @@ S:N:1:Vampire
S:D:B:Vampires are powerful undead, wielding great powers. They still fear the
S:D:B:sunlight and cannot easily satiate their hunger.
S:S:0:0:0:0:0:0:0:100
-S:K:0:0:0:0:0:0:0:0
S:P:0:0:0
-S:M:0:0:0:0:0:0:0:0:0:0
S:E:0:0:0:0:0:0
-S:A:Human | Half-Elf | Hobbit | Gnome | Dwarf | Orc |
-S:A:Troll | Dunadan | Half-Ogre | Beorning | Kobold | Petty-Dwarf |
-S:A:Dark-Elf | RohanKnight | Yeek |
+S:A:Beorning
+S:A:Dark-Elf
+S:A:Dunadan
+S:A:Dwarf
+S:A:Gnome
+S:A:Half-Elf
+S:A:Half-Ogre
+S:A:Hobbit
+S:A:Human
+S:A:Kobold
+S:A:Orc
+S:A:Petty-Dwarf
+S:A:RohanKnight
+S:A:Troll
+S:A:Yeek
S:C:A:Mage
S:O:70:0:5d3
S:O:70:32:2d3
@@ -1429,24 +1347,44 @@ S:N:2:Spectre
S:D:B:Spectres only partially exist in the mortal world and so they can
S:D:B:pass through walls. They are somewhat physically weak.
S:S:-5:1:1:2:-3:-6:-3:105
-S:K:2:8:7:2:2:7:-5:-2
S:P:-4:80:3
-S:M:50:15:0:0:-10:-5:0:0:-10:-5
S:E:0:0:0:0:0:0
-S:A:Human | Half-Elf | Elf | Hobbit | Gnome | Dwarf |
-S:A:Orc | Troll | Dunadan | High-Elf | Half-Ogre | Beorning |
-S:A:Kobold | Petty-Dwarf | Dark-Elf | RohanKnight | Yeek | Wood-Elf |
-S:C:F:Warrior | Archer
-S:G:UNDEAD | NO_CUT | NO_FOOD | SEMI_WRAITH | NO_SUBRACE_CHANGE
+S:A:Beorning
+S:A:Dark-Elf
+S:A:Dunadan
+S:A:Dwarf
+S:A:Elf
+S:A:Gnome
+S:A:Half-Elf
+S:A:Half-Ogre
+S:A:High-Elf
+S:A:Hobbit
+S:A:Human
+S:A:Kobold
+S:A:Orc
+S:A:Petty-Dwarf
+S:A:RohanKnight
+S:A:Troll
+S:A:Wood-Elf
+S:A:Yeek
+S:C:F:Archer
+S:C:F:Warrior
+S:G:NO_CUT
+S:G:NO_FOOD
+S:G:NO_SUBRACE_CHANGE
+S:G:SEMI_WRAITH
+S:G:UNDEAD
S:R:1:0
-S:F:SEE_INVIS | HOLD_LIFE |
-S:F:SLOW_DIGEST | RES_COLD | RES_POIS | RES_NETHER |
+S:F:HOLD_LIFE
+S:F:RES_COLD
+S:F:RES_NETHER
+S:F:RES_POIS
+S:F:SEE_INVIS
+S:F:SLOW_DIGEST
S:O:70:32:2d3
-S:k:+200:+000:Disarming
S:k:+800:+000:Magic-Device
S:k:+700:+000:Spirituality
S:k:+2000:+000:Stealth
-S:k:+200:+000:Sneakiness
S:k:-500:+000:Weaponmastery
S:k:-200:+000:Archery
@@ -1454,70 +1392,102 @@ S:N:3:Skeleton
S:D:B:Yet an other kind of undead. Their physical 'body' is not very vulnerable
S:D:B:to sharp things.
S:S:0:-2:-2:0:1:-4:-3:70
-S:K:-5:-5:5:-1:-1:8:8:0
S:P:0:45:1
-S:M:50:15:0:0:-10:-5:0:0:-10:-5
S:E:0:0:0:0:0:0
-S:A:Human | Half-Elf | Elf | Hobbit | Gnome | Dwarf |
-S:A:Orc | Troll | Dunadan | High-Elf | Half-Ogre | Beorning |
-S:A:Kobold | Petty-Dwarf | Dark-Elf | RohanKnight | Yeek | Wood-Elf |
-S:G:UNDEAD | NO_CUT | NO_FOOD | NO_SUBRACE_CHANGE
+S:A:Beorning
+S:A:Dark-Elf
+S:A:Dunadan
+S:A:Dwarf
+S:A:Elf
+S:A:Gnome
+S:A:Half-Elf
+S:A:Half-Ogre
+S:A:High-Elf
+S:A:Hobbit
+S:A:Human
+S:A:Kobold
+S:A:Orc
+S:A:Petty-Dwarf
+S:A:RohanKnight
+S:A:Troll
+S:A:Wood-Elf
+S:A:Yeek
+S:G:NO_CUT
+S:G:NO_FOOD
+S:G:NO_SUBRACE_CHANGE
+S:G:UNDEAD
S:R:1:0
-S:F:SEE_INVIS | HOLD_LIFE |
-S:F:RES_POIS | RES_SHARDS |
+S:F:HOLD_LIFE
+S:F:RES_POIS
+S:F:RES_SHARDS
+S:F:SEE_INVIS
S:R:10:0
-S:F:RES_COLD |
+S:F:RES_COLD
S:O:70:32:2d3
-S:k:-500:+000:Disarming
S:k:-500:+000:Magic-Device
S:k:+500:+000:Spirituality
S:k:-1000:+000:Stealth
-S:k:-100:+000:Sneakiness
S:k:+800:+000:Weaponmastery
S:k:+000:+000:Archery
S:N:4:Zombie
S:D:B:Strong and dumb is a zombie.
S:S:2:-6:-6:1:4:-5:-4:70
-S:K:-2:-2:5:-1:-1:2:5:0
S:P:3:45:1
-S:M:50:15:0:0:0:0:0:0:0:0
S:E:0:0:0:0:0:0
-S:A:Human | Half-Elf | Elf | Hobbit | Gnome | Dwarf |
-S:A:Orc | Troll | Dunadan | High-Elf | Half-Ogre | Beorning |
-S:A:Kobold | Petty-Dwarf | Dark-Elf | RohanKnight | Yeek | Wood-Elf |
+S:A:Beorning
+S:A:Dark-Elf
+S:A:Dunadan
+S:A:Dwarf
+S:A:Elf
+S:A:Gnome
+S:A:Half-Elf
+S:A:Half-Ogre
+S:A:High-Elf
+S:A:Hobbit
+S:A:Human
+S:A:Kobold
+S:A:Orc
+S:A:Petty-Dwarf
+S:A:RohanKnight
+S:A:Troll
+S:A:Wood-Elf
+S:A:Yeek
S:C:F:Mage
-S:G:UNDEAD | NO_FOOD | NO_SUBRACE_CHANGE
+S:G:NO_FOOD
+S:G:NO_SUBRACE_CHANGE
+S:G:UNDEAD
S:R:1:0
-S:F:SEE_INVIS | HOLD_LIFE |
-S:F:SLOW_DIGEST | RES_POIS |
+S:F:HOLD_LIFE
+S:F:RES_POIS
+S:F:SEE_INVIS
+S:F:SLOW_DIGEST
S:R:5:0
-S:F:RES_COLD |
+S:F:RES_COLD
S:O:70:32:2d3
-S:k:-200:+000:Disarming
S:k:-200:+000:Magic-Device
S:k:+500:+000:Spirituality
S:k:-1000:+000:Stealth
-S:k:-100:+000:Sneakiness
S:k:+500:+000:Weaponmastery
S:k:+000:+000:Archery
S:N:5:Barbarian
S:D:A:Hardy members of their race, they are strong fighters but poor spellcasters.
S:S:2:-3:-2:1:1:-3:1:50
-S:K:-2:-10:2:-2:0:1:12:5
S:P:1:25:0
-S:M:0:0:0:0:0:0:0:0:0:0
S:E:0:0:0:0:0:0
-S:A:Human | Dwarf | Orc | Troll | Half-Ogre | Beorning |
+S:A:Beorning
+S:A:Dwarf
+S:A:Half-Ogre
+S:A:Human
+S:A:Orc
+S:A:Troll
S:C:F:Mage
S:R:10:0
-S:F:RES_FEAR |
-S:k:-200:+000:Disarming
+S:F:RES_FEAR
S:k:-1000:+000:Magic-Device
S:k:+200:+000:Spirituality
S:k:-2000:+000:Stealth
-S:k:+000:+000:Sneakiness
S:k:+1200:+000:Weaponmastery
S:k:+500:+000:Archery
@@ -1525,36 +1495,64 @@ S:N:6:Hermit
S:D:A:Through years of isolation hermits can manage to increase their mana
S:D:A:reserves but at the cost of an increased physical weakness.
S:S:-3:1:1:-3:-3:1:0:120
-S:K:5:10:5:3:4:10:-5:-5
S:P:-3:20:1
-S:M:0:0:0:0:0:0:0:0:0:0
S:E:0:0:0:0:0:0
-S:A:Human | Half-Elf | Elf | Hobbit | Gnome | Dwarf |
-S:A:Dunadan | High-Elf | Petty-Dwarf | Dark-Elf | Ent | RohanKnight |
-S:A:Thunderlord | DeathMold | Yeek | Wood-Elf | Maia |
-S:C:F:Warrior | Archer
-S:k:+500:+000:Disarming
+S:A:Dark-Elf
+S:A:DeathMold
+S:A:Dunadan
+S:A:Dwarf
+S:A:Elf
+S:A:Ent
+S:A:Gnome
+S:A:Half-Elf
+S:A:High-Elf
+S:A:Hobbit
+S:A:Human
+S:A:Maia
+S:A:Petty-Dwarf
+S:A:RohanKnight
+S:A:Thunderlord
+S:A:Wood-Elf
+S:A:Yeek
+S:C:F:Archer
+S:C:F:Warrior