summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2015-10-27 19:25:50 +0100
committerBardur Arantsson <bardur@scientician.net>2015-10-27 19:25:50 +0100
commit867823f4429b1215cd5c3aa6d2415fb324429891 (patch)
tree2915f6c2e0acae69ad2b738e0038766354d60856
parentf005efee43bdb2e9749b02f73b876bf2c1145f1b (diff)
parent47fb7807d77c92fa6e72017501d9355d780adf40 (diff)
Merge branch 'cpp'
-rw-r--r--.gitignore3
-rw-r--r--CMakeLists.txt28
-rw-r--r--RELEASE.txt8
-rw-r--r--changes.old6027
-rw-r--r--lib/edit/a_info.txt186
-rw-r--r--lib/edit/ab_info.txt6
-rw-r--r--lib/edit/ba_info.txt46
-rw-r--r--lib/edit/d_info.txt2
-rw-r--r--lib/edit/e_info.txt18
-rw-r--r--lib/edit/k_info.txt42
-rw-r--r--lib/edit/ow_info.txt2
-rw-r--r--lib/edit/p_info.txt19
-rw-r--r--lib/edit/st_info.txt17
-rw-r--r--lib/edit/t_basic.txt80
-rw-r--r--lib/edit/t_bree.txt5
-rw-r--r--lib/edit/t_gondol.txt5
-rw-r--r--lib/edit/t_minas.txt5
-rw-r--r--lib/file/elvish.txt218
-rw-r--r--lib/help/advanced.hlp5
-rw-r--r--lib/help/c_merch.txt29
-rw-r--r--lib/help/command.txt27
-rw-r--r--lib/help/defines.txt1
-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/macrofaq.txt16
-rw-r--r--lib/help/option.txt69
-rw-r--r--lib/mods/theme/edit/a_info.txt228
-rw-r--r--lib/mods/theme/edit/ab_info.txt6
-rw-r--r--lib/mods/theme/edit/ba_info.txt46
-rw-r--r--lib/mods/theme/edit/d_info.txt5
-rw-r--r--lib/mods/theme/edit/e_info.txt22
-rw-r--r--lib/mods/theme/edit/k_info.txt52
-rw-r--r--lib/mods/theme/edit/ow_info.txt5
-rw-r--r--lib/mods/theme/edit/p_info.txt19
-rw-r--r--lib/mods/theme/edit/r_info.txt4
-rw-r--r--lib/mods/theme/edit/st_info.txt14
-rw-r--r--lib/mods/theme/edit/t_basic.txt66
-rw-r--r--lib/mods/theme/edit/t_gondol.txt5
-rw-r--r--lib/mods/theme/file/elvish.txt218
-rw-r--r--lib/mods/theme/help/advanced.hlp5
-rw-r--r--lib/mods/theme/help/c_merch.txt29
-rw-r--r--lib/mods/theme/help/command.txt27
-rw-r--r--lib/mods/theme/help/defines.txt1
-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/macrofaq.txt16
-rw-r--r--lib/mods/theme/help/option.txt69
-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/user/all.prf48
-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/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
-rw-r--r--src/.gitignore2
-rw-r--r--src/CMakeLists.txt162
-rw-r--r--src/ability_type.hpp27
-rw-r--r--src/ability_type_fwd.hpp3
-rw-r--r--src/activation.hpp13
-rw-r--r--src/alchemist_recipe.hpp11
-rw-r--r--src/alchemist_recipe_fwd.hpp3
-rw-r--r--src/alloc_entry.hpp20
-rw-r--r--src/alloc_entry_fwd.hpp3
-rw-r--r--src/angband.h26
-rw-r--r--src/angband.rc15
-rw-r--r--src/artifact_select_flag.hpp18
-rw-r--r--src/artifact_select_flag_fwd.hpp3
-rw-r--r--src/artifact_type.hpp60
-rw-r--r--src/artifact_type_fwd.hpp3
-rw-r--r--src/between_exit.hpp18
-rw-r--r--src/birth.cc (renamed from src/birth.c)463
-rw-r--r--src/birth.h14
-rw-r--r--src/birth.hpp9
-rw-r--r--src/birther.hpp35
-rw-r--r--src/bldg.cc (renamed from src/bldg.c)878
-rw-r--r--src/bldg.hpp9
-rw-r--r--src/body.hpp12
-rw-r--r--src/cave.cc (renamed from src/cave.c)1067
-rw-r--r--src/cave.hpp55
-rw-r--r--src/cave_type.hpp65
-rw-r--r--src/cave_type_fwd.hpp3
-rw-r--r--src/cli_comm.hpp13
-rw-r--r--src/cli_comm_fwd.hpp3
-rw-r--r--src/cmd1.cc (renamed from src/cmd1.c)531
-rw-r--r--src/cmd1.hpp25
-rw-r--r--src/cmd2.cc (renamed from src/cmd2.c)962
-rw-r--r--src/cmd2.hpp34
-rw-r--r--src/cmd3.cc (renamed from src/cmd3.c)731
-rw-r--r--src/cmd3.hpp24
-rw-r--r--src/cmd4.cc (renamed from src/cmd4.c)834
-rw-r--r--src/cmd4.hpp28
-rw-r--r--src/cmd5.cc (renamed from src/cmd5.c)760
-rw-r--r--src/cmd5.hpp16
-rw-r--r--src/cmd6.cc (renamed from src/cmd6.c)4978
-rw-r--r--src/cmd6.hpp18
-rw-r--r--src/cmd7.cc (renamed from src/cmd7.c)1036
-rw-r--r--src/cmd7.hpp30
-rw-r--r--src/cmovie.c496
-rw-r--r--src/config.h66
-rw-r--r--src/corrupt.cc (renamed from src/corrupt.c)51
-rw-r--r--src/corrupt.hpp47
-rw-r--r--src/defines.h869
-rw-r--r--src/deity_type.hpp11
-rw-r--r--src/deity_type_fwd.hpp3
-rw-r--r--src/device_allocation.cc20
-rw-r--r--src/device_allocation.hpp17
-rw-r--r--src/device_allocation_fwd.hpp8
-rw-r--r--src/dice.cc98
-rw-r--r--src/dice.hpp13
-rw-r--r--src/dice_fwd.hpp12
-rw-r--r--src/dungeon.cc (renamed from src/dungeon.c)754
-rw-r--r--src/dungeon.h14
-rw-r--r--src/dungeon.hpp6
-rw-r--r--src/dungeon_info_type.hpp72
-rw-r--r--src/dungeon_info_type_fwd.hpp3
-rw-r--r--src/effect_type.hpp17
-rw-r--r--src/ego_item_type.hpp68
-rw-r--r--src/ego_item_type_fwd.hpp3
-rw-r--r--src/externs.h2377
-rw-r--r--src/fate.hpp22
-rw-r--r--src/feature_type.hpp37
-rw-r--r--src/feature_type_fwd.hpp3
-rw-r--r--src/files.cc (renamed from src/files.c)416
-rw-r--r--src/files.h17
-rw-r--r--src/files.hpp27
-rw-r--r--src/flags_group.hpp20
-rw-r--r--src/gen_evol.cc (renamed from src/gen_evol.c)17
-rw-r--r--src/gen_evol.hpp6
-rw-r--r--src/gen_maze.cc (renamed from src/gen_maze.c)23
-rw-r--r--src/gen_maze.hpp5
-rw-r--r--src/generate.cc (renamed from src/generate.c)563
-rw-r--r--src/generate.hpp12
-rw-r--r--src/gf_name_type.hpp10
-rw-r--r--src/gods.cc (renamed from src/gods.c)26
-rw-r--r--src/gods.hpp13
-rw-r--r--src/h-basic.h10
-rw-r--r--src/h-config.h185
-rw-r--r--src/h-define.h19
-rw-r--r--src/h-system.h44
-rw-r--r--src/h-type.h8
-rw-r--r--src/help.cc (renamed from src/help.c)21
-rw-r--r--src/help.hpp11
-rw-r--r--src/help_info.hpp17
-rw-r--r--src/hiscore.cc (renamed from src/hiscore.c)6
-rw-r--r--src/hiscore.hpp (renamed from src/hiscore.h)24
-rw-r--r--src/hist_type.hpp16
-rw-r--r--src/hist_type_fwd.hpp3
-rw-r--r--src/hook_build_room1_in.hpp8
-rw-r--r--src/hook_calculate_hp_in.hpp7
-rw-r--r--src/hook_calculate_hp_out.hpp7
-rw-r--r--src/hook_chardump_in.hpp7
-rw-r--r--src/hook_chat_in.hpp7
-rw-r--r--src/hook_drop_in.hpp5
-rw-r--r--src/hook_eat_in.hpp7
-rw-r--r--src/hook_eat_out.hpp7
-rw-r--r--src/hook_enter_dungeon_in.hpp7
-rw-r--r--src/hook_get_in.hpp8
-rw-r--r--src/hook_give_in.hpp6
-rw-r--r--src/hook_identify_in.hpp9
-rw-r--r--src/hook_init_quest_in.hpp5
-rw-r--r--src/hook_mon_speak_in.hpp8
-rw-r--r--src/hook_monster_ai_in.hpp9
-rw-r--r--src/hook_monster_ai_out.hpp8
-rw-r--r--src/hook_monster_death_in.hpp7
-rw-r--r--src/hook_move_in.hpp6
-rw-r--r--src/hook_new_monster_end_in.hpp7
-rw-r--r--src/hook_new_monster_in.hpp7
-rw-r--r--src/hook_player_level_in.hpp5
-rw-r--r--src/hook_quest_fail_in.hpp7
-rw-r--r--src/hook_quest_finish_in.hpp7
-rw-r--r--src/hook_stair_in.hpp7
-rw-r--r--src/hook_stair_out.hpp7
-rw-r--r--src/hook_wield_in.hpp7
-rw-r--r--src/hook_wild_gen_in.hpp7
-rw-r--r--src/hooks.cc113
-rw-r--r--src/hooks.hpp10
-rw-r--r--src/identify_mode.hpp3
-rw-r--r--src/include/sglib.h1952
-rw-r--r--src/include/tome/enum_string_map.hpp55
-rw-r--r--src/include/tome/make_array.hpp13
-rw-r--r--src/include/tome/squelch/automatizer.hpp156
-rw-r--r--src/include/tome/squelch/automatizer_fwd.hpp10
-rw-r--r--src/include/tome/squelch/condition.hpp632
-rw-r--r--src/include/tome/squelch/condition_fwd.hpp15
-rw-r--r--src/include/tome/squelch/condition_metadata.hpp12
-rw-r--r--src/include/tome/squelch/condition_metadata_fwd.hpp14
-rw-r--r--src/include/tome/squelch/cursor.hpp50
-rw-r--r--src/include/tome/squelch/cursor_fwd.hpp10
-rw-r--r--src/include/tome/squelch/object_status.hpp28
-rw-r--r--src/include/tome/squelch/object_status_fwd.hpp12
-rw-r--r--src/include/tome/squelch/rule.hpp162
-rw-r--r--src/include/tome/squelch/rule_fwd.hpp16
-rw-r--r--src/include/tome/squelch/tree_printer.hpp49
-rw-r--r--src/include/tome/squelch/tree_printer_fwd.hpp10
-rw-r--r--src/init1.cc (renamed from src/init1.c)1426
-rw-r--r--src/init1.hpp27
-rw-r--r--src/init2.c2738
-rw-r--r--src/init2.cc1525
-rw-r--r--src/init2.h14
-rw-r--r--src/init2.hpp9
-rw-r--r--src/inscription_info_type.hpp14
-rw-r--r--src/inventory.hpp35
-rw-r--r--src/joke.cc (renamed from src/joke.c)17
-rw-r--r--src/joke.hpp5
-rw-r--r--src/levels.cc (renamed from src/levels.c)15
-rw-r--r--src/levels.hpp13
-rw-r--r--src/loadsave.cc (renamed from src/loadsave.c)2499
-rw-r--r--src/loadsave.h16
-rw-r--r--src/loadsave.hpp7
-rw-r--r--src/lua_bind.c342
-rw-r--r--src/lua_bind.cc277
-rw-r--r--src/lua_bind.hpp34
-rw-r--r--src/magic_power.hpp15
-rw-r--r--src/maid-x11.c855
-rw-r--r--src/main-crb.c5963
-rw-r--r--src/main-gcu.c178
-rw-r--r--src/main-gtk2.c2575
-rw-r--r--src/main-sdl.c134
-rw-r--r--src/main-win.c816
-rw-r--r--src/main-x11.c485
-rw-r--r--src/main-xaw.c1880
-rw-r--r--src/main-xxx.c785
-rw-r--r--src/main.c303
-rw-r--r--src/martial_arts.hpp18
-rw-r--r--src/melee1.cc (renamed from src/melee1.c)93
-rw-r--r--src/melee1.hpp7
-rw-r--r--src/melee2.cc (renamed from src/melee2.c)636
-rw-r--r--src/melee2.hpp12
-rw-r--r--src/messages.cc (renamed from src/messages.c)16
-rw-r--r--src/messages.h13
-rw-r--r--src/messages.hpp9
-rw-r--r--src/meta_class_type.hpp10
-rw-r--r--src/meta_class_type_fwd.hpp3
-rw-r--r--src/mimic.cc (renamed from src/mimic.c)39
-rw-r--r--src/mimic.hpp10
-rw-r--r--src/module_type.hpp64
-rw-r--r--src/modules.cc (renamed from src/modules.c)151
-rw-r--r--src/modules.h15
-rw-r--r--src/modules.hpp11
-rw-r--r--src/monster1.cc (renamed from src/monster1.c)101
-rw-r--r--src/monster1.hpp5
-rw-r--r--src/monster2.cc (renamed from src/monster2.c)410
-rw-r--r--src/monster2.hpp52
-rw-r--r--src/monster3.cc (renamed from src/monster3.c)71
-rw-r--r--src/monster3.hpp20
-rw-r--r--src/monster_blow.hpp19
-rw-r--r--src/monster_ego.hpp81
-rw-r--r--src/monster_ego_fwd.hpp3
-rw-r--r--src/monster_power.hpp14
-rw-r--r--src/monster_race.hpp116
-rw-r--r--src/monster_race_fwd.hpp3
-rw-r--r--src/monster_type.hpp90
-rw-r--r--src/monster_type_fwd.hpp3
-rw-r--r--src/move_info_type.hpp15
-rw-r--r--src/music.hpp17
-rw-r--r--src/notes.cc (renamed from src/notes.c)22
-rw-r--r--src/notes.hpp6
-rw-r--r--src/obj_theme.hpp15
-rw-r--r--src/obj_theme_fwd.hpp3
-rw-r--r--src/object1.cc (renamed from src/object1.c)1051
-rw-r--r--src/object1.hpp46
-rw-r--r--src/object2.cc (renamed from src/object2.c)535
-rw-r--r--src/object2.hpp69
-rw-r--r--src/object_filter.cc98
-rw-r--r--src/object_filter.hpp99
-rw-r--r--src/object_kind.hpp86
-rw-r--r--src/object_kind_fwd.hpp3
-rw-r--r--src/object_type.hpp104
-rw-r--r--src/object_type_fwd.hpp3
-rw-r--r--src/option_type.hpp40
-rw-r--r--src/options.cc89
-rw-r--r--src/options.hpp89
-rw-r--r--src/owner_type.hpp39
-rw-r--r--src/owner_type_fwd.hpp3
-rw-r--r--src/player_class.hpp105
-rw-r--r--src/player_class_fwd.hpp3
-rw-r--r--src/player_defs.hpp6
-rw-r--r--src/player_race.hpp83
-rw-r--r--src/player_race_fwd.hpp3
-rw-r--r--src/player_race_mod.hpp87
-rw-r--r--src/player_race_mod_fwd.hpp3
-rw-r--r--src/player_sex.hpp17
-rw-r--r--src/player_sex_fwd.hpp3
-rw-r--r--src/player_spec.hpp38
-rw-r--r--src/player_spec_fwd.hpp3
-rw-r--r--src/player_type.hpp423
-rw-r--r--src/player_type_fwd.hpp3
-rw-r--r--src/plots.c403
-rw-r--r--src/plots.h68
-rw-r--r--src/power_type.hpp19
-rw-r--r--src/powers.cc (renamed from src/powers.c)253
-rw-r--r--src/powers.hpp74
-rw-r--r--src/q_betwen.cc (renamed from src/q_betwen.c)74
-rw-r--r--src/q_betwen.hpp5
-rw-r--r--src/q_bounty.cc (renamed from src/q_bounty.c)85
-rw-r--r--src/q_bounty.hpp8
-rw-r--r--src/q_dragons.cc (renamed from src/q_dragons.c)37
-rw-r--r--src/q_dragons.hpp5
-rw-r--r--src/q_eol.cc (renamed from src/q_eol.c)98
-rw-r--r--src/q_eol.hpp5
-rw-r--r--src/q_evil.cc (renamed from src/q_evil.c)38
-rw-r--r--src/q_evil.hpp5
-rw-r--r--src/q_fireprof.cc (renamed from src/q_fireprof.c)111
-rw-r--r--src/q_fireprof.hpp7
-rw-r--r--src/q_god.cc (renamed from src/q_god.c)85
-rw-r--r--src/q_god.hpp6
-rw-r--r--src/q_haunted.cc (renamed from src/q_haunted.c)39
-rw-r--r--src/q_haunted.hpp5
-rw-r--r--src/q_hobbit.cc (renamed from src/q_hobbit.c)119
-rw-r--r--src/q_hobbit.hpp5
-rw-r--r--src/q_invas.cc (renamed from src/q_invas.c)92
-rw-r--r--src/q_invas.hpp5
-rw-r--r--src/q_library.cc (renamed from src/q_library.c)36
-rw-r--r--src/q_library.hpp8
-rw-r--r--src/q_main.cc (renamed from src/q_main.c)106
-rw-r--r--src/q_main.hpp7
-rw-r--r--src/q_narsil.cc (renamed from src/q_narsil.c)68
-rw-r--r--src/q_narsil.hpp5
-rw-r--r--src/q_nazgul.c116
-rw-r--r--src/q_nazgul.cc144
-rw-r--r--src/q_nazgul.hpp5
-rw-r--r--src/q_nirna.cc (renamed from src/q_nirna.c)46
-rw-r--r--src/q_nirna.hpp5
-rw-r--r--src/q_one.cc (renamed from src/q_one.c)141
-rw-r--r--src/q_one.hpp5
-rw-r--r--src/q_poison.cc (renamed from src/q_poison.c)78
-rw-r--r--src/q_poison.hpp5
-rw-r--r--src/q_rand.cc (renamed from src/q_rand.c)302
-rw-r--r--src/q_rand.hpp8
-rw-r--r--src/q_shroom.cc (renamed from src/q_shroom.c)206
-rw-r--r--src/q_shroom.hpp5
-rw-r--r--src/q_spider.cc (renamed from src/q_spider.c)45
-rw-r--r--src/q_spider.hpp5
-rw-r--r--src/q_thief.cc (renamed from src/q_thief.c)52
-rw-r--r--src/q_thief.hpp5
-rw-r--r--src/q_thrain.cc (renamed from src/q_thrain.c)93
-rw-r--r--src/q_thrain.hpp5
-rw-r--r--src/q_troll.cc (renamed from src/q_troll.c)79
-rw-r--r--src/q_troll.hpp5
-rw-r--r--src/q_ultrae.cc (renamed from src/q_ultrae.c)5
-rw-r--r--src/q_ultrae.hpp5
-rw-r--r--src/q_ultrag.cc (renamed from src/q_ultrag.c)82
-rw-r--r--src/q_ultrag.hpp5
-rw-r--r--src/q_wight.cc (renamed from src/q_wight.c)66
-rw-r--r--src/q_wight.hpp5
-rw-r--r--src/q_wolves.cc (renamed from src/q_wolves.c)39
-rw-r--r--src/q_wolves.hpp5
-rw-r--r--src/quark.cc (renamed from src/quark.c)16
-rw-r--r--src/quark.h18
-rw-r--r--src/quark.hpp12
-rw-r--r--src/quest.cc17
-rw-r--r--src/quest.hpp3
-rw-r--r--src/quest_type.hpp27
-rw-r--r--src/randart.cc (renamed from src/randart.c)77
-rw-r--r--src/randart.hpp9
-rw-r--r--src/randart_gen_type.hpp9
-rw-r--r--src/randart_gen_type_fwd.hpp3
-rw-r--r--src/randart_part_type.hpp43
-rw-r--r--src/randart_part_type_fwd.hpp3
-rw-r--r--src/random_artifact.hpp18
-rw-r--r--src/random_quest.hpp10
-rw-r--r--src/random_spell.hpp21
-rw-r--r--src/range.cc (renamed from src/range.c)4
-rw-r--r--src/range.hpp15
-rw-r--r--src/range_fwd.hpp4
-rw-r--r--src/readdib.c342
-rw-r--r--src/readdib.h21
-rw-r--r--src/rule_type.hpp22
-rw-r--r--src/rune_spell.hpp15
-rw-r--r--src/rune_spell_fwd.hpp3
-rw-r--r--src/school_book.hpp15
-rw-r--r--src/school_book_fwd.hpp3
-rw-r--r--src/school_type.hpp21
-rw-r--r--src/school_type_fwd.hpp3
-rw-r--r--src/script.cc (renamed from src/script.c)12
-rw-r--r--src/script.h12
-rw-r--r--src/set_type.hpp28
-rw-r--r--src/set_type_fwd.hpp3
-rw-r--r--src/skill_type.hpp37
-rw-r--r--src/skill_type_fwd.hpp3
-rw-r--r--src/skills.cc (renamed from src/skills.c)559
-rw-r--r--src/skills.hpp27
-rw-r--r--src/skills_defs.hpp64
-rw-r--r--src/spell_type.cc (renamed from src/spell_type.c)184
-rw-r--r--src/spell_type.hpp (renamed from src/spell_type.h)73
-rw-r--r--src/spell_type_fwd.hpp (renamed from src/spell_type_fwd.h)13
-rw-r--r--src/spells1.cc (renamed from src/spells1.c)381
-rw-r--r--src/spells1.hpp32
-rw-r--r--src/spells2.cc (renamed from src/spells2.c)2409
-rw-r--r--src/spells2.hpp115
-rw-r--r--src/spells3.cc (renamed from src/spells3.c)1126
-rw-r--r--src/spells3.hpp445
-rw-r--r--src/spells4.cc (renamed from src/spells4.c)343
-rw-r--r--src/spells4.hpp43
-rw-r--r--src/spells5.cc (renamed from src/spells5.c)436
-rw-r--r--src/spells5.hpp9
-rw-r--r--src/spells6.cc (renamed from src/spells6.c)106
-rw-r--r--src/spells6.hpp7
-rw-r--r--src/squelch/CMakeLists.txt9
-rw-r--r--src/squelch/automatizer.cc278
-rw-r--r--src/squelch/condition.cc1078
-rw-r--r--src/squelch/condition_metadata.cc496
-rw-r--r--src/squelch/cursor.cc96
-rw-r--r--src/squelch/object_status.cc153
-rw-r--r--src/squelch/rule.cc332
-rw-r--r--src/squelch/tree_printer.cc89
-rw-r--r--src/squeltch.c3582
-rw-r--r--src/squeltch.cc596
-rw-r--r--src/squeltch.hpp13
-rw-r--r--src/stairs_direction.hpp3
-rw-r--r--src/stats.hpp11
-rw-r--r--src/status.cc (renamed from src/status.c)70
-rw-r--r--src/status.hpp3
-rw-r--r--src/store.cc (renamed from src/store.c)262
-rw-r--r--src/store.hpp12
-rw-r--r--src/store_action_type.hpp17
-rw-r--r--src/store_action_type_fwd.hpp3
-rw-r--r--src/store_info_type.hpp32
-rw-r--r--src/store_info_type_fwd.hpp3
-rw-r--r--src/store_type.hpp43
-rw-r--r--src/store_type_fwd.hpp3
-rw-r--r--src/string_list.c52
-rw-r--r--src/tables.cc (renamed from src/tables.c)278
-rw-r--r--src/tables.h12
-rw-r--r--src/tables.hpp82
-rw-r--r--src/tactic_info_type.hpp17
-rw-r--r--src/terrain.hpp19
-rw-r--r--src/timer_type.hpp18
-rw-r--r--src/timer_type_fwd.hpp3
-rw-r--r--src/town_type.hpp21
-rw-r--r--src/town_type_fwd.hpp3
-rw-r--r--src/trap_type.hpp24
-rw-r--r--src/trap_type_fwd.hpp3
-rw-r--r--src/traps.cc (renamed from src/traps.c)183
-rw-r--r--src/traps.hpp13
-rw-r--r--src/tval_desc.hpp17
-rw-r--r--src/types.h2771
-rw-r--r--src/util.cc (renamed from src/util.c)524
-rw-r--r--src/util.h22
-rw-r--r--src/util.hpp76
-rw-r--r--src/variable.cc (renamed from src/variable.c)532
-rw-r--r--src/variable.h40
-rw-r--r--src/variable.hpp317
-rw-r--r--src/vault_type.hpp24
-rw-r--r--src/vault_type_fwd.hpp3
-rw-r--r--src/wild.cc (renamed from src/wild.c)123
-rw-r--r--src/wild.hpp6
-rw-r--r--src/wilderness_map.hpp15
-rw-r--r--src/wilderness_map_fwd.hpp3
-rw-r--r--src/wilderness_type_info.hpp25
-rw-r--r--src/wilderness_type_info_fwd.hpp3
-rw-r--r--src/wizard1.cc (renamed from src/wizard1.c)80
-rw-r--r--src/wizard1.hpp3
-rw-r--r--src/wizard2.cc (renamed from src/wizard2.c)199
-rw-r--r--src/wizard2.hpp8
-rw-r--r--src/xtra1.cc (renamed from src/xtra1.c)859
-rw-r--r--src/xtra1.hpp24
-rw-r--r--src/xtra2.cc (renamed from src/xtra2.c)656
-rw-r--r--src/xtra2.hpp94
-rw-r--r--src/z-form.c167
-rw-r--r--src/z-form.h18
-rw-r--r--src/z-rand.h8
-rw-r--r--src/z-term.c986
-rw-r--r--src/z-term.h101
-rw-r--r--src/z-util.c172
-rw-r--r--src/z-util.h60
-rw-r--r--src/z-virt.c145
-rw-r--r--src/z-virt.h164
-rw-r--r--tests/get_level_device.cc184
-rw-r--r--tests/harness.cc7
-rw-r--r--tests/lua_get_level.cc135
-rw-r--r--vendor/bandit/.travis.yml17
-rw-r--r--vendor/bandit/.vimrc0
-rw-r--r--vendor/bandit/CMakeLists.txt60
-rw-r--r--vendor/bandit/LICENSE.md21
-rw-r--r--vendor/bandit/README.md63
-rw-r--r--vendor/bandit/bandit/adapters/adapter.h12
-rw-r--r--vendor/bandit/bandit/adapters/adapters.h16
-rw-r--r--vendor/bandit/bandit/adapters/snowhouse.h22
-rw-r--r--vendor/bandit/bandit/assertion_exception.h41
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeCloseTo.h55
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeEmpty.h32
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeFalsy.h39
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeGTE.h45
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeGreaterThan.h39
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeLTE.h45
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeLessThan.h39
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeNull.h29
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/BeTruthy.h35
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/Contain.h58
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/Equal.h90
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/MatchProxy.h43
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/Matcher.h74
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/MatcherException.h16
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/ThrowException.h60
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/ValueProxy.h26
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/matchers.h19
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/matchers/must.h36
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/CMakeLists.txt49
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/LICENSE_1_0.txt23
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/README.md419
-rwxr-xr-xvendor/bandit/bandit/assertion_frameworks/snowhouse/cross_compile.sh50
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/basic_assertions.cpp228
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/boolean_operators.cpp48
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/container_spec.cpp85
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/custom_matchers_test.cpp69
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/exceptions_tests.cpp97
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/expression_error_handling.cpp28
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/main.cpp43
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/map_tests.cpp38
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/operator_tests.cpp137
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/sequence_container_tests.cpp192
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/string_line_tests.cpp179
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/string_tests.cpp65
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/stringize_tests.cpp111
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/example/tests.h16
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/assert.h126
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/assertionexception.h58
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/assertmacro.h22
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/constraints.h23
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/containsconstraint.h80
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/endswithconstraint.h53
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/equalsconstraint.h83
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/equalscontainerconstraint.h80
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/equalswithdeltaconstraint.h51
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/expressions/andexpression.h46
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/expressions/expression.h38
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/expressions/expression_fwd.h15
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/expressions/notexpression.h44
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/expressions/orexpression.h46
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/fulfillsconstraint.h51
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/haslengthconstraint.h60
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/isgreaterthanconstraint.h55
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/isgreaterthanorequaltoconstraint.h55
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/islessthanconstraint.h54
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/islessthanorequaltoconstraint.h55
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/constraints/startswithconstraint.h52
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/exceptions.h120
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/constraintadapter.h39
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/constraintlist.h91
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/expressionbuilder.h357
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/fluent.h38
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/andoperator.h54
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/alloperator.h35
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/atleastoperator.h41
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/atmostoperator.h39
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/collectionconstraintevaluator.h113
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/collectionoperator.h24
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/exactlyoperator.h39
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/collections/noneoperator.h33
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/constraintoperator.h70
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/invalidexpressionexception.h28
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/notoperator.h53
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/fluent/operators/oroperator.h55
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/snowhouse.h33
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/stringize.h104
-rw-r--r--vendor/bandit/bandit/assertion_frameworks/snowhouse/snowhouse/stringizers.h60
-rw-r--r--vendor/bandit/bandit/bandit.h42
-rw-r--r--vendor/bandit/bandit/context.h97
-rw-r--r--vendor/bandit/bandit/external/optionparser.h2825
-rw-r--r--vendor/bandit/bandit/failure_formatters/default_failure_formatter.h30
-rw-r--r--vendor/bandit/bandit/failure_formatters/failure_formatter.h13
-rw-r--r--vendor/bandit/bandit/failure_formatters/failure_formatters.h16
-rw-r--r--vendor/bandit/bandit/failure_formatters/visual_studio_failure_formatter.h36
-rw-r--r--vendor/bandit/bandit/grammar.h185
-rw-r--r--vendor/bandit/bandit/listener.h27
-rw-r--r--vendor/bandit/bandit/options.h111
-rw-r--r--vendor/bandit/bandit/registration/registrar.h25
-rw-r--r--vendor/bandit/bandit/registration/registration.h7
-rw-r--r--vendor/bandit/bandit/registration/spec_registry.h17
-rw-r--r--vendor/bandit/bandit/reporters/colorizer.h141
-rw-r--r--vendor/bandit/bandit/reporters/dots_reporter.h69
-rw-r--r--vendor/bandit/bandit/reporters/info_reporter.h194
-rw-r--r--vendor/bandit/bandit/reporters/progress_reporter.h116
-rw-r--r--vendor/bandit/bandit/reporters/reporters.h29
-rw-r--r--vendor/bandit/bandit/reporters/single_line_reporter.h86
-rw-r--r--vendor/bandit/bandit/reporters/spec_reporter.h126
-rw-r--r--vendor/bandit/bandit/reporters/test_run_summary.h90
-rw-r--r--vendor/bandit/bandit/reporters/xunit_reporter.h109
-rw-r--r--vendor/bandit/bandit/run_policies/always_run_policy.h16
-rw-r--r--vendor/bandit/bandit/run_policies/bandit_run_policy.h161
-rw-r--r--vendor/bandit/bandit/run_policies/never_run_policy.h14
-rw-r--r--vendor/bandit/bandit/run_policies/run_policies.h9
-rw-r--r--vendor/bandit/bandit/run_policies/run_policy.h44
-rw-r--r--vendor/bandit/bandit/runner.h103
-rw-r--r--vendor/bandit/bandit/skip_policies/always_include_policy.h16
-rw-r--r--vendor/bandit/bandit/skip_policies/always_skip_policy.h15
-rw-r--r--vendor/bandit/bandit/skip_policies/name_contains_skip_policy.h28
-rw-r--r--vendor/bandit/bandit/skip_policies/skip_policies.h9
-rw-r--r--vendor/bandit/bandit/skip_policies/skip_policy.h29
-rw-r--r--vendor/bandit/bandit/test_run_error.h12
-rw-r--r--vendor/bandit/cmake/cotire.cmake3185
-rwxr-xr-xvendor/bandit/cross_compile.sh43
-rw-r--r--vendor/bandit/specs/before_each_after_each.spec.cpp78
-rw-r--r--vendor/bandit/specs/context.spec.cpp44
-rw-r--r--vendor/bandit/specs/describe.spec.cpp117
-rw-r--r--vendor/bandit/specs/failure_formatters/default_formatter.spec.cpp21
-rw-r--r--vendor/bandit/specs/failure_formatters/visual_studio_failure_formatter.spec.cpp22
-rw-r--r--vendor/bandit/specs/fakes/fake_context.h69
-rw-r--r--vendor/bandit/specs/fakes/fake_reporter.h78
-rw-r--r--vendor/bandit/specs/fakes/fakes.h8
-rw-r--r--vendor/bandit/specs/fakes/logging_fake.h32
-rw-r--r--vendor/bandit/specs/fuzzbox.spec.cpp77
-rw-r--r--vendor/bandit/specs/it.spec.cpp355
-rw-r--r--vendor/bandit/specs/main.cpp6
-rw-r--r--vendor/bandit/specs/matchers/be_close_to.cpp112
-rw-r--r--vendor/bandit/specs/matchers/be_empty.cpp89
-rw-r--r--vendor/bandit/specs/matchers/be_falsy.cpp85
-rw-r--r--vendor/bandit/specs/matchers/be_greater_than.cpp105
-rw-r--r--vendor/bandit/specs/matchers/be_gte.cpp120
-rw-r--r--vendor/bandit/specs/matchers/be_less_than.cpp105
-rw-r--r--vendor/bandit/specs/matchers/be_lte.cpp119
-rw-r--r--vendor/bandit/specs/matchers/be_null.cpp43
-rw-r--r--vendor/bandit/specs/matchers/be_truthy.cpp85
-rw-r--r--vendor/bandit/specs/matchers/contain.cpp156
-rw-r--r--vendor/bandit/specs/matchers/equal.cpp214
-rw-r--r--vendor/bandit/specs/matchers/throw_exception.cpp104
-rw-r--r--vendor/bandit/specs/options.spec.cpp121
-rw-r--r--vendor/bandit/specs/reporters/colorizer.spec.cpp45
-rw-r--r--vendor/bandit/specs/reporters/dots_reporter.spec.cpp202
-rw-r--r--vendor/bandit/specs/reporters/single_line_reporter.spec.cpp201
-rw-r--r--vendor/bandit/specs/reporters/xunit_reporter.spec.cpp161
-rw-r--r--vendor/bandit/specs/run.spec.cpp77
-rw-r--r--vendor/bandit/specs/run_policies/bandit_run_policy.spec.cpp250
-rw-r--r--vendor/bandit/specs/specs.h10
-rw-r--r--vendor/bandit/specs/synopsis.spec.cpp54
-rw-r--r--vendor/bandit/specs/util/argv_helper.h62
-rw-r--r--vendor/bandit/specs/util/util.h6
667 files changed, 44186 insertions, 114058 deletions
diff --git a/.gitignore b/.gitignore
index d7793155..463afd14 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
*.o
+lib*.a
*.~*
*.#*
CMakeFiles
@@ -6,3 +7,5 @@ CMakeCache.txt
cmake_install.cmake
install_manifest.txt
Makefile
+compile_commands.json
+/nbproject
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 53923c57..9519785a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,14 +9,19 @@ INCLUDE(FeatureSummary)
INCLUDE(FindPkgConfig)
#
+# Basic common compiler flags.
+#
+SET(COMMON_COMPILER_FLAGS "-pipe -Wall -Wno-unused-value -fsanitize=undefined -fsanitize=address")
+
+#
# GCC/G++ flags
#
IF(CMAKE_COMPILER_IS_GNUCC)
# Let's set sensible options.
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wno-unused-value")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe -Wall -Wno-unused-value --std=c++11 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILER_FLAGS} --std=c++11 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
ENDIF()
@@ -25,19 +30,16 @@ ENDIF()
# Clang flags
#
IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wno-unused-value")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_COMPILER_FLAGS}")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
ENDIF()
IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe -Wall -Wno-unused-value --std=c++11 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_COMPILER_FLAGS} --std=c++11 -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
ENDIF()
-# Add definitions.
-ADD_DEFINITIONS(-DUSE_PRECISE_CMOVIE)
-
# Add standard math library
SET(LIBS ${LIBS} m)
@@ -48,10 +50,22 @@ PKG_CHECK_MODULES(JANSSON REQUIRED jansson)
IF(JANSSON_FOUND)
ADD_DEFINITIONS(${JANSSON_CFLAGS})
INCLUDE_DIRECTORIES(${JANSSON_INCLUDE_DIRS})
+ LINK_DIRECTORIES(${JANSSON_LIBRARY_DIRS})
SET(LIBS ${LIBS} ${JANSSON_LIBRARIES})
ENDIF()
#
+# BOOST
+#
+FIND_PACKAGE(Boost 1.54.0 REQUIRED COMPONENTS system filesystem)
+
+IF(Boost_FOUND)
+ ADD_DEFINITIONS(-DBOOST_FILESYSTEM_NO_DEPRECATED)
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
+ SET(LIBS ${LIBS} ${Boost_LIBRARIES} ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
+ENDIF()
+
+#
# X11 support (OPTIONAL)
#
FIND_PACKAGE(X11)
diff --git a/RELEASE.txt b/RELEASE.txt
new file mode 100644
index 00000000..ab082315
--- /dev/null
+++ b/RELEASE.txt
@@ -0,0 +1,8 @@
+Release Checklist:
+==================
+
+* Bump version number.
+* Update changes.txt
+* Update IS_CVS in defines.h before tagging; undo post-tagging.
+* Check that system-wide installation succeeds.
+* Disable C/C++ compiler sanitization options
diff --git a/changes.old b/changes.old
deleted file mode 100644
index dabf85a0..00000000
--- a/changes.old
+++ /dev/null
@@ -1,6027 +0,0 @@
-24/10/1998 - PernAngband 2.9.9a
-- Added the DragonRider from the Anne McCaffrey's Books, masters of
- teleportation.
-- The CTRL+l key leaves the game without saving
-- Added the Tanker point, like the mana point, but can only be refilled
- by eating the Firestone (for DragonRiders)
-- Added the RohanKnight race, fast and wise
-- Added the Ent race, can grow trees, but slow
-- Removed some races from Zangband which were not enough tolkienian...
-- Added the BeastMaster class which can summon pets
-- Added the Blood of Life
-- DragonRider now can choose to breathe a bolt, a beam or a ball
-- Added the Unique level patch from Glenn Vanzanden
-- Added the Mage Staves , with new ego items:
- -of Mana : multiply your max mana
- -of Spell : Increase your spell power
- -of Mana & Spell : try to find !:)
- -of Power : Activate for some spell, they carry 2 spells
- All the ego mage staves have a penalty to damage and to hit
-- Added The Mage Staff of Gandalf, extremely powerful but even rarer than
- the One Ring !
-- Added the boots of jumping activatable for phase door every 10+d10 turns
-- Added Helm of the Dwarves and of the Noldor
-- Beastmasters' pets now give kill experience to the player
-- Added the Alchemist class which use power batteries to convert magic item
-- New unique level : Treasure room at level 11
-- Replaced the Trump Hound from the Trump realm by the Trump Home spell, which
- allows the player to access to her/his home from everywhere in the dungeon
-- Added the new artifact The Ring of F'lar, which belonged to F'lar the
- powerful DragonRider
-
-26/10/1998
-- Added potions of Mutation
-- Warrior-Mage now can choose Sorcery instead of Arcane
-- Invisibility, Potion of Invisibility, Ring of Invisibility and
- The One Ring now has invisibility like in the Lord Of The Rings !!!
-- Added the parchments from Kamband
-
-30/10/1998
-- Ported PernAngband to the new Zangband 2.2.0
-- Added the mimic class
-- Some Zangband bugs are fixed
-- The DragonRider can now only teleport on known terrain, because they must
- mentally show the destination to their dragons but to do this they MUST
- have seen the destination before (like in the Anne McCaffrey books) !
-- The Ringwraiths are back!
-- Some uniques like Bert, Tom, Bill are back, while others (Gandalf, Fangorn)
- are gone!
-- Morgoth and Sauron are back as the final quests
-
-01/11/1998 - PernAngband 3.0.0
-- All reference to Zangband have been removed
-- Added monster corpses
-- Added the Beastmaster Shanty for the beastmaster, the Mimic Tower for the
- Mimic, and the Weaver Tower, where you can ask for corpse quests
-- The corpse quests require you to bring back to the weaver some corpse,
- head,... of a kind of monster, and you'll get a reward, like maybe
- the full knowledge about this monster, or some armor made with the corpse
- (maybe dragon scale mail for dragon, ...)
-- Added susceptibility to fire, for the Ents! They take twice more damage from
- fire, but it's hopefully cancelled by resist fire.
-- Changed some artifacts / unique monsters to be more pernish
-- Added a new armor type : the DragonRider flying suit[9,+0] resist fire/cold
-- New monster flag : PET , the monster is your pet when it's created
-- Added the army man which use the PET flag will be used to give you an army
- in some future quest.
-
-03/11/1998
-- The exe file is now pernang.exe(in the dos version)
-- Replaced the AMBERITE monster flag by the DRAGONRIDER flag
-- Some Unique will have the PET flag so they will help you !
-- All the Amberite are now gone and replaced by DragonRiders or uniques
- (with some of them friendly)
-- Can sell the Mage staves in the Weapon smith and Magic shop.
-- Now when an alchemist tries to extract a power from an item, if he can't
- it won't show up again in the extractable list the next time
-- The DragonRider must eat more because of their dragon
-- The Troll Fortress quest
-- Added The Battle of the five armies quest !!!
-
-05/11/1998
-- Nature spell : Stop breeders
-- New ego item sword of life, it multiplies your max hitpoints
-- Now some Mimic forms give you bonuses to blows per round like the Vala:
- +5 blows !!!
-- Added a new Unique : The Philosophy Teacher !
-- Pink horrors are replaced with 2 Blue horrors when they die
-- Bloodletters of Khorne drop a blade of chaos when they die
-- Absorb light mutation bug fixed (I think)
-- Vampires and vampire mimics no longer can get food in the inns.
-- Renamed the artifacts with their real names
-- Replaced the pattern by the Straight Road (idea from GSN-Band)
-- Replaced the pattern weapons with weapons of Valinor (idea from GSN-Band)
-- Player and monsters can't pass through the trees (unless they can fly:)
-- When a Dragonrider dies he drops some firestones
-- Added the Whip of Gothmog, which can be dropped by Gothmog when killed
-- Begin to add a new feature : the between
-- Add a great description of the Ents and the Rohan's Knights from Akhronath
-
-07/11/1998
-- The between is fully implemented now.
-- The dimension door spell is replaced by the between gate.
- It put a between gate at the player position and at the destination
- location. And when you walk on the between you are transported on the other
- between gate. But the between is SO cold that when you are in you lose some
- hp even if resistant or immune to cold! Only the dragonrider can go between
- without taking damage.
-- Stole the Stone of Lore from Oangband ! :)
-- Monsters can't use the between now because of a bug
-- Now you can eat corpses and temporarily gain some of the powers of monsters!
-- Raise Death replaces Terror in the death realm, cast it on a monster corpse
- on the floor and the monster is brought back to life!
-
-09/11/1998
-- Added the boomerang, the player wears them instead of the bow and with the 'f'
- command (like for the bow) can throw them but them come back ... if they don't
- break !
-- Add 2 boomerang artifacts
-- Add another dragonrider artifact belonging to Mardra
-- Add The Anchor of Space-Time, it prevents disruption of the space-time
- continuum
-
-11/11/1998
-- Add the carry slot in the equipment, to wield monsters that can't move :)
-- Fixed a bug that prevented dragonriders from being summoned
-- Add a Neuter sex (for the neuter players) :-)
-- Add the Death Mold race (stolen from Kamband) :-)
-
-13/11/1998
-- Add in spell description the bonus of mage staves
-- Add the scroll of summon never-moving pet for wielding them !:)
-- When a monster is wielded it can attack monsters when you attack
- It can sometimes attack the wielder too, because he/she is not in perfect
- symbiosis
-- Muar the balrog is back and will drop Calris when killed
-- Add the Symbiotic realm, like a life realm for your monster
-- Add the Symbiant class which can be in perfect symbiosis with their monster
-
-15/11/1998
-- The number of artifacts is now 132
-- Add some spells to the symbiotic realm
-- Add a spell to use the spells of the monster you wear
-- Add a light-speed (nearly stop time) spell
-- Finished the Symbiotic realm, only two books because they can use their
- monster's powers.
-
-18/11/1998
-- Warriors can now spread their attacks after level 34
-- The experience factor of the races can now be > than 255
-- The DragonRider need more experience to advance (+220%) because it's a REALLY
- powerful race.
-- Monsters can now use the between but if they are not immune to cold they
- will lose some hp
-- Added a health bar for the monster you are carrying ( MH xxxxx/xxxxx )
-- Added sanity (from Kamband) ( the line SN xxxxx/xxxxx in the window)
-- Stolen the aquatic monsters from Kamband
-- Add the Gods from Kamband and GSNBand
-- The Philosophy Teacher now causes insanity !:)
-- Now only the Symbiants can carry monsters in their inventory, in fact they
- act like "living-books" !:)
-- Add the Tactics from ADOM. You can change the tactic in the Character window
-- Add a new town unique : Mathilde, the science student, she is in my class
- and giggles all the time, don't kill her ! :)
-- Fixed bug : The carried monster cannot absorb damage done by itself !
-- The Battle of the five armies now has a reward (The Arkenstone)
-
-20/11/1998 - PernAngband 3.0.2
-- Now there will be some between gates randomly placed in the levels
-- If you are in great favor with your god they can resurrect you
-
-22/11/1998
-- Add Random artifacts from Kamband - They are junk items which can be
- activated every few turns and their activation is chosen randomly
-- Fixed (I think) a bug in the unique levels
-- Add a flooded level type (enable those levels in the PernAngband options)
- to make the aquatic monsters more useful
-- Gandalf and Fangorn are back as Friendly uniques
-- Changed the Necklace of the Dwarves into The Nauglamir to be more
- Tolkien-like
-- Changed The Serpent of the Chaos into Dark God, Mighty Coder from Hell :)
-- Reworked the corpse system (stolen from Rangband), now they all have
- different weights based on the monster weight. You can hack up the corpse
- with 'h' and cure it with 'K'.
-
-24/11/1998
-- Add a new Unique : The Physics Teacher !
-- Changed the Town layout of Gondolin with the one made by Akhronath
- with 2 quests : Hunt for Eol and Maeglin's Mine
-- Add a new Unique : Eol the Dark Elf
-- Stole the silly messages when you hit a monster from Kamband
-
-26/11/1998
-- Add a scroll of Craftmanship to enchant weapon's pval.
-- The first 300 monsters have received a weight
-- Add a new spell type : Identify, now you can have a Ball of identification !
-- Add a new set of object flags (mainly unused now) :-)
-- Add a NEVER_BLOW flag for object
-- Add the NEVER_BLOW flag to The Mage Staff of Gandalf to rebalance it.
-- Add a new ego item weapon : of Nothing (with the NEVER_BLOW flag) !! :)
-
-29/11/1998
-- Add a Harper (bard) class !!! they use music books and most
- of their spells are prolonged in time, ex: you cast a hiding song,
- and for each turn you lose some mana (breath) while the effect (invisibility)
- continues. If you start singing another song the old one is stopped.
- There is also a spell which costs no mana which is used to stop singing.
-- Stolen the *Defender* ego-item from Pziband
-- Stolen the Spectral ego-item from Pziband
-
-01/12/1998
-- Added musical instruments : you wear them in the bow slot and you can
- activate them for a song. The longer the song lasts the longer it'll be
- charging, you can stop the song by activating it when it sing.
-- Finished the Harpers
-- Now the Harper mana stat is Charisma !
-- New Artifact : The Palantir of Minas Tirith, which can be activated for
- the list of the uniques of the level !
-- Added 3 new artifacts : The Harp of Master Robinton, The Drum of Piemur,
- The Flute of Menolly
-- Added the Micro$oft quest at Minas Anor
-- Changed the niceness description of the gods
-- The Harper and ONLY the harper can use a musical instrument without any
- chance of failure.
-- The wilderness size is now taken from misc.txt
-- All the monsters have a weight now ... pfff, it was a lot of work !:)
-- The Alchemists are easier to play
-- Add the Vapor quest at Minas Anor
-- Add the Rebellion in Gondolin(from Akhronath) quest at Gondolin
-
-02/12/1998 - PernAngband 3.0.4
-- Changed certain god realm name on the suggestion of Akhronath
-- Add the bounties list like in Kamband (OK, ok, stolen from Kamband) :)
-- Add the Fire-lizards, they are friendly
-- New roguelike command : 'i' for hack up corpse, 'I' for curing meat, 'C'
- for Sacrificing at altars
-
-05/12/1998
-- Add the Power Mage class, like the Corrupted in Kamband, with 100 randomly
- generated attack spells
-- Corrected the character generation bug !!!! Thanks to Tim Baker for the fix
-- Corrected the segmentation fault bug for the object 653. Thanks to Tim baker
-- Corrected the files.c bug in get_line(). Thanks to Tim baker
-- Add the GF_DESTRUCTION type of attack to allow Power Mage to have destruction
-- Changed the names of the songs, Thanks to Akhronath
-
-07/12/1998
-- Add the Eggs, some monsters (only Firelizards for the moment) can be found
- as eggs and will hatch after a certain amount of time based on the monster
- weight, you can also stop the development by "activating" them ('A' key),
- or resume the development by activating them an other time.
-- Add the last of the Gondolin's quest from Akhronath :
- Invasion of Gondolin (Danger level 90, with some funny stuff like Gothmog,
- Muar,..., some Great hell wyrms) !!!
-- Fixed a bug which made it so when you drop your wielded monster you also
- drop Nothing if you are not a Symbiant
-- You can imprint some monsters (Firelizards for now), when it has
- been given an imprint it will follow you on each levels. They may not
- appear on a certain level but they will be back for the next. To
- imprint a monster you must find an egg, carry it on you and when it'll
- hatch you'll give it the imprint
-- The Harper will begin the game with a Blue Firelizard egg
-
-09/12/1998
-- The Black market now generate items based on your level
-- Add a new shop : The Pet Shop where you can find some eggs
-
-12/12/1998
-- Your godly favor will go down when they resurrect you
-- Repaired a stupid bug : I haven't coded the Satisfy Hunger effect of the
- Symbiant class !:)
-- Add the easy floor feature !!!
-- Add an always small dungeon option
-- The scrolls of Artifact Creation can now be used on rings and amulets
-
-15/12/1998
-- The One Ring is now "just" heavy cursed !:)
-- Add 3 new vaults
-
-18/12/1998
-- Add the fate : you can be fated to meet some monsters or to find an object
- on a certain level or ..... to DIE (very rare). You don't know your
- fate until a soothsayer or a scroll of divination shows it to you. You
-also get a feeling when entering a level where you will meet your fate.
- In the future there will be more fates, like finding a great vault, an
- artifact or even, as Murazor the Witch-King of Angmar, to never die by the
- hands of a mortal !:)
-- Changed Trump Weapon to Dragon Weapon
-- Smeagol will now drop ......... A ring of invisibility (because the One Ring
- would be a little too powerful :)
-
-23/12/1998
-- Replaced the Amber notation in the player characteristics by the old one
- from Vanilla Angband
-- When the player is on a tree he can be hit by a monster for half
- normal damage
-- Paladin and Priests are given a religion at the beginning
-- In the wizard spoiler creation (A + ") you can chose to make a spoiler for
- batteries
-- The random artifacts now have a charging time (no more mass genocide every
- turn)
-- Add a Soothsayer at Bree
-- Add the batteries of extra life, you can now make a sword of Life !
-
-25/12/1998
-- The Alchemists are now better fighters, equal to the rangers
-- New extremely powerful power for the Alchemist (level 30 and higher) :
- Artifact creation !
- They just have to chose the flags, the name and to suffer the bad side effect
- like curse equipment, permanent stat loss, high failure rate and ..... they
- have their artifact ! But they can't give it an activation !
- They can also add some bad flags (like cursed, drain exp, ...) to reduce the
- chance of failure. Merry Christmas ! :)
-- Add the Runecrafter class, they use runes instead of books (see birth.txt)
-- Cleaned the Alchemist's code
-
-27/12/1998 - PernAngband 3.0.7
-- Added (.... stolen from Sangband) the Pick of Erebor. It can be activated for
- passing through secret passages in the walls.
-- The Potion of *Enlightenment* now show every grid of the dungeon, like the
- debug command 'u', I just think it's more beautiful :)
-- WOOOOOOOH I'm sorry there was a BIG bug in the PernAngband 3.0.7 release.
- The game was sometimes hanging without any solution to stop it !
- After some hours of debugging I've found it, it resulted from the correction
- of the bug of the glyph of warding! Now everything works (I hope)
-- Change the titles of the Runecrafter with the proposition of Jonathan R Lewis
-- Add TANG, The Angband Newbie Guide made by Chris Weisiger
- (jmartin@inreach.com) It's in the help directory
-
-29/12/1998
-- Fixed a bug which allowed beastmasters to sing when they summon pets!
-- Fixed the bug in the Fate screen
-- Some cosmetic changes in the r_info.txt and birth.txt with the help of
- Chris Weisiger (jmartin@inreach.com)
-- Add new ego-items for the musical instrument and the horn, there were
- suggested by Akhronath
-- New sentence to say for the speaking unique pets
-- 4 new musical instrument artifacts from Akhronath and I'm happy to declare
- there is 143 artifacts in PernAngband!
-- Added, .... stolen, 5 new artifact from Angband/64
-
-31/12/1998
-- Add the quiver slot to wield your ammo
-- A scroll of remove curse have 1 chance into (55-level) to reverse the curse
- effect ie: a ring of speed (-2) can become a ring of speed (+2)
-
-01/01/1999
-- Add a new monster flag : MORTAL, which means that the monster is a mortal
- being. It's used for the new fate : Never to die by the hand of a mortal
- being. The orcs are considered mortal, but I'm not sure, it's not mentioned
- in the silmarillion or the Lord of The Rings, the trolls are immortals along
- with the dragons, BUT the Dragonriders are mortal and Dark God (Yes, let your
- joy explode!) :-). But well, don't be afraid your preferred monsters
- (Morgoth and Sauron) are immortals :-)
- PS: If someone thinks that a monster should or not be mortal just email me
- because I'm not certain for some (ok, ok a lot of) monsters
-
-03/01/1999
-- Add the ring of precognition which work as if the player had activated the
- cheat mode (peek into object, monster, vault creation). There is no need
- to say it's very rare :-)
-- Add the black breath concept from Tolkien. Beware now the weapons of morgul
- they confer the black breath! The undead can also give it.
-
-05/01/1999
-- Changed the harpers ranking names, some racial histories with the ones from
- Akhronath
-- The One Ring is now A LOT more powerful, because at the time you find it
- you already have one or two immunities, your stats are near the max, plus
- some other things that made it less useful. Now it confers 5 blows, mana x5
- spell power x5, after all Sauron has put the most part of his power in it.
- I also plan to change the activation.
-- Add 2 wand artifacts, The Wand of Stone to Mud of Thrain and the Wand of
- Fire Balls of Mithrandir, they can be recharged at will and will never be
- destroyed, for this purpose the new RECHARGE flags has been used (note :
- it works only for the artifacts)
-
-07/01/1999
-- The runecaster is a little more playable at low levels and starts with a
- Rune [Arrow] and a Rune [Fire]
-
-10/01/1999
-- The Chaos Warriors now get chaos resistance at level 25
-- The Maia mimics get +7 speed, the Vala mimics get +15 speed
-- Updated the Rebellion in Gondolin and Hunt for Eol quests with the help of
- Akhronath (zzhou22876@aol.com)
-
-13/01/1999
-- Reimplemented the old magic system from vanilla to complement the new one
- The old mage and priest are come back as the Wizard and the Prior
-
-17/01/1999
-- Add susceptibilities to fire, cold, acid, lightning, poison for the monsters.
- ie: Now a white dragon will take a x3 damage from a fire attack.
- Thanks to Jerome Wojcik <Jerome.Wojcik@lmcp.jussieu.fr> for his help.
-- Add the pets command (press P) from Zangband 2.2.3
-- Changed the Trump realm into the Dragon Realm (mainly just name changes)
-
-19/01/1999
-- Changed the activation of the One Ring
-- The One Ring is now Permanently cursed
-- The One Ring is no longer aggravating because of it's new summoning ability
-- It's now possible to run through the grass
-
-21/01/1999
-- Add the persistent dungeon option at birth
-- When a breeder multiplies it have a 7/100 chance of mutating into an other
- monster. (in general a worse one) This would prevent monster farming abuse :)
-
-24/01/1999
-- NEW : the body changing feature! with a new class to use it. Your spirit
- can leave your body to go into another one but while your spirit is alone
- your max hp is of 1. When in the corpse of a monster your first blows are
- the monster's one and you can use it's magical power. Your life is also
- changed by the monster's one and you gain all it's abilities and resistances
- while losing those of your real race because you have left your body.
-- Add a lot of new vaults mainly from Weisiger <jmartin@inreach.com>
-
-28/01/1999
-- Death Molds now can teleport onto store entrances
-- A new randart activation that fires light after absorbing the ambient one
-
-05/02/1999
-- Changed the Roguelike commands. Now ^G to sacrifice, $ to hack up a corpse
- ^O to Cure meat
-- Updated the command.txt file
-- Add the AB's gfx for the weapon/armor
-- Multiple dungeons : The old levels 1-33 are now in the Mirkwood forest with
- trees and grass, 34-66 are the Land of Mordor with mountain, wall and dirt
- 67-127 are the Dungeon of Angband with wall and normal floor and occasionally
- flooded levels (if chosen in the options).
- The ability to levitate is now a GREAT advantage in the Mirkwood forest !
- You can reach Mirkwood from Menegroth, Mordor from Minas Anor and Angband
- from Gondolin. In the vanilla town there are three stairs.
- When you take a staircase down in the last level of a dungeon you arrive back
- in town.
-
-07/02/1999 - PernAngband 3.0.9
-- X in the roguelike mode for the pet commands
-- Updated the magic.txt file with the new classes
-
-09/02/1999
-- Updated version.txt, modified dungeon.txt
-- Shelob is now a little bit more powerful in order to make her the quest
- monster of the last Mirkwood level.
-- The Vanilla books are now sellable in the magic shop/temple and the bookstore
-
-13/02/1999
-- New class : the Sorcerer, they can't wield any weapon useless it's a Mage
- Staff and without it they are the WORST fighters of the game even bare-handed.
- But to compensate this they are the BEST magical class : the can use any
- book of any realm without having to learn the spell, but they also don't
- gain any experience from casting a spell.
-- Added the susceptibilities flags to the monsters.
-
-15/02/1999
-- Stolen the exploring system (like the tactic one) from Angband/64
-- Fix the bug of vanilla town, now the vanilla town flag is saved
-- Ents are rebalanced, they have a -9 speed penalty
-- Tweaked the Troll Fortress quest to make it less easy
-
-21/02/1999
-- Corrected some bugs in the town files. The crashing wilderness bug
- seem to be gone.
-
-23/02/1999
-- Fixed the bug of the traps. No more grey "invisible traps" on a level
- covered with grass, same for the dirt
-- Updated the Gondolin town and quest with the Akhronath's ones
-- Enabled the S-lang support
-- A new script directory is in lib, it contain a file script.sl which indicate
- every S-lang script files that must be loaded
-- Add the event's gestion to the slang script. An event is produced in certain
- conditions (like a keypress,...) and a script can put an handle on it to have
- a function called each time the event happens. I've made a stupid example
- that use the key 'y' to shout at the monsters.
- PS: Take a look at slang.txt in the help directory
-- Add the load/save function to the script
-
-24/02/1999 - PernAngband 3.1.0
-
-26/02/1999
-- I've finally successfully compiled Python. So the S-Lang support is replaced
- with the python one. The 'y' key and the thieves quest are there too.
-- Stolen and modified intro.py from Pangband
-- The random quest bug is fixed (maybe :) ). I say maybe because as for the
- wilderness one it doesn't happens by me so I can't test it :(
-- Today one of my dream have become true! With the help of a python script
- I've made a new quest for the DragonRiders that can be given at the Weyr
- of Arda in Menegroth. You enter forest area and the only thing you can use
- is the flame of your dragon(no magic, no wands, ...). And you need to
- destroy every thread while saving at least 50% of the trees, and your own
- flame can consume them!
-
-28/02/1999
-- Yeah, the wilderness bug is now gone. And a minor bug which looks like the
- the wilderness one is gone too. It happened when you try under certain
- conditions to go in the wilderness with an imprinted pet.
-- Fixed the random quest bug
-- Fixed the inventory bug that when picking up an object said you have foo
- in slot r and reorder it after that o the letter is no more r. I know it was
- really annoying but well it's now gone :)
-- The undead races now start at night
-
-02/03/1999
-- The spectres can now pass through trees and mountains
-- A new dungeon type at Bree: The Upper reaches of Galgals(level 1-10) !
-- Changed the code for the different dungeon types. Now it's a lot easier to
- add a new dungeon type. I'll maybe make a d_info.txt to define the dungeon
- types
-- Add a new dungeon: The Volcano, you reach it by going to the north east of
- Minas Anor. Level 30-45
-
-05/03/1999
-- Spectres can't pass through trees because trees are pure and natural
- things :)
-- New dungeon type: The Hell !!! Level 500 to 530, Yes 530 ! With a little
- present for you at the bottom... if you manage to survive :) I can just
- said one more thing: don't go there with your level 1 character :)
- You can reach it near the volcano hole.
-- Now fire balls can burn the trees
-- Invisibility now consume a lot of food
-- Fixed a strange bug with the pool of deep water... It was possible to
- sacrifice at and to worship (before the crash:) one :). Thanks to Steve Dice
-- Add a very nasty surprise at level 1.... Moldoux, the defenceless mold with
- 1 hp no powers, can't move, can't attack... Oh and if it's killed there just
- one Great Wyrm of Power which can be summoned to avenge it !
-
-07/03/1999
-- The look command doesn't stop anymore on the trees, grass, ...
-
-07/03/1999 - PernAngband 3.1.2
-
-13/03/1999
-- Sorcerors have now a bad pseudo-id
-- Sorcerors have now a -25% penalty of hp
-- Add a scroll of deincarnation
-- Add the possibility to engrave the floor with some magic words found in some
- parchments. The words are in Adunaic(Numeronean), Quenya, Sindarin or any
- other tongues of Middle Earth. But the parchment also give useless words
- with the useful ones, so you have to try different combinations.
-- No more "human" sex when randomly chosen
-
-16/03/1999
-- Mathilde will say the right sentences now
-- Fixed a bug in melee2.c which could produce an x and an y out of the limits
-- Disabled the engraving command for now because it's too unbalancing...
-- If you pray while low on hitpoints (< 20%) your god will do something to help
- you, like summoning pets, curing wounds, killing enemies...
-
-19/03/1999
-- There is now a minimum level needed to enter some dungeons, to prevent
- gaining great objects easily
-- Fixed the OLD bug of the pink horrors, now only 2 blue horrors
- will be summoned
-- Fixed a bug with the tiles for the non unique DragonRiders
-
-21/03/1999
-- The Dragon realm users receive some experience for the kills of their pets
-- The Palantir of Minas Tirith now can teleport you next to the quest monster
- but it'll take more time to recharge
-- Fixed the possessor's number of blows bug. Also the town uniques corpses (
- Maggot, Martti, Mathilde) can't be used to attack because their attack is
- moan with no damage
-- Added a faq (see pern_faq.txt)
-- Added a new monster ally, the Dolphiner. They came from the planet Pern
- and can summon dragonriders, their friends. They are men riding dolphins
-
-******************** Attempts to rebalance the game **************************
-- Changed the xp modifiers of the new races in an attempt to make them more
- balanced. Thanks to Shawn Cheng <mfighter@hotmail.com>
-- Invulnerability, Wraith Form and Life Multiplier now consume a *lot* of food
-- RohanKnight's gain less speed at each levels
-- Sound attacks of the harpers are less likely to stun...
-- IMPORTANT NOTE: At the character birth if you choose a forbidden class for
- your race, you'll be considered as a cheater and the game won't be scored.
- It's mainly to prevent the too powerful combination of Deathmold Mimic or
- Deathmold Possessor. The characters made before the next release won't be
- affected by that
-- Some more attempts that I don't remember :)
-- Changed the Mana and life multipliers, now mage staff of mana(100%) will
- ADD 100% of mana to your max mana and not multiply it by 100 :)
-******************************************************************************
-
-23/03/1999
-- Replaced Menegroth by the new Lothlorien skilfully made by Akhronath
- (zzhou22876@aol.com), with 2 new quests + The Battle of the Five Armies +
- (only for DragonRiders) The Fight against a Threadfall
- Thanks again Akhronath !
-- Deathmolds can now enter wilderness
-- Radically changed the score calculation, in the future it'll serve to choose
- which characters must be turned into monsters. Note that the old score files
- are compatible but the old scores mean nothing with the new system
-
-26/03/1999
-- Changed some aspect of the python implementation to make it more portable
-- The usleep python function may react strangely
-- When you pick up the same type of ammo that you wield in your quiver it
- automatically combine with it
-- The specials levels are now restricted to a certain depth AND a certain
- dungeon type
-- The number of collected bounties now count for the final score
-- Add a new option to not pick up monster's corpses. It's yes by default.
- I've made it to avoid losing good characters by auto picking up a great
- wyrm of power corpse and getting -500 speed !
-
-28/03/1999
-- Reimplemented the player ghosts, but in a different way. First the bone files
- are a lot more complex to include more aspects of the dead character. Second,
- only the best characters are allowed to become ghosts when they die, or commit
- suicide, it's based on their final score. In the bone directory there is a new
- file which held the name of the bone files that the player want to be used.
- To add a bone file, put it in the bone directory, add it to the bones.txt file
- and increment the number of bone file in the same file.
- When a game is loaded it looks for this file, try to find some unallocated
- ghosts and modify r_info with the new info from the ghost. When this is done
-the bone file is not used anymore because all the info is saved in the
- player savefile. The race/class characteristics are not fully handled now.
-- Now even with a Mage Staff the Sorcerors have a penalty of -10 to hit/dam
-- A Vampire can now wield the Phial of Undeath without being scorched, while
- all the other light artifacts scorch them
-
-30/03/1999
-- The Arcane Zap spell now works correctly
-- Updated the FAQ with the help of Leon Marrick
-- Updated magic.txt with the help of Leon Marrick
-- WOH ! Impressive ! Great work indeed ! Well, Andreas Koch has made a
- powerful graphic editor for PernAngband !!!! And it has also drew some new
- tiles! The editor is really impressive, you load the graphic file, the prf
- file and you can assign a tile to every monsters/objects/... you want, just
- with a click ! It can even scan the *_info.txt to search for new things that
- are not in the current prf file and to add them !
- You just need a big screen resolution(1152x864x16bits works for me)
- Thanks for the great work Andreas(akoch@rbg.informatik.tu-darmstadt.de) !
-- The Archer class as suggested by Mike Hommel <jamul@hamumu.com>. They gain
- some extra shot and might with levels and can also create ammo with rubble
- and junks.
-
-05/04/1999
-- Fixed a bug in the Weyr of Arda at Lothlorien
-- Add the artifact's descriptions made by ... well I don't have his/her name.
- Anyway, great work.
-- The rings of teleportation can now be activated but they'll be destroyed in
- the process. It's like a last chance option :)
-
-08/04/1999
-- The uniques used in the special levels are no longer shown as killed in the
- list and can only be created in the special level.
- Note : This will only affect the new characters.
-- Fixed : When a Power Mage spell fails it is not cast anyway.
-- Wall creation works for Power Mage
-- Divia wrote some missing artifact descriptions
-
-12/04/1999
-- Reimplemented the engraving feature. There are some parchments in the
- dungeon which contain Adunaic/Quenya/Sindarin/... words you can use to
- engrave the floor with 'x'(']' in the roguelike keyset). You must read them
- before engraving even if you know the words from your last game. Also the
- inscription is magical and so needs some mana to work. So there is a new
- and unique feature : each grid in the dungeon have some mana on it's own.
- You can sense the mana of one grid by pressing 'X'('[' in the roguelike
- keyset), but this is not very precise nor easy, it's based on the magical
- ability. When an inscription is used it decrease the grid's mana and when
- there is not enough mana the inscription don't work anymore. The maximum
- mana of each grid is 255. i.e.: when you engrave the protection inscription
- which use 8 mana on a grid with 80 mana, a monster won't be able to walk on
- it for 80/8=10 turns, but well, this can save your life !
- Note : There are not a lot of inscriptions, if you have some ideas, don't
- hesitate, email me !
-
-14/04/1999
-- Changes in the r_info for the HAS_EGG flag as suggested by Akhronath
-- Bloodletters of Khorne only have a 20% chance of dropping Blade of Chaos
-
-17/04/1999
-- Raal's Tomes of Destruction have a 20% chance of dropping a Raal's Tome of
- Destruction
-- Symbiants are more likely to receive the grow molds mutation
-
-20/04/1999
-- Quest monsters can not be pets or breeders
-- Can now place Trees(T), Mountain(M), Shallow & Deep lava(l, L) and
- Shallow & Deep water(w, W) in the special levels
-- Add a new dungeon type: The lost city of Numenor which is mainly composed
- of water and which can be found to the west of Bree
-********************* IMPORTANT *************************
-- The savefile from the old versions of PernAngband are no longer compatible
- with the new one. It's mainly due to the new magic system but also some other
- changes. I'm sorry but this would be hard to write a converter since all
- the realm change (they have more spells) and so the books too and also the
- way to remember which spells are known, forgotten, tried...
-*********************************************************
-
-22/04/1999
-- Some new graphics from Andreas Koch
-- Fixed the wilderness generation bug which sometimes hung the computer when
- trying to go on a wilderness border
-- The features(in f_info.txt) have some flags now. This allows me to create 2
- new types of wall: The Glass walls which you can see through but that you
- can't pass and the Illusion walls that you can pass but not see through
-- The screen is now correctly redrawn when leaving/entering a body
-- Add the Wands of Wall Creation
-- Death Mold powers have moved to the activation command('U')
-
-24/04/1999
-- Your are no longer crushed when flying over trees/mountain without being a
- DragonRider
-- The Vanilla feelings are back
-
-26/04/1999
-- All the spellbooks are now placed on the top of the inventory.
-- The Sorcerors can now use the Wizard and Prior books
-- The new magic system is ready. I'm just waiting for Akhronath and Shawn
- Cheng. And now adding a new realm or an old fashioned magic system is
- performed the same way and easily
-- Add the Illusionists from Kangband. Someone has asked for them so... :)
-
-28/04/1999
-- Finished the Valarin Realm
-- Between gates are now allowed in the vaults. To place them place 2 times a
- number from 0 to 7. I.e.(from weisiger <jmartin@inreach.com>):
- D:XXXXXXXXXXXXXXXXXXXXXXXXX
- D:#,,,,,X&...@X..**&X....9X
- D:#...&1X.,,,2X..**&X3...9X
- D:#...&.X1,,,.X2.**3X....9X
- D:#,,,,,X&...@X..**&X....9X
- D:XXXXXXXXXXXXXXXXXXXXXXXXX
- But BEWARE ! You MUST put the 2 occurrences of the number, no check are done
- so it'll surely crash or bug if not ! You've been warmed.
-- You can now walk over the water with a Valarin spell
-
-30/04/1999
-- A monster on a between gate when the player is using the other is teleported
- to the player location
-- Add some Between vaults from weisiger
-- Added the Sigaldry realm
-- The Rings and Amulets are now allowed to be random artifacts
-- You can use the between gates in the special levels via the numbers 4,5,6,7,
- 8,9,0
-- Alchemists MUST wear gloves (no cesti nor gauntlets) in order to do alchemy.
- They also begin the game with some gloves
-- Add a Potion of Learning which allow you to learn one more spell than you
- normally can. No need to say that they are very rare
-- The more you learn spells in a realm the more efficient with that realm
- you are
-
-02/05/1999
-- Implemented the Nether Realm
-
-09/05/1999
-- Magical stair at the bottom of each dungeon
-- Reworked the imprinted pet system, now it will work lot better
-- Add the scrolls of spell which can cast a spell like a book. They must be
- created by the Sigaldry magic, they can't be randomly generated
-- Updated the Sigaldry realm
-- Added Staves of Wishing! You can wish for objects, monsters, spells but
- NOT FOR ARTIFACTS nor for staves of wishing
-- Flying monsters can now pass over trees and mountains
-
-11/05/1999
-- The game will ask you to choose ammo from your inventory if your quiver is
- empty
-
-26/05/1999
-- Add the Crusade Realm
-- Add some new inscriptions
-- It's now possible to add up to 32 realms
-
-03/06/1999
-- Wraith form is less powerful since it's not so rare. Now damage is only
- divided by 5 and armor raised by 50
-
-05/06/1999
-- Add the speaking patch from Matt Graham. Just edit the monspeak.txt file
- to add new entries. And don't hesitate to send me what you've added !
-
-11/06/1999
-- There are fewer gods and each god has one or two preferred races and if one of
- this race pray to him they gain better benefits. Also the praying effects
- are more differentiated (based on the different gods)
-- Add the 'only once' quest type
-- It's harder to please your deity
-- The Nazguls are MUCH more powerful (ideas from Akhronath):
- ******** Quote from Akhronath mail ********
- All weapons which are not ego-items cannot harm them, and will be destroyed if
- the character hits a Nazgul with it. Ego-items which have slay evil or slay
- undead can harm them, but each hit has a 25% chance of destroying the weapon.
- Other ego-items can't damage them, and have the same 25% chance of
- destruction. An artifact weapon will be able to hit them only if the weapon
- has slay evil or undead, but the weapon will be hit with disenchantment every
- time it connects (but this is negated with disenchantment resistance on the
- character). And even these artifacts can be destroyed, although there's only a
- 5% chance. Other artifacts, of course, can't damage the Nazgul, and still have
- the 5% destruction chance.
-
- When a character does any damage to a Nazgul or is damaged by a Nazgul, he has
- a 25% chance of being afflicted by the Black Breath. Thenceforth the character
- will slowly be drained of experience and sanity. The character can stay alive
- by using restoring and curing potions, but to cure the Black Breath he must
- either drink a Potion of Life or eat (a new item) Athelas Leaf. (Athelas isn't
- really eaten, of course, but I can't think of another simple way to implement
- it.)
-
- This will really make the player think twice before going up to a Nazgul, and
- makes it very useful to carry spare weapons.
- *******************************************
- So if you encounter a Nazgul .... RUN AWAY !
-- Sensing the grid's mana is now done by pressing 'x' key to engrave the floor
- The X key is free for some new function (maybe for the new riding system)
-
-17/06/1999
-- When browsing the spells while being a Power Mage there are no more bugs
- when pressing escape
-- Removed the forbidden race/class combination feature. But it's always
- possible to recompile PernAngband with it with the FORBID_BAD_COMBINAISON
- define(in config.h)
-- New god : The RNG
-
-19/06/1999
-- The priest/prior/paladin's god is now chosen dependent on their race
-- I have enough of hunting those damn ghost bug which makes them unable to
- move. So it's now a feature ! They don't move because they are GREAT
- adventurers who now just want to stand there to find peace :)
- Hey, fixing bugs is easy this way :))
-
-22/06/1999
-- When 'A'ctivating the first screen showed is the equipment and no more the
- inventory
-- Some new gfx drew by Andreas Koch
-
-06/07/1999
-- You can place object kind in the special levels instead of artifacts by
- using 1000+k_idx as the number instead of just the artifact index
-
-17/07/1999
-- Add the Yeek race, but not as in Zangband. It's the one from Drangband.
- I was thinking of a race who advance even quicker than the humans in levels
- since a long time and I've found it !
- So they suffer lots of disadvantages but need less exp than the other
-races, i.e.: When a DragonRider comes to level 2 a Yeek can already be at
- level 7 !!
-- Added the FLY attribute, it allows you to fly over trees and mountains
- because it's no longer possible with the levitation one. It's also a lot
- rarer since it's POWERFUL in Galgals and Mirkwood. DragonRiders have it
- by default. There is also a change in the features flags, CAN_LEVITATE
- means that you can just avoid them by floating over it (like a pit,
- water, ...) and CAN_FLY means that you must have the FLY flag to cross it.
-
-19/07/1999
-- The monster's drop are now created at the same time as the monster is
- created. First it disallows scumming of monster drops. And the most
- important thing is that it will allow me to add the new ability of stealing
- objects from monsters (everyone will be able to do it, but only Rogue will
- be excellent at it). For the point of view of the player there is no change.
- It may produce some strange object disappearance in the late game since
- all the objects are generated with the dungeon. And thus it may need to
- increment the maximum size of o_list in misc.txt. If such problems shows
- up, email me.
-- Press 'Z'('[' in roguelike mode) to STEAL an item from a monster. The
- success rate is based on your dexterity, the fact that you are or aren't
- a Rogue (being one makes it easier), the weight of the object to steal and
- the base level of the monster. A Rogue will also gain some experience
- if he/she succeeds. This made them more Rogue and less Warriors.
-
-22/07/199
-- Add more graphics from Andreas Koch along with a new version of the editor
-
-26/07/1999
-- The resurrection effect of the gods is now harder to get and decreases a lot
- more your grace. It was ... well ... too powerful for the cost of some
- crappy artifacts
-- Finished the Magery realm created by Chris Weisiger (jmartin@inreach.com)
-
-03/08/1999
-- I've finally fixed it ! You know, this ugly bug that disallows the darkening
- of the grass & mud tiles when they have been lit.
-
-18/08/1999
-- Yeah ! It's done! The new magic system is finished (I will add Spirit Realm
- later). The final form is 4 Major Realms : Valarin, Nether, Magery, Shadow
- and 4 Minor Realms : Crusade, Tribal, Sigaldry, Illusion.
- The only problem is be that it could be unbalanced, especially the
- Shadow realm since I've created it :)
- Anyway it should be great. There are still a lot of old spells but some new
- coloured funny spells for you to discover, as Control the Ring, Infuse Amulet,
- Scribe Scroll, Doppleganger, Volcano Flow, Tidal Wave, and a lot of others!
- The max number of spells a character can learn depends on his class. But
- generally the player can learn fewer spells than the total number of spells he
- has in all the books he can read.
- I want to thank Akhronath (who has the first idea and who write some realms),
- Shawn Cheng, Chris Weisiger and DSCreamer<DSCreamer@aol.com> for their great
- help.
-- Moldoux can not appear at any other level than level 1
-
-21/08/1999
-- A new version of the Tile Editor plus a full set of graphs (expect the books)!
-- Moved the dungeon types definitions from tables.c to a new info file in the
- lib directory: d_info.txt
- It allows you to add new dungeon types easily.
- There is also a brand new feature: You can specify which monster flags that
- are NEEDED for a monster to be generated in the dungeon.
- There is also an addition of dungeon flags. Here is the structure:
- N:<index>:<name>
- D:<long name>
- W:<min depth>:<min depth>:<min player level>:<next dungeon>:<flags mode>:<min alloc>:<max alloc chance>
- L:<floor1>:<%1>:<floor2>:<%2>:<floor3>:<%3>
- A:<wall1>:<%1>:<wall2>:<%2>:<wall3>:<%3>:<outer wall>:<inner wall>
- F:<flags>
- M:<monster flags>
- S:<monster spells>
-- The quest rewards are always good
-- I've finally found and fixed the Mirkwood Spiders Quest
-
-24/08/1999
-- Add the MAZE flag to the dungeon type flag list, which instead of a normal
- dungeon generate a full big maze ! And it's EVIL ! Note that there will be
- no rooms and no vaults generated, just a plain evil maze
- The algorithm is from <Pierre.Bru@spotimage.fr> on rec.games.roguelike.development
-- Note about the dungeons : A dungeon can't have more than 40 levels
-- You can use SMALLEST, SMALL and BIG as dungeon flags to specify the level's
- size
-- 6 new dungeon types: a Graveyard, an Illusory Castle, an Orc cave, a Maze
- a Dragon's Lair and A Forest with specific gfxs and monsters restrictions
-- Some new gfx form Andreas Koch mostly to add more flavor to the towns
-
-29/08/1999
-- You can add a guardian and a guardian artifact to each dungeons types with
- the following flags: FINAL_ARTIFACT_artifact_number and
- FINAL_GUARDIAN_guardian_number
-
-29/08/1999 - PernAngband 4.0.0
-
-01/09/1999
-- Fixed the max_dlv non allocation error
-- Fixed the Tribal realm spell descriptions
-
-01/09/1999 - PernAngband 4.0.0b
-- New dungeon type, the Netherworld with Muar and the Wand of Fireball of
- Mithrandir at the bottom
-- You can't gain a fate before being level 10
-- Some cosmetic changes suggested by Akhronath
-- A new Artifact by Akhronath, The Long Sword of Murazor 4d5, so ... the next
- time you see a long sword 4d5, beware ...
-
-05/09/1999
-- Add a feature flag to allow running
-- Fixed the Chaos Warriors bug (they were unable to use magic !)
-- Fixed the Chaos Realm descriptions
-- You can't rest on a between gate
-- You can now steal from stores. But beware of the consequences if you fail...
-- Fixed a bug in that when recalling to the town the player was sometimes
- placed in the upper left corner
-
-08/09/1999
-- Fixed a bug that disallowed the creation of entrances to some vaults
-
-14/09/1999
-- Fixed the Dragon Tower bug
-- Add minimum player level to the random dungeons
-- Add shafts, you can use them do go up/down for up to 4 levels(but you can't
- ignore quest levels). Original patch from Static Chaos. Idea from GSN
-- Add a dungeon flags to forbid generation of doors
-
-27/09/1999
-- Some tweaks to the possessor code as written by Static Chaos i.e:
- You must possess a monster that is able to open to door to do so. The
- same applies to bashing. Your sex is modified by your body. Lots of tweaks
- to the spells that can be used...
-- The racial power of the Dwarves is now the same as The Pick of Erebor
- activation: they can find hidden passage in the walls
-- There is 1 chance in 10 that the level is an magical level, which means that
- each grid will contain more mana than a normal level.
-- Add some new sentences to the monsters sentence lists
-
-04/10/1999
-- Began to add the Druid class. But it's TOTALLY different from the other
- variant's Druids. They make intense use of the mana flow from within the
- earth and the elements, thus their spells can regenerate the mana they have
- used by pumping it from the floor, like the Tunnel spell which will blink
- the player and will try to absorb enough mana form the grid he/she lands on.
- They can also (and they are the only to be able to do that) regenerate the
- mana flow of the earth. They also can use enhanced attack types called
- Druidic Bolt/Beam/Ball that can follow a mana flow laid by the player.
-- The Druids can sense precisely the amount of mana of a grid
-
-08/10/1999
-- Added some revised graphics by Andreas Koch
-- Added the code provided by Alexey Guzeev(aga@russia.crosswinds.net) to
- compile PernAngband under OS/2 with EMX
-- It's finally fixed ! the damn bug that was crashing the game when leaving
- a town on certain system (Mac and Windows) ! this will never happen again !
-
-27/10/1999
-- Finished the Druid class. They have 40 spells (8 * 5 books). The spells that
- activate Mana Runes is not active for now, but it will in a near future.
-- Add a slightly modified Tom Morton fake artifact patch (it won't print {} at
- the end)
-
-30/10/1999
-- You can inscribe an object with !! to notify the player when it's recharged
-- Lots of bug fixes thanks to Lothar Lange <100644.2004@compuserve.com>
-- Lots of new ideas thanks to Lothar Lange <100644.2004@compuserve.com>
-
-30/10/1999 - PernAngband 4.0.1
-- "Foolish mortal! Thou hast not pleased me! I'll doom your game with the new
- horrible DG curse !"
- Yes I've done it, the DG curse is even worse than the TY one. One of it's
- most perverse feature is that it can replicate itself to contaminate sane
- objects that can't be cured. Also if you remove the curse of a DG cursed
- object, it will recurse itself automatically !
- Beware of the horrible Long Sword of Murazor because it carries the ancient
- morgothian curse !
- Oh, there are also some monsters that give the DG Curse when dying ... but
- I'll let you find whose they are by yourself :-<|> (Dark God makes an evil
- smile). I can just say one thing : you should *REALLY* *NOT* kill Mathilde...
- But do not worry she's got much more HP, so you can't kill her anymore :)
-
-01/11/1999
-- Add the Rod of Home Summoning, which acts like the old dragon spells
- "Call Home"
-
-08/11/1999
-- Drastically reduced the recharging time of the Dragon Scale mails in order
- to render them useful.
-- Added a new weapon ego-item: of Spinning, which will make you spin around
- in order to hit every monster around you. Note that you'll only get one
- blow for each monsters whatever your normal number of blow is.
-- Added (ok stolen) the question in the GSNband FAQ about wrists hurting (it can
- be useful, so everyone should know)
-- Rogues and monks gain more and more stealth as they gain levels (SBF)
-- Added some sentences for the Dwarves (in monspeak.txt)
-- Added the support of two-handed weapons (from GSN). Thus there are weapons
- that can be handled with two or one hand (but with one hand it halves the
- damage). A 2 handed weapon can't be wielded with a shield.
-- Added the random character name generation from Cthangband
-- Added rivers (water & lava) from the Steven Fuerst fractal patch. Note that
- you have to add WATER_RIVER, LAVA_RIVER, WATER_RIVERS or LVA_RIVERS to a
- dungeon to have some rivers generated (actually in Mordor(lava), Dragon lair
- (Lava) and Forest(Multiple Water))
-- Updated generate.c to the Steven Fuerst fractal patch room generator (using
- room_alloc), in order to implement the remaining part of the patch easier.
- But I'm still having problems adapting it to my extended dungeon generator.
-- Ahah ! I've resolved the problem !! there are now fractal rooms (15%, can be
- always enabled by specifying the CAVE flag), now the orc caves looks great
-
-10/11/1999
-- Added the Caverns(enabled via the CAVERN flag)
-- Hell has been moved down, it now begins at level 666! :)
-
-12/11/1999
-- Add the Static Chaos persistent dungeon patch that save every level of a
- dungeon (which has the PERSISTENT flag) on disk and reload it instead of
- regenerating a new level.
-- Add the Outer World dungeon type (this is an entrance to a place of an
- incredible stability). It use the PERSISTENT flag and thus will be saved.
- Only level 50 characters can go there to prevent abuse(like have an old
- ultra powerful character and a new one and going into the Outer World to
- exchange some stuff). And yes the saved dungeons are the same for EVERY
- characters. But to add ... err ... variety, I've put it from level 300 to
- 305, I've put it to have at least 30 monsters from the beginning AND to have
- an higher monster generation rate(1/60 instead of 1/160 !), thus you'll
- NEVER get bored there :)
-- Implemented the much more complex trap system from Angband/64 thanks to the
- patch made by Static Chaos. There is 169 traps (see tr_info.txt).
- Beware that on average the traps are deadlier...
-- It comes along with a new feature for stat system: temporary stat drain,
- it's cool
-
-14/11/1999
-- Renamed Power Batteries to Essences
-- The DG_CURSE can put the NEVER_BLOW flag on a weapon ... sadistic !!!
-
-16/11/1999
-- DSMs now have been granted the FLY flag
-
-19/11/1999
-- The monster memory now colors some important things about the monster (like
- resists, speed, ...)
-- Fixed a wand of wishing bug, that made them sometimes NOT use a charge
-- Moved the special level DeathWatch to the Orc Cave
-- Moved the special level Treasure Room to the Maze so people are forced
- to play those dungeons if they want the artifacts
-- Random quests will only occurs on PRINCIPAL dungeons (the one created by
- splitting the vanilla dungeon into 4 smaller ones, Galgals, Mirkwood,
- Mordor and Angband itself)
-- To prevent too many YASD from the DG curse of Mathilde she has now been
- granted 22500 hp, but as usual she can't attack :))
-- Fixed a bug that disabled the guardian at the bottom of some dungeons
-
-25/11/1999
-- Added main-gcu from Angband/64 to allow larger screens
-- Added the new note command that dumps to a file from "Tom Morton"
- <tmorton@yikesstation.freeserve.co.uk>
-
-27/11/1999
-- Added funny time message from Z
-- Added object experience as suggested by Ceilti <Ceilti@aol.com>
-- Fixed a bug when the magestaves were cursed
-
-29/11/1999
-- Added the small trees (along with a new feature flag: SUPPORT_LIGHT) to
- replace the walls in the Forest and Mirkwood
-- Some new gfx from Andreas, and the town of Bree with the new tiles
-
-02/12/1999
-- Add 4 dungeons by variaz@hotmail.com: Vanilla Dungeon(only from Vanilla Town,
- The Small Water Cave, The Sacred Land Of Mountains(if you don't fly ...
- do not even plan on going there),
- The Wild Land Of Kurukar(It sure looks great)
-
-04/12/1999
-- New dungeon flags: HOT and COLD that affect object decay
-- Add YA*IF (Yet Another *_info File): wt_info.txt
- It defines wilderness features *, allowing a better wilderness map. Since
- it now defines nearly everything a wilderness need to have, the map itself
- only have to be an array of feature and seed, thus allowing a much bigger
- wilderness. I also plan to have a Omega wilderness mode where you can have
- an overview of the wilderness to travel quicker (but time will pass much
- quicker too:)
- The structure of w_info is also changed, it's uglier but well .... :)
- The wilderness size must be EXACTLY the same as the size defined in misc.txt.
-
-06/12/1999
-- Scrolls of Reset Recall are now WORKING !!!!!
-- The new wilderness mode is done ! When you reach the border of a wilderness
- screen you go to the small scale wilderness map, where you can see all
- the wilderness map with the towns/dungeons/... A lot of commands are
- disabled there and moving takes MUCH more time, so beware of the food !
- You can enter the big scale mode by pressing > (this allow you to enter towns)
- NOTE: The Death Molds CAN'T reach the small scale mode because their
- erratic movements are impossible to handle in such a scale.
- BEWARE: Your imprinted pets WON'T follow you in the wilderness !!!
-
-11/12/1999
-- Add wilderness encounters
-- Add Oangband rod/wand stacking
-- Amulets of the Serpent from Sadi Khan <sadik@christa.unh.edu>:
- Resist Poison, Dexterity, some AC and Poison breathing
-
-12/12/1999 - PernAngband 4.0.5
-
-18/12/1999
-- Updated the makefiles and renamed object3.c to traps.c
-- Add 5 new essences from Sadi Khan: Force, Darkness, Lightning, Mana and
- Knowledge
-- Fixed the bug that was placing the player at the town entrance when
- leaving a building
-
-20/12/1999
-- Add the tool slot. It's actually only used to wield a shovel/pick but I've
- some plans for it
-- You can only dig walls if you use a shovel/pick in your tool slot
-
-24/12/1999
-- Removed the player ghosts, well in fact made them a compile-time option(see
- config.h)
-
-26/12/1999
-- Added the Necromancer class. But again not quite the same as you've seen
- before. They can't be killed as easily as the other class. In fact when
- their HP comes to 0 they don't die but become undead for a while. While
- being undead their HP is replaced by DP(Death Points) that have a max
- inferior to the max HP and that are slowly decreasing(1 DP less each turn).
- They can use all the healing spells/potions/... but this won't stop them
- from being reduced again. The only way for them to come back in the world
- of the living is to kill 2 * player_level monsters.
-
-01/01/2000
-- Happy New Year !
-
-02/01/2000
-- Add a new curse(as suggested by LucFrench@aol.com). When a weapon has this
- curse and that the wielder attacks a monster with it, it can clone it !
- And it's REALLY REALLY annoying, especially when fighting some kinds of
- wyrms :)
-
-10/01/2000
-- Finally fixed the flags shown on the character display.
-- The quit without save command(CTRL + L) is now a compile time option disabled
- by default
-- The Necromancer class now has 5 spells (used the same way as the mindcrafter
- powers)
-
-17/01/2000
-- Power gained by levelling artifacts has been reduced
-- New unique monster: The Greater Lag Monster... beware :)
-- AHAHHAHAH ! I got it ! the wilderness bug that made the game crash when
- entering a town is fixed ! And the wilderness system has been greatly
- improved.
- Now to switch the wilderness mode, just press < or >.
- Everything should now works properly
-
-16/02/2000
-- Each Nazgul will now drop his Ring of Power. They are randomly generated
- and thus they don't appear in a_info.txt. They always give invisibility,
- life draining and are heavy cursed.
-
-21/02/2000
-- Changed the format of w_info.txt again, it's much more readable now.
- I also added a additional parameter to the W lines of wf_info to define
- which letter will be used in w_info.txt
-- 60x20, this is the scale of the new wilderness, it tries to looks like
- the 3rd age middle earth map. Thus some dungeons leaved the towns they
- were used to be to join their "real" place on the map. Only the Upper
- Reaches of Galgals are still reachable from Bree.
-
-24/03/2000
-- Added a small hack from Static chaos to allow running faster with the
- overhead map enabled.
-
-24/03/2000 - PernAngband 4.0.6
-- Possessors now have a MUCH better pseudo id, equal to warrior's one
-
-06/04/2000
-- Changed the wilderness map with the one provided by Gwidon S. Naskrent
- (naskrent@artemida.amu.edu.pl). It's bigger, it's better :)
-- Fixed a bug with the chasm opening inscription
-
-08/04/2000
-- Fixed a bug with the staff of wishing
-- Druids can now pass through trees
-- Stairs are now noticed again (when you see one it will stay on your screen
- even when out of torch radius)
-
-10/04/2000
-- When a Necromancer turns into an undead he/she/it gets cured of everything
-
-05/05/2000
-- MAYBE fixed the damn wild bug ... again ? oh please GREAT RNG help me !
-
-08/05/2000
-- Added the Notes patch from Chris Kern. That allows you to get a .txt file
- recording great events in your life, your notes, ...
- Very useful I think
-
-11/05/2000
-- Fixed the artifact wands stacking bug
-- Removed the Netherworld dungeon
-- Added the Moria dungeon, it's not random and can be found in ... the moria
- mountain chain :) There is Muar waiting you at the bottom, guarding the
- Quarterstaff of Olorin
-- Waldern, the king of water is back, and he is the final monster of the
- small water cave, guarding a the Trident of Ulmo. But beware it is more
- powerful than in vanilla
-- Dungeon guardians and dungeon guarding's artifacts can only be generated
- in their respective dungeons
-- Removed rumors that were still Zangbandish and some others I didn't like :)
-
-14/05/2000
-- The MONSTER_PERCENT_ flag can be added to some dungeons to specify the
- amount of monsters that are affected by the dungeon specific restrictions
-- Random dungeons now appear on the overhead wilderness view
-- COULD IT BE !!!!!! yes it could !!!! thanks to Tom Demuyt that sent me a
- savefile where he wasn't able to learn spells, I may have finally fixed the
- dreaded spell bug !!!! I say may because I'm waiting for some fellow
- mac user to compile it to see if it really fixes the bug.
-- IT WASN'T ! but now it *IS* !!!!
- That was an other bug. And now Gob, the great Gob, the powerful Gob,
- found the dreaded mac spell bug !!! thanks Gob !!!!
-- Changed the price for Runes/Essences to be more accurate
-- Changed some uniques in r_info to their former vanilla glory
-- The look command can now show the trap's types
-
-18/05/2000
-- Fixed some typos(thanks whimsy)
-- Began to add the Body parts system to allow more rings, weapons,
- everything, depending on your current corpse (dragons will have more rings,
- mariliths 2 weapons, ...)
-- If your corpse allows the use of more than one weapon, you can use them :)
- let see a Sorceror using Ringil AND Gandalf ! :) well first he has to find
- the rare scroll to change body and then to find a corpse that allows 2
- weapons
-- Changed color of shafts (brown now) because they were hardly visible
-- Flying no longer allows passing over mountains, you MUST have a Climbing Set
-
-22/05/2000
-- Fast autoroller as a birth option
-- E'x'amining books in stores now browses them if your class can read them
-- Add a bookstore to Lothlorien town
-
-26/05/2000
-- When in battle rage(berserk) and using the ascii mode the screen goes all
- red (as it is white for invulnerability and black for wraithform)
-- r_info is modified to give all monsters some inventory slots. the format is
- E:weapon:torso:arms:finger:head:legs
-
-27/05/2000 - PernAngband 4.0.7
-- add a new dir to lib, DNGN which contain the definition of the LEVELS
- not the dungeons. one file for each level named dun$dungeon$.$level$
- In it you can have some declarations, like B:dungeontype which will
- create a stairway to an other dungeon, thus allowing to have "branches"
- in the dungeons.
- L:dungeontype and L:level specify which is the "father" dungeon and at which
- level the stair appear.
- S:ext means to save the level(and thus to reload it) in the player.ext file
- so allowing the use of persistent levels(the persistent dungeons option
- is gone)
-
-29/05/2000
-- Necromancers can use the Nether realm in addition to their old set of
- powers(now accessible through 'U')
-
-01/06/2000
-- Boomerangs of spinning are no longer allowed (that was silly)
-- Increased the rarity of the ULTIMATE artifacts (Magestaff of Gandalf,
- Longsword of Eru, Seeker Bolt/Xbow of the Elves)
-- Fixed the displaying of attributes under the 'C'haracter display
-
--04/06/2000
-- Players can now choose which kinds of monsters they don't want in their game
- at birth (wipe all Pern monsters, all Cth, monsters, joke monsters, ..)
- Note that monsters in fixed quests are not affected.
- Thanks Static Chaos.
-- In the Maze you can no longer remember anything, that means everything you
- see is what it's in your light radius ! MUAHAHHAH, I'm *NASTY*
-- Archers now get a better chance of not breaking their ammo as they
- advance levels
-
-08/06/2000
-- Note taking bug should be fixed
-- Fixed a bug with the incarnation code
-
-11/06/2000
-- Added the Orc Barracks special level (level 35 of Moria) from
- Chris Weisiger (jmartin@inreach.com)
-- The maze is now guarded by The Baby Minotaur who is holding The Steel
- helm of Hammerhand
-- The graveyard is guarded by Vecna holding Doomcaller
-- You can now use the 'l'ook command in the small wilderness view
-***********IMPORTANT************
-- Between gates are no longer automatic, you must press > while standing on
- one to activate it
-********************************
-
-16/06/2000
-- Revised the Adventurer's guide thanks to Chris Weisiger(jmartin@inreach.com)
-- You can no more recall from a quest
-- You can no longer target pets
-- Re-enabled the "Control the rings" spells of the Shadow realm
-- Between gates are now purple +
-
-02/07/2000
-- Only priest-like characters can use the Valarin realm
-- Removed all the references to Logrus
-- Tunnelling rubble will place the standard floor of the current dungeon and
- not the floor feature
-- Grow trees no longer crashes when used near the dungeon edge
-
-05/07/2000
-- Fixed the character dump resistances
-- When a full character dump is requested (upon death) the self-knowledge
- screen is used instead of the grid of abilities, that looks better :)
-- Fixed a bug in the placement of stairs which sometimes led to a stairway
- to another dungeon when not requested
-- Fixed the bug that generated 'unknown' grids
-- Should now compile (nearly) without any warnings
-- Fixed the mountain bug that hung the game when entering mountain chains
- in the wilderness
-
-07/07/2000
-- Some more monsters from Angband/64 and some more work on r_info from
- Static Chaos. That brings the number of monsters to ... 1023 !
-- Damage taken from going between is divided by (ac / 50) + 1
- So between 0 and 49 ac it's full damage, between 50 and 99 it's half
- damage and so on
-- Greater Hell Beasts now have .. 1 hp :)
-
-11/07/2000
-- Add the Unbeliever class, they are anti magicians. Great warriors, they
- have the worst magic device skill of all the classes, they continuously
- generate an anti-summoning field around them disabling monsters from
- summoning. The radius of the field increase with levels. After level 20
- they can also disrupt the magic continuum, thus getting the same effects
- as Anti-Magic, Anti-Tele and The Stone of Lore(nobody on the level can
- teleport)
-
-13/07/2000
-- Add an option to auto tunnel walls when bumping into them.
- NOTE that it'll ALWAYS take a turn then, so beware...
-- Really fixed the note taking bug (ok stole the fix from Zangband :) )
-- Changed the object description so now it's "Smeagol's Corpse" instead of
- "The Smeagol's Corpse"
-
-13/07/2000 - PernAngband 4.0.9
-
-29/07/2000
-- Orc Barrack's between doors are fixed
-- God favor is reinitialized upon birth
-- Added the Daemologist class along with a brand new realm and lots of new
- cool effects(try making all your pets explode ! :)
- All made by Static Chaos
-
-31/07/2000
-- Fixed lots of compilation warnings thanks to Static Chaos
-- Added the random vaults and crypt vaults from Zangband with the help of
- Static Chaos
-- Fixed some bugs pointed out by Bablos
-- The Ray Rune now relay make a beam and not a pseudo bolt
-
-03/08/2000
-- 2 handed weapons wielded with a shield now really restrict your fighting
- abilities (I forgot to add the code before) :)
-- Possessors can't leave their body while they wear cursed items
-- Word of Destruction is no longer allowed in quests
-- Add a fate spoiler created by Dustin Ragan
-- Removed the old new player ghosts implementation
-- Added the new old player ghost implementation (stolen from Drangband)
-- Rod system have been totally reworked. Now you can find "base" rods without
- power (rods of nothing) with a certain quality (wooden, iron, ...) on which
- depends the amount of mana they contain. You can also find rod tips which
- contain the real spells but cannot be activated alone. You must attach (with
- the 'z' command) a rod tip to a base rod before using it. The spells of the
- different rod tips need different amounts of mana (so illumination is less
- mana-hungry than healing) :). You can also have base rods ego-items (artifacts
- soon) that can decrease the mana cost of the spell, increase the capacity
- of the rod, decrease the time needed to zap the rod, ...
- Oh BTW, you should be eager to get an Adamantite Rod of Healing of the
- Istari :)
- Now rods will hopefully be useful.
- Note that you have to identify the base rod to get the mana indicator
-- Note files are now playername.nte instead of playername.txt
-So if you want your note file to be carried to the next version you'd better
- rename it :)
-- Fixed a bug that prevented Azog from being generated at the bottom of the Orc
- Caves
-
-07/08/2000
-****************** IMPORTANT *****************
-- Removed the Python support because it was slowing the game, adding
- weight to the executable (and thus to the archive), was mainly unused,
- and was never present in some ports
-**********************************************
-
-09/08/2000
-- Unbelievers are now much better at perception, and actually become even
- better as they go up levels
-- Fixed several bugs thanks to Iain McFall
-- Reset recall is now much nicer to use thanks to Iain (again :)
-- When a character is infected by the Black Breath it is show in the char
- screen & dump
-
-15/08/2000
-- Cursed mage staves should no longer crash the game when identified
-- A Marilith can now drop it's corpse when killed
-- Add the gods spoiler made by Dustin Ragan
-- Fixed a bug that could eventually crash the game when looking at the quests
- screen
-- Fixed a bug in the random junk artifacts that made them cure fear when said to
- cure confusion
-- Add the squelch patch from Iain McFall
-- Boomerangs are now pseudo-id'd
-
-19/08/2000
-- The *thanc artifact daggers are less common because they are so powerful
-
-24/08/2000
-- The Midas Touch 30k gold limit has been removed (suggestion from Chris)
-- Fixed (ok ok Iain fixed :) ) several trap related bugs
-- Squelch now use the pseudo-id thanks to Iain
-- Pseudo-id inscriptions are no longer part of the real inscription of an object
- and thus ... it's better :)
-- Tribal spell "Life Drain" now reduces your stat permanently 30% of the time
- and the other 70% it can be cured via restore stats pots. The damage is now
- always 50d50 and is no longer affected by mage staves of spell
-- Tribal spell "Meditate" no longer hastes/heals you
- (it still heals your sanity) and the glyphs' radius have been decreased
-- Add the Trap of Acquirement that will give a great object and then mutate
- into an other trap. It can never be identified and the color varies.
- Idea from Iain
-- When casting charm upon monsters only the non-pet ones will be affected
-- Elder Aranea HP reduced
-- Small trees are burned by fire
-- Randomly activated mutations are no longer activated in the overview
- wilderness
-- Ghoulkings are now z instead of p
-- Thrown potions now give xp when killing by a ball effect
-- Scrolls of reincarnation have been removed now you can only find scrolls of
- deincarnation. To reincarnate into a new body 'U'se the appropriate power
-- Recharging is now useful again
-- Breeders should be a BIT slower
-- Reduced mutation chance of breeders from 7% to 3%
-
-03/09/2000
-- New, unified store/building code
-
-08/09/2000
-- Add quest plots. Feature 75, 76, 77, 78 are now permanent walls but used
- as quest plot info holders. Before the new building code quest info was
- stored in the building feature but now all stores/buildings use the same
- feature(74) and the "special" value defines them.
-- Add semi-random towns. Now if the ' ' (space) character is used in the town
- definition this grid will be replaced by the feature calculated by the
- plasma generator as if it was a normal wilderness screen. So the forest of
- Lothlorien is plasma generated and not fixed. It add variety and consistency
- with the rest of the wilderness
-- All towns are now updated to the new store/building code
-- Removed the "you are being crushed" bug when going in the overview map thanks
- to Iain McFall (as usual :) )
-
-10/09/2000
-- When you use a 2 handed weapon and press 'e' the equipment list will show
- the weapon(and some info) in the shield slot too
-- Monsters can't have fewer arms than weapons
-- Mimics have been upgraded. They now have 5 powers. First is to use books of
- lore as before. Second is invisibility. The other ones are Mimicries.
- There are 3 mimicries, legs mimicry, wall mimicry and arms mimicry.
- Legs and arms mimicry will "create" a new body part (or some) for a certain
- duration. Wall mimicry will make the caster able to walk in walls (he becomes
- a wall) but ONLY in walls .. not on floor .. so beware with this one
-
-27/09/2000
-- For your god to resurrect you need 3 times more grace and your grace
- will drop to -100000
-
-30/09/2000
-- Add exploding ammos (bolt, arrows, shots) thanks to a patch by Static Chaos
-
-13/10/2000
-- Add some patches from Kusunose Toru <kusunose@hcn.zaq.ne.jp>
-- Neuters get a weight & height
-
-13/10/2000 - PernAngband 4.1.2
-
-14/10/2000
-- Building doors can't be erased
-
-28/10/2000
-- Fixed a bug in the rod system when attaching form the floor
-- Added fountains that you can quaff from ('H' in normal mode, 'V' in roguelike
- mode, yeah I know it was for version number .. but .. mhh who is using it ?:)
- Thanks to Static Chaos for the patch
-- You can fill empty options with fountains(thanks static chaos)
-- Added the Iain McFall Show Monster patch to show all viewable monsters
-
-08/11/2000
-- Fixed numerous bugs
-- Fixed the st_info & ba_info files thanks to Kusunose Toru
-
-16/11/2000
-- Godly blasts can't be reflected anymore, so beware, puny mortal !!! :)
-- Added a whole bunch of new floor features (ice, mud, sand, sandwalls, ...)
- thanks to Static Chaos.
-- More spell effect will affect the dungeon, for example, fire will melt ice,
- nether will kill trees, fire will create ash, cold will freeze water, ...
- thanks to Static Chaos again :)
-- Cleaned up the feature code again (that was a REALLY messy part of angband...
- and especially of Zangband)
-- Note: Sandwalls can be dug WITHOUT any digging tools
-- Teleport scrolls/staves are back in the shops
-- Mages, Wizards and Sorcerors now only get a wand of fire bolt at birth
-- Finally fixed the Alchemists extracting powers
-- Fixed numerous bugs thanks to KUSUNOSE Toru
-- Desert and Glacier wilderness features now really look like desert &
- glacier :)
-
-18/11/2000
-- Debug commands are allowed in the overview map, but beware, do not create
- objects & monsters there ...
-- The wilderness map is no longer fully known, you have to explore it
-- New wild.c file to support all wilderness functions
-- Maps can be found to reveal some places of the wilderness
-
-27/11/2000
-- Exp gaining weapons will gain levels way slower
-- Ring & Amulet random artifacts will only be "Ring of foo" and not
- "Ring of Slow digestion of foo"
-
-30/11/2000
-- Level gaining Artifacts have been significantly toned down
-- Sauron lost his chances to drop The One Ring
-- Blood of Life potions & Staves of Wishing are more rare
-- Your god wont always resurrect you even if you have enough piety
-- When leaving corpses, Possessor equipment will be dropped to floor
- to prevent their form being "lost"
-- Sandworm lair, a new dungeon
-- Staves of wishing now only have 1 charge
-
-12/12/2000
-- A patch to the alchemist patch from KUSUNOSE Toru, they should now work
- perfectly
-- h-system.h fixed so it should compile fine on Linux
-
-29/12/2000
-- New r_info.txt with the HAS_LITE flag, thanks to Static Chaos :)
-- Now some monsters can have a light around them
-
-03/01/2001
-- Phial of Galadriel and Phial of Undeath now use the same symbol(yellow ~)
-
-06/01/2001
-- Fates now show up in the character dump (thanks Kusunose)
-- Scrolls of Divination are more friendly now (thanks Kusunose)
-- Artifacts in monster inventories not yet seen are not shown in the
- artifact list (thanks Kusunose)
-
-08/01/2001
-- Zweihanders are now 2-handed weapons(as they always should have been :) )
-
-11/01/2001
-- Ego Rods are now "xxx rod of egoname of power" and not
- "xxx rod of power of egoname"
-- Fixed some typos(parchEment, NumeRoNean, ...)
-- Fixed a bug with junk randarts
-
-18/01/2001
-- Gods now need more sacrifices
-- Disabled the monster lite feature right now because it's HORRIBLY buggy
-- The Sandworm Queen will now drop the Sandworm armour when killed
-
-03/02/2001
-- Now you can separate a dungeon entrance from a dungeon exit on the
- wilderness map using the WILD_ix_iy__ox_oy flag in d_info.txt.
- ix, iy are the coordinates on the wilderness map of the entrance.
- ox, oy are the coordinates of the exit.
- Note that each of them(entrance and exit) must have a physical entrance
- on the wilderness map(that is a line in w_info.txt).
- When you use the entrance to enter you get to the first level but when you
- use the exit to enter you get to the last level.
- So now you can have dungeons that create shortcuts in the map.
- Or even allow to go in previously unreachable places(like now the dungeon
- of Moria allows you to reach a secret valley in the Mountains of the Moria
- which allow getting to some other dungeons)
-- Fixed a bug with fountains (yeah, fountains of the Blood of Life were quite
- unbalancing :)
-- Priests can't use Tribal magic anymore
-- Mages can't use Crusade & Illusion Magic anymore
-- Rogues can't use Crusade anymore
-
-05/02/2001
-- Found why under certain circumstances forbidden objects could still be
- generated (and that's also fixed now :) )
-- Dungeons & Monsters can now have object themes (yeah I know, I stole that
- from Zangband, though the dungeon theme was in my head for long, but
- when I steal I do admit it ...)
- For example The Sandworm lair is really full of magical items, while the
- Orc Caves are more on the side of the weapons & armors. And the Dragon Lair
- is filled with ... oh well everything :) and so on.
- So it's now really worth to get out of the 4 basic dungeons and see the
- wild world!
- All dungeons are done with the themes, it could take a bit longer for
- the (1031) monsters... :)
- NOTE: Dragon Scale Mails are considered TREASURES
-
-07/02/2001
-- Ego Monsters, yes like Ego items but for monsters. New file re_info.txt
- defines all possible ego monsters types (skeletons, zombie, ...). It can
- modify, the flags, spells, level, speed, ac, ... of the monster that is
- turned into an ego monster.
- This will increase the randomness of the game, increase the number of
- monsters from 1031 to .. a lot... :)
- There are not much ego monsters right now, so feel free to submit them
-
-09/02/2001
-- Sorcerors can't use much armor
-- Beastmasters have been give access to the Tribal realm, the Beastmaster's
- powers are now available through the 'U' key
-- Player Raise death spells will now really create an undead. For example
- you cast raise death upon a kobold corpse and you can get a Skeleton Kobold,
- or a Zombie or a Spectre one. New Undead types will be added later. And I'm
- open to ideas naturally
-- Narya activation is now Healing (500)
-- Nenya activation is now Healing (800)
-- Vilya activation is now Healing (900) and cures Black Breath
-- Daemonologists can now wield their books (in the weapon slot). When used this
- way, spells are cast in 1/3 of a turn otherwise it takes 5 turns
-
-11/02/2001
-- Specialized ESP, like Orc ESP, Troll ESP, Dragon ESP, ...
- They are less rare than full esp, but full esp is more rare
-- Fixed a Runecrafter bug which could crash the game if no second rune was
- selected
-
-11/02/2001 - PernAngband 4.1.5
-
-11/02/2001
-- Ents get nearly no sustenance from eating
-
-15/02/2001
-- Center player option
-- Alchemist artifact creation now requires player level magic essences to
- work. The stats are permanently reduced upon failure (as it always meant to
- be). You PERMANENTLY lose 100 max hp when trying to create an artifact.
- This should reduce the number of mad alchemists :)
-- Dark Swords as a new item type. They generate an antimagic field of 50%
- minus the sum of the enchantment (a +5+5 one will only do 40%) on a
- 5 tile radius (also minus the enchantment)
-- Unbelievers now generate a (player level)% antimagic field on a distance of
- (player level / 10)
-- An antimagic field disables any form of magic on the user, and can prevent
- monsters from casting spells (not breathing). A 50% antimagic field will have
- a 50% chance of stopping a spell
-
-18/02/2001
-- Normal Artifacts. Normal Artifacts are artifacts found directly in k_info
- that doesn't require a place in a_info. That allow strange artifacts, like
- wands, rods, staff (those were possible already but ugly), ... and even
- food
-- The Rod Tip of Home Summoning is now a Normal Artifact
-- The Greater Ration of Health is the first (very rare) food artifact !
- When eaten it provide +70 hp permanently
-- The Potion of the Blood of Life is now a Normal Artifact
-- Invulnerability can no longer appear in fountains
-- The Ring of Precognition is now a Normal Artifact
-- The Ring of Wraithform is now a Normal Artifact
-- The Scroll of Deincarnation is now a Normal Artifact
-- Hell is now the Nether Realm
-- Fixed a bug that created stairs at bottoms of dungeons
-- Extra blows can only be provided by things in the weapon slots
-- The Scroll of Mass Resurrection
-- Renamed Warrior-Mage to Warlock
-
-20/02/2001
-- The Wand of Stone to Mud of Thrain and The Wand of Fireball of Gandalf
- got the EASY_USE flag, allowing them to be used even by unskilled
- characters
-- As does the Stone of lore
-
-23/02/2001
-- Fixed a bug that allowed people in quests to use the '<' key to get to the
- wilderness timescale
-- Fixed a quest bug that allowed players to regenerate the quest many times
-- The Control the Three shadow spell is now much much more effective, since
- it removes black breath and DG_CURSE. The only little annoying thing is that
- it requires that player to wear the *THREE* rings. And that can only be
- accomplished with either the Possessor class (though they CAN'T cast the
- spell -- no hope for them) or The Scroll of Deincarnation
-
-10/03/2001
-- Monks can choose which spell to learn
-- Fixed a bug with limited ESP description
-- Fixed a bug in Possessor titles
-
-09/04/2001
-- DeathMolds can now teleport onto stores & such (all features that are
- considered floor by the game)
-- Objects cannot be dropped on traps anymore
-- The Sandworm Queen no longer appears multiple times
-- Harpers wont crash at the start anymore
-- Panic saves will use the playername.pnc filename (thanks Improv)
-- Symbiants can't hypnotize monsters that aren't pets anymore
-
-15/04/2001
-- Add an old patch from SC which allows dungeons to project an attack every
- few turns. For example a player in the Nether Realm will be hurt by nether
- every 3 turns for a damage of 10d10.
- The syntax is(up to 4 lines):
- E:<dice>d<sides>:<frequency>:<attack type>
-- Volcano now does 2d10 damage each 10 turns, beware scrolls on the floor :)
-- Lost Ruins of Numenor does 1d1 acid damage each turn (water will RUST you)
-- Cirith Ungol will poison you every 20 turns for 4d4
-- Illusory Castle will confuse you every 6 turns for 6d2
-- Small Water Cave does 1d1 acid damage each 20 turns (water will RUST you)
-- Nether Realm is unlightable (as is the Maze) and always empty levels
-- Nether Realm is now guarded by Tik'srvzllat who guards the Ring of Phasing
- a powerful ring that allow wraithform and immunity to nether
-
-16/04/2001
-- New Race system, Now you select a race AND a race modifier at birth.
- For example you choose to be a human vampire, or a dwarf skeleton, ...
- Then some modifiers apply (stats, skills, extra powers, ...). Note that
- all races can't use all race modifiers
-- New race modifier, Barbarian, the old barbarian race is gone
-- New race, the Wood Elf from CathAngband, masters of the bow, with 1 extra
- might and 1 more if they use bow and are high level enough
-- Extra Might can now be > 1
-- Penalty for priests using non blessed swords/axes/polearms is now (-15,-15)
-- New weapon category: Axes
-- Add Weaponmaster class from Gumband, trained into one weapon category, being
- great with it but bad with anything else
-
-18/04/2001
-- Aranruth is a broad sword, 15lb, 3d5
-- Fixed lots of spelling errors/typos thanks to Improv
-- Add a new birth option: Astral (ghosts from Kamband, name from Gumband)
- It enforces vanilla town and makes you start at level 98, you can't recall
- and need to reach town
-- Trap doors can't appear at the last level of dungeons or in non dungeons
-- The concept of non-dungeon places: some "dungeons" got the FLAT flag
- meaning they are ... flat, like a forest
-- The concept of Towers, going up instead of down
-- Updated birth.txt to take in account the race modifiers
-- Wood Elves can go through trees
-- Ammo similar to the one in your quiver will always be picked up
-
-20/04/2001
-- The death fate is way different now. When the player enters level he is
- fated to die on he gets teleported to a special level in a special dungeon.
- the level is empty, small and full of really out of depth monsters. Recall,
- genocide, ... are forbidden. There are no stairs, the only way to leave it is
- to kill every single monster of the level. Then the player is teleported
- back to town. Chance of surviving are *LOW* but not nonexistent :)
-- The knowledge rune will now probe monsters
-- Runecrafters are now playable (new damage formula) even at low levels !
- Now lets hope they are not TOO powerful :)
-- Runecrafters upgraded. They can now:
- 1) Cast a spell on the fly (as before)
-2) Cast a runespell they memorized before (can memorize up to 100)
- 3) Cast it from a carved runestone (uses 75% mana and does NOT need the
- runes to be present in the inventory, but consumes the runes during
- creation and it must be carried around to be used)
-- Mormegil is now a Darksword and is quite nice
-- Lesser & Greater Krakens now drop corpses
-
-24/04/2001
-- Add random towns in the dungeons. There can be up to 4 towns per dungeons.
- Not all dungeons (well should say places) can hold towns. Random town shops
- are took from the possible shops in st_info.txt with the RANDOM flag
-- Stores in st_info.txt got flags
-- When carving a Runestone the involved runes are destroyed
-- Random towns can have different shapes, from vanilla one to hidden one
- (the stores are placed randomly on the level, without any buildings)
-- When the player is invisible and does not have see invisible the @ symbol
- disappears
-- Cannot locate undetected traps by simply 'l'ooking around
-- Mariliths cannot use boots
-
-26/04/2001
-- The player is no longer "teleported away" when leaving some buildings
-- Level gaining artifacts rarity have been increased
-- Death Ray will actually kill the player
-- Removed traps of death ray (now that death ray insta-kills)
-- Recharged wands/staves cannot be extracted anymore
-- Wraithform no longer reduces damage
-- New hp formula for Possessors
-- Some sentences for the DarkGod monster to say, based on #angband :)
-
-28/04/2001
-- *WARNING*, squelch list has to be checked upon importing an old savefile
-- Every item can provides blows since Alchemists can't create that many arts
- now
-- Wielding a mage staff (even non ego ones) will provide with a decrease of 20%
- of the casting speed (using 80 energy instead of 100)
-- Add makefile.bcc thanks to Arch
-
-29/04/2001
-- Some Spelling/Grammar fixes in lib/help/ -- Improv
-- Levelling artifacts will now use a new scheme:
- There are now groups of abilities (the Fire realm, the Cold Realm and so on)
- Whenever a weapon goes up a level, it gets to either:
- 1. become enchanted by +2/+1
- 2. gain another attribute from a group it already has.
- 3. gain +1 to hit, and a point.
- when a weapon gains a certain number of points, it might buy access to a new
- group. Note that some groups can contain good AND bad abilities
-- Pet shop now sells scrolls of summon never moving pets
-- Lots of fixes (ammo weight, god flags, ...) thanks to Kusunose Toru
-- Towers deactivated for the time begin
-- Rods considered good
-
-01/05/2001 - PernAngband 4.2.2
-- Force attacks will pull away monsters (from Dr)
-- Fist of Force is now a force attack
-- Unbelievers can now detect traps at level 25 and destroy them at level 35
- Press 'm'
-
-03/05/2001
-- GoI no longer protects from insanity
-- Colored messages
-- Artifact creation results in a 40hp loss
-
-05/05/2001
-- Hermit subrace, magic adepts weaker physically but have more mana reserves
-- Use upx for exe compression of the DOS version in makefile
-
-07/05/2001
-- Fixed makefile difficulties in makefile.org, and uncommented one of
- the safer sets of CFLAGS/LIBS in that file as a good default -- Improv
-- Fixed some other spelling problems, notably in cmd7.c -- Improv
-
-13/05/2001
-- Reworked the old (ugly) activatable mutations, race powers, ... system to a
- new unified one. Race, subrace, class powers are defined in the tables in
- tables.c. Now the new system will allow for artifacts to grant powers, it
- also allow intrinsic powers (i.e. you quaff The Potion of Blinking
- and from now on you can blink at will)
-- There is a 2% chance of gaining the grow mold mutation when eating a slime
- mold
-- Priests gets the curse detection power
-- Oops the Sandworm Queen wasn't confusion resistant :)
-- Added various granted powers to various artifacts and ego items
-- Sorceror allowed spellbooks are now in tables.c (Mrealm_choice)
-- Changed the install rule to do something sensible on Unix. Changed config.h
- to suit. Default dir for lib is now /usr/lib/games/pernband/
- Hopefully this won't make too many people angry -- Improv
-
-15/05/2001
-- New GFX by Andreas Koch
-- Fixed some entries in a_info
-- Monster memory now tells people when they're facing a Nazgul (Kevin W Thomas)
-- Fixed a bug in dungeon town generation (Kevin W Thomas)
-
-16/05/2001
-- Added makefile.WHICH, fixed up my earlier patches to add a real install
- rule - Improv
-- Pseudo id now works for potions, scrolls, wands, staves and rods. Magicians
-are better at pseudo id-ing those than warriors (SC)
-- Can only use one ultimate artifact at a time (not that it really
- matters given that no-one will ever find one :) )
-- Fixed a bug preventing The Baby Minotaur from being generated if it was
- already generated for a previous character using the same savefile
-
-17/05/2001
-- Upgraded to latest z-term code
-- Illusory castle got a guardian, The Glass Golem (a NASTY thing) hoarding
- The Helm of Knowledge, which auto ids every item you walk onto and activates
- for insanity + *id*
-- Crushed all oriental items(nearly) of the game, they just doesn't fit the
- general theme
-- Gigantic dungeons (flag DOUBLE) from SC
-- Ice lair as a Gigantic dungeon from SC
-- Dragon Lair is gigantic now
-- Between gates travelling damage is now /2
-
-18/05/2001
-- Checked in an EXTREMELY raw and broken version of my z-term changes that
- produce cmovie files. It's disabled by default, if you want to play with
- it, play with z-term.c ... Until I incorporate a cmovie player into
- Pernangband, you can use the one I wrote for MY roguelike MoLD, available
- at http://www.sourceforge.net/projects/mold/ . Little plug there. -- Improv
-
-21/05/2001
-- Moria WILL have downstairs at the bottom
-
-24/05/2001
-- New quest code ! Quests are no longer in *_info.txt files but are able to do
- many new things, and the code is less ugly than it was :)
-- Random Quests refitted to use new quest code, now each level with a random
- quest will have a vault with the monsters you need to kill inside, and a
- princess that is held prisoner (your goal being to save her)
-- Refitted Thieves quest
-- New Bree quest, The Lost Hobbit ! save Merton !!
-- New key, 'y' to give items to monsters
-- Elven vampires no longer get resist lite, that was silly AND unbalancing
-- Artifact arrows wont come in piles anymore
-
-26/05/2001
-- Removed Wizard & prior classes, Mages & Priests can now use their realms
-- Refitted Crusade realm, some new (fun) spells
-- cmovie changes to make it work better. Should have it all cleaned up and
- portable very soon. -- Improv
-- Updated pern_faq -- Improv
-- Power mages start with a 2d4 spells
-- Fixed a bug which made random artifacts destroyed by auto-squelch. --
- Kusunose
-- Changed spellbooks colors to be more .. accurate
-- Add the Spirit realm, taking the place that was designed for it a long time
- ago, the one that tribal used until now, between Valarin and Shadow.
- Tribal is not removed, but it can only be used by some nature-like classes
- (like beastmasters, rangers, ...). Some spell names & spellbooks names are
- took from psiband Psionicists
-
-28/05/2001
-- disturb_move option off by default
-- Bree town totally redesigned by Mynstral to be more accurate the LoTR
- description of it and to be more .. beautiful :)
-- New quest in Bree after the hobbit one, The Trolls Glade
-- Dark Horseman quest required level raised to 35
-- Massive updates to tables.c, fixed spelling of several spells, renamed a
- few, fixed spelling of several lvl-specific class names, renamed a few.
- Also working on maintainability for race/class restriction code in same
- file. -- Improv
-- Entirely replaced TANG.txt with new stuff I wrote -- Improv
-- Permanent wraithform no more do the "You feel opaque" every few turns
-- Recoded the passwall() function to be... less ugly and less buggy
-- Archers learn to protect their arrows from fire as they advance levels
-- The Toris Mejistos guarded by Ar-Pharazon the Golden at the bottom of
- the lost ruins of Numenor
-- Fixed random artifacts activation bug
-
-30/05/2001
-- Spell lists are now colored
-- Spell descriptions when browsing
-- Half magery spells descriptions done by Parak
-- The potion of learning is a k_info artifact now
-- Added color to seen unique list, quests list and a few others
-
-31/05/2001
-- Descriptions added to first five Shadow books (Shaun "arch" Sides)
-- Nazguls lost the DG_CURSE upon death
-- The Spiders of Mirkwood quest is the first Lothlorien quest
-- Magestaff of power now increases spell power while magestaff of spell
- holds 2 spells (switching their previous behaviors)
-- New ego item system, externalized everything, it's half based on Matthias
- Kurzke patch
-- Rewrote e_info.txt for the new ego system, the rarity should look like the
- same
-- Bows of Numenor & Lothlorien as new ego items
-- DSM can be ego
-- some new ego & tweaks to existing egos
-- 3 new light types: Everburning torches, Dwarven lanterns and Feanorian
- lamps
-- New ego lights: of Brightness, of *Brightness*, of Illumination, of Boldness,
- of the Shadows, of Infravision, of the Eternal Eye
-- The Phial of Galadriel is now level 20 rarity 10, the ego lights & other
- perm lights should be enough until then
-- Ego light: of Fading, will make non-permanent the permanent lights :)
-
-01/06/2001
-- Add auto curse
-- The One Ring will not be cursed when generated but will have the auto_curse
- flag, so it is possible to use it and take it off for VERY brief periods...
- but if it becomes cursed while you're wearing it .. you're stuck with it
-- The same applies for the Toris Mejistos (except that it's not permacursed)
-- Moved options around
-- No more books of lore, they are now Cloaks of Mimicry (and can be ego items
- or randart)
-- Monsters that can suicide cannot be random quest monsters
-- Alchemist artifact creation totally changed. It now takes player level
- essences of magic and 1 hp to "imbue" a normal non-artifact, non-ego item
- into a pseudo artifact.
- You will then wield/wear it and it'll gain some xp when you do
- (reducing the amount you gain)
- When you think you have enough xp, you finalize it (actually select the
- flags that now cost xp) with the xp it has and the pval you choose.
-- Did more spelling updates on this file -- Improv :)
-- Finished moving the class-race combos in tables.c to a cleaner
- format -- Improv
-
-02/06/2001
-- Copied Vanilla random artifacts name generator
-- Random ring & amulets are now "The Ring of foo"
-- Lights can be random artifacts
-- Described all Valarin spells
-- All non spellbook spells (Mindcrafters, necromancers, mimics) got a
- description
-- All harper songs described
-- DragonRiders will learn to fly at level 17 (but they always can levitate),
-that's an old Divia suggestion
-- Magestaves of Spell still carry 2 spells, but they are randomly generated
- using the runespell (magic of the Runecrafters) system
-- First draft of monsters gaining xp & levels
-- Magestaff of Mana & Power renamed to Magestaff of Wizardry (suggested by JLE)
-
-03/06/2001
-- Beginning work on unifying the load/save code to make
- maintenance easier -- Improv
-- load2.c and save.c are now one file, loadsave.c ... Will now be working on
- moving them to using unified functions so this code will be easier to
- maintain. -- Improv
-- Reworked monster AI. A monster can now be enemy, neutral(oriented toward
- player or monster or full neutral), friendly, pet or companion(will follow
- you on other levels)
-- Pets (and other friends) will be less stupid
-
-04/06/2001
-- You can now assign a target to a pet
-- The Phial will now have a similar effect to song of morning (tribal)
-- The number of companions killed is taken into account in the score
-- New quest at Lothlorien, the poisoned water, with an unique reward,
- a DSM of elvenkind (cannot be generated under normal circumstances)
-- Renamed Nibelungs to Petty Dwarves
-- New curse, you cannot drop the item
-
-06/06/2001
-- Multiple messages will show up as only one message with a multiplier
-- New Minas Anor layout (MUCH BIGGER) by Mynstral
-- Fixed the princess not appearing (she WAS there but got killed)
-
-08/06/2001
-- Fixed Mormegil (it was possible to use it with magic)
-- Companions stay even if you use the overview wilderness mode
-- Some monsters will tease the player but always stay out of melee range
-- A new pet command to make them forget their target
-- New ego type for heavy armors (Dwarven) with + to STR and maybe CON
-- Ammo & diggers doesn't add the tohit/todam to your total
-- Herbal healing at Gondolin will cure black breath
-- New store type: Master Archer
-- Rings can be ego objects now
-- Scrolls can be ego now (Fireproof)
-- Wands & Staffs (except of wishing) can be ego item: of Plenty
-
-10/06/2001
-- Possessor now have mana (based on INT) and use it to cast the spells of the
- monster they are using
-
-12/06/2001
-- Deathmolds can now use the overview wilderness map but the travel time is
- higher and there is a chance to not blink right and move onto an undesired
- square
-- Changed Summon Cyberdemon to Summon High Demon (with the incoming new JLE
- demons it'll be nasty)
-- Added Possessor monsters, they'll hunt corpses and incarnate into them !!
- Now you must fear even dead monsters
-- The Phial of Undeath now has a radius of 5
-- Unique monsters list is now sorted (but Morgoth is always at the bottom)
-- Add monster traps from PsiAngband. Rogues can now set them (with the powers
- menu, 'U' key)
- Direct quote from Psiband change file:
- Rogues can set traps for monsters. This requires a "trapping kit" as a trigger
- and something to "load" the trap with.
- All scrolls, potions, wands, staffs and rods can be used (with the appropriate
- trigger) as traps to confuse, poison, teleport, genocide, ... unwary monsters.
- But standing next to a trap with area effects will hurt the player, too.
- There are also traps that shoot ammo: hidden catapults, bows and xbows.
-
- Some monsters can disarm traps, and a monster that has disarmed one of your
- traps will learn how to disarm all of them...
-
- Ammo Traps can have (+hit,+dam) just like bows. They can also be enchanted.
- All traps can have a [+AC] showing how hard it is to disarm it.
- There are also ego and artifact traps.
-- Add the ego & artifacts trap kits from PsiAngband
-
-15/06/2001
-- Hallucination monster attack (JLE will use it for the review of r_info)
-- You can use up to 5 R_CHAR_x flags in the F: line or re_info.txt to specify
- races to which the ego powers are available
-- Crusade realm described
-- The Star of Elendil now has a light radius of 4
-
-17/06/2001
-- The dungeon info file (d_info) now allows more than one monster generation
- rule. The R: line specifies the percent of monsters affected by the rule
- and the mode of the rule(AND, NAND, OR, NOR). So it is now possible to
- have 60% of orcs, 30% of trolls and 10% dragons
-- New dungeon in Mirkwood, Dol Guldur !
-- Sorcerors cannot use Valarin (prayers should not be available to mages) and
- Tribal (instead they get Spirit)
-- Fixed some misspellings in lib/help/ -- Kusunose
-
-18/06/2001
-- Auto pickup option now defaults to false
-- Fixed bugs with the cursed ego items
-- Described the remaining Magery spells
-
-19/06/2001
-- Point based character generation
-
-20/06/2001
-- Finish cmovie support !
-- Added an interface to cmovie (press | key in both normal or roguelike set)
- It asks for a name (it will add the extension itself) and then if you wish
- to play or record it.
- The cmovie files (.cmv) are located in lib/cmov, note that they quickly
- become huge and so you REALLY should compress them before sending to friends
-- Fixed a bug that prevented mutations from being correctly cleaned
-
-21/06/2001
-- Special artifacts can be placed anywhere in a_info, they just need the
- INSTA_ART flag
-- Emptying lite warnings should work now
-- Added new quest, not found in a castle.. I won't say anything more :)
-
-23/06/2001
-- Added 2 new dungeon flags:
- LIFE_LEVEL will generate levels with a cellular automaton algorithm (looks
- like a game of life)
- EVOLVE will make a LIFE_LEVEL be continuously parsed by the cellular
- automaton algorithm while the player moves, resulting in a living effect
-- New dungeon: The Heart of the Earth, branching on level 25 of Mirkwood
- it uses the evolving algorithm :)
-- Added the new Minas Anor (one map screen total). Fully functional
- (except for the random terrain via the plasma generator *hint,
- hint -> DG*) --Mynstral
-- Moved the rarity of the Phial of Undeath to the one of Galadriel
-- Add Death Orb monster as suggested by Prfnoff a long time ago.
- They only move when in LOS. They multiply (quickly) and can hit to parasite
- which will make a new death orb spawns out of you later
-- Fixed a bug in cmovie that messed up the recording when the user specified
- different char than the normal ones
-- Loadsave work is now pretty much complete. Barring the addition of
- transparent compression, which might happen later, there shouldn't be any
- reason why savefile compatibility should ever break again. -- Improv
-
-24/06/2001
-- Several bugfixes -- Kusunose
- Player's symbol was never displayed if VARIABLE_PLAYER_GRAPH or
- USE_GRAPHICS was #undef'ed
- Eating a corpse sometimes crashed the game.
- Stealing from a monster sometimes crashed the game.
- Nether immunity won't work if player had nether resistance.
- and some minor bugfixes.
-- Birth classes selection is now more user friendly
-
-27/06/2001
-- D: line enabled in k_info.txt
-- Added ingame information about the different objects kind one can find
- It is accessed via the observe key ('I' in original keyset)
-
-28/06/2001
-- Add back the Eol quest at Gondolin, but it's now dynamically created
- (the level layout and trap places are random)
-
-30/06/2001
-- Reimplemented Nirnaeth Arnoediad quest at Gondolin, but with a different
- reward
-- Add a spoiler menu to the help menu, thanks to Dawnmist
-- Fixed a bug; Steal Item Trap sometimes crashed the game. -- Kusunose
-- Working on rewriting more documents in lib/help/ -- Improv
-
-03/07/2001
-- Fixed a long-lived bug with power mages. This greatly affects play-balance
- with them -- no longer will the cost of many of their high level spells
- be merely 1 mana. Also, removed some of their effects that never really
- worked anyhow. -- Improv
-
-07/07/2001
-- Some more misspellings on this file are fixed. -- Kusunose
-
-11/07/2001
-- Cannot add essences to artifacts
-- Object descriptions are added in the character dump
-- Notes are saved in lib/note
-- Priests and paladins begins with 10 times more grace with their god
-
-12/07/2001
-- Rods with rod tips attached sells for higher price
-- Down shafts cannot get you out of a dungeon
-- Cannot enter water and such in overview mode when too burdened
-- The no_pickup_corpse option changed to prompt_pickup_heavy which will ask
- a confirmation before picking up objects that might slow you
-- Add an menu to the option screen to dump/load options to a pref file
-- Fixed a bug with dungeon guardians being generated more than once
-
-13/07/2001
-- Unique list is now in 2 columns
-- Race selection screen made more user friendly with race desc
-
-14/07/2001
-- Reworked the spell system
- Now each spell got a level that you increase as you learn it more and more.
- The higher the spell level is the more damage it does, the more time it
- lasts and such.
- Also each class have a specific max on the number of levels they can achieve
- in each spells. This should help the high mage class since they get twice the
- max level of mages. Also illusionists gets more than mages.
- Also note that sometimes one more level wont change anything while 2 or 3
- more WILL change. And lastly some spells are not affected by levels at all
- One last thing, sorcerors cannot learn spells and thus cannot increase their
- spell level which will always be 1
-- Player races now have inherent body parts, so a deathmold cannot use
- headgear or boots but can wear more rings
-- New DarkGod sentences by Static Chaos
-- Fortune cookie by SC
-
-15/07/2001
-- The more you known a spell the faster it is to cast
-- Every class can now choose which spell/prayer to learn
-- Began reworking the spell bonuses(from spell levels or mage staves) to a much
-smoother distribution, so if a point if used it WILL have impact. Done the
- Valarin Realm
-- Done Magery Realm
-- Done Symbiotic Realm
-- Done Music Realm
-- Done Shadow Realm
-
-16/07/2001
-- Done Chaos Realm
-- Ingame contextual help(on by default, can be turned off in the options)
- Only few stuff got help right now, but that'll be extended
-
-17/07/2001
-- Spell list with levels included in the character dump
-- Updated docs thanks to Dawnmist
-
-18/07/2001
-- Hypertext help system, use up/down/space/- to scroll, left/right to move
- between links and enter to activate a link
-- Race mods selection screen upgraded
-- The k_info artifacts will have a name again(was a stupid bug)
-- Done Nether Realm
-- Unified savefile loading screen. Now when the game is started it presents
- a screen allowing to create new characters or to load/destroy existing ones
-
-19/07/2001
-- No more breeders in poisoned quest
-- Add an option to show exp needed for next level instead of total exp
-- Objects with the temporary flag will be destroyed when it's timeout
-becomes 0, allowing spells to summon fiery blades and such
-- Valarin Realm got a spell to create a temporary Holy Avenger
-
-20/07/2001
-- Created a cygwin makefile (makefile.cyg) for Windows -- Dawnmist
-- Split spoiler help files into true spoilers and newbie help files -- Dawnmist
-- Continued minor edits of help files. -- Dawnmist
-- Possessors reworked again
- Now they get between 1 and 20 mana based on the spell rate of the monster.
- When you cast a spell the failure rate is determined based on the player
- level, player wisdom, monster level and spell difficulty. If the spell
- fails it is still cast but you lose a few mana. If it succeeds you don't
- lose mana. If it takes you below 0 mana you are forced to leave your corpse.
-- Done Spirit Realm
-- Done Tribal Realm
-
-22/07/2001
-- fixed a bug in project_meteor() that crashed the game. -- Kusunose
-- Updated option.txt for exp_need option. -- Dawnmist.
-- Continued edits on help files. -- Dawnmist.
-- Done Crusade Realm
-- Rewrote bldg.txt for Pern 4.x.x. -- Dawnmist.
-
-23/07/2001
-- Redone help file colour scheme to allow orange/yellow hyperlinks -- Dawnmist.
-- Continued edits on help files -- Dawnmist.
-- Spell checked tables.c -- Dawnmist.
-- Spell checked this file :-) -- Dawnmist.
-- Updated features and objects in dungeon.txt help file. -- Dawnmist.
-- JLE reworked the monster list, some monsters are gone, some monsters are
- changed and some are new
-- Along with r_info JLE also modified d_info, big thanks to him
-- No more quest for shelob in mirkwood(she guards cirith ungol now)
- Instead you must hunt the necromancer that is said to lurk in dol guldur
-- As long as sauron his alive the nazguls cannot be permanently slain
-- Attacking a nazgul no longer destroy artifacts(well it can, but the chance
- is 1 in 1000)
-- Done Daemon and Sigaldry realms
-
-24/07/2001
-- SURPRISE!! I did something (but what it was is a surprise too) -- Mynstral
-- Added debug 'B' command, changes body -- Improv
-- Added colours and hyperlinks throughout command.txt -- Dawnmist
-- Updated most command descriptions in command.txt -- Dawnmist
-- Minor updates to some other help files -- Dawnmist
-
-25/07/2001
-- Massive merges from my internal cvs tree of loadsave.c
- Hooked experimental bzlib integration in an #ifdef
- Gutted the old 'encryption' code
- Hoping to gut RLE if bzlib changes work out
- Added nice sentinel function -- Improv
-- Fixed class selection screen bugs, fixed savefile manager so it will work
- with unix. -- Improv
-
-26/07/2001
-- Added a quest map for Gondolin. -- Mynstral
-- Gondolon last quest: Invasion of Gondolin !
-- Upgraded max suport to the new birth interface thanks to pelpel
-- Several fixes thanks to pelpel
-- Add an option to use either the new r_info coloring scheme(based on V one)
- or the old one(based on Z)
-
-28/07/2001
-- Fixed a lock problem with global.svg on multiuser system thanks to pelpel
-- Done Magic Realm
-- Done Druidisic Realm
-
-30/07/2001
-- One can press 4 (left arrow) in class selection to get back to meta-class
- selection
-
-02/08/2001
-- Updated several *_info files thanks to JLE, new arts, ego, objects, ego
- monsters
-- Fixed a bug in ego monsters, now they works perfectly :)
-
-03/08/2001
-- Done Illusion Realm
-- Added macrofaq.txt to help system -- Dawnmist.
-- Updated/fixed a few problems in the help files, and linked in new macro FAQ -- Dawnmist.
-- Increased chance for player ghost to appear
-- No more ego monsters in town
-- Spectre subrace can only use 1 ring
-- Made bree and gondolin finally use the plasma generator, and added two terrain
- features. -- Mynstral
-
-04/08/2001
-- Fixed a bug with ego monster generation that inversed ego rarities, thus
- explaining the incredible numbre of spectres running around
-
-05/08/2001
-- Fixed the orc level in the moria
-- Bladeturner is now an UNTIMATE artifact, but can be activated for invulnerability
-- Major rewrite of magic and class help files -- Dawnmist.
-- Fixed a bug with saving/loading while doing invasion of ogondolin quest
-
-07/08/2001
-- Fixed Tribal realm
-- Major rewrite of race modifier help files -- Dawnmist.
-- Spellchecked this file - Improv
-- Reintroduced water hounds - Improv
-- Major rewrite of race help files -- Dawnmist
-- Graphics for shop doors -- Kusunose
-- With help of Antimatter, squashed item bugs related to negative pvals and
- the signedness of some functions. -- Improv
-- Done Prayer Realm
-
-09/08/2001
-- Fixed a bug with evolving dungeon when saved/loaded
-- Only the quest monsters counts for quest, not clones, not normaly generated
- ones
-- undead ego monsters cannot be mortal
-- Monster ego name can appear before or after the monster name(:B or :A at the
- end of the W: line)
-- Object ego name can appear before or after the object name(B or A on the X:
- line)
-- Fixed a long-lived item-pickup bug -- Improv
-
-10/08/2001
-- Ego monsters will be drawn in gfx mode
-- Add a birth menu to select the god to worship, druids are forced to get
- Yavanna, priests and paladins are forced to have a god, others can choose
- to be atheist
-- No more multiple artifact arrows
-- Continued edits on the help files -- Dawnmist
-- Completed the spell descriptions for the Shadow Realm -- Dawnmist
-- Vampiric weapons can be sold again
-- Staff & Wand of nothing of plenty cannot exist
-- Staff of wishing CAN be of plenty
-
-11/08/2001
-- fixed a bug with esp and flags5 not being saved thanks to kevin w.thomas
-- fixed a bug in nirnaeth quest
-- Reduced sorceror hp penality to -10%
-- Removed the screen coloration when berserk/wraith/goi
-
-12/08/2001
-- Fixed invasion of gondolin quest
-- Fixed lightning res amu
-- Add the Merchant class(thanks static chaos), they can get loans(watch out if
- you dont pay back quickly) and request items at the merchant guild.
- they can appraise items, identify items, warp items in chests. They get
- an object based ESP(see monsters carrying objects) at higher levels, they
- constantly detect objects around them and they can use portable holes
- to get a bigger inventory(but items in it weights more)
-
-13/08/2001
-- Fixed font-ibm thanks to pelpel
-- Merchants gets the midas touch
-- Vanilla town option removed. Astral mode now make the player start in the
- Halls of Mandos(levels 1-98) which do not have any entrance from the
- wilderness(or any dungeons). When they get out they are in the wilderness
- and can start playing normaly. And uniques cannot be generated in the halls
- of mandos
-
-14/08/2001
-- Updated font-ibm and font-win thanks to pelpel
-- When selecting the number of random quests, * will get a random number
-- Score list now shows the subrace, but it breaks the compatibility with old
- ones
-- Reduced xp needed by monsters to gain levels
-- Ego items are wishable now. i.e you can ask for "fiery dagger"
-- Updated font-ibm and font-win thanks to pelpel
-
-14/08/2001
-- Added the map for a new quest. -- Mynstral
-- Finished the Last Alliance quest
-- Number of companion a player can have at max depends of the class
- necro gets 1 + (plev / 10), beastmasters 4 + (plev / 10, harpers 5
- all others 2
-
-16/08/2001
-- Fixed ambushes
-- Added merchant help
-- updated mac suport thanks to pelpel
-- Reduced by about 6mb the memory req
-- Hidden towns are generable
-- Fixed a bug with weapon specialty at birth -- Kusunose
-- New item ability, some rare rings can add %(based on pval) to the chance
- of getting a critical hit
-- Objects can now shimmer(ATTR_MULTI), but only base types (k_info) can have
- the flag
-- Features can now shimmer, note that this can be slow. Please report if it
- is unbearable on your machine(you can also disabled the avoid_other option)
-- Reduced memory footprint again
-- Reworked the 'U' power menu to be more nicer and intuitive while still
- allowing macros. Each powers gets a fixed number that can be used as a
- prefix to the command to bypass the menu. For example teleport is 5 so
- to directly get teleport one can always do 05U
-
-17/08/2001
-- Described Chaos realm
-- Described Nether realm
-- Described Sigaldry realm
-- described Spirit realm
-- Fixed a bug with random quests
-- Fixed a bug in note taking, thanks to pelpel
-- Fixed the interact with visuals menu thanks to pelpel(the fix is not even
- in vanilla yet :)
-- Fixed cmovie recording
-- Merchants can request ego items(same interface as wishes)
-- Towns in dungeons now get townpeople in it ... leveled townpeople
-- Eggs are now , instead of o
-
-17/08/2001 - PernAngband 5.0.0 aka "Mirmidonic Carbonizer"
-- Birth options now appear in the normal option screen, but as read only
-
-18/08/2001
-- Special levels reworked
-- Volcano is now Mount Doom and is found on level 65 of Mordor
-- fixed help system crash thanks to pelpel
-
-21/08/2001
-- fixed the hypnotic gaze bug
-- reduced between gates damage
-- daemon books can be enchanted
-
-19/08/2001
-- Beginning work on a new, better status screen. For now, it's assigned
- to the debugging menu as the 'A' command. -- Improv
-- fatespoil.txt changed to fatespoi.txt
-- rogues get some shots for their trapkit at birth
-- Cannot dismiss the princess anymore
-
-23/08/2001
-- Fixed the special levels, thanks to mynstral
-- Described Daemon realm
-
-23/08/2001 - PernAngband 5.0.0b aka "Mirmidonic Carbonizer II"
-- Default pref files are in lib/pref
-- Random quests are disabled when using ironman_room
-- Add auto_more option -- beware it can be very dangerous
-
-24/08/2001
-- Increased general store price limit
-- Trapkits added to squelch list
-- Fixed a bug when displaying some k_info artifacts
-- Wand of Gandalf and Thrain are now k_info artifacts
-- Fixed 2 bugs with rogue traps
-
-25/08/2001
-- Necromancers can turn pets into companions
-
-26/08/2001
-- Special levels are no more fully known
-- Fixed fountain bug; shape of XXX did not take effect -- Kusunose
-- Described Illusion and Tribal realm spells -- Dawnmist.
-
-27/08/2001
-- Fixed bug with scrollable list of powers
-- Added Magical diggers, they grant stone to mud power
-- Added the Corrupted subrace gaining corruptions as they level thanks to
- Luc French
-- Changed mutations to corruptions
-- Dragonriders are no more considered evil
-
-28/08/2001
-- Fixed some cmovie bugs
-- Fixed *godness* song on non artifacts
-- Greatly increased herbal healing price in gondolin, since it cures black
- breath
-- Fixed bug with store item creation -- Kusunose
-
-29/08/2001
-- Totaly rewrote the random artifact system. It now use an external ra_info
- file to define what power the artifact will get. The format is very similar
- to e_info(expect it doesnt include the 5 flags sets). Each entry define for
- which tval/sval it can be applied. Then when the game wants to create a
- randart it simply defines a number of powers to grab and randomly pick up
- the powers from ra_info(following the restriction, rarity and levels).
- This allow a totaly change of the randarts if needed, an easy addition of
- new powers, ...
-
-30/08/2001
-- Hidden doors are now hidden, in mirkwood they will look like trees, in
- barrow downs they will be mountains or trees, and so on
-- Beastmasters can turn a pet into a companion
-
-31/08/2001
-- Half elf lost the str penality
-- Half orcs and half Trolls or now Orcs and Trolls
-- Saved levels are deleted when a new character is created
-- Renamed Holy Advangers to weapons of Aman, thanks to Timo Pietila for the
- idea
-- Cannot reset recall to Mount Doom
-- The game time is now counted with the elven calendar (reckoning of Imladris)
- (It isnt PERFECT, every 12 years it should have years of 368 days, but I
- dont think many will get upset :)
- A year is 365 days, with 6 months (Tuile, Laire, Yavie, Quelle, Hrive and
- Coire), 3 middle days(Enderi) and one starting(Yestare) and one ending
- (Mettare) day.
- The game begins the 43rd Yavie the year 2890 of the third age, note that it
- is the birthday of Bilbo :)
-- Note files (mainly) use the elven calendar to record things
-
-02/09/2001
-- Fixed several bugs (runespell deletion, ego wand and staff stacking etc)
- thanks to oops -- Kusunose
-
-03/09/2001
-- Changed the 'Lev xxx' thing to a 3 letter name corresponding to the current
- place(dungeon, orc cave, ..)
-- Enabled f_info D: line with an index(0 is general desc, 1 is to (forbid)
- tunneling)
-- Changed the way total weight is calculed thanks to Kieron Dunbar
-- One can edit his background history at birth :)
-- Lich ego monsters can use the base monster powers
-- Raise death can bring a lich
-
-04/09/2001
-- Enabled E: line in f_info(same format as d_info)
-- F: lines enabled in lib/dngn files, they specify flags for the level
-- Fixed a bug with special level generation
-- Add bleeding and poisoning monster effects from EyAngband
-- The One Ring quest
-
-05/09/2001
-- Fixed the crashing bug after level 100 in angband
-- Gave Sauron 30% chances to drop The One if it is not already created
-- Code now allows bi-ego objects, thoght they are impossible to generate yet.
- It will allow additing weapon/armors qulities(crude, broken, ..) easily
-- Add a quick start option that let you use the same char as you previous one.
- Everything is the same execpt life rating
-
-06/09/2001
-- Abort menu in the Windows version is now compile option, disabled by
- default. -- Kusunose
-
-07/09/2001
-- When a new day comes the game tells the player(at midnight)
-- Drain hp and mana are cumulative
-- Fixed file existence function for dumb systems :)
-
-07/09/2001 - PernAngband 5.0.1 aka "Brunswik Disipator"
-
-09/09/2001
-[B]- Turns in scores are based upon the start of the game not of the year
-[M]- Mimic are REALLY mimics, they can look like any object and appears as
- objects when looked at. And they got an emperor
-[I]- Enhanced realm selection menu
-[B]- Farmer maggot shows up in the unique list
-[M]- Monster vs monster damage is now x3 to shorten fights
-
-10/09/2001
-[P]- Changed the boring Half-Giants race to the much more interresting
- Beorning race. Descandant of beorn they can all shapeshift into a powerful
- bear form at will. In bear form you cannot use weapons, gloves, shields
- and boots. But you get powerful stunning/slowing/wounding attacks
- (claw, bite, swat, hug) and innate blows. You also get bonuses and minuses
- to some stats and to to hit, to dam and speed
-
-12/09/2001
-[O]- One Ring cannot be dropped by traps
-[G]- Implemented luck, an invisible stat which can only be approximately known
- via self knowledge spell/potion. It affects quite a few dice rolls.
- Each race gets a luck modifier, for most it is 0, but some gets penalities
- or bonuses(hobbits are a lucky bunch).
- Some objects also can grant luck
-
-14/09/2001
-[D]- The graveyard will now project a raise death spell on all bodies, meaning
- you'll have to kill a monster, and destroy its body before it get raised
- back in the form of a skeleton, spectre, lich, ...
- PS: MOUHAHAHAHHAHA
-
-15/09/2001
-[B]- Bugfixes -- Kusunose
- A message "XXXX blocking your way" was displayed when you went through
- some walls or trees.
- Hidden doors remained hidden if they were detected by spells, or if they
- were opened by monsters and then closed. Thanks to kobayasi.
- and some minor fixes.
-
-16/09/2001
-[m]- Implemented lua scripting language! More on that on the to-be docs
- You need to get lua3.2 to make it work.
-[m]- Integrated lua3.2 source into the source, no more need for external
- librairie
-[M]- Fixed store lockup bug thanks to Kusunose toru
-[I]- Partial 8x8 tile update -- Dawnmist.
-[m]- Cygwin makefile update -- Dawnmist.
-[P]- Externalized player races and histories
-
-17/09/2001
-[P]- Elves cannot be vampire anymore
-[P]- Hobbits get intrinsinc xtra might with slings at lvl 25
-[P]- Extended the possibilities of the player races file, it is now possible to
- select what flags will be applied at what level and for what pval(if
- revelant)
-[B]- Fixed non connected stairs on quests, thanks to luc french
-[I]- Removed screen dump/load commands, redundant with cmovie, and frees to keys
-[I]- Y( ( in roguelike keyset) key to chat with monsters
-[G]- Changed the way to get the lost hobbit quest
-[B]- Fixed a bug with eat magic corruption
-
-18/09/2001
-[G]- System shock when thrown out of one's body while wzearing cursed items
-[G]- Set the joke/Z/cth monsters off by default
-[P]- Externalized subraces to p_info
-[M]- No more joke mosters as quests
-[m]- Integrated an automatic help file converter(creates html files), command
- line option -h
-
-28/09/2001
-[m]- makefile.org now supports Lua, uses Improv's installation rule
- in all cases, it also understands make depend as well.
- Read it, make necessary changes for your system, then make depend
- followed by make.
-[B]- validate_bg() referenced a null pointer.
-[m]- CodeWarrior project file for the Mac port supports Lua.
-[m]- main-xxx.c for the Mac is now in sync with my Vanilla port -- pelpel
-
-29/09/2001
-[B]- Fixed herbal healing price
-[I]- 16x16 bmp/mask added to the cvs
-[G]- Cth/Z/Joke monsters options appears in char dump
-[B]- Fixed Crusade spell book browsing bug (Bug list #33) -- pelpel
-[B]- Fixed a bug; the first harper book was never sold in the bookstore
- (Bug list #15) -- Kusunose
-
-30/09/2001
-[G]- Increased min player level for some dugneons
-[I]- Message can be multi colored
-[m]- Yesterday I got OS 10.1 and found that it fixed the new window
- position bug (search for (_ _#) in main-crb.c), so I conditionalised
- the workaround -- pelpel
-[B]- Fixed the combined rod pricing (Bug list #30) -- pelpel
-[B]- Typo in files.c: cht_monsters -> cth_monsters. Replaced non-ASCII
- 0xa0's in angdos.cfg with 0x20 (i.e. space) -- pelpel
-
-01/10/2001
-[B]- Monks and Bear form didn't have combat messages -- since many lines
- in the current flavoured messages mention weapons, I introduced a
- hack to temporarily disable flavored_attacks for them, then just
- process messages as usual, and restore the flag later (Bug list
- #44 and #53) -- pelpel
-
-02/10/2001
-[B]- The trap/door destruction spell didn't destroy doors (Bug list #25) --
- use of floor_type[rand_int(100)] results in a 'natural' terrain,
- but isn't compatible with digging etc. Do they need fixing too? -- pelpel
-[m]- The main window resist resizing in the Windows port, like the Mac
- ones (Arcum's problem, future Bug list #74 and #75) -- pelpel
-
-07/10/2001
-[B]- Fixed PowerMage mana consumption bug (Bug list #114) thanks to krosky
- -- pelpel
-
-08/10/2001
-[B]- Fixed light source stacking bug (Bug list #7) -- Kusunose
-
-21/10/2001
-[M]- Add NO_CUT to some monsters
-
-22/10/2001
-[I]- Colors to news.txt
-
-25/10/2001
-[M]- Added gamma correction function taken from V2.9.x in util.c, since
- new X11 file requires it, so does my main-gtk.c, ready to be submitted
- -- pelpel
-[G]- Cannot use overhead wild map if being recalled
-
-26/10/2001
-[B]- Fixed long-lived dragonrider bug (xtra1.c), Darkgod please check to see
- if the behavior is as you want it -- Improv
-
-27/10/2001
-[P]- Externalized classes to p_info.txt
-[P]- Externalized meta classes to p_info.txt
-
-28/10/2001
-[B]- Fixed display of race/subrace/class flags
-[I]- Add some color to the identify screen
-[I]- Ignore Acid, elec, fire and cold are merged in identify screen
-[I]- Inventory/equipment letter are color-coded when *identified*
-[O]- Item sets ! Some artifacts are working together. If you wear them
- at the same time you get bonus powers. You can get partial bonuses i.e:
- You have 2 artifacts of 3 artifacts set, you will get some bonuses for
- them but not all.
-[M]- Add NO_CUT flag to monsters needing it thanks to
- Runescrye
-
-01/11/2001
-[B]- Changed king to the actual winner name in the quest dump
-
-03/11/2001
-[m]- Upgraded to lua4
-[m]- It is now possible to define new magic powers(ala mindcrafter, necro, ..
- powers) with a small lua script
-[O]- New item set the Dragon Slayer
-[m]- New gtk port thanks to pelpel !
-[m]- Mac makefile equivalent is updated, now with lua4 for all targets -- pelpel
-[m]- src/lauxlib.h is synchronised with src/lua/lauxlib.h -- pelpel
-[m]- LUA_NUM_TYPE in makefile.org is removed because src/lua/llimits.h now
- has correct (read integer :-) default -- pelpel
-
-04/11/2001
-[M]- All dragons now shimmer, according to their breath types(took from LM's 4GAI)
- That is also thanks to the neat info editor of static chaos :)
-[m]- Change my email adress to darkgod@pernangband.net, adds ideas@pernangband.net
- and bugs@pernangband.net thanks to Tom Le
-[I]- Added gamma correction subcommand to "Interact with colours", and
- updated main-gtk.c and maid-x11.c to work with that (they formerly
- used an environment variable for this). Also added gamma correction
- support to main-ibm.c and main-dos.c. CAVEAT: tiles don't react to
- changes in gamma immediately, for performance reasons -- pelpel
-
-05/11/2001
-[m]- Removed notice of sf_extra value from savefile load code. We probably should
- make the spot where it loads it a ls_skip and remove that older family of
- versioning variables -- Improv
-[m]- Took a stab at code to make a dynamically allocated loadsave section. It's
- not called because it needs support code that presumably DG will write.
- With any luck it'll be sufficient to do the job -- Improv
-[I]- Updates to experimental new status screen -- Improv
-[B]- Fixed a bug that caused all monsters drop inappropriate things. Hydras now
- just drop money again. Yay. -- Improv
-
-06/11/2001
-[m]- Added an automatic nice changelog generator based on changes.txt. To all people
- with cvs access, please use the new format for changes.txt.
- It is activated with the -c flag: pernangband -c changes.txt changes.nice
-
-07/11/2001
-[P]- It is possible to define player power(under the U menu) with lua scripts
- (and thats easy :)
-
-09/11/2001
-[B]- (IBM, DOS, GTK) gamma_val is reset as well as old_gamma_val
- when invalid values are specified, ensuring correct reaction -- pelpel
-[B]- File-Save was never active in the Gtk port -- pelpel
-[m]- gamma correction for Windows port. I'm too lazy to save it in preferences,
- though. May be redundant since many drivers provide similar functions
- -- pelpel
-[G]- Flat places no more have stairs, they have ways to next/previous areas that
- are always placed on the edge of the level
-[D]- Level borders are now of the same type as the level walls, no more forest
- surrounded by granite walls
-[B]- Haste Monster cannot haste as much as before
-[I]- Pets infight wont disturb the player anymore if disturb_other is off
- (it is by default). In combinaison with auto_more it will totaly ignore
- pet messages
-[O]- New item set, The Trinity
-[m]- Lua-ified item types(can add new ones with simple lua script)
-
-10/11/2001
-[m]- Added Gtk entries in the system pref files, also enabled new graphics
- for X11/Gtk ports -- pelpel
-[I]- The target prompt will indicate if the targetted monster is a quest
- monster or not
-
-12/11/2001
-[m]- Updated main-xaw.c to that from the same version as main-x11.c
- i.e. 2.9.2. It now reacts pref colours and has graphics mode
- (doesn't work with 8bpp though). CAVEAT: main-x11.c and main-xaw.c
- should free unused colours after allocating new one. -- pelpel
-[G]- Troll galde quest only available at night
-[G]- Genocide is forbiden in the last alliance quest
-[G]- Invasion of gondolin quest will wait the end of the current quest to be
- generated
-
-13/11/2001
-[m]- Variable savefile ! Lua scripts(or C scripts(quests)) can now add stuff
- to the savefile without ever breaking the compatibility !
- See an example ofthat in test.lua
-[B]- SPECIAL_GENE objects were generated out of context -- pelpel
-[B]- Inappropriate monsters could be assigned to randquests in
- rare occasions. CAVEAT: it now uses an infinite loop to
- avoid illegal choices! -- pelpel
-
-14/11/2001
-[G]- New quest, try cahtting with maggot instead of killing him, you murderer !
-[m]- Re-implemented object allocation table caching -- pelpel
-
-15/11/2001
-[B]- Inserted /* Paranoia */ code in kind_is_theme() to prevent "(Nothing)"
- from generated due to missing drop theme in r_info. Player ghosts
- had this behaviour as far as I know -- pelpel
-[m]- Changed the rand quest reward generation to make it compatible with
- yesterday's fix -- pelpel
-[O]- Added new ego rod, of simplicity, thanks to Runescyre for the idea
-[m]- Max number of classes, races, subraces and realms is now 64
-
-16/11/2001
-[I]- Stole the death screen of KaMband, much nicer :)
-[P]- Removed the astral option. It is replaced by a subrace, Lostsoul, they
- have intrinsinc wraithform(until they get back to the surface), start
- with some identify scrolls and have all levels enlightened
-[B]- The find artefact fate was able to grant SPECIAL_GENE artefacts -- pelpel
-
-17/11/2001
-[D]- Dragon Lair renamed to Erebor, the misty mountains
-[P]- Rogues gets level/3% more changes of critical hits
-[D]- The wilderness "borders" are now Ekkaia, the Encircling Sea
-[I]- I ran out of keys, so I added an extended command mode. Press '#' (')' in
- roguelike command mode) to acess to it. You can then enter the command
- name or a shortcut if the command have one(usualy a command have a 1
- letter name and a complete name). You can also press ? or help to get
- the list of commands
-[I]- The time command is avaiable again for roguelike command set in the form
- of the t/time extended command
-[I]- D/html-dump extended command to take an html screenshot
-[I]- Quest list is now ordered by danger level
-
-18/11/2001
-[B]- Attempting to go down shaft gave the message "I see no down staircase
- here", thanks to Kevin W. Thomas -- pelpel
-
-19/11/2001
-[G]- Reduced the Spirit Realm Project Force spell radius as it increase levels
-[B]- Entering Nether Realm crashed the game, thanks to M.Itakura
- -- Kusunose
-[B]- Polymorphing monsters in the wall crashed the game, thanks to to
- M.Itakura -- Kusunose
-[B]- Sometimes random quest appeared on deep(dlv>98) Angband -- Kusunose
-[B]- Cursed EASY_KNOW items were not squelched -- Kusunose
-[B]- Replaced all checks against RF1_QUESTOR to MFLAG_QUEST -- Kusunose
-[B]- Shafts were not detected by detect stair spell -- Kusunose
-
-20/11/2001
-[G]- Traps have been tweaked down to be a bit less deadly, thanks Runescrye
-[P]- Summoner class! Thanks to Luc French for the idea and quite a bit of
- the code
-[I]- New splash screen made by Jans
-
-21/11/2001
-[B]- Mathilde was allowed to use wepaon(when possessed)
-[I]- Finished all spells description, thanks to Runescrye
-
-22/11/2001
-[m]- Quests are lua-ified
-[m]- flush() is called before *that* DragonRider question, to prevent
- catastrophic(?) accidents, taken from Kusunose's Japanese version
- -- pelpel
-
-25/11/2001
-[B]- (GTK)Widget instance names should have begun with lowercase letters
- -- pelpel
-[B]- (makefile)LUA_NUM_TYPE macro removed (see my 3/11/2001 mod
- for makefile.org) -- pelpel
-[D]- Museum(Mathon-house) added to Bree thanks to Kusunose
-
-27/11/2001
-[I]- Added an option to allow the @ to turn into a number when health
- drops. ideas from Mangband/PernMangband
-
-28/11/2001
-[m]- ANGBAND_DIR_USER is moved to ~/.pernangband on multiuser systems
- (Unix, GNU/Linux), according to DG's preference, and against the
- V/Z way... IMPORTANT NOTE FOR 422color USERS: please move
- 422color.prf to lib/pref directory -- pelpel
-
-30/11/2001
-[B]- I forgot to give Tom Demuyt credits for the Unbelievers idea.
-
-01/12/2001
-[m]- Updated makefile.bcc. It now supports lua4. -- Kusunose
-[B]- The broken sword quest generates the real reward, thanks
- Dawnmist
-[m]- Windows port now saves gamma_val in .INI file. -- Kusunose
-
-03/12/2001
-[M]- Rejoice ! no more nazguls as random quests
-
-04/12/2001
-[m]- Some patches from Kieron, thanks
-[I]- Kieron save squelch patch, modified to not save from chars to chars
- it can just be used to dump suqelch to a .prf file and load it
-
-05/12/2001
-[P]- New class from Luc French, the Blade, weaponless fighter able to dodge
- melee & some spells
-
-07/12/2001
-[B]- One could steal guardians' artefacts and reenter level to
- obtain multiple copies (buglist??) -- pelpel
-[B]- Fates could be lost during level regeneration (auto_scum and/or
- too many objects/monsters) -- pelpel
-[B]- (GTK)Fixed terribly stupid menu crash bug -- pelpel
-[B]- Climbing sets can now be pluralized thanks to John Q. Smith
-
-10/12/2001
-[I]- No more annoying infighting monster messages when turning disturb_other
- off
-
-11/12/2001
-[B]- Randquests and special levels must be immune to all types of level
- regeneration now -- pelpel
-
-12/12/2001
-[B]- Fixed alchemist art creation bug that allowed to use 4x exp
-
-13/12/2001
-[M]- Krakens lost their 6 ring slots, the tentacles are too big to put
- rings on them ;)
-[B]- Bashed down doors weren't revealed -- pelpel
-[B]- The Phial and other activatable items didn't have (charging) message
- -- pelpel
-[B]- There were extra spaces after names of unique corpses -- pelpel
-
-14/12/2001
-[B]- Detected traps should prevent running now -- pelpel
-[B]- The easy disarm code used easy_disarm and always_pickup flags in a very
- strange way, resulting in undesirable pickup behaviours -- pelpel
-[B]- "Grass with flowers" shouldn't disturb running now -- pelpel
-
-15/12/2001
-[B]- Entrances to vaults used dungeon-themed terrain features,
- sometimes making it impossible to dig them through -- pelpel
-[B]- DG's 27/11 mod is conditionalised to avoid doing so in the graphics
- modes, because it hardcoded characters and breaks the graphics support
- -- pelpel
-[B]- Mimic features are cleared when overwritten by streamers, to
- avoid, say, tree-looking deep water -- pelpel
-
-16/12/2001
-[I]- Added overlay graphics for ego monsters, player subraces and traps
- -- Kusunose
-[I]- Added 'search by name' feature to '/' command. -- Kusunose
-
-17/12/2001
-[I]- Player now drops out of the overhead wilderness view when becoming hungry/
- emptying lite
-[B]- Change in spell stat did not affect Mana/Spells if spell stat were
- not INT/WIS/CHR, thanks to kobayasi-san. -- Kusunose
-[B]- Change in WIS did not affect Sanity Points if WIS was not spell stat.
- -- Kusunose
-[B]- Costs of Symbiontic power were not displayed in first page, thanks to
- kobayasi-san. -- Kusunose
-[B]- Symbiontic power, scare and blind, was misordered, thanks to
- kobayasi-san. -- Kusunose
-
-18/12/2001
-[I]- Graphics overlay for the three X11 ports (untested). It requires
- USE_TRANSPARENCY and USE_EGO_GRAPHICS. USE_TRANSPARENCY was ugly,
- but this... -- pelpel
-[I]- Graphics overlay for the two Macintosh ports, again, untested -- pelpel
-[I]- Add ra_info.txt (randart generator info file) thanks to Runescrye
-
-19/12/2001
-[I]- Graphics overlay for the DOS port (USE_DOS). Also fixed a bug in
- the overlay support in the Mac ports. I removed always_pict
- code from the GTK+ port, because it's really slow, judging from
- the graphics performance on the Mac ports which use the mode
- to support tile width/height customisation -- pelpel
-[B]- Left good_item_flag for special levels, but adjusted rating boost
- a bit, because later fixes made +50 boost unnecessary
- Also toned down the rating boost for randquests -- pelpel
-[D]- New quest in Dol Guldur
-
-21/12/2001
-[B]- Fixed the very old artefact generation bug (present in
- Angband 2.7.8 -- 2.8.2) that forced "special artefacts" to be
- generated in the a_info.txt order. It is really problematic
- in Pern because of the depth of the Phial -- pelpel
-
-22/12/2001
-[B]- A Beorning's father was a Storm Giant sometime, and A Petty-Dwarve
- was one of several children of a Nibelung. -- Kusunose
-
-23/12/2001
-[B]- Fixed a bug that allowed to throw items with CURSE_NO_DROP.
- -- Kusunose
-[m]- Added spell spoiler creation in wizard mode. -- Kusunose
-
-24/12/2001
-[m]- (Mac)Eliminated busy waits in CheckEvents and TERM_XTRA_DELAY.
- It works well on my machine, but I left the original code using
- "#if 1/0" just in case -- pelpel
-[I]- Player now drops out of overhead wilderness view if a vampire and it's
- daylight
-
-25/12/2001
-[B]- Reintroduced OoD restriction on randquest monsters (until dlev 49)
- -- pelpel
-[B]- a fix for RNG problem with 64-bit machines, taken from V(?) -- pelpel
-
-27/12/2001
-[I]- Basic IRC facilities! 3 new extended commands: C to connect
- D to disconnect and : to chat. Highly experimental.
-[B]- Find artefact fate could cause permanent loss of artefacts. The code
- now tries to create a randart when there are no good choices instead
- of always defaults to the Phial -- pelpel
-[B]- Randquests sometimes requested players to kill slain uniques,
- making it impossible to continue the game -- pelpel
-[B]- (Carbon)Removed the dialogue indicating errors in AEProcessAppleEvent,
- because an r.g.r.a post pointed out that this can be quite annoying
- and Apple says they should generally be ignored -- pelpel
-[I]- DOS support for the irc client, needs libsocket:
- http://www.phekda.freeserve.co.uk/richdawe/lsck/lsck.htm
-[O]- Updated ra_info, thanks to Runescrye !
-[I]- X11 Support for the IRC client.
-
-29/12/2001
-[G]- a New randquest type !
-[B]- Companions cannot be hurt by the player anymore
-
-30/12/2001
-[B]- Reduced all force spells because of the side effects of force attacks
-[M]- Monster breathing/casting force attacks will bounce the player.
- Just like player's force attacks bounce monsters :)
-[M]- Fixed the IRC client some more.
-
-01/01/2001 - PernAngband 5.1.0 aka "Into the Fire"
-
-2002/02/19
-[B]- Normal (non-vampire) races didn't get mana regenerated at Inn -- pelpel
-[B]- The Mathom house acted like a normal shop when selling. -- Kusunose
-[B]- '-s' crashed the game. Thanks kobayashi for the fix -- pelpel
-[O]- Combining rod and rod tip now considers rod's cheapness flag.
- -- Kusunose
-[B]- Beastmaster Shanty overpayed a bounty if monster's corpses are stacked.
- -- Kusunose
-[B]- The random text code left files open in many error cases -- pelpel
-
-2002/02/20
-[B]- WeaponMasters were not restricted with their weapons. -- Kusunose
-[B]- Info text of 'disrupt mind' was described as 'dam'. -- Kusunose
-[B]- Fixed the "automatic ego filter" bug in the squeltch filter -- pelpel
-
-2002/02/26
-[B]- The polymorph random effect could crash the game. Thanks Kevin W.
- Thomas for the detailed analysis of the problem -- pelpel
-[B]- Stat draining effect of Black breath could crash the game. Thanks
- Kevin W. Thomas again for the patch -- pelpel
-[B]- With easy_disarm set, players were totally safe from detected traps,
- whatever messages might say -- pelpel
-[B]- Ego graphics code is now only active when and only when 16x16 tiles
- are selected -- pelpel
-[B]- Quest entrances/exits now require players to type '>'/'<' commands
- to move in/out -- pelpel
-[m]- Shimmering terrain features no longer shimmer while running/resting,
- to make them more bearable on slower machines and slow I/O systems
- like GCU -- pelpel
-[I]- Incorporated the hopefully improved running code from the CVS version.
- It uses CAN_RUN and DONT_NOTICE_RUNNING flags for non-conditional
- checks (i.e. not controlled by the disturbance flags or requiring
- immunity), so that most running problem can be fixed by editing
- f_info.txt -- pelpel
-
-2002/02/27
-[B]- Many room walls didn't have the CAVE_ROOM flag set -- pelpel
-[m]- The tunnel code (ordinary one) now performs double check for
- feat_wall_outer and CAVE_ROOM, so it is safe to use any terrain
- features for outer wall, including those identical to fill_type.
- Note: These two changes have very significant effect on the Sacred
- Land of Mountains. I'm not 100% sure if this is what DG intended,
- but I believe so reading flags given to it in d_info.txt -- pelpel
-[D]- There should be less not-at-all secret "secret" doors.
- This does *not* mean that ancient prob, but those mountains enbedded in
- plain wall in Barrow-Downs, for example -- pelpel
-[I]- Inven/equip/item choice in subwindows now clears to the bottom of screen,
- to avoid glitches and in accordance with the way it worked -- pelpel
-[I]- Identify and *Identify* don't list known/fully known items in
- object selection -- pelpel
-[m]- Depth/field name area is now 13 character long, so that names like
- "shallow water" will fit, and "Lothlorien" is not truncated in GCU.
- Also added short dungeon name prefix to the depth-in-feet mode -- pelpel
-
-2002/2/28
-[B]- Dungeon town generation could crash the game. Thanks Mogami
- for the analysis of the problem -- pelpel
-
-1/03/2002
-[B]- Supplied missing suid code in 1) savefile removal action in the startup
- screen, 2) time table lookup, 3) dungeon savefile removal, and
- 4) bone file removal. Thanks kobayasi for the patch -- pelpel
-[B]- Less platform-dependent savefile processing code for the game start
- menu, thanks again for kobayasi. It now uses files.c utility routines
- for building appropriate savefile names -- pelpel
-[B]- Magical branding of weapon/ammo, when successful, now sets enchanted
- item's discount rate to 100%, so that one can no longer make vast
- profit or easily gain his/her deity's favour. Code adopted from
- T.o.M.E. 2.0.0 CVS -- pelpel
-
-03/03/2002
-[P]- Give Ents scrolls of satisfy hunger instead of some food. -- Kusunose
-[M]- Added a command to dismiss companions in the pet menu. Code adopted
- from T.o.M.E. 2.0.0 CVS -- Kusunose
-
-04/03/2002
-[B]- '/' in item selection didn't update screen correctly -- pelpel
-[m]- Moved auto-squelch code from process_player() to process_world() -- pelpel
-
-05/03/2002
-[m]- CAVE_TRDT wasn't cleared when a trap is disarmed, which had some
- subtle effects and forced coders to double check c_ptr->info and
- c_ptr->t_idx in various places -- pelpel
-
-06/03/2002
-[B]- Level generation could cause infinite loop in the Sacred Land of
- Mountains -- pelpel
-[B]- Player ghosts were disabled in a way causing special feeling on
- every level -- pelpel
-[m]- Changed repeated message code to V-CVS one -- pelpel
-[m]- Added another graphics mode variable called graphics_mode :),
- somewhat like use_graphics in ZAngband, but it doesn't
- require any changes to main-xxx.c. It's set within reset_visuals()
- and used by map_info(), so that it doesn't have to do streq()
- each time it is called -- pelpel
-[B]- Took 64-bit safe RNG from Vanilla -- pelpel
-
-11/04/2002
-[B]- Gave SPECIAL_GENE flags to the k_info.txt entries of SPECIAL_GENE
- special artefacts -- pelpel
-
-20/04/2002
-[B]- Player is now guaranteed to have initialive after entering a level.
- Thanks Joseph William Dixon for the patch -- pelpel
-
-22/04/2002
-[m]- Renamed 422colors.prf to 422color.prf, to make it fit with the 8.3 naming
- convention -- pelpel
-
-24/04/2002
-[m]- Add support for multiline comments in lua: --[[ ... ]]
-
-28/04/2002
-[B]- Fixed a bug that caused gods start casting nasty effects when player's
- grace becomes negative. It should have been -60000. -- Kusunose
-[D]- The inn in Bree is now The Prancing Pony. -- Kusunose
-[m]- Improved lua interface for defining new 'm' keys, magic powers, quests, ...
-
-05/05/2002 - T.o.M.E. 1.0.0 aka "Between the Darkness and the Light"
-
-02/1/2002
-[m]- (Mac, Carbon)Graphics mode performance improvement. When a user
- chooses a fixed width font (as is almost always the case) and
- doesn't change tile width & height, the higher_pict method is
- used instead of *very* slow and inefficient always_pict to
- draw things -- pelpel
-
-04/1/2002
-[B]- Normal (non-vampire) races didn't get mana regenerated at Inn -- pelpel
-[B]- Fixed the monster casting at other monsters but targetting you bug
-
-11/01/2002
-[B]- Sacrificing wands now decreases charges
-
-12/1/2002
-[B]- The random text code left files open in many error cases -- pelpel
-[m]- The prf file loader always searches for the user directory first,
- then the pref directory if it can't find it there, so that user
- can override the system defaults keeping the distributed files
- intact. This also simpifies the pref loading codes in several
- places -- pelpel
-
-13/01/2002
-[B]- Fixed more running problems (FEAT_SAND and FEAT_ASH) -- pelpel
-[B]- Some routines called malloc/free instead of C_MAKE/C_FREE in
- the vault generation -- pelpel
-[B]- One wrong sign in the fractal cave code (vertical average) -- pelpel
-[B]- Fixed the store info file thanks to wrabhit23
-
-14/01/2002
-[B]- Ego items had extra spaces in their names -- pelpel
-[B]- (XAW)Terminals used wrong names. USE_EGO_GRAPHICS didn't even
- compile -- pelpel
-[I]- IRC code for the XAW port. Caveat: it causes a linker error
- if you USE_X11 and USE_XAW at the same time... -- pelpel
-[m]- the html help file converter now gets it's header and footer
- from head.aux and foot.aux in lib/help to help website
- designer adapt the generated files to whatever they want
-
-19/01/2002
-[B]- The Mathom house acted like a normal shop when selling. -- Kusunose
-[I]- Removed hard-coded direction keys in the skills menu -- pelpel
-[B]- Many room walls didn't have the CAVE_ROOM flag set -- pelpel
-[B]- More running problem (small trees in Mirkwood) -- pelpel
-
-20/01/2002
-[B]- final artifacts were not generated if they are k_info artifacts.
- -- Kusunose
-[B]- Fixed get_com interface for lua
-
-22/01/2002
-[B]- Squelch on sense now destroys {good} items if it's told
- "destroy good", but only when the "strong" pseudo-ID is in
- effect. Doing so for the "weak" method would be too dangerous -- pelpel
-[m]- The running code now uses DONT_NOTICE_RUNNING and CAN_RUN terrain
- feature flags for non-conditional checks, i.e. everything but doors,
- stairs and alike, and those requiring levitation or immunity -- pelpel
-
-23/01/2002
-[m]- Included the lua tutorials by Fearof4s
-
-24/01/2002
-[m]- Replaced the field of view code with that from Angband 2.8.3--
- -- pelpel
-[I]- view_special_lite and view_granite_lite that work with non-white
- terrains (for ASCII mode only, already done for 16x16 tiles) -- pelpel
-
-25/01/2002
-[B]- '-s' crashed the game. Thanks kobayashi for the fix -- pelpel
-[B]- Doors are remembered, so that they work better with easy_open.
- The easy_open code now performs checks for the perennially hard-to-handle
- feature mimic field -- pelpel
-
-27/01/2002
-[D]- A fair number of dungeon guardians lost their defined artifact drop
- and got a randart drop instead. The removed arts are back top normal
- behavior(can be found)
-[I]- Inven/equip/item choice in subwindows now clears to the bottom of screen,
- to avoid glitches and in accordance with the way it worked -- pelpel
-[I]- Identify and *Identify* don't list known/fully known items in
- object selection -- pelpel
-
-29/01/2002
-[B]- monster_carry() could cause permanant artefact loss. A similar code
- in quests and guardian artefact generation are also fixed -- pelpel
-[D]- There should be less not-at-all secret "secret" doors.
- This does *not* mean that ancient prob, but those mountains enbedded in
- plain wall in Barrow-Downs, for example -- pelpel
-
-20/01/2002
-[D]- Some spells can now stay in effect for a while, like a cloud of poison
- will stay in place and poison everything passing in it
-[P]- Changed the magic system, it now uses schools of magic instead of
- realms. A school contains much less spells than a realm. Each spell
- is unique and dont make others redundant. Also all spells tries to stay
- usefull for the whole game, by increasing in power and effects with levels.
- A spell can be assigned to more than more school, in which case all the
- schools need to be raised to obtain more power. All spells are implemented
- in lua, to make it easy to tweak them.
- All spells arent coded yet but my plans are for those schools:
- Mana, Fire, Water, Air, Earth, Mind, Conveyance, Meta, Temporal,
- Divination, Nature and Nether
- It may change somewhat but thats the general idea :)
- Books are not specific to a school, they can contain any spell from any
- schools, it is even imaginable to have randomly created books
-
-01/2/2002
-[D]- Streamers use small tress instead of trees, a la KAngband and
- variants that borrowed it's code. And they should look more like
- streamers in most dungeons -- pelpel
-[D]- Neither player or monsters can see through, breath, or cast spells
- over small trees, that are outer wall in Mirkwood -- arena levels
- were too nasty otherwise... -- pelpel
-
-02/2/2002
-[m]- los, player's field of view, and spell/breath projection now all use
- FF1_NO_VISION for the sake of consistency (in addition to the wall
- check in case of spell/breath projection) -- pelpel
-[M]- Added a command to dismiss companions in the pet menu
-
-03/2/2002
-[D]- Moved wiz_dark() implementing the maze level from move_player() to
- process_player(), so that a spellcaster can no longer do magic mapping--
- detect monsters--detect traps then casting teleport as often as s/he
- wishes to make things incredibly easy. Because of my laziness detected
- traps aren't displayed if they are out of sight. This would require
- tremendous hack. Anyway, don't worry, they are still remembered -- pelpel
-[I]- Auto-squelch menu now accepts ^R as an alternative to ^S, to be nice
- for those who USE_GCU. Thanks Skylar Thompson for the problem report
- -- pelpel
-[m]- CAVE_TRDT wasn't cleared when a trap is disarmed, which had some
- subtle effects and forced coders to double check c_ptr->info and
- c_ptr->t_idx in various places -- pelpel
-
-06/02/2002
-[B]- Do not drop from wild if player were not in wild mode in previous turn;
- it put player in wrong place and could crash the game. -- Kusunose
-[B]- Summoning monsters from totems could crash the game. -- Kusunose
-[B]- The Heavy Crossbow of the Elves was 'the ultimate armor' in the
- fully identified description. -- Kusunose
-
-07/02/2002
-[m]- Added FF1_DOOR flag to open doors for lightning effects in map_info()
- and have the trap creation code explicitly avoid them, because traps
- have and should never been performance bottlenecks -- pelpel
-
-08/02/2002
-[m]- Some process_world() sections (most notably monster generation and
- lingering spell effects) are conditionalised so that they don't run
- in the overhead map -- pelpel
-[D]- Added a dungeon flag that prevents generation of streamers, and
- gave it to those with water/lava rivers and places like Numenor
- and the Sacred Land of Mountains. Maze and evolving levels don't
- require this. Also made lava deeper (dlev 34 or below). Trees can
- appear on any flat levels. And eliminated undesirable calls to
- the RNG in the streamer code -- pelpel
-[m]- Changed all the signed (!) flags I was able to find to unsigned, because
- they don't make any sense. Savefile code should be modified as well
- if we ever care for savefile portability -- pelpel
-[m]- The tunnel code (ordinary one) now performs double check for
- feat_wall_outer and CAVE_ROOM (which was added a couple of weeks ago),
- so it is safe to use any terrain features for outer wall, including
- those identical to fill_type -- pelpel
-
-09/02/2002
-[D]- Rewrote place_new_way() so that it doesn't create unconnected dungeon
- sections, destroy outer walls of rooms, or dig room corners -- pelpel
-[I]- Hopefully finished special lighting effects. Now it works this way
- (with all lighting effects options on):
- Perma-lit grids and lit walls/doors within sight, and remembered important
- features = f_info colours, Perma-lit floors and walls/doors out of
- sight = darker colours, torch-lit "boring" floor = yellow, torch-lit
- grids out-of-sight = dark grey, blindness = B&W -- pelpel
-[D]- Angband dungeon now adjusts monster levels to the dungeon level.
- The monsters here will have a minimun level in the range of:
- level / 2 to level. So at level 67 the lowest monster you can encounter
- will be level 33. This means that if a white icky thing is generated
- it will be a level 33 white icky thing. If the base monster level is higher
- then nothing is adjusted.
-
-11/02/2002
-[m]- (Temporary note) Separated staying effect handling code from
- process_world() and made it a function, so that it can be called in
- any place with in dungeon() [can be activated by #define pelpel :)]
- I temporarily placed it after process_player(), but we have to spend
- some time testing this, seeking for the best turn structure -- pelpel
-[m]- Auto-squelch is performed *before* a player turn, just before the
- pack overflow code to prevent some interface problems. This means
- that squelching occurs as the very last action of a player turn,
- after monster drops or even after pseudo-ID, so that you don't have to
- press extra space to squelch items. Another possible arrangement
- would be within process_world(), right after sensing -- pelpel
-
-12/02/2002
-[B]- Fixed a bug in the hook code that may or may not be the cause of
- various quest-related bugs -- pelpel
-[D]- Altars now have CAN_RUN flag, so that you no longer see the
- message "You cannot run in that direction" when trying to run
- across them -- pelpel
-[m]- Added flush() before all the quest questions to prevent accidental
- loss/declination/acceptance of quest rewards/quests, also added
- very important flush_failure and flush() to the lua interface and
- put that in the spell failure code, so that spells can be macroed
- safely -- pelpel
-[B]- Fixed a bug in the 6 monster randquest thanks to Louis-Frederic Michaud
-
-13/02/2002
-[O]- Elvish waybread renamed to lembas, thanks to nimloth
-[I]- Because I find detection no longer works on panels, added DTrap status
- line as well as a new disturbance option disturb_detect. Also removed
- hardcoded row/column positions in the status line code, in preparation
- for big-screen support -- pelpel
-
-16/02/2002
-[I]- Added scrolling target/look code, which is bastardised :) form of
- Z and V ones -- pelpel
-[m]- Depth/field name area is now 13 character long, so that names like
- "shallow water" will fit, and "Lothlorien" is not truncated in GCU.
- Also added short dungeon name prefix to the depth-in-feet mode -- pelpel
-[m]- Because map_info() is the #1 bottleneck routine and because I felt
- hack_map_info_default is incredibly ugly :(, I removed
- hack_map_info_default and added specialised version of map_info()
- for use by cmovie and the HTML screen shot saver -- pelpel
-[B]- Fixed the "automatic ego filter" bug in the squeltch filter -- pelpel
-[I]- Big screen is sort of working now, but main-xxx.c (have
- to remove restrinction on size of the PernAngband window) and
- cmovie are still needing upgrade -- pelpel
-
-17/02/2002
-[B]- Made panel_bound() more paranoid about the current dungeon size,
- to prevent many big screen-related crashes -- pelpel
-
-18/02/2002
-[m]- Added 8x8 graphics support to trap display code -- pelpel
-[m]- Added another graphics mode variable called graphics_mode :),
- somewhat like use_graphics in ZAngband, but it doesn't
- require any changes to main-xxx.c. It's set within reset_visuals()
- and used by map_info(), so that it doesn't have to do streq()
- each time it is called -- pelpel
-
-19/02/2002
-[m]- Added term resize hooks so that one doesn't have to hit the redraw
- key and alike when s/he resizes windows. Hooked functions are placed
- in xtra2.c, because they are only related to big screen support
- and other panel related codes are there. Don't like the way stuffs
- are initialised -- assumption about max number of terms, setting terms
- package hooks from within the upper layer codes -- but the existing
- implementations do it this way, and the "right" way requires changes
- to main-xxx.c, which I'm too lazy to do... -- pelpel
-[I]- Big screen support for X11 and XAW ports (already done for Gtk, Mac
- and Windows ports). Also added an option -o to force the use of 8x8
- tiles in graphics mode. Say "-g -- -o" to activate it. And please note
- that because of the way transparency effect is implemented in
- X11/XAW/Gtk ports, it is available even with 8x8 tiles -- pelpel
-
-20/02/2002
-[B]- Beastmaster Shanty overpayed a bounty if monster's corpses are stacked.
- -- Kusunose
-[O]- Combining rod and rod tip now considers rod's cheapness flag.
- -- Kusunose
-
-22/02/2002
-[M]- Restored monster light code, modeled after Steven Fuerst's implementation
- insteand of APW one this time, but without his support for multiple radii.
- -- pelpel
-[M]- Made monster light a run-time option. CAVEAT: It'll cause display
- weirdness when you turn this option from ON to OFF while playing.
- Save/Restart or entering new level will fix the problem.
- Should call forget_mon_lite() when the game detects it... -- pelpel
-[M]- monster lite option is on by default
-
-23/02/2002
-[B]- A failure in disarming traps using easy-disarm caused another attempt
- at disarming traps (because it calls move_player_aux which calls
- do_cmd_disarm_aux which calls move_player_aux...), growing call
- stack infinitely. It's dangerous, and, in fact, players were totally
- safe from traps (messages said "You set off...", but traps were never
- activated) -- pelpel
-[B]- Black breath could crash the game (it's really evil, isn't it :)
- Thanks Kevin W. Thomas for the patch -- pelpel
-[m]- Ego graphics code now only tries to use graphics overlays for
- monsters and players if and only if 16x16 tiles are used -- pelpel
-[B]- map_info() had problem with walls mimicking floors -- pelpel
-[m]- Shimmering terrain features no longer shimmer while running or resting
- to make themselves somewhat more bearable on slower machines -- pelpel
-
-24/02/2002
-[m]- Updated lighting effect code so that it works the same as rr9's Angband
- versions. Also removed hardcoded IBM pseudo graphics code points, so that
- if anyone is ever interested in updating its font & prf files, s/he
- can do so freely without editing the source code.
- And map_info / map_info_default is now fully aware of c_ptr->mimic,
- so that map edges will not have strange lighting effects etc.,
- hopefully -- pelpel
-
-26/02/2002
-[B]- Polymorphing random effect of Chaos Warriors could crash the game.
- Special thanks for Kevin W. Thomas for the detailed analysis
- of the problem -- pelpel
-[I]- Moving onto quest entrance/exit no longer causes annoying automatic
- stair movements. You have to tell the game '>' or '<' to enter/leave
- -- pelpel
-[m]- Renamed see_wall() in cmd1.c to see_obstacle() also added a grid-based
- version of the function to be used by run_test(), so that those who have
- immunity and/or levitation can run over lava fields, deep water etc.
- -- pelpel
-[O]- There are 2 kinds of spellbooks for the magic schools, the ones that
- are named "a Spellbook of foo" where foo is a randomly choosen spell
- (selection is based on the dungeon level)
- and other names that are fixed books
-
-27/02/2002
-[O]- School spellbooks can be fireproof ego items
-[B]- Dungeon town generation could crash the game. Thanks Mogami
- for the analysis of the problem -- pelpel
-
-01/03/2002
-[B]- Supplied missing suid code in 1) savefile removal action in the startup
- screen, 2) dungeon savefile removal, and 3) bone file removal.
- Thanks kobayasi for the patch -- pelpel
-[m]- Less platform-dependent savefile processing code for the game start
- menu, thanks again for kobayasi. It now uses files.c utility routines
- for building appropriate savefile names -- pelpel
-
-03/03/2002
-[B]- Special level names wherent corrently displayed if the N: line was the
- first of the file in lib/dngn
-
-03/03/2002
-[m]- Added initialization code to add SPECIAL_GENE flag to final guardians
- and their artifacts (and DROP_RANDART if there are no final artifacts).
- -- Kusunose
-[D]- Put yet another fractal code (unlike the others it's quite simple)
- in the level filler generator, and added a F: parameter in d_info.txt
- to control its behaviour. Its syntax is FILL_METHOD_#, where # is
- 0: use the first filler w/o calling RNG (for Angband, Mirkwood etc.),
- 1: the same as the previous versions (default), 2: slightly smoothed,
- 3: more smoothed, or 4: max smoothing (initial step of 8 grids) -- pelpel
-
-04/03/2002
-[B]- '/' in item selection didn't update screen correctly -- pelpel
-[m]- Moved squelch-on-sense code from process_player() to process_world()
- -- pelpel
-
-04/03/2002
-[P]- High intelligence increase mana regeneration rate
-
-06/03/2002
-[B]- Level generation could cause infinite loop in the Sacred Land of
- Mountains -- pelpel
-[m]- Changed repeated message code to V-CVS one -- pelpel
-[B]- Player ghosts were disabled in a way causing special feeling on
- every level -- pelpel
-
-07/03/2002
-[m]- Trap display now uses x_attr/x_char of FEAT_TRAP (f_info N:17)
- 1) if a trap is set on a "boring" terrain in the ASCII mode, where
- only x_char is used and attr is taken from tr_info.txt XXX XXX XXX
- or 2) if attr/char for a trap is not defined in prf files in the
- graphics modes -- pelpel
-[m]- Removed FAKE_VER_*, because it has been quite long since we lost savefile
- compatibility with Angband 2.8.1 and info.txt files can be updated
- by sed/perl/whatever script in a snap -- pelpel
-[B]- Took 64-bit safe RNG from Vanilla -- pelpel
-
-08/03/2002
-[m]- To accommodate the practice of not upgrading version stamp of info.txt
- files at each release (never done in V-based variants, but common among
- Z-based ones for historical reasons), version stamp checks against game
- data files in lib/edit is made a compile time option
- (VERIFY_VERSION_STAMP), off by default. With this option off, version
- stamp checks for the binary files are still performed and they always
- have version signature of the game, not those specified by the V: lines
- -- pelpel
-[B]- Wide light radius worked in the small scale wilderness map,
- where it should have been WILDERNESS_SEE_RADIUS -- pelpel
-
-10/03/2002
-[m]- Upgraded the lua bitlib so it can handle stuff like bor(1, 2, 4, 8)
-
-11/03/2002
-[M]- Confusion, stunning, charming now works on uniques(those that dont have the
- corresponding resistance)
-
-24/03/2002
-[I]- Stats can now be displayed in a linear mode(from 3 to 37) instead of
- 3 to 18/***, the option is off by default
-
-25/03/2002
-[D]- No more shafts in the halls of mandos
-[m]- Block comments( --[[...]] ) in Lua enabled
-
-27/03/2002
-[D]- Tweaked the door code a bit so that some doors are much harder
- to find -- pelpel
-[I]- Added recall depth subcommand to the knowledge menu -- pelpel
-
-03/04/2002
-[I]- Removed the flavoured_attack option and made most 'silly' messages
- off by default. They are now controlled by 'insanity roll', which is
- d100 roll against (max_sanity - current_sanity) * 100 / max_sanity.
- The same roll is also used to determine if the game should use
- silly monster descriptions (in addition to the hallucination
- effects) -- pelpel
-
-04/04/2002
-[I]- The skill interface no longer asks question whenever you increase skills.
- Changes to skill values are made permanent if the player confirms them
- when s/he leave the skill menu, otherwise, they are simply ignored
- -- pelpel
-[P]- The skill system is ready ! Some small tweakings are needed, but it is
- mostly ready. Each level you gain a few skill points that you can spend
- on various skills(like combat, weaponmastery, magic, ...). Most actions
- are now tied to skills.
-[P]- Classes revamped as more or less skill templates. Classes now can have
- specializations which allow starting with somewhat different skill set.
-[B]- Since streamers can create unconnected dungeon sections, the code for
- it is moved after stair and player allocation -- pelpel
-[m]- Reorganised the linkage order of makefile.org a bit, so that similar
- files are grouped together, also frequently called files are not coupled
- together with rarely used ones. This *might* help on-demand-paging memory
- manager a bit -- pelpel
-[m]- Changed all occurances of " ?" in strings to "? ". --takkaria
-
-08/04/2002
-[B]- Some player_type fields and corresponding lua interface definitions
- were of different types. Fix thanks to rr9. -- pelpel
-
-09/04/2002
-[I]- Bigtile patch for windows, x11 and mac ports thanks to Takeshi Mogami
-
-11/04/2002
-[B]- Gave SPECIAL_GENE flags to the k_info.txt entries of SPECIAL_GENE
- special artefacts -- pelpel
-
-15/04/2002
-[M]- Revision of the conf/stun/sleep resists for uniques thanks to Runescrye
-
-18/04/2002
-[G]- The adventurer quest reward is now either the adventurer or some skills
-[I]- Asks for a last screenshot upon death
-
-20/04/2002
-[I]- You can now dump a frame of a cmovie as an html screenshot(while playing
- the movie)
-[P]- New god system, each god will be much more different from all others.
- Altars are less vital. There are less gods.
-[m]- Renamed inappropriately called global array 'town' to 'town_info', also
- moved some boolean town_type members into 'flags', in order to support
- dungeon town information subcommand of do_cmd_knowledge -- pelpel
-[m]- Commented out or moved many local variables causing 'unused' warnings,
- because of badly placed if 0's -- pelpel
-[B]- Player is now guaranteed to have initialive after entering a level.
- Thanks Joseph William Dixon for the patch -- pelpel
-[I]- The commands for skills and spells are swapped. Please use 'G' to learn/
- check skills and '$' ('\$' in roguelike) to learn spells.
-
-22/04/2002
-[m]- Renamed 422colors.prf to 422color.prf, to make it fit with the 8.3 naming
- convention -- pelpel
-
-23/04/2002
-[O]- Bound the wands & staves damage/power to the Magic skill, attack wands
- should actually be usefull now
-
-25/04/2002
-[P]- Magic skill now allows you to copy spells from books into various
- objects. Not all objects can contain spells naturally, but most object
- of the Magi can, and all mage staves
-[P]- Spectres loses HP while in walls, it was too abusable(and in fact, I never
- planned to remove it)
-
-28/04/2002
-[D]- The inn in Bree is now The Prancing Pony. -- Kusunose
-
-01/05/2002
-[D]- Small levels cannot generate full levels anymore
-[I]- The prompt to cast a spell now understand to press @, which will ask for
- a spell name, it'll look all books and cast it if you can.
- It EASES macros, a macro will now look like:
- 02m@Manathrust\r*t
-[I]- Message recall now understands bigscreen thanks to pav
-[I]- Help now understands bigscreen thanks to pav
-[I]- Skill screen now understands bigscreen thanks to pav
-[I]- No more pickup prompt with autopickup when inventory is full, thanks to pav
-
-03/05/2002
-[B]- The skill increase/decrease code was unable to detect underflow -- pelpel
-
-06/05/2002
-[P]- Made running commands exempt from do_nothing processing, because this
- can be abusable and makes no sense -- you could, for example, hold down
- movment keys when following Eru and use running when following other
- deities -- pelpel
-[I]- Took big screen code for horizontal scrolling of message recalls
- from Vanilla -- pelpel
-[I]- You can navigate through option menus with roguelike_keys -- in fact,
- I didn't know users of the original keyset can go up before I play
- the latest V and see its code... Taken from Vanilla CVS -- pelpel
-[m]- Entirely removed function definining macros from script.c, because
- it can confuse some compilers (a lcc case was reported), and some
- preprocessor reports syntax error for missing macro arguments -- pelpel
-[I]- Added big screen support for GCU -- pelpel
-
-12/05/2002
-[m]- Some, if not all, command line options are documented -- pelpel
-[B]- Full map command displayed only half of current dungeon level when
- bigtile mode is used. Thanks for Takeshi Mogami for tha patch
- -- Kusunose
-
-19/05/2002
-[m]- 1) Slightly reorganised menus in the Mac ports, because there were so
- many of them on the menu bar. 2) added a switch (-b) to the GCU port
- to select multiple terms or one big screen. 3) the GTK port issued
- huge number of fatal warnings if the graphics mode was turned on and off.
- 4) Compiled latest V CVS with main-gtk.c in T.o.M.E. and fixed some
- portability problems. -- pelpel
-[P]- Pseudo-id is now bound to the Combat skill(for weapons/armors) and the
- Magic skill(potions, ...)
-[P]- It is now possible to press @ at the 'm' key prompt to select a skill action
- by it's full name. Thus allowing unbreakable macro:
- m@Cast a spell\r@Manathrust\r*t
-[I]- The skill screen cannot be abused to get more skills anymore
-
-27/05/2002
-[P]- New god Melkor Bauglir
-[P]- Weaponmastery, Archery and Barehand skills increase Combat skill much more
-
-02/06/2002
-[B]- Various spell effects that polymorph monsters could crash the game.
- -- Kusunose
-[B]- Compare weapons command miscalculated muliplying bonus. -- Kusunose
-
-12/06/2002
-[P]- Deathmold fetch ability pickups gold and objects(if autopickup is set) thanks
- to "kenderband" <kenderband@hotmail.com>
-[m]- Exported cur_hgt and cur_wid to lua by request of Fearof4s. (takkaria)
-
-14/02/2002
-[m]- Updated the lua help files thanks to Fearof4s and Chris Hadgis
-
-17/06/2002
-[B]- Fixed junk artifacts and music instruments stacking bug in stores
- -- Kusunose
-
-03/07/2002
-[M]- Monsters drop stolen gold when killed
-
-04/07/2002
-[B]- Capped max number of extra blows at 2 when the limit_blow flag is set
- in two places -- pelpel
-
-09/07/2002
-[B]- Cancelling a scroll of reset recall didn't work. -- Kusunose
-[O]- Reset recall now lists all the dungeons a player has visited and
- additionally allow a player to select by name. -- Kusunose
-
-13/07/2002
-[O]- Enabled the generation of double ego items. An item cannot get 2 prefix
- or 2 suffix, it will always be a prefix and a suffix
-
-14/07/2002
-[P]- New bounty quest available at the beastmaster shanty! Bring back a corpse
- and get some monster-lore skill and the ability to learn corpse-preservation
- skill if you couldn't already
-
-15/07/2002
-[P]- Replaced first necromancy spell with Horrify from the old Nether realm and
- the third spell with absorb soul, provides some health upon monster death
-
-16/07/2002
-[m]- Updated lua_ques.txt to fix some misinformation. -- fearoffours
-
-17/07/2002
-[B]- One was able to have another entry in the score file for a dead/retired
- character by loading him/her with the -w option, then answering 'n' to
- the wizard mode confirmation. Bug report and fix (for Angband 3.0.1, but
- applicable for all variants) by Hallvard B. Furuseth, Takeshi Mogami and
- Robert Ruehlmann -- pelpel
-
-22/07/2002
-[m]- More lua documentation fixes, particularly adding square brackets to field
- names on lines that would allow this without mucking up colour formatting.
- -- fearoffours
-
-23/07/2002 - T.o.M.E 2.0.0 aka "Point of No Return"
-
-24/07/2002
-[m]- The splash screen now shows "Tales of Middle Earth" or "Troubles of Middle
- Earth" randomly. Thanks to Scott Holder for the idea and some code.
- (takkaria)
-[m]- makefile.org now defaultds to ./lib for the lib directory
-[m]- makefile.org is now makefile.std
-[B]- Fixed a silly bug preventing Polearm masstery from wroking
-
-26/07/2002
-[B]- In multiuser installations, notes and cmovie were written under the lib
- directory using the game's permission, making them inaccessible by
- the player. I moved them to ~/.tome. Note: This means that a coder
- shouldn't grab permission before opening files in these directories
- -- pelpel
-[B]- There are still inappropriate (and even unbalanced!!!) calls to
- safe_setuid_grab() and safe_setuid_drop() in the game. Thanks Neil
- for pointing out those in the macro save commands. There are so many
- places that I have to look at, but I'm trying... -- pelpel
-[I]- Better (hopefully) object identification screen
-
-28/07/2002
-[m]- Added safe_setuid_grab/safe_setuid_drop to all the functions that
- access files in the lib directory. I did so even for the game
- initialisation, knowing that it's very unorthodox. This is because
- I found some of them in the init[12].c. There's no other sure ways
- to keep them from messing multiuser installations. -- pelpel
-[m]- Added makefile.dos, which is a copy of makefile (now), in order to
- prevent overwriting accidents. Ideally, 'makefile' should be in the
- .cvsignore, so that every developper can feel at ease with his/her
- own preferred environment -- pelpel
-
-01/08/2002
-[P]- New corruption system, savefiles are compatibles but you will loose
- all your corruptions.
- Most corruptions now have a good and a bad effect. Some corruptions
- depends of others, it means that you can only get them when you have
- the ones they depend of(i.e: Balrog Form need Balrog Wings, Balrog
- Aura and balrog Strength to work). Some corruptions can be mutualy
- exclusive. The list of corruption is totaly rewrote. They are more
- in-theme now.
-[B]- Perma curse cannot happen on randarts anymore
-
-02/08/2002
-[B]- Player could not pick up items from home if he did not have enough
- gold. -- Kusunose
-[B]- Traps of wasting wand dont mess up wands
-[B]- Dragon helms get resistances
-
-03/08/2002
-[B]- No races were allowed to be loremasters
-[B]- Fixed a bug in Character classes allowed, tahnks to Alex Wilkins
-[m]- Added Melkor to the gods docs.
-[B]- Spells cannot be cast while blinded or confused(execpt for a few)
-[G]- Wielding the One Ring has some ... disadvantages now ...
-[B]- Poor Melkor didnt had his altar generated in dungeons, while he is the
- only god for a use of an altar
-
-05/08/2002
-[m]- Improved the adventurer guide and added a section for macros to it
-[P]- All Udun spells are no more multi-school spells
-[P]- Reorganized the skill tree to remove the Misc skill tree. Alchemy is now
- under Magic, Antimagic is in Combat and Music in Spirituality
-
-07/08/2002
-[B]- Fixed the -1 activation power of some mage staves of spell
-[G]- Troll Glade/Wight Grave selection is now (usualy) based on the
- Combat/Magic skills level
-
-08/08/2002
-[I]- The game asks confirmation before learning a skill that can exclude an
- already known one
-[I]- When 'I'nspecting(or upon *id*) a fully *id* weapon/ammo the game will
- tell you the damage it would do if you used it(idea from Ey)
-
-10/08/2002
-[I]- 'U' power menu is now usable with repeat key 'n'
-
-11/08/2002
-[G]- The chance for combat item pseudo-ID now improves exponentially,
- just like V Warriors (combat skill 0 == plev 0, maxed == plev 50),
- while that for magic items improves slowly, just like V Rangers
- and Mages but with higher success rate (more than ten times as
- frequent as V Rangers) -- pelpel
-
-12/08/2002
-[B]- Added missing spell frequency to Fire golem. -- Kusunose
-[B]- Symbiant cannot pickup a hypnotized pet from a pile. Thanks to kobayasi
- for the patch. -- Kusunose
-[P]- Give Ents scrolls of satisfy hunger instead of some food. -- Kusunose
-[B]- Stats more than 18/220 were displayed incorrectly if linear_stats was ON.
- -- Kusunose
-
-13/08/2002
-[m]- Made chg_to_txt in files.c conditional, so that it won't be included in
- Windows, Mac and RISCOS ports (they don't call the function, so it has
- been dead code) -- pelpel
-[D]- Since Tome generated small levels once in three times when requested,
- which I think is too often, and in Z and Ey the chance is 1/5 and 1/10
- respectively, I lowered the chance to 1/6 -- pelpel
-[B]- The small_level option had the same effect as always_small_levels
- -- pelpel
-[O]- Removed CURSE_NO_DROP from ego items. Players want new curses, and when
- they get them they complain...
-
-14/08/2002
-[I]- Added avoid_shimmer efficiency option to suppress shimmering of terrain
- features, because I have had problems with them on really big screens
- -- pelpel
-[P]- Increased the modifier of the masteries for warriors
-[P]- New Warrior subclass, the Demonologist, spell enhanced warriors. They
- use the new Demon school and the renewed Demonblades, Demonshields and
- Demonhorns. Their spells enhance their fighting potential. They can either
- be seen as a force of good, fighting against demons with their own powers
- or as a force of evil fighting to bring corruption to the world.
-[P]- Sorcerors begin with a robe instead of a dagger
-[I]- Easy close is now slightly more intelligent in their handling of
- broken doors -- pelpel
-
-15/08/2002
-[O]- Ring/Amulet of Spell, cheap, early objects that can contain a spell
-[B]- Exploding ammo dont stack with normal ammo
-
-16/08/2002
-[B]- Ammo creation is bound to Arechery skill instead of player level
-[B]- Fixed a bug in related skills, when one increased a skills sometimes the
- related skills didnt increased
-
-17/08/2002
-[m]- Do not grab/drop permissions twice. Thanks to kobayasi for the patch.
- -- Kusunose
-
-18/08/2002
-[B]- Temporal stat drain no longer cancels normal stat drain. -- Kusunose
-
-19/08/2002
-[O]- Temple will now stock random spells from god schools, Magic Shop will
- only stock non god spells and bookstore will contain both
-[O]- Stores buyable list is now lua defined
-[B]- The amount of mana in each grid was always magical level. -- Kusunose
-[P]- Changed the formula to calc the player HP when using possession so that
- a higher possession skill will be prefered
-
-20/08/2002
-[B]- Extracted essences overwrote a weapon slot when inventry was full.
- -- Kusunose
-
-21/08/2002
-[I]- Ingame contextual help is on by default(it was before, but it was bugged..)
- It is now proccessed by lua, file help.lua and should be much easier to
- add new sections to than before. So all feel free :)
-[G]- Added town of Khazad-Dum (where 'exit' from Moria was) with nice Mining
- supply shop. -- fearoffours
-
-23/08/2002
-[I]- Contextual help for the birth screens too. Press ? when over a race,
- class, ... and it'll bring the specific help for it
-[M]- Monster ego wont start awake
-[P]- lost Souls now have see invisible, I know I'm far too nice :)
-[I]- Contexual help to skill screen, press ?
-[I]- Easy macro recorder! Just press $ and press a normal key sequence!
-
-26/08/2002
-[m]- Removed the autosquelch to replace it with a new Automatizer that should
- be much more powerful. It lacks a gui, but that should soon change :)
-
-28/08/2002
-[I]- The new Automatizer got a GUI :) It should be quite easy to grasp, you
- define rules to match and action to take. But it does allow very complex
- rules.
-
-27/08/2002
-[m]- Added updated class help documents. Removed extraneous ones. Amended
- links in birth.txt to reflect changes. Added appropriate entries to
- help.lua for contextual class help at birth. Thanks to Mef. -- fearoffours
-[m]- More contextual help: races and god selection at birth, rod tips, rods and
- trapping kits. -- feaoffours
-
-29/08/2002
-[G]- Added new god quest. Given at random time by your god, you have to retrieve
- a piece of a relic generated at a random level of a randomly places dungeon.
- More than one of these quests may be given (currently up to 4), though only
- if you complete previous quests. The relic is only generated once in each
- dungeon, so look carefully for it. Diving won't help you. -- fearoffours
-
-31/08/2002
-[P]- New Water spell: Vapor, it create a low damage wide radius short lasting
- cloud of water. It is designed to be a cheap attack spell for annoying
- critters. Beware, random spellbooks & inscribed objects spells will "morph"
- to other ones, sorry, unavoidable
-
-03/09/2002
-[B]- Fix mushrooms stacking for the maggot quest
-[m]- Fix birth.txt crash -- fearoffours
-
-04/09/2002
-[O]- Scythes of Slicing are now vorpal, rarer and deeper
-
-05/09/2002
-[G]- Added the fireproofing quest. Visit the Mage tower in lothlorien to get the
- quest, bring back something for the mage, get books fireproofed in return.
- -- fearoffours
-
-08/09/2002
-[I]- Updated the forgotten IBM pseudographics, based on my unknown work for
- Pern 4.1.2. Also added an X11 BDF file so that it can be used on
- the three X ports -- copy graf-ibm.prf to font-x11.prf in your user
- directory (i.e. ~/.tome) and set the font of main window to the font
- made from lib/xtra/ang16.bdf. Instruction for installing new X fonts
- should be found in the bdftopcf, mkfontdir and xset man pages.
- -- pelpel
-
-10/09/2002
-[I]- Current location(town, level, ...) is show in orange when about to recall
-
-17/09/2002
-[m]- Updated skill docs, thanks to lemming
-[m]- More minor help file updates. thanks mef and Chris Hadgis
-
-21/09/2002
-[P]- Mindcrafters gets esp even after level 40
-
-22/09/2002
-[I]- You can press $ at object destruction prompt to automaticaly create a new rule
- for the Automatizer about the object being destroyed
-[B]- Casting "Disperse Magic" when spell level is 20 or more produced a lua
- error. -- Kusunose
-[m]- Reformatted the makefile.WHICH file. Do we really need this file anymore?
- other variants get by without it, I don't really think it's needed...
- (takkaria)
-[m]- Reformatted the todo list, removed some entries which have been done.
- Also added a section for stuff which I will do (one day). (takkaria)
-[m]- I've reformatted and reorganized a fair bit of notes.c; I've made stuff
- less hacky and made the function which writes notes to file use
- my_fputs()... Also replaced some hardcoded buffer sizes with sizeof().
- (takkaria)
-[m]- Removed hardcoded buffer sizes in wizard1.c. (takkaria)
-
-23/09/2002
-[M]- Farmer maggot quest provides a better reward, thanks to Revanant Morituri
- and Wil Hunt for the idea
-
-25/09/2002
-[B]- The centre player option failed to do so while running. Thanks Neil
- Stevens for the patch. -- pelpel
-[B]- Random Artifact arrows should now stack properly. -- wilh
-[B]- Mindcrafters lost their ESP at level 40. Now they have it permanently
- at that level. (p_info.txt) -- wilh
-[B]- Above bug was supposed to be skill level 40, not clvl 40. Fixed. :)
-
-28/09/2002
-[I]- Macro-patch from Mogami, now the macro prf files are portable between Windows,
- X11 and Mac. It also shows readable triggers like: \[shift-F1] and such
-
-29/09/2002
-[m]- Added .cvsignore to the src directory to prevent makefile overwriting
- accidents from happening. Currently it excludes makefile (developers
- are expected to update platform-specific makefile if s/he indents to
- make permanent changes to them), tome, tolua, TOME.EXE and TOLUA.EXE.
- -- pelpel
-
-01/10/2002
-[G]- Alchemy totaly changed! Thanks to John Gilmore for the patch! It has now entered
- cvs to begin being tested and "balanced" ;)
-
-05/10/2002
-[P]- Symbiotic power changed to be bookless
-
-06/10/2002
-[P]- Available skills to leanr via random quests are defined in s_info.txt
-[P]- Trying to mimic when already mimiced(with the skill) will turn you back to
- normal form
-[O]- All objects now have a description, thanks to Konijn
- When identifying an item you can then press 'I'nspect to check it. It si most
- usefull for scrolls & such, they tell you what exactly they will do
-[B]- Fixed a bug that made mage staves very costy
-
-07/10/2002
-[I]- Replaced font-ibm.prf, graf-ibm.prf, font-win.prf and font-mac.new (a
- font-mac.prf replacement that has IBM-like pseudographics definitions)
- with program-generated ones, hopefully up-to-date with recent changes
- in info.txt files -- pelpel
-
-11/10/2002
-[I]- Unusable skills do not show anymore on the skill screen
-
-17/10/2002
-[I]- New option to not have the equipment/inventory windows move items around
- when a prompt ask for an item. Thanks to John Gilmore
-[B]- Fix a bug of wands in store
-[B]- Fix an old spelling error: "droped" not "dropped" -- Neil
-
-18/10/2002
-[O]- Behold! The new Grand Scheme For Wands, Staves and Rods!;)
- Now all sticks in the game use the same system as the spells. The unified
- spell system could we say ;)
- What does it changes? sticks should now be usefull, jsut as spells are.
- For example a wand of manathrust is not to be laughed at.
- Hw does it work? 'I'nspect the stick you want to know about you'll see
- he details, each stick gets a spell and a base level. The base level
- means the spell will be cast at that level if you have 0 in the
- Magic Device skill. If you have Magic Device it increases the level.
- Works a bit like Spell-power for the spells.
- Also the distinction of wands/staves is tenuous now, wands are attack
- stuff and staves not but wands can sometimes NOT be targeted spells
-
-20/10/2002
-[P]- Yavanna Kementari as a new Vala, protectress of nature. Along with her
- priests, the Druids
-
-21/10/2002
-[m]- Updated symbiant helpfiles including full list of their new bookless spells
- in m_symbio.txt -- fearoffours
-
-23/10/2002
-[I]- Recording cmovies is now working on a microsecond timeframe, much better looking
- Let's just hope that silly systems know gettimeofday()
-
-26/10/2002
-[m]- Introduced a performance measure for process_world_hook, which I suspect
- is causing slow movement problems in the reduced map mode. Please read
- the comment in process_world() [in dungeon.c] for alternative solutions.
- -- pelpel
-
-27/10/2002
-[m]- Changed every instance of "essense" to the correctly-spelled "essence".
- Update your macros. -- neil
-[M]- Changed "The Balrog of Moria" to "Durin's Bane". Less of a mouthful, and more
- in-theme -- fearoffours
-[M]- added the "spirits". They are the inhabitants of the void. They're nasty.
- -- fearoffours
-
-28/10/2002
-[P]- Typo in Druid description: Kemenari -> Kementari. --fearoffours
-[B]- Fixed bug where ironman_rooms would give you the number of random quests
- you played last time, instead of zero. -- neil
-
-29/10/2002
-[D]- Added SPIRIT flag to The Void, so that Spirits are actually generated there now
- -- fearoffours
-
-02/11/2002
-[P]- Subraces can now have skill mods
-[P]- Spells bound to two or more schools now require at least one point in
- each of the schools to be used
-[m]- Trimmed down the size of chardumps(removed uselessness from object
- descriptions)
-
-05/11/2002
-[I]- Obvious object flags will show up when 'I'nspecting items when they are
- only identified(no more need for *id*). Obvious flags are like acid
- resisatnce on an armor of resist acid and such
-
-06/11/2002
-[P]- New skill, Stunning-blows, a haftedmastery subskill, just like critical
- hits is a subskill of swordmasery. It requires a hafted weapon > 5 lb
-[O]- Activations are now a_info/k_info/e_info definable with a: lines
- You can do a:HARDCORE=NAME where NAME is an activation name
- that is hardcoded in the C source.
- Or a:SPELL=Name where Name is a "spell" name as defined in the unified
- spell system(the first defined spell(index 0) cannot be used this way
-
-07/11/2002
-[B]- Allow non-artifact, non-ego items with activations be activated. -- neil
-[I]- Cause of death is now shown in chardumps
-
-08/11/2002
-[m]- Added descriptions to Totems, removed redundant need to identify them.
- -- neil
-[G]- Yavanna's followers now have a God quest. -- fearoffours
-[m]- Help docs for Yavanna and Druids, thanks Mef and Massimiliano Marangio.
- -- fearoffours
-
-09/11/2002
-[M]- Only gain exp from pet kills, not from every monsters, when using Monster
- Lore skill
-
-10/11/2002
-[m]- Yes, more help updates. In tome_faq.txt and TANG.txt I added links to
- skills.txt, magic.txt, birth.txt and gods.txt where appropriate. Removed
- two references to Pern that got missed in tome_faq.txt.Added a
- c_priest.txt file for contextual help at birth when choosing a main class.
- Corrected typo in r_info (SPirit became Spirit). -- fearoffours
-
-11/11/2002
-[I]- CTRL+] to save an html screenshot anytime(ie: to preserve the current
- message)
-[P]- Necromancers start with corpse preservation skill
-
-13/11/2002
-[B]- Don't let the Maggot sling be generated randomly. -- neil
-
-15/11/2002
-[m]- Added a new TERM_XTRA call, TERM_XTRA_GET_DELAY which should return the
- time in microseconds. What time exactly isnt meaningfull but it must be
- usable to compute the length of time an action takes.
-[I]- Thanks to the new TERM_XTRA_GET_DELAY the cmovie code is now cleaner
- and should work fine:) Windows and unix platforms should now be able
- of microsecond resolution cmovies!
-[m]- Made all the socket code into z-sock.[ch] and wrapped it into a
- virtualizing layer so that the rest of the code can use it independantly
- of the implementation. Currently unix and windows sockets are supported.
-
-16/11/2002
-[B]- Prevent the automatizer from treating "good" bows as "average" -- neil
-[B]- Prevent earthquake damage for characters with wraithform, and prevent
- some of the damage for characters with semi-wraithform -- neil
-[B]- Fix spelling of Book of Teleportation -- neil
-
-17/11/2002
-[P]- New Meta/Conveyance Spell: Tracker, it will track the last teleportation
- that happened on the level and teleport you to its destination
-
-18/11/2002
-[G]- The Old Mage in Lothlorien will now fireproof staves or scrolls as well as
- books, making it profitable for non-spellcasters. Currently he has enough
- errr 'fireproofing material' for 3 books or 4 staves or 12 scrolls, or a
- combination of these. Check fireprof.lua for the code. -- fearoffours
-[I]- Skills that have sub-skills in which you do not (and cannot) have points
- no longer display the redundant +/- sign. thanks lemming for the code.
- -- fearoffours
-[m]- Lots and lots of itsy-witsy help file updates. Stunning-blows, other
- references to Pern, more links to other files... -- fearoffours
-
-19/11/2002
-[m]- Compress the grid in the character dump, eliminating blank lines and only
- showing lines without '+'s for the resistances and sustains page -- neil
-[m]- Show the Mathom-house contents in the character dump -- neil
-
-21/11/2002
-[O]- When 'I'nspecting objects you'll know how you found them
-[B]- Magelock cannot override permanent walls(or walls for taht matter) and works
- only in LOS
-
-22/11/2002
-[O]- 3 new artifacts of Gothmog, regrouped in an item set
-[m]- Cleaned up the notes code a little. (takkaria)
-[P]- Summon skill doesnt caerte drops for partial summons
-[P]- Summon skill doesnt work in an antimagic field
-
-23/11/2002
-[B]- Automatizer should not treat enchanted ammo and tools as average, either.
- -- neil
-[B]- Fixed the bug that allowed to use unallowed gods
-[P]- Lost souls start with many satisfy hunger scrolls, I'm really too nice...
-[M]- Themed townspeople! In Lothlorien and GOndolin you find elven people and
- dwarven in Khazad-dum
-
-24/11/2002
-[m]- Display in the dump how interesting items were found -- neil
-[B]- Two-handed artifact weapons now act as such -- neil
-[O]- Darksword antimagic field now scales on the antimagic skill
- So using one with 0 in the skill is not worth much
-[m]- DESTDIR support in makefile.std -- neil
-
-25/11/2002
-[B]- Don't mark items as store bought until they are bought -- neil
-[O]- Distinguish stolen items from bought items -- neil
-[m]- main-net.c display module which redirects display over the z-sock layer
- and thus over any ip network to allow to create very lightweight terminals
- to play ToME everywhere. This is still experimental
-[B]- Don't show Gondolin twice in the dump -- neil
-[O]- Cut down the price of Spectral weapon given their .. usefullness
-[I]- Fixed the bug that told you you could buy more items than you really could.
- At least when using auto_haggle. Poor sods that dont use it shall burn
- in hell
-[I]- Damage info is displayed for items that are only identified
-
-26/11/2002
-[G]- OK the god quest is a little easier now, as you're told the dungeon is to
- the north/south and east/west of you. -- fearoffours
-[G]- Having autosquelch on will now not affect the essence in the fireproof
- quest. And the mage gives a warning about the fact it may be easy to
- destroy it too. -- fearoffours
-[B]- Fixed the incredible townspeople generation rate
-[B]- String fixes from lemming -- neil
-[B]- Don't print discomfort messages when examining and comparing weapons -- neil
-[I]- new <state> function to the automatizer to detect identified state
-[I]- Automatizer rules are automatically apply upon exit of the screen or
- autogeneration of a rule with the 'k' command
-
-28/11/2002
-[B]- Add experimental support to the automatizer for marking "bad" rings and
- amulets -- neil
-[m]- Distinguish average, disarmed, and empty chests in the automatizer -- neil
-[B]- Let summoners summon again (patch by masmarangio) -- neil
-[B]- Remove duplicate warning of an empty quiver (patch by masmarangio) -- neil
-
-29/11/2002
-[O]- Let Demonshields and Demonhorns be treated as armor -- neil
-[m]- Can include string terminators in help file tags i.e:
- *****foo.txt*7[see:\] it works;)]
-[m]- Can save screenshots to help file format, this is only usefull to
- documentation writters and thus the option only appears when wizard mode
- is activated. It uses the new verbatim mode &&&&& at the line beginning
-
-01/12/2002
-[m]- The helpfile typo corrections just keep coming! Added Udun school help,
- and demonologist school help, thanks Mef and masmarangio. -- fearoffours
-[m]- Some more spelling errors corrected. Updated warriors skills in the
- help files -- masmarangio
-
-02/12/2002
-[m]- Skill updates for more character classes in the help files. -- masmarangio
-[m]- Automatizer tutorial added. -- fearoffours
-[G]- God quest relic is now inscribed to prevent automatizer 'accidents'
- -- fearoffours
-
-02/12/2002
-[O]- Wands/staves are now described this way: a wand of foo[bonus|max]
- Bonus is the bonus spell levels you get, and max is the limit of spell
- levels for that wand. It means even if you have Magic Device at level 50
- you cannot get a level 50 spell from a wand with max 30. Naturally the
- max(and bonus) increase with the depth you find the wand/staff :)
-[P]- Players in monster form can now use barehanded combat, instead of
- reverting to monster attacks. -- neil
-[O]- Fix and reduce the wand and staff pricing -- neil
-[B]- Make the automatizer work independently of the player's body -- neil
-
-03/12/2002
-[m]- Clean out some unused variables and some other valid warnings -- neil
-[B]- Don't spoil things in the dump -- neil
-
-04/12/2002
-[m]- Updates of the character races help files -- masmarangio
-
-05/12/2002
-[B]- Maiar can't choose a god anymore -- masmarangio
-[I]- Added a message if you don't have powers but press 'U' -- masmarangio
-
-06/12/2002
-[B]- Staves are properly fireproofed now. -- fearoffours
-[m]- God quest gets more clues to the location, and they're printed in the
- 'Ctrl-Q'uest screen. I'm too nice. -- fearoffours
-
-07/12/2002
-[I]- Added the extended command #quest (or #Q for short) to get quest list
- because some prts catch the CTRL+Q combo
-[m]- Added contextual help for wands/staves, also added a section in the help
- about it. --fearoffours
-[m]- Some small help file updates (Muar becomes Durin's Bane) -- masmarangio
-[m]- Added full mindcrafting spell info in the same form as other schools of
- magic. Removed help on the Music skill, as this will not be included for
- 2.1.0. Added some other help stuff. -- fearoffours
-
-08/12/2002
-[B]- Correct Damage/Round display for bare and bear combat. -- neil
-[m]- Help now has an alphabetical index! -- fearoffours
-[B]- Melkor wants you to sacrifice corpses, not raw meat -- neil
-
-09/12/2002
-[B]- Fixed an off-by-one error in loadsave.c that caused savefile corruption
- if the number of monsters or objects saved was maximal -- masmarangio
-[m]- Removed help on the Druidistic skill since Druids are normal Priests now.
- Minor changes to the skill example to match human warriors.
- Updated Option help file, some other minor changes -- masmarangio
-[O]- Allow Wooden Rods to be sold at the Magic Shop -- neil
-
-10/12/2002
-[B]- Corrected the price of enchanted boomerangs and instruments. -- masmarangio
-[B]- Corrected the used multiplier while 'I'nspecting ammo.
- Fixed the damage of throwing items / boomerangs -- masmarangio
-
-11/12/2002
-[I]- 'Compare weapons' works only with melee weapons, item selection changed.
- Expanded the description of a god at birth. -- masmarangio
-
-12/12/2002
-[m]- Removed Tank Points and firestones. -- neil
-[m]- Removed PERNANGBAND monster flag and renamed as many Pern monsters,
- artifacts, and other references as I could find -- neil
-[M]- Firebirds (formerly firelizards) and Thunderlords are B, not d and D
- -- neil
-[B]- Fix some artifact activations -- neil
-[B]- Fixed (temporarily) item activation and description. Some items could
- activate for the unified activation, and display the other activation, so
- further changes are needed. -- masmarangio
-[I]- Removed the silly 'You are shooting with a flute' message. -- masmarangio
-
-13/12/2002
-[m]- Renamed instruments in luckspoi.txt, comment changes -- masmarangio
-[I]- Added OBJ_FOUND_SELFMADE for items that were created by the player.
- Alchemist should also use it (not changed yet). Replaced the plain
- description "in the Town" for items fond on the surface -- masmarangio
-
-14/12/2002
-[O]- Monster traps are disarmed by GF_KILL_TRAP and GF_KILL_DOOR -- masmarangio
-[m]- The description of ACT_DEST_DOOR includes traps, better description of
- deactivating music instruments. -- masmarangio
-[M]- Increase Thunderlord rarities -- neil
-
-14/12/2002 -- T.o.M.E 2.1.0 aka "No Surrender, No Retreat"
-
-14/12/2002
-[B]- Artifact spoiler was messed up
-
-15/12/2002
-[m]- some small help files updates (Melkor, GoI, races) -- masmarangio
-[B]- some Orc Cave crashes fixed -- masmarangio
-
-16/12/2002
-[B]- Fixed the Mushroom Quest: mushrooms are taken before creating the rewards,
- and these are created even with a full inventory -- masmarangio
-[B]- Grammar fix for breathing messages -- neil
-[B]- Changed order of level feelings, removed unused feelings. -- masmarangio
-[B]- A Rod of Drain Life is needed for vampiric artifacts instead of the Wand.
- Renamed one ego light of Boldness (now of Fearlessness). -- masmarangio
-[m]- Updated and reformatted the essence spoiler. -- masmarangio
-
-18/12/2002
-[O]- Removed the double pval for Mana-items (40%)(+2). The description of
- Mana and Life items is now with percents. -- masmarangio
-[m]- Small updates to m_demono.txt -- fearoffours
-[m]- Added mindcraft in magic.txt and a paragraph in m_mindcr.txt -- masmarangio
-
-19/12/2002
-[B]- Adjusted the melee damage shown in the status screen. -- masmarangio
-[B]- Spelling errors corrected. Thanks to markrax -- masmarangio
-[B]- Fixed bashing the trigger doors in the Thieves Quest -- masmarangio
-[B]- Allow Amulets of the Magi and *Defender* weapons to be sold -- neil
-[B]- Fix alchemist creation of ego staves, etc. (patch from "oops") -- neil
-[B]- Don't let gold into the inventory -- neil
-[B]- Temple doesn't want unblessed edged weapons -- neil
-[B]- Properly handle obvious flags on non-*ID*d objects (fixes things like
- resistances grid and selling Blessed weapons in the temple) -- neil
-[B]- Squelch at different times, to avoid destroying the wrong items -- neil
-
-20/12/2002
-[m]- Removed some compiler warnings. Thanks to markrax -- masmarangio
-[I]- Work / fixes in spoiler creation (items, essences, menu) -- masmarangio
-[B]- Automatizer: <symbol> works with graphic modes -- masmarangio
-[B]- Fixed pval3 for artifact staves and wands in apply_magic -- masmarangio
-[m]- Corrected some typos and some comments. Thanks to markrax -- masmarangio
-[m]- Spell description edit -- neil
-[B]- Exclusive skill fix (patch by markrax) -- neil
-[B]- Yet more copyediting by markrax -- neil
-
-21/12/2002
-[m]- Corrected most of the typos found by vrak. -- masmarangio
-[B]- Fixed a display bug when passing through walls, thanks jup
-[B]- Copyediting of lib/edit/* -- markrax
-[B]- Copyediting of monster description books (lib/file/book-1[0-9].txt)
- -- markrax
-[B]- Copyediting of misc. files in lib/file/ -- markrax
-[B]- Copyediting of most files in lib/help/ -- markrax
-[B]- Copyediting and description tweaks to tables.c -- markrax
-[B]- More minor copyediting -- markrax
-[m]- Minor externs.h code cleanup, remove dups -- markrax
-[B]- Let keypad 5 key work in X11 target -- markrax
-[I]- Add columns, tweak UI in character info sheet -- markrax
-[I]- Updated the artifact spoiler creation -- masmarangio
-[m]- Corrected some errors in a_info.txt -- masmarangio
-[B]- Display the arm slot when not wearing a two-handed weapon -- neil
-[I]- Cleaned up some code in the character info sheet -- masmarangio
-[B]- Fix drop message for junk artifacts (patch by jup) -- neil
-
-22/12/2002
-[m]- Copyediting of lib/edit/k_info.txt -- markrax
-[m]- Copyediting of lib/edit/al_info.txt -- markrax
-[m]- Added ENGLISH.txt file with ToME textual conventions -- markrax
-[m]- Standardized on "Middle-earth" spelling -- markrax
-[m]- More grammatical fixes (mostly "it's") -- markrax
-[m]- Removal of many Americanisms, grammatical fixes -- markrax
-[O]- Centered Map around Minas Anor -- masmarangio
-[I]- Allowed the user to abort when asked to engrave on a grid. Also, don't
- let the player engrave on a grid with no mana. Thanks to Pav of
- angband.~.cz for this patch. -- takkaria
-[m]- Updated and relocated style guide -- markrax
-[O]- CURSED two items with HEAVY_CURSE, thanks jup -- markrax
-[O]- CURSED Ring of Durin (had HEAVY_CURSE), thanks jup -- markrax
-[B]- Let *Identify* of your pack work the same as an individual *Identify*
- for the purposes of alchemists -- neil
-
-23/12/2002
-[I]- Updated the broken spell spoiler creation (works for the bookless powers).
- LUA schools should be added -- masmarangio
-[m]- Parchment titles capitalised. Spacing of artifacts and some americanisms
- and errors in a_info.txt, tables.c, and other files corrected.
- -- masmarangio
-
-24/12/2002
-[O]- Added description from Sangband to the Shield of Gil-Galad -- masmarangio
-[B]- tried to prevent printing of alchemy items in spell spoiler -- masmarangio
-[B]- Fixed two alchemy bugs: Same sval for Rings of Critical Hits and the Ring
- of Durin. Corrected the sval of Rings of Constitution -- masmarangio
-
-25/12/2002 - Mery xmass!
-[P]- Boulder throwing skill :) For Ents .. Don't get used to it as I don't know
- if I'll let it in
-[B]- Destruction cannot kill quest monsters
-[B]- The lost temple (god quest) dungeon really cannot be generated in
- inaccessible places now. -- fearoffours
-[I]- Unidentified objects are marked in slate(the inventory letter)
-
-26/12/2002
-[m]- Updated the skill gain in skills.txt, corrected some spelling errors.
- Added Boulder-throwing to the help files -- masmarangio
-
-27/12/2002
-[B]- Fixed note file problem under windows -- masmarangio
-[m]- Corrected some americanisms and spelling errors -- masmarangio
-[B]- Fixed an alchemy error with fireproofed staves, removed tabs from c_prt
- calls -- masmarangio
-
-28/12/2002
-[P]- Added dynamic subrace. This means that "things" in the game can somewhat
- change your subrace. This is used by the 3 new Vampire corruptions, which
- when combined will permanently turn you into a full blown Vampire.
- The Vampire subrace has been removed, it might come back as a template for
- the corruptions, or not. All others undead subrace will have the same
- fate. This means that soon you'll be able to turn into an undead rather
- than start as one. The penalties will be tweaked too so we don't end up
- with every char being an undead.
-[B]- Fixed a branding bug that allowed to modify artifacts and ego-items.
- -- Kusunose
-[m]- Updated corruption_spoiler_generation (includes index tags, don't show the
- Lose message for not removable corruptions) and corspoil.txt -- masmarangio
-
-29/12/2002
-[I]- Stores/homes inventory letters are colored just like inventory/equipment
- thanks to Pav
-[m]- Music system performance improvement -- neil
-[m]- Added help on pets to dungeon.txt and some clarification about Spell-power
- affecting only the 11 primary schools of magic. -- fearoffours
-[m]- Added to Spell-power the other affected Schools (Udun, Demonology, Gods),
- as well as naming Sorcery in the Udun School help file -- masmarangio
-
-30/12/2002
-[O]- init1.c: added two times OBJ_FOUND_SPECIAL -- masmarangio
-[m]- al_info.txt: removed double acid essences in amulet of resistance, grouped
- entries for ring of extra attacks, renamed some entries -- masmarangio
-[m]- wizard1.c: Added IS_CVS to header, create artifacts at 25, not 35, added
- index in Essence Spoiler. essences.txt: new spoiler file -- masmarangio
-[m]- cmd1.c: removed a compiler warning. caves.c: simplified a test -- masmarangio
-[m]- Info on spell-power and multi-school-spell interaction, typo fix in
- m_mindcr.txt -- fearoffours
-
-31/12/2002
-[B]- object2.c: Initialised Artifacts with LEVELS in apply_magic -- masmarangio
-[O]- generate.c: OBJ_FOUND_MONSTER for final artifacts / objects -- masmarangio
-[B]- al_info.txt: Svals of Ring of Sustain Con and Dex exchanged -- masmarangio
-
-01/01/2003 - Happy new year !!!
-[B]- store.c: Fixed bug with prices of wands, indentation -- masmarangio
-[I]- Better fountain command interface. -- Kusunose
-[B]- al_info.txt: Added Ammo of slay animal. Amulet of regeneration with new
- sval. Ego Weapons of Life added -- masmarangio
-
-02/01/2003
-[B]- find_ignore_stairs, set or unset, failed to handle some quest related
- stairs properly. -- pelpel
-[B]- cmd7.c: Fixed bug with TR4_ART_EXP not set correctly -- masmarangio
-[O]- cmd7.c: Added OBJ_FOUND_SELFMADE for created items/artifacts -- masmarangio
-[B]- Don't allow a change from weapon combat if a cursed weapon is wielded
- -- neil
-[m]- wizard1.c: Changed position of IS_CVS, added double ego items in essence
- spoiler. essences.txt: reflects this -- masmarangio
-
-03/01/2003
-[B]- wizard2.c: Some bound checks to prevent crashes -- masmarangio
-[B]- cmd7.c: Fixed reduced capacity of ego rods -- masmarangio
-[B]- object1.c: Added a "It cannot be destroyed" msg in place of "it has blah%
- chance of breaking upon hit" for artifact ammo. thanks lemming for fix
- -- fearoffours
-
-04/01/2003
-[O]- e_info.txt: Added indestructible and cursed amulets to simplify alchemy
- -- masmarangio
-[B]- cmd7.c: Allow creation of artifacts from single ego items; don't change
- artifacts and double ego items if you don't wish to create an artifact.
- Simplified amulet handling and other code fragments -- masmarangio
-[m]- QUITING-> QUITTING, COMBINAISON->COMBINATION: two cases of typos
- that I've long been aware of... -- pelpel
-[D]- Changed the marker(#172) to look like open floor(#1) -- masmarangio
-[B]- Updated Amulets and Rings in defines.h / defines.txt -- masmarangio
-[B]- al_info.txt: Amulet of Adornment without pval. cmd7.c: skill >= 25
- needed to create artifacts, not > 25 -- masmarangio
-[B]- Warning about leaving a trap detected zone don't cost energy -- masmarangio
-
-05/01/2003
-[m]- First update of commands.txt -- masmarangio
-[B]- spells2.c, self_knowledge(): f4 through esp were not initialised before
- referenced. -- pelpel
-[B]- cmd7.c, extern.h: changed the variable "tocreate" in alchemist_items_check()
- from bool to int -- masmarangio
-[B]- xtra1.c, apply_flags(): Added bounds checks for antimagic. -- pelpel
-[B]- xtra1.c, apply_flags(): changed the type of bit field variables from s32b
- to u32b, for obvious reasons. -- pelpel
-[G]- Princess now offer 3 reward and the player selects one
-
-06/01/2003
-[B]- cmd7.c: Fixing three bugs in Alchemy: Extracting from double ego items and
- from stacks of staves, as well as generating all leeched empty items.
- Problems may still arise when you leech a stack of objects from the floor
- and essences get dropped over them. Boomerangs can be enchanted now.
- -- masmarangio
-[B]- generate.c: Moved the room creating loop (fix from 15/12). Something better
- should be used than this brute force method -- masmarangio
-[B]- Minor spelling and grammar fix -- neil
-[B]- Changed the type of dungeon_flags to u32b, as in types.h -- masmarangio
-[B]- cmd7.c: Instruments can be enchanted now. -- masmarangio
-[G]- Applied the Artifact Activation patch -- masmarangio
-[B]- Fix activations -- neil
-[G]- Alchemists can no longer make artifacts granting Precognition or Immunity
- to Nether -- neil
-[B]- Avoid some bad periods in monster descriptions -- neil
-
-07/01/2003
-[P]- p_info.txt: Updated, compacted history-chart. Trolls, Orcs, Elves with new
- entries, some other small changes. Deleted the unused races -- masmarangio
-[m]- Added Activations to essence spoiler, new help file created -- masmarangio
-[B]- Reset the pval of extracted rings and amulets, prevent creation of cursed
- empty items -- masmarangio
-[B]- Make ego staves / wands of nothing extractable, disallow empowering of ego
- items / artifacts that are not wearable (e.g. staves) -- masmarangio
-
-08/01/2003
-[I]- squeltch.c: Ask for overwriting rules file and display saving message in the
- same box -- masmarangio
-
-10/01/2003
-[m]- Added a (conservative and preliminary) port to OS X + gcc + makefile.
- The four *.icns files are faithful conversions of the traditional Angband
- icons that have long been used by Mac ports, even before Ben.
- makefile.std itself is not updated. Please read comments in main-crb.c.
- -- pelpel
-[m]- Module support. It means that people can write ToME "modules" which will
- go in lib/mods and contain "variants" that use the same game engine but
- different lib/foo files. The module selection screen only appears when
- the game detects more than one module. The new -Mfoo command line option
- allows to bypass module selection
-[m]- 'Death' Message of a Nazgul: Choose pronoun 'she' or 'he' according to the
- sex -- masmarangio
-[G]- God quest wont trigger for Lost Souls until they reach the surface
-[m]- Turn off some ToME things when using a non-ToME module -- neil
-[B]- Fix the monster description messages even better -- neil
-[B]- Better honor the NO_TARGET flag -- neil
-[M]- Give Farmer Maggot the NO_TARGET flag -- neil
-[B]- Fixed (hopefully) the wrong activation bug -- masmarangio
-[m]- (Mac, Carbon) Modernised file system interface (currently only turned on
- for Mach-O Carbon port), improved Mach-O Carbon support, incorporated my
- 32x32 tiles support code for V3.0.2, and more gcc porting note -- pelpel
-[m]- Let the player see which game module he selected in the character
- selection screen -- neil
-
-11/01/2003
-[B]- Fixed one wrong sval in al_info.txt -- masmarangio
-[m]- Added makefile and some auxiliary files for developer CD gcc compilation
- of Carbon port -- pelpel
-[m]- (OS X Carbon) Changed the format of graphics tiles from PICT in the
- resource fork to plain PNG files, only for gcc compilation at the moment
- -- pelpel
-
-12/01/2003
-[B]- Alchemy: The song of music instruments, the type of explosive ammo and
- the level of sticks are not changed by enchanting / leeching the items.
- -- masmarangio
-[m]- Expanded the description of Antimagic, small index updates -- masmarangio
-[I]- wizard2.c: Initialised the lua command (^A >) with the help file index
- generation -- masmarangio
-[m]- (OS X Carbon) Cleaned up my recent updates. It's fairly stable now.
- To do: move to .nib based menu/dialogues, pulling sound out of resource
- fork, and better sound code. -- pelpel
-[B]- cmd7.c: Allow extraction of the charges of Sticks of Plenty -- masmarangio
-
-13/01/2003
-[m]- preliminary SCANDIR support for gcu, gtk, xaw borrowed from x11 -- neil
-
-14/01/2003
-[m]- Modules can control the number of levels over the player level a skill
- may have allocated now, using max_skill_overage. -- neil
-[m]- HOOK_FIRE added -- neil
-[m]- Changed the help files about vampires; classes, races etc. are listed
- in alphabetical order in birth.txt -- masmarangio
-[m]- Races & subraces get a starting object list in p_info, less hacks in birth.c
-[I]- Automatizer can now be used to auto-inscribe items, thanks to jepler
-[I]- Automatizer can now display rules in a more english like maner, xml mode
- is also available, switch by pressing 'x', thanks to jepler
-
-15/01/2003
-[G]- Summoner can extract totems from skeletons / carapaces. -- masmarangio
-[B]- Trap of Wasting Wands (affects also Staves) change the Wand/Staff to the of
- nothing type. Deleted SV_WAND(STAFF)_NASTY_WAND(STAFF), since in the new
- stick system the worthless sticks don't have the first svals -- masmarangio
-[B]- Fixed a fountain filling bug, simplified the item_tester -- masmarangio
-
-16/01/2003
-[B]- (Mac, OS X) Tilewidth/height code ceased to work because menu API started
- to return Unicode crap instead of holy ASCII -- pelpel
-
-17/01/2003
-[m]- HOOK_EAT added -- neil
-[O]- New artifact: The Sling of the Thain -- neil
-
-18/01/2003
-[B]- empty chests are generated as known (i.e. they were opened) -- masmarangio
-[B]- do_cmd_rest flushes input if the player can't do so for some reasons
- and flush_failure is set.
- Note: flush() doesn't seem to work as it used to do... Any changes have
- been made to inkey, or some code touches its various control variables?
- -- pelpel
-[m]- (Gtk) Added support for the "bigtile" mode. Please start the game with
- "tome -- -w" if you don't like to see horrible glitches... This is not
- Gtk-specific problem by the way. Scrolling the map and hitting ^R fixes
- it too, if you prefer menu command -- pelpel
-[G]- Trees are now passable by wraith beings. Monsters that fly will pass trees.
- Dead small trees will be dead small trees. Monsters tunneling will also
- destroy trees
-[P]- Extra HP bonus(from quest, melkor, ...) is applied before sorcery penality
-
-19/01/2003
-[B]- (Gtk) Fixed problems with wide tile mode when it is used with backing
- store. Seems more like the problem is in z-term (it only updates every
- two columns of the dungeon map...), but it works now -- pelpel
-[B]- (Mac) The asynchronous sound player unlocked and released sound data
- without confirming its completion. Wrote an alternative implementation
- that holds data until a channel it is played is reused, to avoid using
- interrupt-time code (which is quite complicated business in 68K).
- Because this means that a fairly large amount of data can be locked in
- memory for a long time, I reduced number of channels used to
- 4 in Classic and 8 for Carbon -- pelpel
-
-20/01/2003
-[G]- Trees/grass can only grow one some terrains(yes that DO exclude lava;)
-[I]- z) slot is hidden until needed -- thanks to Scott Bigham
-[I]- Some cosmetic changes and improvements to char dumps -- thanks to Scott Bigham
-
-21/01/2003
-[B]- Monster traps: Changed the code so that the new wands and staves are
- functional in device monster traps. This is commented out with #if 0 since
- the code must be tested. Perhaps a lua solution is better ? -- masmarangio
-
-22/01/2003
-[B]- Deathmolds could use their racial power without spending a turn!
-[B]- 'U' powers didn't remove Disruption Shield
-[m]- (Mac, Windows) Added an in-game menu command to view current scoreboard.
- Taken from the latest [V] (Win port only there), minus the use of
- display_scores_aux, which I regard first-degree Mega-Hack -- pelpel
-[G]- Wielding the One Ring now has real disadvantages, you've been warned :)
- What ? I didn't mention what disadvantages ? Oh yes, I didn't.
-[G]- Bump required level and difficulty rating of Minas Anor quest, as the
- trees changes have made it just a little harder. -- neil
-
-23/01/2003
-[I]- Hopeless attempts to dig will be noticed to the player -- thanks to jepler
-[B]- Potions of Cure Water are no more extractable by Alchemy
-
-25/01/2003
-[P]- Bard class is back(was called Harper before) with a new Music skill.
- Instruments carries the spells, and they work a bit like Psi foci in
- psiband. An instrument (+2) can only play songs that are marked (I) or
- (II) not (III) or (IV)
-[B]- Ordered the music songs according to the needed pval, then level.
- Fixed the svals of artifact instruments, changing the Flute to a Harp.
- Added a better description of Bards. Please check it ! -- masmarangio
-
-26/01/2003
-[B]- An Alchemist can now fireproof spellbooks -- masmarangio
-[m]- Bard and Music docs are done. Please check em. -- fearoffours
-[B]- A possessor (the creature, not the class) can only possess whole
- corpses and skeletons, not pieces of meat -- masmarangio
-
-27/01/2003
-[B]- Make wielding more than one demonshield (or demonsword I suppose) work
- -- neil
-
-28/01/2003
-[B]- Possession something while encumbered to the point of having 0 mana
- allowed free use of body spells without failure
-[P]- Mana is now function of the Magic skill and either INT or WIS, whichever
- is higher
-
-30/01/2003
-[B]- Possibly the relic in the god quest couldn't have been generated.
- Wasn't me honest guv. -- fearoffours
-[G]- The lost temples for god quests now have harder monsters to make the piety
- gain rather more substantial and obvious I hope. Deeper monsters appear
- as player clvl increases. -- fearoffours
-[m]- Help file corrections on Music skill. -- fearoffours
-
-01/02/2003
-[B]- Some menus exits when 'e' was hit on some comapilation.
- Note: '\e' for escape is compiler dependant extension so do not
- use it. Thanks kobayasi for fix. -- Kusunose
-[B]- All known staves and wands are displayed as 'Globe of Light' in
- the Known Object list. Thanks kobayasi for fix. -- Kusunose
-
-08/02/2003
-[m]- Make HOOK_QUAFF take an o_ptr, and let HOOK_EAT return the identify success
- -- neil
-
-12/02/2003
-[I]- Useless but fun, when a wield monster takes damage instead of you
- the monster will be named. If you named it(with the #foo inscription)
-
-16/02/2003
-[B]- Chaging the melee style did not update bonuses. Thanks to kobayasi for
- the patch. -- Kusunose
-[B]- <sval> in automatizer worked even when the player was not aware of
- the object. It was possible to use this as a free ID. Thanks to
- kobayasi for the patch. -- Kusunose
-
-24/02/2003
-[B]- Cancelling the reward skill sellection could crash the game. -- Kusunose
-
-26/02/2003
-[I]- Boomerangs now display damage with 'I'nspecting, thanks to Scott Bigham
-
-27/02/2003
-[B]- Inspecting or Identifying something shouldn't infect you with the
- Black Breath -- neil
-
-28/02/2003
-[I]- Genocide and genocide like effects that require monster race now allow
- targetting of a monster to select the race. Gfx users can now correctly
- genocide :)
-
-01/03/2003
-[I]- d/s and g/p work in both home & stores. Pfft.
-
-02/03/2003
-[m]- Fixed a typo in The Dragon Helm of Turin Turambar -- WeZ
-[G]- Fixed the teleport-level ability of Deathmolds, so they
- can teleport out of a dungeon, instead of getting a
- message saying there's only air above them. -- WeZ
-
-04/03/2003
-[P]- Probability travel level teleport ability & teleport level spells
- wont work in some dungeon
-
-05/03/2003
-[G]- A new quest! An ultra ending! "Falling Toward Apotheosis"
- After banning Morgoth spirit in the Void, you can pursue him
- there to forever end the darkness. But beware, it is more than
- likely that you will die. But for the few that succeed, the fame
- will be great!
- Note: you can only do it if you choosed the way of Good and thus
- destroyed the One Ring. An evil ultra ending is planned and will
- come a bit latter.
-
-06/03/2003
-[P]- Dwarves get a bonus to axe mastery, as they rightfully should
-[O]- Cloak of Air. Generates an air bubble around you so you can breath.
- Just in case you need it ..
-
-08/03/2003
-[G]- Another new quest! An old mage in Minas Anor needs help, too. -- neil
-
-12/03/2003
-[B]- Non-enemy monsters now won't hold up victory in the Spiders and Library
- quests. -- neil
-[B]- Various Library quest fixes -- neil
-
-13/03/2003
-[O]- Lebohaum activation is now true to the original material..
-[P]- All mages start with 0.1 less mod to Sorcery. Specialists dont have sorcery.
- Runecrafters dont iether, nor Alchemists. Thaumaturgists do.
- Specialists also get a bit better Spell-power
-
-16/03/2003
-[I]- Only show enemies in the uniques list -- neil
-
-20/03/2003
-[m]- The various ?_info.txt files can now include otehr files with the <:file.txt
- command. This allows people to split up too big files
-
-23/03/2003
-[I]- X11 port can now do text selection copy&paste with the mouse, thanks to kieron
-
-27/03/2003
-[B]- Mage staves, rod tips, and magic tomes are now "good" items. This should
- fix the problem of Saruman, Sauron, and others dropping nothing but rods.
- -- neil
-
-28/03/2003
-[I]- Show "ironman_rooms" setting in the character dump -- neil
-
-29/03/2003
-[P]- The adventurer quest skill reward will now only provide a modifier of 0.3
- if you dont have the skill, but if you have it it will improve the modifier
- by 0.1 if it is below 0.5
-[I]- Automatizer rules now have an module attribute, defaulting to "ToME". The
- module name is case sensitive, as always. <rule module="ToME" name="Die"
- type="destroy"> will only destroy items when you're playing the ToME
- module. -- neil
-
-02/04/2003
-[B]- Fix grammar error pointed out by "JanaRaissa" -- neil
-[B]- Prevent instrument-wielders from firing things, as pointed out by
- "Chudus" -- neil
-[B]- Those who can breathe water or don't need to breathe at all should not
- drown in pools of water, as pointed out by "Zonk" -- neil
-[B]- Fix Rods of Simplicity for those who need it most, as pointed out by
- "Zizzo" -- neil
-
-03/04/2003
-[O]- Dragon Scale Mail now has more options for egos and random artifacts
- -- neil
-
-04/04/2003
-[B]- Fix god quest temple placement error pointed out by "Fringe Worthy"
- -- neil
-
-05/04/2003
-[I]- Somewhat nicer char screen, thanks to lemmings(I think ;)
-[B]- No more (broken) pattern vaults -- neil
-
-08/04/2003
-[m]- Ability to add timers in lua
-[B]- Fix spelling: PARCHEMENT -> PARCHMENT. Automatizer rules and other scripts
- that use PARCHEMENT will still work, though. -- neil
-
-09/04/2003
-[M]- Companions and pet uniques can now be killed
-
-11/04/2003
-[P]- Trolls cannot get the troll blood corruption
-[P]- At Monster lore skill level 12 one can turn a pet in a loyal companion.
- Note that you are limited in companion number
-[P]- Reduced Necromancy spell failure damage
-
-12/04/2003
-[P]- Skill multipliers of Rogues and Assassins are higher now. -- neil
-[B]- Fixed alchemy making of xtra shots/might
-[P]- Some skills have more chances to be taugth than others by fumblefinger
-
-13/04/2003
-[P]- Melkor Curse spell autocast chance formula changed
-[O]- Wishing for dual ego items works
-
-14/04/2003
-[P]- Spellbinder spell will reveal more info about itself when cast while
- already active
-[P]- Increase Mage's Weaponmastery Multiplier by 0.1 -- neil
-[P]- Experimentally double Barehanded Combat martial arts damage dice
- to make Monks more attractive -- neil
-
-16/04/2003
-[O]- Goods stolen from stores now get a 100% discount. -- neil
-[P]- One can now steal from more places -- neil
-
-17/04/2003
-[B]- Everburning torches, Feanorian Lanterns, and Dwarven Lanterns of Fading
- couldn't be filled -- neil
-[B]- The Crumpled Scroll of Mass Resurrection no longer revives special
- monsters who won't ever appear again anyway. -- neil
-
-18/04/2003
-[B]- Gauntlets that contain spells no longer hinder spellcasters -- neil
-[I]- Some junk removed from the character resistances grid -- neil
-
-18/04/2003
-[G]- Bree house is not available from start anymore, you have to get it
- as a reward from the thieves quest
-
-20/04/2003
-[G]- The Lothlorien and Gondolin homes aren't free anymore, either -- neil
-
-21/04/2003
-[G]- The Minas Anor and Khazad-dum homes must be won, too -- neil
-
-24/04/2003
-[I]- Reworked 16x16 gfx by P_laloli@hotmail.com
-
-25/04/2003
-[B]- Fix the case where some birth items wouldn't stack -- neil
-[B]- Disarming a trap on a stair should not destroy the stair -- neil
-
-26/04/2003
-[B]- Player invisibility shouldn't hinder monsters attacking targets other
- than the player (patch by Jeff Epler) -- neil
-
-27/04/2003
-[B]- Mana and Life drains should not cause infinite rest loops -- neil
-
-28/04/2003
-[O]- Handmade items like arrows and totems are fully identified -- neil
-
-29/04/2003
-[m]- Max skills internaly increased to 200
-[G]- Random quest are now disabled when persistent dungeon levels are enabled.
- -- neil
-
-30/04/2003
-[O]- The artifact that had aggravation and a stealth bonus no longer has
- that useless stealth bonus -- neil
-[O]- It's now much harder for sentient weapons to get the Acid realm -- neil
-
-01/05/2003
-[I]- '+' command(alter terrain) wil ltry to open doors instead of tunneling
- them
-
-02/05/2003
-[P]- Shots now pierce when they used to ricochet in random directions -- neil
-[P]- Piercing shots are now togglable -- neil
-[G]- Singing happy drunks will freely accept alcoholic beverages from you.
- -- fearoffours
-[m]- Class helpfiles updated to reflect some changes in skill allocation.
- -- fearoffours
-[I]- Turned on by default the linear stats display
-[m]- Chris Hadgis submitetd the first documented package of the ToME API!
- More comming :)
-[I]- Maxxed stats now show a "!" in the character screen and dump, too -- neil
-[P]- If you play something experimental, it now shows up in the character
- dump. Alchemists and Death Molds are marked as such for now -- neil
-[P]- Necromantic magic got a new spell: Necromantic Teeth
-
-05/05/2003
-[B]- Stone Prison spell would create floor where it shouldn't, possibly
- trapping you in places like the Eol quest. -- neil
-
-06/05/2003
-[G]- Angband now blocks the magic of the Thunderlords' Nest -- neil
-[B]- Fix activation descriptions patch by Chris Hadgis -- neil
-
-09/05/2003
-[I]- ToME should try harder to use proper thematic flooring when appropriate
- -- neil
-[B]- Stone Prison should not be able to turn walls into floors. -- neil
-
-11/05/2003
-[B]- Sound effects shouldn't give knowledge the player wouldn't otherwise
- know (like the generation of the relic) -- neil
-
-12/05/2003
-[B]- Don't show silly chance to break for exploding ammo -- neil
-
-14/05/2003
-[m]- lib/patch directory to contains auto-loaded patches.
- Each patch must be contained in it's own subdirectory and
- must contain a patch.lua file with a patch_init() function in it
- that must return the patch name and version
-
-16/05/2003
-[P]- Abilities. Abilities are like skills, but are booleans. That is
- you either know them or not, there is no scale. One can learn
- abilities by spending skill points in the abilitie screen(press 'N').
- Abilities can have prerequisites to be meet before one can learn them.
- (Like some can need a stat level, a skill level, ...)
- Some classes get abilities for free at certain level. Like warriors
- will get Spread-blows ability at level 25 for free(even if they dont
- actually meet the prereqs).
-[P]- All classes now get 4 max blows. But there abilities that can increase
- the max. Warriors gets them for free at birth, and other classes also
- get some so they are not less powerful than before the change. This
- will however help people create warrior-mages for example.
-[m]- Internal change: Magic Realms are gone. -- neil
-[I]- No more spell list window flag. It hadn't done anything since ToME 2.0
- anyway -- neil
-[m]- Total savefile compatibility break. Hopefully we can do better from now
- on -- neil
-
-21/05/2003
-[I]- The player now gets warned during race/class/subrace selection that a
- class is experimental. -- neil
-
-23/05/2003
-[B]- Innate monster friendliness shoudln't take precedence over summoned pet
- or companion status -- neil
-[B]- The Helm of Knowledge and Automatizer pickup now get along -- neil
-
-26/05/2003
-[m]- Initial helpfiles update for Abilities. -- fearoffours
-
-27/05/2003
-[I]- Princess quest reward selection is not cancelable
-
-28/05/2003
-[P]- New skill: Geomancy, works in combinaison with the 4 elemental skills
- to produce various effects from the raw elements around teh caster
- (grass, sand, ...). Elementalists becomes Geomancers now.
- Thanks to Fubar Obfusco for the detailed idea
-[P]- Runecraft is not gainable from fumblefingers until it is reworked
-
-29/05/2003
-[m]- More help updates - Artifact Creation ability, plus addtions to FAQ and
- skills.txt and others. Thanks to Michael Beatty for some suggestions.
- -- fearoffours
-[I]- Autoroller now uses linear stats when requested
-[I]- Object window will now display the 'I'nspection of the last manipulated
- item
-
-30/05/2003
-[B]- Resting ignores HP or SP if a drain on HP or SP is induced by an object
-[O]- Beat down the power of randart rings yet more -- neil
-
-31/05/2003
-[m]- Geomancy help. -- fearoffours
-[O]- heavy Xbows of Siegecraft, thanks to Fang
-
-01/06/2003
-[B]- The automatic drop from wilderness should no longer be abusable. No longer
- can you hit < when you're hungry, cut, poisoned, or sensitive to light during
- the day -- neil
-[P]- Far reaching attack ability. When using a long polearm you can attack monsters
- 1 or even 2 grids away(at the cost of a reduced number of blows)
- Idea taken from Adamant
-[O]- Ingeborg S. Norden's artifact bolts added -- neil
-[P]- Trapping is now an ability instead of a skill. Rogues, but not Assassins,
- start with it -- neil
-[m]- Help updated to reflect new abilities. Deathmold question added to FAQ.
- -- fearoffours
-
-06/06/2003
-[P]- Undead Form is now an ability
-[m]- Documentation for Undead Form added. -- fearoffours
-
-08/06/2003
-[m]- Added skill tests abilities to .prf files thanks to Scott Bigham
-[B]- Thaumaturgy attacks will travel more than one grid when not targeted
- at a monster thanks to Scott Bigham
-[I]- Inscription and discount clauses for the automatizer thanks to Scott Bigham
-
-09/06/2003
-[O]- Boomerangs now have just a 1% chance to break, have their chance to hit
- improved by Boomerang-mastery, get sold in shops, and are a bit less
- rare -- neil
-
-10/06/2003
-[G]- The god quest is a (little) bit more forgiving about the direction the
- dungeon lies in, and you also get an approximation of it's distance.
- -- fearoffours
-
-11/06/2003
-[B]- Thaumaturgy spells could be too weak -- neil
-[B]- Demonologists couldn't use the Demon Summon spell -- fearoffours
-
-14/06/2003
-[P]- Thaumaturgy spell levels now range from 1-50 instead of 1-100, so now
- one won't get spells with impossible failure rates, as suggested by
- Jules Bean -- neil
-
-16/06/2003 -- T.o.M.E 2.2.0 aka "Born to the Purple"
-
-18/06/2003
-[B]- Fix manwe spell Avatar
-
-19/06/2003
-[B]- Silly silly bug in god quest fixed. -- fearoffours
-
-20/06/2003
-[B]- Mimics starts with a cloak
-[B]- Using the @ key in skill menu wont crash
-[B]- Cannot copy uncopiable spells
-[B]- Dripping Tread will put feats on the last grid, not the current one
-
-21/06/2003
-[m]- Clearer descriptions for spells which require more than one school
- -- fearoffours
-[P]- Geomancer tweaks: Geyser's mana progression now matches its damage
- progression. Geomancy now gives much larger bonuses to its child
- skills, so Geomancers are now intended to max out the elements. -- neil
-
-22/06/2003
-[B]- Potions of Cure Water are inscribed for you to prevent mishaps with
- the automatizer -- neil
-[B]- Don't let people travel with extra limbs, to prevent them losing
- weapons by mistake -- neil
-[B]- Allow hypnosis of companions, make hypnosis failure messages more
- useful - neil
-
-23/06/2003
-[m]- Mimicry help. Magic help now has it's own menu, other minor help
- updates. -- fearoffours
-
-29/06/2003
-[m]- "Investing in the <foo> skill? You might be interested in the <bar>
- ability." links in skills.txt --fearoffours
-[B]- God quest bug genuinely fixed now -- fearoffours
-[P]- Bear form will now starts at -5 speed but end at +5
-
-29/06/2003 -- T.o.M.E 2.2.1 aka "There All the Honor Lies"
-
-09/07/2003
-[B]- Prevent forbidden staves from being generated
-
-14/07/2003
-[B]- Really fix the God quest this time, we hope
-
-15/07/2003
-[m]- Mac OS X Module support
-[m]- Solaris compile workaround from Kevin W. Thomas
-
-16/07/2003
-[B]- Fix broken status in auto automatizer rules -- neil
-[m]- Valid XHTML in the HTML screenshots now -- neil
-
-17/07/2003
-[B]- HPUX support -- neil
-
-20/07/2003 -- T.o.M.E 2.2.2 aka 'And Now For a Word'
-
-20/07/2003
-[P]- No more involuntary corruptions
-
-02/08/2003
-[B]- Fixed crash on 'l'ook in rare conditions, thanks slappy0042
-[B]- Fixed inflation of ammo damage display, patch by 'Zizzo' -- neil
-
-05/08/2003
-[m]- Help updates - spectres lose hp when passing walls, thieves cannot shoot
- arrows (very well), non-geomancer mages have a 0.00 modifier to Geomancy.
- -- fearoffours
-[m]- Help updates - typo in rm_spec.txt and High-elves have good wisdom
- -- fearoffours.
-
-08/08/2003
-[B]- Tulkas piety gains now match the documentation -- jules
-
-10/08/2003
-[m]- helpfiles - Clearer geomancy skill values for non-Geomancer Mages, a note
- about effect of stealing from shops in skills.txt, and some FAQ additions
- about FF and random quests. -- fearoffours
-
-13/08/2003
-[B]- Manwe, Eru, Yavanna, and Tulkas will not yet you start following them if you
- are wearing the One -- neil
-
-24/08/2003
-[B]- Set number of charges correctly when a wand is stolen -- neil
-
-26/08/2003
-[m]- Scott Bigham's tome-autoabil.diff: Adds a new automatizer class
- <ability>, which is true when you have the given ability -- neil
-
-27/08/2003
-[m]- Riscos support thanks to Antony Sidwell
-
-30/08/2003
-[m]- Savefiles are now stores in ~/.tome/save[/modulename] on multiuser systems
-[m]- Apply patches based on those from FreeBSD ports -- neil
-
-06/09/2003
-[O]- Beaked Axes, Battle Axes and Lochaber Axes are recognized as polearms
- again. -- neil
-[O]- Misleading "polearm" description removed from non-polearm
- Quarterstaff -- neil
-
-14/09/2003
-[m]- Added help for 'repeat last command' to command.txt. -- fearoffours
-
-15/09/2003
-[B]- Fixed autopickup of ammo crash under some circumstances
-[B]- Fix monster list mimic bug
-[B]- Tree Roots incorrect bonuses fixed
-[B]- Fixed incorrect display of some skill bonuses
-
-15/09/2003 -- T.o.M.E 2.2.3 aka 'The Quality of Mercy'
-
-22/09/2003
-[B]- Detect doors and traps displays as costing 3, not 5 now. -- fearoffours
-[B]- Maeglin quest reward wording altered (saves confusion for sorcerors).
- -- fearoffours
-[I]- Adam Bolt's Tiles are now "New Tiles", as others have worked on them and
- stuff. -- fearoffours
-
-25/09/2003
-[B]- Typos in One Ring parchment and Necromancy help fixed. -- fearoffours
-
-27/09/2003
-[B]- Typos in ultra-good ending, lost-sword quest rewards and flag description
- fixed. -- fearoffours
-[O]- Restore spaces to artifact descriptions -- neil
-
-28/09/2003
-[B]- Axemasters now start with a Hatchet -- neil
-[B]- Fix "analyze monster" activation -- neil
-
-04/10/2003
-[B]- Fix library quest breakage of Melkor curses -- neil
-
-05/10/2003
-[B]- Fix failure rates for abilities in possessed bodies, patch by 'Slappy'
- -- neil
-
-06/10/2003
-[B]- Monsters detected ONLY by telepathy were not removed from visible monsters
- list after they had gone out of range. Thanks Slappy for fix. -- fearoffours
-[B]- Recharged junkarts would not always give a notification message. Thanks
- Slappy for fix. -- fearoffours
-[O]- Changed descriptions of some junkart activations. -- fearoffours
-[B]- Completion of Necromancer quest could be triggered incorrectly.
- -- fearoffours
-[D]- "The lava burns you", becomes "you move across the lava" to accomodate
- IM_FIRE and flying characters. -- fearoffours
-
-07/10/2003
-[m]- Applied Ken Dubuc's patches to parsers to make them line ending independant
-[m]- Savefiles on multiuser systems are now in HOME/.tome/2.2/save, to comply
- with the new 3.0.0 naming scheme that is coming.
- People upgrading from 2.2.x to 2.2.4 should move their savefiles there
-
-08/10/2003
-[B]- Monsters don't appear to disappear for a turn if you polymorph them -- neil
-[m]- Setting module to "all" for an automatizer rule makes the rule apply
- to all modules -- neil
-
-11/10/2003
-[B]- Flying semi-wraiths shouldn't be hurt by flying over trees -- neil
-
-13/10/2003
-[B]- Recalling to new lost temples could have crashed the game. -- fearoffours
-[B]- God quest directions could be grammatically incorrect. -- fearoffours
-
-23/10/2003
-[B]- Items containing spells should be browsable again -- neil
-[B]- Random artifact mimicry cloaks should now show up correctly -- neil
-[B]- Random artifacts that can contain spells will not come with
- Globe of Light anymore -- neil
-[B]- Certain non-random artifacts that can contain spells will not come with
- Globe of Light anymore, either -- neil
-[B]- Pack overflow/weapon disappearing bug fixed, with big thanks to Kevin
- W. Thomas for telling me where to look -- neil
-[m]- Wizard mode is now turned off at birth -- neil
-[B]- Trap of Divine Wrath would benefit you -- neil
-[B]- Blood of Life would revive necromancers in undead form -- neil
-[B]- Hostile monsters won't get free kills of friendly monsters anymore -- neil
-
-28/10/2003
-[B]- Eggs work again -- neil
-[B]- Wishing for ego rods works -- neil
-
-29/10/2003
-[B]- Temples now accept blessed boomerangs -- neil
-[O]- Non-functioning artifact instrument activations removed -- neil
-[B]- If you learn anti-magic, you stop following any Valar -- neil
-[P]- Wood Elves and Hobbits weren't getting the extra might bonuses
- they were entitled to -- neil
-[B]- typo in v_info.txt -- fearoffours
-[m]- Help updates: macros and macro recorder, dwarf racial ability, more on
- dodging, link to m_mimic.txt from skills.txt, object inventory letter
- colouring significance. -- fearoffours
-[B]- Old Mage's quest wouldn't always disappear from quest screen when fully
- rewarded. -- fearoffours
-
-30/10/2003
-[m]- Helpfiles updated to reflect that corruptions are permanent and there is
- no corrupted sub-race. --fearoffours
-
-03/11/2003
-[B]- No more shafts in certain places -- neil
-[B]- Percing shots will not grossly inflate in damage anymore -- neil
-[B]- No genocide in home quests -- neil
-
-11/11/2003
-[B]- Silent Switching can no longer take off permanently cursed items -- neil
-[B]- Fix memory error in command handling -- neil
-[B]- Hypnotizing and restoring levelled monsters now works correctly -- neil
-[B]- permanent_levels marked experimental because it is broken -- neil
-
-17/11/2003 -- T.o.M.E 2.2.4 aka 'A Bug's Life'
-
-19/11/2003
-[B]- Fix monster possessor crash -- neil
-[B]- Fix random quest skill requester -- neil
-
-20/11/2003
-[B]- Fix crash when picking up ammo into your quiver that can't be fired
- with the launcher you are wielding -- neil
-
-22/11/2003
-[B]- God quest fix -- neil
-
-24/11/2003
-[B]- Disintegrating walls should not bother Yavanna -- neil
-
-01/12/2003
-[B]- Yet another try at fixing levelled carried monsters. Their attacks
- are affected by their level now and their hitpoints are handled better.
- I should have said this for the last release, but un-hypnotize any pets
- before upgrading from 2.2.2. Otherwise compatibility is fine. -- neil
-
-05/12/2003
-[B]- Semi-wraiths should not be hurt by climbing over mountains -- neil
-
-08/12/2003
-[B]- Fixed Flame of Udun spell
-
-10/12/2003
-[B]- Diggers are not weapons and should not be displayed as such -- neil
-[O]- Some items that give damage bonuses will be more clear about it -- neil
-[M]- Drain attacks can't drain the one artifact wand, staff, or horn -- neil
-
-[V] T.o.M.E 2.2.5 aka "Death of a Bug"
-
-23/12/2003
-[B]- Prevent recall to Lost Temple before getting the quest -- neil
-
-01/01/2004
-[I]- Pressing Escape gets you out of the pet dismissal list -- neil
-
-03/01/2004
-[B]- Automatizer now accepts TV_TOTEM -- neil
-
-08/01/2004
-[m]- Helpfiles: bearform combat help, music typos, barbarian revisions.
- -- fearoffours
-[B]- Some vaults incorrectly named -- fearoffours
-
-15/01/2004
-[B]- Wight quest crash fix by 'amaurea' -- neil
-
-16/01/2004
-[B]- God choosen at random was broken -- masmarangio
-
-18/01/2004
-[B]- Typo in q_one.c (or -> of)
-
-20/01/2004
-[B]- Don't use a turn when cancelling a possessor action -- neil
-
-21/01/2004
-[B] - summon_true crashed the game with a summon skill < 1 -- masmarangio
-[B] - test_object_wish: aware status is saved and restored -- masmarangio
-
-27/01/2004
-[m] - Typos in the description of arrows, shots, bolts; punctuation in the
- mushroom quest -- masmarangio
-
-30/01/2004
-[m]- HOOK_CALC_BONUS_END hooks
-
-06/02/2004
-[m]- Helpfiles: corrected starting equipment of mindcrafters -- masmarangio
-
-07/02/2004
-[m] - Backport of old helpfile updates: no Geomancy for Alchemists and Rune-
- crafters, updated luck spoiler, corruption spoiler in crpt_aux.lua, a
- link in skills.txt, an example in automatizer.txt.
- monsters3.c: changed 'golem' to 'creature', since the Mind Steal Spell
- also allows to control a monster. -- masmarangio
-
-[m]- Typo (massage -> message) from the forum -- masmarangio
-[m]- Capitalisation in the names of junkarts -- masmarangio
-
-13/02/2004
-[m]- mindcraft_info: Corrected and expanded the info for mindcraft powers
- -- masmarangio
-[m]- Small corrections in luck spoiler, description of Manwe's Blessing and
- m_mimic.txt -- masmarangio
-
-19/02/2004
-[B]- God quest will no longer give inaccurate or misleading directions. It
- also will now give directions from two static features, and an
- approximate, relative distance from each of those points.
- -- fearoffours
-
-[V] T.o.M.E 2.2.6 "Won't Get Fooled Again"
-
-27/02/2004
-[m]- Missing space in the description of Vecna -- masmarangio
-
-12/03/2004
-[B]- Eating some corpses produced a division by 0 error -- masmarangio
-
-15/03/2004
-[B]- Wearing an item of life (-100%) reduced the mhp to 0, causing a
- division by 0 error in cave.c -- masmarangio
-
-16/03/2004
-[B]- Corrected the spell selection for monsters:
- defines.h: Added RF6_S_ANIMALS in RF6_SUMMON_MASK.
- melee2.c: Updated comments in monst_spell_monst and make_attack_spell.
- Removed the spells RF4_MULTIPLY, RF4_S_ANIMAL, RF5_SCARE from spell_attack.
- Corrected the spell numbers of RF6_TELE_AWAY and RF6_TELE_LEVEL in
- spell_escape (formerly RF6_DARKNESS and RF6_TRAPS were used).
- Corrected the spell numbers of RF6_TELE_TO, RF6_DARKNESS, RF6_TRAPS,
- RF6_FORGET in spell_annoy (formerly RF6_RAISE_DEAD, RF6_S_BUG, RF6_S_RNG
- were used).
- Added RF4_S_ANIMAL and RF6_S_ANIMALS and limited the spell number to
- 160 + 31 in spell_summon. -- masmarangio
-
-18/03/2004
-[O]- The activation of an items with the ACTIVATE_NO_WIELD flag is described
- without the line "if it is being worn. " -- masmarangio
-[B]- Barad-dur doesn't exist, it is still Mordor. Corrected god quest directions
- to reflect this. -- fearoffours
-
-20/03/2004
-[m]- Corrected some typos (mostly from the forum, thanks to Carg85)
- s_yavann.lua: spell 'grow grass' description: 'a grass' -> on grass
- q_haunted.c: cave -> building
- a_info.txt: some missing spaces in the description of artifact bolts
- corrupt.lua, corspoil.txt: 'teeth allows' -> 'teeth allow'
- k_info.txt: missing space (Golden Horn of the Thunderlords)
- s_stick.lua: 'a thunderlords' -> 'a thunderlord'
- d_info.txt: 'the the land of Rhun' -> 'the land of Rhun'
- -- masmarangio
-
-23/03/2004
-[B]- Fixed the speed of Bearform combat -- masmarangio
-[m]- Updated luck spoiler -- masmarangio
-
-26/03/2004
-[B]- Fix for Flame Imperishable from the forum -- masmarangio
-[B]- You should now receieve a message about failing the god quest at the
- correct moment, and not when in a random dungeon. -- fearoffours
-[m]- The Old Mage's quest will erase from your quest screen when fully rewarded.
- -- fearoffours
-
-29/03/2004
-[B]- Further measures taken to ensure god quest relic is created appropriately.
- -- fearoffours
-[B]- Scumming for god quests (by losing and regaining xp) is now prevented.
- -- fearoffours
-
-02/04/2004
-[m]- Backport of mostly old helpfile updates: wrong school in m_divin.txt,
- comments in spells.lua, deleted hint about shoes in r_hobbit.txt,
- ability.txt, ab_info.txt: updated Ammo-creation and Far-reaching attack,
- c_axemas.txt: starting weapon is a hatchet,
- magic.txt, skills.txt: Updated schools improved by Spell-power,
- corspoil.txt: Updated the info about permanent corruptions,
- birth.txt: removed corrupted subrace, vampires are a normal subrace,
- m_air.txt: Updated description of Noxious Cloud -- masmarangio
-
-03/04/2004
-[B]- Fixed device trapkits loaded with rods -- masmarangio
-
-05/04/2004
-[B]- Exploding ammo used in trapkits will explode after hitting a monster.
- -- masmarangio
-[m]- Corrected Alchemist, Assassin, Axemaster, Rogue helpfiles -- masmarangio
-
-08/04/2004
-[B]- Mage staves were without the WIELD_CAST flag -- masmarangio
-
-09/04/2004
-[G]- No more nuke traps -- neil
-
-21/04/2004
-[m]- skills.txt: Corrected information about Spell-power -- masmarangio
-
-02/05/2004
-[B]- Between quest crash fix, also for Thieves and Trolls quests -- masmarangio
-
-07/05/2004
-[m]- Capitalisation: Metal Boomerang, Lay of Protection.
- r_pettyd.txt: magic items -> magically enchanted items -- masmarangio
-
-08/05/2004
-[B]- god.lua: The relic could be created in a wrong position -- masmarangio
-
-09/05/2004
-[O]- object1.c: Added descriptions for SENS_FIRE (thanks to Scott Bigham)
- and IMMOVABLE, removed IM_NETHER from the resistances -- masmarangio
-
-10/05/2004
-[m]- bounty.lua: Added a period -- masmarangio
-[B]- cmd7.c: Preserve the spell stored in random spellbooks --masmarangio
-[O]- Show "to damage" and "to accuracy" messages for yet more confusing items
- -- neil
-
-11/05/2004
-[B]- xtra1.c: Lucky characters (current luck > 0) don't get death fates;
- fixed a typo in luckspoi.txt (from the forum) -- masmarangio
-[m]- spells2.c: Typo (vulerable -> vulnerable) -- masmarangio
-
-13/05/2004
-[m]- skills.txt: Fixed broken link -- masmarangio
-[B]- generate.c: Fixed arena levels by refilling the level -- masmarangio
-
-14/05/2004
-[m]- Added new help file for the debug commands -- iain_mac
-
-26/05/2004
-[B]- Correctly cap the spell levels of wands (patch by 'Sumendar') -- neil
-
-[V] T.o.M.E 2.2.7 aka "Stoke Me A Clipper"
-
-04/06/2004
-[P]- Class no longer influences the internal Angband 'skills' of Disarming,
- Magic Devices, Saving Throw, Stealth, Searching, Perception, Hand-to-Hand
- combat, Missile Combat, and Throwing. ToME skills instead have the same
- effect for all classes. -- neil
-
-05/06/2004
-[G]- Added the new Mimic shapes and updated the old ones -- masmarangio
-
-07/06/2004
-[G]- Destroying items manually now takes no time -- neil
-
-10/06/2004
-[B]- dungeon.c: Light should consume fuel at a rate of 1 / turn -- masmarangio
-
-11/06/2004
-[P]- Water Bite no longer has a damage cap -- neil
-
-12/06/2004
-[B]- A store (e.g. the mathom house) can contain up to 255 items (in defines.h
- STORE_INVEN_MAX limited the number of items to 24) (Note: the limit is
- stored in a byte in loadsaves.c) -- masmarangio
-
-21/06/2004
-[m]- a_info.txt: Updated names of artifacts in the comments -- masmarangio
-
-23/06/2004
-[m]- object.pkg: Added psychometry() for easier mindcraft testing.
-
-24/06/2004
-[m]- birth.txt, index.txt : Corrected and added abbreviations
- gen_idx.lua: removed non-existent file and sorted file list
-[G]- Added the spell Sterilize and Staves of Sterilization from ToME 3.0.0.
-[D]- Added the first new special level from ToME 3.0.0, Galleon in Helcaraxe
- -- masmarangio
-
-02/07/2004
-[D]- Added the special level Factory in the Illusory Castle -- masmarangio
-
-04/07/2004
-[G]- Added the spell Inertia Control from ToME 3.0.0 -- masmarangio
-
-05/072004
-[m]- Updated luckspoiler -- masmarangio
-
-09/07/2004
-[m]- Typo in s_fire.lua, from the wiki -- masmarangio
-[m]- rm_skeleton.txt, rm_zombie.txt: They cannot restore life force, and zombies
- are not resistant to nether -- masmarangio
-
-19/07/2004
-[P]- Except for infravision, all innate class or racial effects on skills are
- gone. All skills have equal effect for all classes, and races now give
- starting skill bonuses. -- Neil
-
-22/07/2004
-[B]- s_meta.lua: Inertia controlled spells are not casted in wilderness mode.
- s_mana.lua: Inertia level of Disruption Shield is 9 (needed spell level 45)
- m_meta.txt: Added a list of controllable spells -- masmarangio
-
-24/07/2004
-[P]- Mages are more geared toward a mix of Magic and Combat, while Sorcerors
- have more options than pure Sorcery -- Neil
-
-26/07/2004
-[B]- p_info.txt: Archers and Rangers gain the missing Spirituality skill
- p_info.txt: Removed the old Mimic Cloak (new cloak in player.lua)
-[m]- Helpfile updates for all character classes. -- masmarangio
-
-30/07/2004
-[B]- p_info.txt: Thunderlords start with Stealth -16.000 (from the wiki)
-[B]- cmd7.c: Fixed Alchemy recharging bug (thanks to Scott)
-[B]- al_info.txt: Removed the old Mimic Potions -- masmarangio
-[m]- util.pkg: Added lite_spot() and note_spot() for modules -- masmarangio
-
-31/07/2004
-[B]- monspeak.txt: Added some lines for Groo to fix a bug -- masmarangio
-[B]- files.c: Corrected display of Climb flag, immunity to Nether, negative
- pvals < -9. Added Sentient, Clone, Spider ESP flags. -- masmarangio
-
-02/08/2004
-[m]- g_melkor.txt: Added fire resistance for worshippers of Melkor
-[B]- files.c: Added flags from the gods and spell schools to the character
- screen. Added also flags from wielded symbiotes. -- masmarangio
-
-04/08/2004
-[m]- p_info.txt: Removed the useless skill Prayer for Maiar -- masmarangio
-[B]- cmd4.c: Quest list without random quests in DL > 98 -- masmarangio
-
-19/08/2004
-[m]- help file documentation restructuring, copying appropriate rewrites from
- wiki. -- fearoffours
-
-20/08/2004
-[B]- randart.c: An item with pval > 0 (e.g. an Elven Cloak) can gain parts
- with a max_pval = 0 (e.g. resistances and immunities) -- masmarangio
-
-24/08/2004
-[m]- Various minor changes to helpfiles, reflecting current changes to
- documentaiton on the wiki. --fearoffours
-
-28/08/2004
-[O]- Removed portable holes as have been useless for as long as merchants have
- been removed from game. --fearoffours
-
-30/08/2004
-[m]- k_info.txt: Fixed name of the commented out portable holes -- masmarangio
-
-14/09/2004
-[m]- Fixed some typographical errors, mostly from the wiki:
- cmd1.c: [The monster] fall -> falls, deleted space (Bug # 80 from the wiki)
- k_info.txt: Added & for Climbing sets (Bug # 81 from the wiki)
- q_one.c: You felt -> You fell (Bug # 94 from the wiki)
- monster2.c: It tries to breed but he fails: he -> it (Bug # 98 from the wiki)
- bldg.c: Changed wording of the soothsayer (Bug # 106 from the wiki)
- tables.c: Minor changes in the One Ring quest (Bug # 117 from the wiki)
- q_invas.c: jumps out of the between -> appears, deleted spaces,
- added single quotes in direct speech (Bug # 119 from the wiki)
- q_between.c: Deleted space, changed comments -- masmarangio
-
-20/09/2004
-[m]- book-4.txt: Capitalised 'Ring' (Bug # 135 from the wiki) -- masmarangio
-[B]- ow_info.txt: missing C: lines reduced the purse to 0 -- masmarangio
-[B]- object1.c: don't wield bolts with instruments and pebbles with boomerangs
- (Bug # 127 from the wiki) -- masmarangio
-
-21/09/2004
-[B]- object1.c: mention_use and describe_use list all available slots, check all
- weapon weights and distinguish between instruments and bows (Bug # 87)
- object1.c: Res Chaos implies Res Confusion (for the character screen)
- xtra1.c: Magical breath implies Water breath (from the wiki) -- masmarangio
-
-23/09/2004
-[B]- Z and Cth monster options removed, as in ToME 3. This fixes, among other
- things, the Death Orb issues. -- neil
-
-24/09/2004
-[m]- options.txt: Also removed the options from the help file -- masmarangio
-[B]- a_info.txt: Corrected two typos (Bugs # 140, 146 from the wiki)
- k_info.txt: Changed description of Bastard Sword, added RES_CHAOS to the
- known flags of a Blade of Chaos (it's mentioned in the description)
- files.c: Terminated highscore strings with \0, changed total_points
- slightly to prevent an overflow error (Bug # 139 from the wiki)
- v_info.txt: Corrected the x size of vault 99 and 104 -- masmarangio
-
-28/09/2004
-[D]- dungeon.c: Level of the Death dungeon is the minimum level from d_info.txt
-[B]- dungeon.c: Set dungeon_type to wilderness when recalling out. This should
- fix the various Moria recalling bugs (Bug # 95)
-[m]- cmd6.c: replaced the recall activation code by recall_player -- masmarangio
-[m]- monster1.c: missing spaces in description (Bug # 169) -- masmarangio
-
-
-29/09/2004
-[m]- Modules need to define three new variables to control the chance or
- random artifact generation. random_artifact_weapon_chance,
- random_artifact_armor_chance, random_artifact_jewelry_chance control
- the chance for different types of items. -- neil
-
-30/09/2004
-[B]- spells2.c: Redraw trap status after passwall (Bug # 51)
- store.c: Removed '))' when displaying a large store -- masmarangio
-
-01/10/2004
-[m]- mods_aux.lua: Added default values for random artifact generation;
- updated the skill values -- masmarangio
-
-02/10/2004
-[B]- al_info.txt: removed recipe for Scroll of Spell (Bug # 179), added recipe
- for Staff of Sterilisation (Bug # 77) -- masmarangio
-[m]- cmd6.c: protect evil -> protection from evil, s_stick.lua: town -> surface
- q_betwen.c, q_invas.c: speak -> speaks (from the forum) -- masmarangio
-
-03/10/2004
-[m]- tr_info.txt: Spelling of Lite (Bug # 182), Armor, Paralyzing -- masmarangio
-[B]- cmd6.c: Added timeout for junkarts in the activation description (ugly fix)
- tables.c: Replaced ACT_CURE_POISON by not used ACT_CURE_POIS -- masmarangio
-[B]- Once a god quest is failed, you will not receive any more god quests.
- -- fearoffours
-[m]- The (Ctrl-Q) Quest screen now shows which number god quest you have been given
- and an additional line in your character dump shows how many have been
- successfully completed. -- fearoffours
-[m]- Help updates from the wiki - lots of it Maylith's work, esp FAQ updates.
- -- fearoffours
-
-04/10/2004
-[m]- Corrected the description of the Disarm, Call the Elements and Channel
- Elements spells (without changing the code) (Bug # 175) -- masmarangio
-
-08/10/2004
-[B]- bldg.c: Research item (Bug # 191) and research monster are now paid
- correctly -- masmarangio
-[B]- spells2.c: Diggers cannot be enchanted with scrolls -- masmarangio
-[m]- tome-faq.txt, index.txt: Typo (Bug # 196) -- masmarangio
-
-10/10/2004
-[m]- s_info.txt: Antimagic: generates -> generate (Bug # 198) -- masmarangio
-[B]- files.c: Fixed displayed barehanded damage (Patch from Scott, Bug # 195)
- -- masmarangio
-
-11/10/2004
-[m]- powers.c: replaced the recall power code by recall_player
- q_troll.c: Fixed typos from the wiki (Bug # 208) -- masmarangio
-
-12/10/2004
-[m]- tables.c: Removed harpers and some other small changes (Bug # 212)
- cmd6.c: Added "and" in the description of ACT_ROHAN (Bug # 213)
- -- masmarangio
-
-13/10/2004
-[m]- m_demono.txt, s_demon.lua: armor -> armour class (Bug # 217)
-[O]- k_info.txt: Changed comments and descriptions of the items, mostly from
- the wiki (Bug # 176) and added missing descriptions (IdeaArchive)
- Added article (&) in the name of armours (Bug # 81),
- The spelling of some item names was changed: Scroll of Enchant Armour,
- *Enchant Armour*, Curse Armour, Summon Monsters, Basilard
- Added COULD2H to the Claymore and MUST2H to the Espadon.
-[m]- dun3.18: description of DimGates: fills -> fill (Bug # 223)
- -- masmarangio
-
-15/10/2004
-[B]- files.c: Remove / restore CAVE_VIEW before / after saving the game.
- This solves a long standing bug with the lighting of the dungeon
- since the temporary arrays that hold the position of the viewed
- grids are not stored in the save file (Bug # 19). -- masmarangio
-
-16/10/2004
-[m]- init1.c: The parser adds missing spaces at the end of the
- description of artifacts, like it did for objects. -- masmarangio
-[m]- Race, class and race modifier help files updates to reflect changes
- in skill bonuses. -- fearoffours
-
-18/10/2004
- Some changes to random artifact and scrolls of artifact creation
- (See Bugs # 206, 222, 226 on the wiki):
-[m]- externs.h: Moved some functions listed under spells2.c to proper sections
-[m]- k_info.txt: Added "mundane" to the description of the scroll
-[B]- cmd6.c: the selection of artifactable items can be escaped now
- randart.c: *ID* the object before listing the powers, some re-ordering
-[B]- spells2.c: Re-add diggers to item_tester_artifactable, and limit the
- selection to normal items due to complains (no ego items or artifacts)
-[O]- ra_info.txt: Added a STR-increasing part without combat bonuses for diggers
-[B]- ra_info.txt: Fixed two W-lines with 4 entries and added a missing C-line
-[O]- e_info.txt: Diggers cannot be of Earthquakes anymore (there are combat boni
- involved) - perhaps an own ego type should be added... -- masmarangio
-[m]- q_ultrag.c: Quest texts changed as reported in Bug # 210 -- masmarangio
-
-23/10/2004
-[B]- k_info.txt: Reduced throwing damage of totems to 1 -- masmarangio
-
-25/10/2004
-[P]- Priests disarm as well as Warriors do now -- neil
-[B]- st_info.txt: Fixed the changed item names in the stores (StatusReport3)
-[m]- spells.lua: Sorted the Conveyance spells by level (Bug # 233)
- -- masmarangio
-[m]- Helpfiles reflect changes to skills (priest disarming and racial
- spirituality update). -- fearoffours
-
-01/11/2004
-[m]- library.lua: Added OBJ_FOUND_REWARD to the tome (Bug # 237) -- masmarangio
-
-13/11/2004
-[B]- Fix for disappearing artifacts (especially guardian artifacts) during load / save
- thanks to SimonSorc
-
-17/11/2004
-[O]- No more blessed boomerangs -- neil
-
-[V] T.o.M.E 2.3.0 aka "One more try to get Mages working"
-
-10/12/2004
-[B]- Fix loading and saving of skills, I hope. Unfortunately this breaks save
- compatiability, though. The saves must be deleted again. -- Neil
-
-29/12/2004
-[B]- Fix negative skills -- Neil
-[B]- Don't use weaponmastery combat when weaponmastery skill is negative -- Neil
-
-[V] T.o.M.E 2.3.1 aka "2.3.0.1"
-
-2005/05/19
-[I]- If easy_disarm is off, don't trigger known traps while walking normally.
- Added a new extended command "blunder" to let players trigger traps on
- purpose. -- gwooledge
-[I]- Lots of documentation, spelling and grammar fixes, including:
- * the now-outdated race/class ability tables, replaced with skill tables
- * the missing documentation for the set of extended commands
- * far too many others to mention here
- -- gwooledge
-
-2005/05/20
-[I]- Added sanity and speed to the character screen (and hence the text dump).
- Consolidated HP and SP into one line to make room. -- gwooledge
-
-2005/05/21
-[B]- Don't allow trap doors on quest levels or on chests. -- gwooledge
-[I]- Allow shopping to use the correct keys in roguelike mode. -- gwooledge
-
-2005/05/22
-[B]- Update view after high-powered globe of light. -- gwooledge
-
-2005/05/26
-[I]- Push a certain potion type a little deeper into the dungeon -- Neil
-[I]- Make piety display light blue when praying, to make it easier to tell
- when you're praying. -- gwooledge
-
-2005/06/02
-[I]- Don't display ordinary resists when there's also an immunity to the same
- element, in an object description. -- gwooledge
-[B]- Don't allow use of stairs (any < or > movement command) while rooted
- to the floor (by the Yavanna spell). -- gwooledge
-
-2005/06/04
-[I]- Display the (colored) character for uniques in the Known Uniques list (~2).
- -- gwooledge
-
-2005/06/05
-[I]- Add "Check abilities" extended command/macro. This gives roguelike keyset
- players a way to access the ability screen other than "\N", although it's
- still one more keystroke than "\N" is.... -- gwooledge
-
-2005/06/11
-[B]- Try again to keep traps from wrecking a certain plot element -- Neil
-
-2005/06/18
-[B]- Fix module file handling for multi-user installs. Now character sheets,
- automatizer file, and the rest will be read and written in
- ~/.tome/2.3/modulename as they should. -- Neil
-
-2005/06/19
-[B]- Try harder to save persistent levels when recalling out -- Neil
-[B]- Fix all sub-racial skill bonuses, along with Maia racial skill bonuses
- -- Neil
-[O]- Prevent random artifact bolts from giving extra blows -- Neil
-
-2005/06/21
-[O]- Correct the types of certain artifact trap sets to match their weights
- and descriptions. -- gwooledge
-
-2005/07/13
-[I]- Clean up some offensive messages, patch courtesy of 'The Fury' -- Neil
-
-2005/07/14
-[I]- Include the resistances grid on character sheets dumped on death.
- This makes them consistent with the ones generated before death, and
- is more informative and useful for post mortem analyses. -- gwooledge
-
-2005/07/15
-[P]- Warriors no longer get a secret special three bonus blows spread over the
- 50 character levels. The three blows are now tied to Weaponmastery.
-
- Module authors should adjust accordingly, or their warriors may get three
- blows they didn't have before. -- Neil
-
-2005/07/16
-[O]- Potions of Cure Insanity were too cheap. -- gwooledge
-
-2005/07/24
-[I]- Examining a totem will recall the monster it summons -- Neil
-[I]- Examining a corpse will recall the monster it was -- Neil
-
-2005/07/27
-[V] T.o.M.E 2.3.2 aka "Unrealized Reality"
-
-28/07/2005
-[G]- Lost sword quest rewards always give a minimum skill modifier of 0.3.
- -- gwooledge
-
-29/07/2005
-[D]- Edit one vault to open up some inaccessible rooms -- Neil
-
-11/08/2005
-[B]- Alchemy: disallow repowering double-ego items, unless the character has
- the artifact creation ability. Based on patch by Andrey Egoshin.
- -- gwooledge
-[B]- Lost sword quest skill reward probabilities were computed incorrectly.
- Fix suggested by Dan Rosenberry. -- gwooledge
-[I]- Miscellaneous documentation, spelling and grammar fixes. -- gwooledge
-
-12/08/2005
-[B]- Don't let a player trick the Valar by getting drained and re-gaining
- levels -- Neil
-[I]- Update AC display after fixing armor in the buildings. -- gwooledge
-
-16/08/2005
-[B]- Don't allow Runecraft and Thaumaturgy spells to go explode inside walls
- and seep through -- Neil
-
-17/08/2005
-[I]- Fix damage display for Thaumaturgy ball spells. -- gwooledge
-[O]- Removed pointless slays, brands, and bonuses on Pick of Erebor -- Neil
-
-19/08/2005
-[B]- When consuming magic essences, don't stop prematurely. Based on patch
- by Andrey Egoshin. -- gwooledge
-
-30/08/2005
-[B]- Upkeep cost for partial summons was not always charged. -- gwooledge
-
-05/09/2005
-[B]- Some staves were being generated with the wrong tval, causing several bugs
- including (but not limited to) staves being unrechargeable. -- gwooledge
-
-11/09/2005
-[B]- Saving throw was not calculated correctly. -- gwooledge
-
-14/09/2005
-[P]- All new partial summon upkeep formula -- neil
-
-26/09/2005
-[B]- Disallow negative experience alchemy abuses. Based on patch by Andrey
- Egoshin. -- gwooledge
-[O]- When examining books, demonology equipment and instruments in stores, show
- both the object's powers and its spells. -- gwooledge
-[B]- Nonliving and undead pets won't be angered by lack of breathable air.
- -- gwooledge
-[D]- A certain early trap should be less deadly (and appear a bit later).
- -- gwooledge
-[I]- Honor exp_need option when displaying object experience. -- gwooledge
-
-27/09/2005
-[I]- Restored and updated some missing help files. -- gwooledge
-[G]- (Mass) Genocide damage is applied all at once to avoid bug #228.
- -- gwooledge
-
-28/09/2005
-[B]- Don't use the "POSIX" setuid calls on Mac OS X, as they apparently break
- compilation -- neil
-
-29/09/2005
-[O]- Junk should stack just like skeletons. Patch by StarweaverBlue.
- -- gwooledge
-[M]- Kavlax should be many-headed. -- gwooledge
-
-14/10/2005
-[B]- Certain monster spells were hard-coded for the wrong number of equipment
- slots. -- gwooledge
-
-18/10/2005
-[B]- Incorrect operator used in cave generation code. Effect unknown, but it
- *might* possibly fix some of the Orc cave crashes.-- gwooledge
-
-26/10/2005
-[M]- Regular (non-Joke, non-Cth, non-Z) monsters should not breathe nuke,
- because it has a side effect we don't want in ToME -- Neil
-
-29/10/2005
-[O]- Mac OS X builds now put all the game data into the bundle, storing all
- user data in the user's Library (some preferences in
- Library/Preferences/net.t-o-m-e.tome.plist, the rest in
- Library/Application Support/ToME. -- Neil
-
-16/11/2005
-[I]- Handling of Command key modified in Mac OS X UI. It should be accessible
- in macros now if it wasn't before -- Neil
-
-26/11/2005
-[B]- Don't allow uniques or quest monsters to just disappear to the move of
- another monster -- Neil
-
-14/12/2005 - ToME 2.3.3 "Realized Unreality"
-
-15/10/2006
-[B]- Remove buggy trap of Stair Movement -- Neil
-
-12/12/2005
-[B]- Fix typo in one monster's flags - Iain
-
-31/1/2005
-[I]- Fix window position saving on Mac OS, patch by John Love-Jensen
- -- Neil
-
-19/2/2005
-[B]- Fix word wrapping in character sheet, patch from "ZizzoTheInfinite"
- -- Neil
-
-[V] T.o.M.E 2.3.4 aka "An Unexpected Party"
diff --git a/lib/edit/a_info.txt b/lib/edit/a_info.txt
index 427d5060..60ce6008 100644
--- a/lib/edit/a_info.txt
+++ b/lib/edit/a_info.txt
@@ -38,7 +38,7 @@ W:20:10:10:10000
P:0:1d1:0:0:0
F:ACTIVATE | SEARCH | LITE3 | LUCK
F:INSTA_ART | HIDE_TYPE
-a:HARDCORE=LIGHT
+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.
@@ -51,7 +51,7 @@ 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
+a:MAP_LIGHT
Z:detect curses
D:The shining Star of the West, a famed heirloom of Elendil's house.
@@ -65,7 +65,7 @@ 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
+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.
@@ -79,7 +79,7 @@ W:50:10:3:60000
F:CON | HIDE_TYPE |
F:ACTIVATE | RES_FIRE |
F:INSTA_ART
-a:HARDCORE=PROT_EVIL
+a:PROT_EVIL
D:A fiery circle of bronze, with mighty spells to ward off evil.
@@ -92,7 +92,7 @@ F:INT | WIS | CHR | SEARCH | INFRA | HIDE_TYPE |
F:SEE_INVIS | FREE_ACT | ACTIVATE |
F:RES_ACID | RES_COLD | RES_ELEC |
F:INSTA_ART
-a:HARDCORE=DISP_EVIL
+a:DISP_EVIL
D:The ancient heirloom of Ingwe, high lord of the Vanyar, against whom nothing
D:of evil could stand.
@@ -120,7 +120,7 @@ F:STR | CON | CHR | HIDE_TYPE |
F:IM_FIRE | ACTIVATE | SEARCH |
F:ESP_THUNDERLORD | SEE_INVIS | FLY |
F:INSTA_ART
-a:HARDCORE=DIM_DOOR
+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
@@ -136,7 +136,7 @@ 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:INSTA_ART
-a:HARDCORE=BARAHIR
+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.
@@ -149,7 +149,7 @@ W:70:50:2:175000
F:STR | DEX | CON | HIDE_TYPE |
F:ACTIVATE | SPEED | ESP_EVIL |
F:INSTA_ART
-a:HARDCORE=TULKAS
+a:TULKAS
D:The treasure of Tulkas, most fleet and wrathful of the Valar.
@@ -164,7 +164,7 @@ 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:INSTA_ART
-a:HARDCORE=NARYA
+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.
@@ -181,7 +181,7 @@ F:ACTIVATE | HOLD_LIFE | FREE_ACT | SEE_INVIS |
F:SUST_INT | SUST_WIS | SUST_CHR |
F:IM_COLD | RES_BLIND | STEALTH | ESP_ALL |
F:INSTA_ART
-a:HARDCORE=NENYA
+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.
@@ -199,7 +199,7 @@ F:FEATHER | SLOW_DIGEST | REGEN |
F:SUST_STR | SUST_DEX | SUST_CON |
F:IM_ELEC | RES_POIS | RES_DISEN |
F:INSTA_ART
-a:HARDCORE=VILYA
+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
@@ -221,7 +221,7 @@ 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:INSTA_ART
-a:HARDCORE=POWER
+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,
@@ -252,7 +252,7 @@ W:15:12:15:20000
P:0:1d1:0:0:0
F:ACTIVATE | SPECIAL_GENE | EASY_USE | LITE1 |
F:INSTA_ART
-a:HARDCORE=STONE_LORE
+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.
@@ -267,7 +267,7 @@ 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
+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.
@@ -286,7 +286,7 @@ 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
+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.
@@ -314,7 +314,7 @@ 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
+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.
@@ -357,7 +357,7 @@ 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
+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.
@@ -372,7 +372,7 @@ 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
+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.
@@ -399,7 +399,7 @@ 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
+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.
@@ -509,7 +509,7 @@ F:STR | CON | HIDE_TYPE | BRAND_ACID | RES_ACID | LITE1 | DRAIN_MANA |
F:SLAY_ORC | KILL_DEMON | SLAY_TROLL | ACTIVATE | SHOW_MODS
F:MUST2H
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.
@@ -593,7 +593,7 @@ 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
+a:GORLIM
D:The legendary dragon helm of Turin Turambar, an object of dread to the
D:servants of Morgoth.
@@ -605,7 +605,7 @@ 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
+a:DETECT_ALL
D:A famous helm of forged iron granting extraordinary powers of mind and
D:awareness.
@@ -621,7 +621,7 @@ 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
+a:GORLIM
D:A headpiece, gaudy and barbaric, that betrayed a warrior when he most
D:needed succor.
@@ -635,7 +635,7 @@ 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
+a:CURE_700
D:The shining winged circlet brought by Elendil from dying Numenor, emblem of
D:Gondor through an age of the world.
@@ -651,7 +651,7 @@ 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
+a:NUMENOR
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
@@ -665,7 +665,7 @@ 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
+a:COLLUIN
D:A cape worn by a hero from Valinor, a land utterly beyond the strife
D:of Elements.
@@ -678,7 +678,7 @@ 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
+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.
@@ -692,7 +692,7 @@ 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
+a:RECHARGE
D:A sable-hued cloak, with glowing elven-runes to restore magic showing calm
D:and clear as moonlight on still water.
@@ -717,7 +717,7 @@ W:5:20:10:11000
P:1:0d0:0:0:15
F:STEALTH | SPEED | RES_NEXUS |
F:RES_ACID | ACTIVATE
-a:HARDCORE=TELEPORT
+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.
@@ -731,7 +731,7 @@ 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
+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
@@ -780,7 +780,7 @@ W:10:3:5:30000
P:1:0d0:0:0:10
F:FREE_ACT | RES_LITE | SUST_CON | LITE1 | ACTIVATE
F:SPECIAL_GENE
-a:HARDCORE=BO_MISS_1
+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.
@@ -792,7 +792,7 @@ 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
+a:BO_FIRE_1
D:A fiery set of gauntlets that can even shoot fire from the user's
D:hands.
@@ -805,7 +805,7 @@ 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
+a:BO_COLD_1
D:A set of handgear so icy as to be able to fire frost bolts.
@@ -816,7 +816,7 @@ 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
+a:BO_ELEC_1
D:A set of handgear with sparks surrounding it, able to fire
D:bolts of electricity.
@@ -828,7 +828,7 @@ 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
+a:BO_ACID_1
D:A set of handgear so corrosive that it may fire bolts of acid.
@@ -853,7 +853,7 @@ 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
+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.
@@ -867,7 +867,7 @@ W:40:120:40:300000
P:3:1d1:0:0:20
F:SPEED | HIDE_TYPE |
F:RES_NEXUS | ACTIVATE
-a:HARDCORE=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.
@@ -882,7 +882,7 @@ 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
+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.
@@ -952,7 +952,7 @@ 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
+a:BO_FIRE_1
D:A fiery dagger finely balanced for deadly throws.
@@ -963,7 +963,7 @@ 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
+a:BO_COLD_1
D:A frosty dagger finely balanced for deadly throws.
@@ -974,7 +974,7 @@ 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
+a:BO_ELEC_1
D:A dagger covered in sparks and finely balanced for deadly throws.
@@ -985,7 +985,7 @@ 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
+a:BA_POIS_1
D:A large stiletto dagger that glistens with odourless poison, to which the
D:wearer seems oddly immune.
@@ -1000,7 +1000,7 @@ 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
+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.
@@ -1182,7 +1182,7 @@ 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
+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.
@@ -1198,7 +1198,7 @@ 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
+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
@@ -1333,7 +1333,7 @@ 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
+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.
@@ -1394,7 +1394,7 @@ 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
+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.
@@ -1412,7 +1412,7 @@ 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
+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.
@@ -1472,7 +1472,7 @@ 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
+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.
@@ -1502,7 +1502,7 @@ 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
+a:CURE_MW
D:A superbly crafted double-bladed axe that slays the creatures of earth and
D:allows rapid recovery from their blows.
@@ -1564,7 +1564,7 @@ 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
+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.
@@ -1581,7 +1581,7 @@ F:BRAND_COLD | BRAND_FIRE | FREE_ACT | RES_FIRE | RES_COLD |
F:RES_LITE | SEE_INVIS | ACTIVATE | SHOW_MODS
F:COULD2H
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.
@@ -1596,7 +1596,7 @@ 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
+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...
@@ -1614,7 +1614,7 @@ F:RES_COLD | SEE_INVIS | ESP_ALL | AGGRAVATE | SHOW_MODS | INSTA_ART |
F:LEVELS | ACTIVATE | SPECIAL_GENE
F:MUST2H
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.
@@ -1630,7 +1630,7 @@ F:SLAY_EVIL | BRAND_FIRE | RES_FIRE | RES_CONF | ACTIVATE |
F:SHOW_MODS | LITE1
F:COULD2H
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.
@@ -1671,7 +1671,7 @@ 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
+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.
@@ -1685,7 +1685,7 @@ P:0:3d4:12:12:0
F:KILL_DRAGON | BRAND_ELEC | IM_ELEC | ACTIVATE | SHOW_MODS
F:COULD2H
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.
@@ -1730,7 +1730,7 @@ 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
+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.
@@ -1744,7 +1744,7 @@ 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
+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.
@@ -1780,7 +1780,7 @@ F:BRAND_COLD | SLAY_ORC | RES_COLD | RES_LITE | REGEN |
F:ACTIVATE | SHOW_MODS | ESP_ORC | ESP_TROLL | ESP_GIANT
F:COULD2H
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.
@@ -1833,7 +1833,7 @@ W:50:25:110:50000
P:0:0d0:10:14:0
F:SPEED | HIDE_TYPE |
F:RES_FIRE | ACTIVATE | SHOW_MODS
-a:HARDCORE=CUBRAGOL
+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.
@@ -1852,7 +1852,7 @@ F:SEE_INVIS | ESP_EVIL | ESP_DEMON | NEVER_BLOW | INFRA
F:PRECOGNITION | IM_FIRE | ULTIMATE | SPELL_CONTAIN | WIELD_CAST
F:COULD2H
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.
@@ -1992,7 +1992,7 @@ 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
+a:EREBOR
D:A pick that provides a magical light by which to see while tunnelling.
@@ -2003,7 +2003,7 @@ 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
+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.
@@ -2016,7 +2016,7 @@ 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
+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.
@@ -2029,7 +2029,7 @@ 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
+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.
@@ -2042,7 +2042,7 @@ 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
+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
@@ -2056,7 +2056,7 @@ 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
+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.
@@ -2085,7 +2085,7 @@ 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
+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.
@@ -2111,7 +2111,7 @@ 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
+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
@@ -2210,7 +2210,7 @@ P:0:2d7:20:14:0
F:DEX | SEARCH | SLAY_ORC | ACTIVATE | HIDE_TYPE | SHOW_MODS
F:COULD2H
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.
@@ -2223,7 +2223,7 @@ 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
+a:NIGHT
D:Found on an unmarked grave after a violent storm, this hatchet
D:has a sinister aura of darkness and decay.
@@ -2236,7 +2236,7 @@ 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
+a:NATUREBANE
D:Used by the orcs in their battle at Dagor Bragollach against the elves, this
D:axe has a bloodthirst for nature.
@@ -2261,7 +2261,7 @@ 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
+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.
@@ -2326,8 +2326,8 @@ N:165:'Lebohaum'
I:32:6:0
W:20:15:15:25000
P:20:0d0:0:0:80
-F:ACTIVATE
-a:SPELL=Artifact Lebauhaum
+F:ACTIVATE | EASY_USE
+a:LEBOHAUM
D:With the Helm 'Lebohaum' your head is safe!
@@ -2342,7 +2342,7 @@ 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
+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.
@@ -2354,7 +2354,7 @@ 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
+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.
@@ -2382,7 +2382,7 @@ 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
+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.
@@ -2396,7 +2396,7 @@ 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
+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
@@ -2413,7 +2413,7 @@ 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
+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.
@@ -2459,7 +2459,7 @@ 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
+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.
@@ -2477,7 +2477,7 @@ F:RES_FIRE | RES_ELEC | RES_NETHER | RES_DISEN | HOLD_LIFE |
F:ACTIVATE
F:COULD2H
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.
@@ -2492,7 +2492,7 @@ 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
+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
@@ -2512,7 +2512,7 @@ F:KILL_DRAGON | SLAY_ANIMAL | BRAND_POIS | BRAND_ELEC |
F:ACTIVATE
F:COULD2H
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.
@@ -2525,7 +2525,7 @@ 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
+a:EOL
D:The iron-shod gauntlets of the Dark Elven smith Eol, tingling with magics
D:that he could channel in battle.
@@ -2595,8 +2595,8 @@ 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 | EASY_USE | SHOW_MODS
+a:DURANDIL
D:Don't go adventuring without your Durandil sword!
@@ -2609,7 +2609,7 @@ 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
+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.
@@ -2633,7 +2633,7 @@ 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:INSTA_ART
-a:HARDCORE=PALANTIR
+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
@@ -2702,7 +2702,7 @@ 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
+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.
@@ -2716,7 +2716,7 @@ 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
+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.
@@ -2731,7 +2731,7 @@ 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
+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
diff --git a/lib/edit/ab_info.txt b/lib/edit/ab_info.txt
index 7b9aa152..9e0bd81d 100644
--- a/lib/edit/ab_info.txt
+++ b/lib/edit/ab_info.txt
@@ -22,8 +22,6 @@
# 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 :
@@ -36,9 +34,9 @@ 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
diff --git a/lib/edit/ba_info.txt b/lib/edit/ba_info.txt
index 8156fd2f..38444c13 100644
--- a/lib/edit/ba_info.txt
+++ b/lib/edit/ba_info.txt
@@ -65,10 +65,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
@@ -97,14 +93,6 @@ 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 +153,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 +165,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 +175,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 +223,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/d_info.txt b/lib/edit/d_info.txt
index 59a1e6f2..757d396e 100644
--- a/lib/edit/d_info.txt
+++ b/lib/edit/d_info.txt
@@ -303,7 +303,7 @@ M:ORC | R_CHAR_k | R_CHAR_o | R_CHAR_O
# 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:0:20:140
L:88:100:1:0:1:0
A:97:90:87:10:56:0:57:97
O:40:40:40:40
diff --git a/lib/edit/e_info.txt b/lib/edit/e_info.txt
index f01d8cf7..6c2e585f 100644
--- a/lib/edit/e_info.txt
+++ b/lib/edit/e_info.txt
@@ -231,7 +231,7 @@ C:0:0:0:3
Z:blink
R:100
F:ACTIVATE
-a:HARDCORE=JUMP
+a:JUMP
### Shields ###
@@ -321,7 +321,7 @@ C:0:0:0:2
W:0:1:8:500
R:100
F:DEX | SUST_DEX | ACTIVATE | ESP_ORC
-a:HARDCORE=NOLDOR
+a:NOLDOR
N:24:of Intelligence
X:A:33:13
@@ -859,7 +859,7 @@ W:0:1:44:9000
C:8:8:0:2
R:100
F:DEX | STR | VORPAL | ACTIVATE
-a:HARDCORE=SPIN
+a:SPIN
# The "Elemental" brands (4) (6)
@@ -1239,7 +1239,7 @@ 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
@@ -1295,7 +1295,7 @@ W:0:1:5:5000
R:100
F:SLAY_UNDEAD | SEE_INVIS | HOLD_LIFE | DRAIN_HP
F:ACTIVATE
-a:HARDCORE=SPECTRAL
+a:SPECTRAL
N:103:of Morgul
T:125:0:255
@@ -1602,7 +1602,7 @@ 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
@@ -2123,7 +2123,7 @@ 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 |
@@ -2132,7 +2132,7 @@ 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 |
@@ -2141,7 +2141,7 @@ 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 |
diff --git a/lib/edit/k_info.txt b/lib/edit/k_info.txt
index aba86074..289e00f5 100644
--- a/lib/edit/k_info.txt
+++ b/lib/edit/k_info.txt
@@ -1404,7 +1404,7 @@ G:=:d
I:45:4:0
W:5:0:2:250
A:5/1
-a:HARDCORE=DEST_TELE
+a:DEST_TELE
F:CURSED | TELEPORT | EASY_KNOW | ACTIVATE
f:TELEPORT
D:This ring will uncontrollably send you to different places at its whim.
@@ -1483,7 +1483,7 @@ I:45:18:0
W:50:0:2:3000
A:50/1
P:0:0d0:0:0:15
-a:HARDCORE=BA_FIRE_4
+a:BA_FIRE_4
F:RES_FIRE | IGNORE_FIRE | ACTIVATE
f:RES_FIRE
D:This fiery circlet grants you protection, makes fire less dangerous and even
@@ -1495,7 +1495,7 @@ I:45:17:0
W:50:0:2:3000
A:50/1
P:0:0d0:0:0:15
-a:HARDCORE=BA_ACID_4
+a:BA_ACID_4
F:RES_ACID | IGNORE_ACID | ACTIVATE
f:RES_ACID
D:This magical ring is imbued with spells of devouring acid, granting protection against such
@@ -1506,7 +1506,7 @@ 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:RES_COLD
@@ -2775,9 +2775,9 @@ 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:NORM_ART | FULL_NAME | SPECIAL_GENE | EASY_USE
F:ACTIVATE | ACTIVATE_NO_WIELD
-a:SPELL=Artifact Eternal Flame
+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.
@@ -3518,7 +3518,7 @@ I:38:1:0
W:60:0:200:50000
A:60/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_ACID
+a:BR_ACID
F:RES_ACID | FLY |
f:RES_ACID |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
@@ -3530,7 +3530,7 @@ I:38:2:0
W:50:0:200:40000
A:50/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_ELEC
+a:BR_ELEC
F:RES_ELEC | FLY |
f:RES_ELEC |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
@@ -3541,7 +3541,7 @@ 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 |
@@ -3554,7 +3554,7 @@ I:38:4:0
W:60:0:200:50000
A:60/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_FIRE
+a:BR_FIRE
F:RES_FIRE | FLY |
f:RES_FIRE |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
@@ -3566,7 +3566,7 @@ I:38:5:0
W:50:0:200:40000
A:50/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_POIS
+a:BR_POIS
F:RES_POIS | FLY |
f:RES_POIS |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
@@ -3578,7 +3578,7 @@ 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: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 |
@@ -3591,7 +3591,7 @@ I:38:10:0
W:70:0:200:70000
A:70/16
P:30:2d4:-2:0:10
-a:HARDCORE=BR_LIGHT
+a:BR_LIGHT
F:RES_LITE | RES_DARK | FLY |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:A suit of armour made of dragon hide, glowing with a strange light, or is it darkness?
@@ -3602,7 +3602,7 @@ I:38:12:0
W:80:0:200:80000
A:80/16
P:30:2d4:-2:0:10
-a:HARDCORE=BR_SHARD
+a:BR_SHARD
F:RES_SOUND | RES_SHARDS | FLY |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:A piece of dragonhide cut and shaped so it can be worn as armour. The scales are very sharp,
@@ -3614,7 +3614,7 @@ I:38:14:0
W:50:0:200:40000
A:50/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_CONF
+a:BR_CONF
F:RES_CONF | FLY |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:A suit of armour made from dragon skin. Its brownish scales glitter in a dazzling light.
@@ -3625,7 +3625,7 @@ I:38:16:0
W:60:0:200:50000
A:60/8
P:30:2d4:-2:0:10
-a:HARDCORE=BR_SOUND
+a:BR_SOUND
F:RES_SOUND | FLY |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:A suit of golden-hued armour made of dragonhide. The rustle of its scales occasionally
@@ -3637,7 +3637,7 @@ 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:ATTR_MULTI
F:RES_CHAOS | RES_DISEN | FLY |
f:RES_CHAOS |
@@ -3652,7 +3652,7 @@ I:38:20:0
W:95:0:200:100000
A:95/32
P:30:2d4:-2:0:10
-a:HARDCORE=BR_BALANCE
+a:BR_BALANCE
F:RES_CHAOS | RES_DISEN | RES_SOUND | RES_SHARDS | FLY |
F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
D:A suit of armour made of the hide of a dead dragon. When wearing it, you feel like you
@@ -3664,7 +3664,7 @@ 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: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 |
@@ -4901,7 +4901,7 @@ I:45:56:0
W:50:0:2:3000
A:50/1
P:0:0d0:0:0:15
-a:HARDCORE=BA_ELEC_4
+a:BA_ELEC_4
F:RES_ELEC | IGNORE_ELEC | ACTIVATE
f:RES_ELEC |
D:This sparkling circlet grants you protection, makes electricity less
@@ -6047,7 +6047,7 @@ G:":G
I:40:17:0
W:25:0:3:10000
A:25/1
-a:HARDCORE=BA_POIS_4
+a:BA_POIS_4
F:RES_POIS | DEX | ACTIVATE
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
diff --git a/lib/edit/ow_info.txt b/lib/edit/ow_info.txt
index 4bd7c41a..333113ce 100644
--- a/lib/edit/ow_info.txt
+++ b/lib/edit/ow_info.txt
@@ -437,8 +437,6 @@ H:Orc | Troll | Half-Ogre | Beorning | Kobold |
N:68:Kanris(Human)
I:5000:140
C:120:100:80
-#L:Merchant
-#H:Rogue
N:69:Barliman Butterbur(Human)
I:100:120
diff --git a/lib/edit/p_info.txt b/lib/edit/p_info.txt
index 1531f4fd..69e87acb 100644
--- a/lib/edit/p_info.txt
+++ b/lib/edit/p_info.txt
@@ -1953,22 +1953,3 @@ M:C:Rogue
M:C:Mage
M:C:Priest
M:C:Loremaster
-#M:C:Test
-#M:C:Chaos-Warrior
-
-#M:N:1:B:Spellcasters -- Magic is The One True Way
-
-#M:N:2:y:Priests -- Hail the powers of the Ainur
-#M:C:Mindcrafter
-
-#M:N:3:G:Beastfriends -- Monsters are fun
-#M:C:BeastMaster
-
-#M:N:4:v:Others -- The way to your independence
-#M:C:Harper
-#M:C:Merchant
-
-#M:N:5:o:Tests -- Test is you dare !
-#M:C:Test
-#M:C:Blade
-#M:C:Black-Knight
diff --git a/lib/edit/st_info.txt b/lib/edit/st_info.txt
index 3762d0c5..4cda4421 100644
--- a/lib/edit/st_info.txt
+++ b/lib/edit/st_info.txt
@@ -1,13 +1,5 @@
# File: st_info.txt
-# Fixed Potions of Cure Light/Serious Wounds in the Temple, Potions of
-# Restore Str/Con in the Alchemist
-# Magic Shop - Amulet of Slow Digestion, Wand of Light, Staffs of Enlightenment,
-# Door/Stair Location, Detect Invis/Evil, and Remove Curse
-
-# This file is used to initialize the "lib/raw/st_info.raw" file, which is
-# used to initialize the "store info type" information for the Angband game.
-
# Do not modify this file unless you know exactly what you are doing,
# unless you wish to risk possible system crashes and broken savefiles.
@@ -348,9 +340,6 @@ G:+:s
W:0
N:16:Beastmaster Shanty
-# Disabled the bounty list for the time being to not confuse people
-# with the bounty quest
-# A:18:0:19:20:21:22
A:18:0:21:22:0:0
O:19:19:19:19
G:+:g
@@ -692,12 +681,6 @@ F:RANDOM | MEDIUM_LEVEL | DEPEND_LEVEL
F:RARE
W:24
-N:56:Merchants Guild
-A:0:0:56:57:58:0
-O:68:68:68:68
-G:+:g
-W:0
-
N:57:The Mathom-house
A:0:0:59:0:3:0
O:0:0:0:0
diff --git a/lib/edit/t_basic.txt b/lib/edit/t_basic.txt
deleted file mode 100644
index 78103425..00000000
--- a/lib/edit/t_basic.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-# File: t_lite.txt
-
-# *Basic* town (vanilla style)
-
-
-############### Town Layout ###############
-
-F:*:7:3:0:0:0:0:0:8
-
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:###################################################################................................................................###################################################################
-D:###################################################################................................................................###################################################################
-D:###################################################################................................................................###################################################################
-D:###################################################################.....................#########...................#########......###################################################################
-D:###################################################################.......#########.....#########......#######......#########......###################################################################
-D:###################################################################.......#########.....####3####......#######......####1####......###################################################################
-D:###################################################################.......####4####....................#######.....................###################################################################
-D:###################################################################....................................###2###.....................###################################################################
-D:###################################################################................................................................###################################################################
-D:###################################################################.................................*..............................###################################################################
-D:###################################################################...##8##........................................................###################################################################
-D:###################################################################...#####..............####5####...................###7###.......###################################################################
-D:###################################################################...#####..............#########.....####6####.....#######.......###################################################################
-D:###################################################################...#####..............#########.....#########.....#######.......###################################################################
-D:###################################################################...........###9###....#########.....#########.....#######.......###################################################################
-D:###################################################################...........#######..................#########.....#######.......###################################################################
-D:###################################################################...........#######................................#######.......###################################################################
-D:###################################################################..................................................#######.......###################################################################
-D:###################################################################................................................................###################################################################
-D:###################################################################................................................................###################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-D:######################################################################################################################################################################################################
-
-############### Starting positions ###############
-
-# Standard starting position for normal races
-P:32:100
diff --git a/lib/edit/t_bree.txt b/lib/edit/t_bree.txt
index c74fd58a..3ea29922 100644
--- a/lib/edit/t_bree.txt
+++ b/lib/edit/t_bree.txt
@@ -44,9 +44,6 @@ F:a:74:3:0:0:0:0:0:58
# Soothsayer
F:c:74:3:0:0:0:0:0:12
-# Merchant Guild
-F:d:74:3:0:0:0:0:0:56
-
# The Mathom-house
F:e:74:3:0:0:0:0:0:57
@@ -93,7 +90,7 @@ D:# ---- ---- ,,CT--.B#.-SStSS-
D:# ------- ---- ,,CTT-....-sssss--,,,,,,-------------OO-,--SSSSSt-ss-,-,---...-T^^ ^ ^ -, OOOO #
D:# ------- ------ ,,CCTT---..#2###-,sssss,-SSSSSSSS-----OO,--ssssss-tS--,.....---^^ ^^ ^^^ -, OOOOOOOO #
D:# ----- ----- ,,CCT----..,,,,,-StSSS,-ssssssss------OOO-#1##a#-ss....-----T^^ ^^ -,- OOOOO #
-D:# ---- -------- ,,CCTT----..----,sssss,-##7###d#--------OO,.,,.,-##.----TTTT^^ ^ ^^ -, OOOOO #
+D:# ---- -------- ,,CCTT----..----,sssss,-##7#####--------OO,.,,.,-##.----TTTT^^ ^ ^^ -, OOOOO #
D:# --------------- ,,,CCTTTT--..---,##3##-,--,,,---------...OOOOOOOOOOOTTTTTCC^^^ ^^ ^^ ,- OOO #
D:# -------- ,,,CCCC --..........,-,,---,--.......-------TTTTTOCCCCC,,^^^^^^^^^^^ -.- OOOOO #
D:# ---------- ,, ,,CCCTT----------.....-......-------TTTTTTTCCCCO,,,,, ^^^^^^^ -.- O #
diff --git a/lib/edit/t_gondol.txt b/lib/edit/t_gondol.txt
index 779c4fbb..51cf4b39 100644
--- a/lib/edit/t_gondol.txt
+++ b/lib/edit/t_gondol.txt
@@ -123,9 +123,6 @@ F:m:74:3:0:0:0:0:0:37
# Thunderlord's Hide
F:n:74:3:0:0:0:0:0:22
-# Merchant guild
-F:o:74:3:0:0:0:0:0:56
-
# Force elven monsters
f:ELVEN
@@ -178,7 +175,7 @@ D:######$$$$$$$$$$$$$$$$$### ...
D:######$$$$$$$$$$$$$$$$$$## ... C##T.V#######V...........TTTT#######TTTT..................TT####C----,--TTT##TTT----TTT##TTTTTT------,,,,,^^^^###
D:#####$$$$$$$$$$$$$$$$$$$## ######### ... ############# CC#T.VV#####VV.............................................TTT#CC----,---TT#TT--------TT##T-T-TT------,,,,^^^^###
D:#####$$$$$$$#####$$$$$$$## ######### ... ############# C#T..VV###VV.....TTTTTTTTTTT.......TTTTTTTTTTT..............T#C-----,,,,,,,,,,,,,,,,,,,e#TT-TTT------,,,,^^^^###
-D:####$$$$#############$$$$# ########o.........7############ C#T...VVVVV....TTT#########TTT...TTT#########TTT............T#C----------T#TT--------TT##TTT-------,,,,^^^^^^###
+D:####$$$$#############$$$$# #########.........7############ C#T...VVVVV....TTT#########TTT...TTT#########TTT............T#C----------T#TT--------TT##TTT-------,,,,^^^^^^###
D:####$###################$# ######### ... ############# C#TT..........TT###VVVVVV####TT.TT####WWWWWW###TT..........TT#C--------TTT##TTT----TTT##TTTTT-----,,,,^^^^^^^###
D:########################## ######### ... ############# C##T..........T##VVV....VVV###TTT###WWW....WWW##T..........T##C-------TTTTT###TTTTTT###TTTTT-----,,,,,^^^^^^^###
D:########################### ... CC#T..........T#VV........VV#######WW........WW#T..........T#CC -----TTTT-TTT########TTTTTT------,,,,,,,^^^^^###
diff --git a/lib/edit/t_minas.txt b/lib/edit/t_minas.txt
index 51c74da3..9f6ae669 100644
--- a/lib/edit/t_minas.txt
+++ b/lib/edit/t_minas.txt
@@ -64,9 +64,6 @@ F:l:74:3:0:0:0:0:0:22
# Castle: Plot Minas Anor
F:B:75:3:0:0:0:0:0:5
-# Merchant guild
-F:m:74:3:0:0:0:0:0:56
-
# Library Quest
F:x:63:3
@@ -84,7 +81,7 @@ D:#^^----ssss-----###--------####------ ^^^^^^
D:#^^^---StSS-------###--#ssss--###------- ^^^^^^^^ @@VVVVVVVV@VVV@@@@@@@@ @@@V@@ @@@@VV@@@@ , #
D:#^^----ssss----OO---##--#StSS---####------ ^^^^^^^^ @@V@V,@@@@@@VVVVVVVV@@@VVV@ @@VVVV@@ ,, #
D:#^^----x#a#-----OOO--##--#sssss----###------ ^^^^^^^^ @@@@@ @@@@@@@@VVVVV@@@ @@@@VV@@@ ,,, #
-D:#^ ---------------OO--###-#m#7#------###----- ^^^^^^^^^^ @VVV@@ @@VVV@@ ,O, #
+D:#^ ---------------OO--###-###7#------###----- ^^^^^^^^^^ @VVV@@ @@VVV@@ ,O, #
D:#^ StSSSS-----ss---OO---##-----OOOOO---###---- ^^^^^^^^^^^ @@@ @@VVV@@ OO #
D:#^^ssssss----Ssss---OOO--##---OOOOOOOO---##---- ^l^^^^^^^ @@VVV@ OO #
D:#^ ####9#---sstSss---OOO--##-OOOOOOOOOOO--##---- ^^^^^ @@VVV@@ OO #
diff --git a/lib/file/elvish.txt b/lib/file/elvish.txt
deleted file mode 100644
index a00b5a22..00000000
--- a/lib/file/elvish.txt
+++ /dev/null
@@ -1,218 +0,0 @@
-216
-******** BUFFER LINE *********************************** DO NOT REMOVE *******
-adan
-ael
-in
-agl
-ar
-aina
-alda
-al
-qua
-am
-arth
-amon
-anca
-an
-dune
-anga
-anna
-ann
-on
-ar
-ien
-atar
-band
-bar
-ad
-bel
-eg
-brag
-ol
-breth
-il
-brith
-cal
-en
-gal
-en
-cam
-car
-ak
-cel
-eb
-cor
-on
-cu
-cui
-vie
-cul
-curu
-dae
-dag
-or
-del
-din
-dol
-dor
-draug
-du
-duin
-dur
-ear
-ech
-or
-edh
-el
-eith
-elen
-er
-ereg
-es
-gal
-fal
-as
-far
-oth
-faug
-fea
-fin
-for
-men
-fuin
-gaer
-gaur
-gil
-gir
-ith
-glin
-gol
-odh
-gond
-gor
-groth
-grod
-gul
-gurth
-gwaith
-gwath
-wath
-had
-hod
-haudh
-heru
-him
-hini
-hith
-hoth
-hyar
-men
-ia
-iant
-iath
-iaur
-ilm
-iluve
-kal
-gal
-kano
-kel
-kemen
-khel
-ek
-khil
-kir
-lad
-laure
-lhach
-lin
-lith
-lok
-lom
-lome
-londe
-los
-loth
-luin
-maeg
-mal
-man
-mel
-men
-menel
-mer
-eth
-min
-as
-mir
-mith
-mor
-moth
-nan
-nar
-naug
-dil
-dur
-nel
-dor
-nen
-nim
-orn
-orod
-os
-pal
-an
-pel
-quen
-quet
-ram
-ran
-rant
-ras
-rauko
-ril
-rim
-ring
-ris
-roch
-rom
-rond
-ros
-ruin
-ruth
-sarn
-ser
-eg
-sil
-sir
-sul
-tal
-dal
-tal
-ath
-tar
-tath
-ar
-taur
-tel
-thal
-thang
-thar
-thaur
-thin
-thol
-thon
-thor
-on
-til
-tin
-tir
-tol
-tum
-tur
-uial
-ur
-val
-wen
-wing
-yave
diff --git a/lib/help/advanced.hlp b/lib/help/advanced.hlp
index 3f6fe4bd..8595712b 100644
--- a/lib/help/advanced.hlp
+++ b/lib/help/advanced.hlp
@@ -7,9 +7,8 @@ Please choose one of the following help files:
*****/aoption.txt*0[(a) Options]
*****/bmacrofaq.txt*0[(b) Macros]
*****/cautomat.txt*0[(c) Automatizer help]
- (d) Lua scripting help - coming soon
- *****/edebug.txt*0[(e) Debug commands]
- *****/fversion.txt*0[(f) Version information] A history of ToME's roots
+ *****/ddebug.txt*0[(d) Debug commands]
+ *****/eversion.txt*0[(e) Version information] A history of ToME's roots
*****/zhelp.hlp*0[(z) Main Help menu]
diff --git a/lib/help/c_merch.txt b/lib/help/c_merch.txt
deleted file mode 100644
index 31fb60dd..00000000
--- a/lib/help/c_merch.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-#####R=== Merchants ===
-
-#####GDescription
-A Merchant is neither a warrior nor a spellcaster. They still have some great
-advantages, they can use chests to warp items into other items, they can
-indentify items, they soon learn to detect all objects in the area, and
-at higher level they can see all monsters carrying objects. They will also
-get the power to appraise items and to turn them into gold. A merchant will
-naturraly get better prices in shops and get access to the merchant guild
-services, loan and item request.
-
-#####GPrimary Stats
-Charisma
-Intelligence (Ability stat)
-
-#####GMagic Usage
-Merchants can use portable holes to carry more stuff than other classes but
-at the cost of an increased weight. To do that they must wear a portable hole
-and use it with 'm'.
-They also can use their merchants abilities and midas touch in the 'U' menu.
-
-#####GStarting Equipment
-A merchant begins the game with:
- A portable hole
- A small steel chest containing gold and items
- A long sword
- A wand of tame monsters
-
-
diff --git a/lib/help/command.txt b/lib/help/command.txt
index 2c2f1646..ee58a77e 100644
--- a/lib/help/command.txt
+++ b/lib/help/command.txt
@@ -137,7 +137,7 @@ that you can always, for example, use "\" + "." + "6", to specify "run east".
*****command.txt*74[< Go up staircase] *****command.txt*75[^X Save and quit]
*****command.txt*76[. Run] ^Y (unused)
*****command.txt*77[> Go down staircase] ^Z (special - borg command)
- *****command.txt*79[\ (special - bypass keymap)] *****command.txt*80[| Do cmovies]
+ *****command.txt*79[\ (special - bypass keymap)]
*****command.txt*81[` (special - escape)] *****command.txt*82[~ Display current knowledge]
*****command.txt*83[/ Identify symbol] *****command.txt*84[? Help]
*****command.txt*98[^\] Take an html screenshot]
@@ -198,13 +198,13 @@ that you can always, for example, use "\" + "." + "6", to specify "run east".
*****command.txt*74[< Go up staircase] *****command.txt*75[^X Save and quit]
*****command.txt*72[. Stay still (with pickup)] *****command.txt*95[^Y (tunnel - north west)]
*****command.txt*77[> Go down staircase] ^Z (special - borg command)
- *****command.txt*79[\ (special - bypass keymap)] *****command.txt*80[| Do cmovies]
+ *****command.txt*79[\ (special - bypass keymap)]
*****command.txt*81[` (special - escape)] *****command.txt*82[~ Display current knowledge]
*****command.txt*83[/ Identify symbol] *****command.txt*84[? Help]
~~~~~102|Commands|Special keys
#####R=== Special Keys ===
-
+
Certain special keys may be intercepted by the operating system or
the host machine, causing unexpected results. In general, these special keys
are control keys, and often, you can disable their special effects.
@@ -498,12 +498,7 @@ for a quantity will convert any "letters" into the maximal legal value.
each corresponding to a different location on the body, and each of
which may contain only a single object at a time, and each of which
may only contain objects of the proper "type".
- If the option "show_labels" is set, the slots are labelled as follows:
- Wielding (weapon), Shooting (missile launcher or instruments),
- On finger (ring), Around neck (amulet), Light source (light source),
- On body (armor), About body (cloak), On arm (shield), On head (helmet),
- On hands (gloves), On feet (boots), Carrying (symbiote), Quiver (ammo),
- Using (tool). You must be using an object to receive any of its special
+ You must be using an object to receive any of its special
powers.
~~~~~7
[[[[[GDrop an item (d)]
@@ -518,8 +513,7 @@ for a quantity will convert any "letters" into the maximal legal value.
[[[[[GDestroy an item (k) or Destroy an item (^D)]
This destroys an item in your inventory or on the dungeon floor.
If the selected pile contains multiple objects, you may specify
- a quantity. You must always verify this command, unless the item
- is cursed or worthless and the option "auto_destroy" is set.
+ a quantity. You must always verify this command.
~~~~~42
[[[[[GWear/Wield equipment (w)]
To wear or wield an object in your inventory, use this command.
@@ -1215,17 +1209,6 @@ for a quantity will convert any "letters" into the maximal legal value.
command allows the player to force the game to finish the current song
and move on to another one (i.e. if you are tired of hearing the current
song, you can change it).
-~~~~~80
-[[[[[GDo cmovies (|)]
- The cmovie command (press | key in both normal or roguelike set) allows
- you to make a "movie" that you can send to people showing your movement
- through a part of the dungeon (like clearing that GCV . . .)
-
- It asks for a name (it will add the extension itself) and then if you wish
- to play or record it.
-
- The cmovie files (.cmv) are located in lib/cmov, note that they quickly
- become huge and so you REALLY should compress them before sending to friends.
~~~~~97
[[[[[GRecord macros ($)]
This is an easier way to create macros. Activate it, press the key
diff --git a/lib/help/defines.txt b/lib/help/defines.txt
index ac997501..13609658 100644
--- a/lib/help/defines.txt
+++ b/lib/help/defines.txt
@@ -66,7 +66,6 @@ TV_BOOK 111 /* spell books */
~~~~~12|Svals
/* The "sval" codes for TV_TOOL */
SV_TOOL_CLIMB 0
- SV_PORTABLE_HOLE 1
~~~~~16
/* The "sval" codes for TV_SHOT/TV_ARROW/TV_BOLT */
SV_AMMO_LIGHT 0 /* pebbles */
diff --git a/lib/help/lua.hlp b/lib/help/lua.hlp
deleted file mode 100644
index ba61676a..00000000
--- a/lib/help/lua.hlp
+++ /dev/null
@@ -1,34 +0,0 @@
-|||||oy
-~~~~~01|Help|Lua scripting for ToME
-#####R Welcome to the ToME Lua Help System.
-#####R=============================================
-
-Please choose one of the following help files:
-
- *****/alua_intr.txt*0[(a) An Introduction to scripting]
- *****/blua_pow.txt*0[(b) Adding a racial power (the 'U' menu)]
- *****/clua_skil.txt*0[(c) Adding new skills (the 'm' menu)]
- *****/dlua_ques.txt*0[(d) Adding a quest]
-
-
- *****/elua_mon.txt*0[(e) Useful functions in monster.pkg]
- *****/flua_play.txt*0[(f) Useful functions in player.pkg]
- *****/glua_spel.txt*0[(g) Useful functions in spell.pkg]
- *****/hlua_util.txt*0[(h) Useful functions in util.pkg]
-
- *****/ilua_gf.txt*0[(g) A list of GF_FOO flags]
-
-
- *****/zhelp.hlp*0[(z) Main Help menu]
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/help/lua_gf.txt b/lib/help/lua_gf.txt
deleted file mode 100644
index 000f4af5..00000000
--- a/lib/help/lua_gf.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-|||||oy
-#####R /--------------------------\
-#####R< A partial list of GF_FLAGS >
-#####R \--------------------------/
-
-GF_ARROW: arrows
-GF_MISSILE: magic missiles
-GF_MANA: mana
-GF_LITE_WEAK: light
-GF_DARK_WEAK: dark
-GF_WATER: water
-GF_PLASMA: plasma
-GF_METEOR: meteors
-GF_ICE: ice
-GF_GRAVITY: gravity
-GF_INERTIA: inertia
-GF_FORCE: force
-GF_TIME: pure time
-GF_ACID: acid
-GF_ELEC: lightning
-GF_FIRE: flames
-GF_COLD: cold
-GF_POIS: poison
-GF_LITE: pure light
-GF_DARK: pure dark
-GF_CONFUSION: confusion
-GF_SOUND: sound
-GF_SHARDS: shards
-GF_NEXUS: nexus
-GF_NETHER: nether
-GF_CHAOS: chaos
-GF_DISENCHANT: disenchantment
-GF_KILL_WALL: wall destruction
-GF_KILL_DOOR: door destruction
-GF_KILL_TRAP: trap destruction
-GF_STONE_WALL: wall creation
-GF_MAKE_DOOR: door creation
-GF_MAKE_TRAP: trap creation
-GF_DESTRUCTION: destruction
-
-Back to the *****lua.hlp*0[lua help index] .
-
- [[[[[gThis file by fearoffours (fearoffours@moppy.co.uk)]
-
-
diff --git a/lib/help/lua_intr.txt b/lib/help/lua_intr.txt
deleted file mode 100644
index ccb87067..00000000
--- a/lib/help/lua_intr.txt
+++ /dev/null
@@ -1,133 +0,0 @@
-|||||oy
-#####R /----------------------------------------\
-#####R < Scripting for ToME with lua >
-#####R \----------------------------------------/
-
-So, you want to patch ToME eh? Maybe you've had a look at how the edit files
-work, maybe even added your own race/class, but want to go further and add
-new racial (U) or magic (m) powers. Well these help files will show a little
-bit of how to do that.
-
-I am not a master at this kind of thing. I wrote a small script, with much
-help from DarkGod, and he subsequently asked me to write these help files. I
-was looking forward to when the lua help files came out so that I could look
-at them myself. Little did I know I'd be asked to write them. Therefore I
-apologise for any inaccuracies or errors that you find, and if you care to let
-me know of any improvements which could be made (especially if you're an
-experienced programmer/scripter), I'd love to know. Email me at
-[[[[[gfearoffours@moppy.co.uk].
-
-#####R=== The example scripts ===
-
-These help files take the form of a tutorial, adding a line at a time to a
-script, and explaining important concepts along the way. To see it all in
-action, I strongly suggest that you download my example script pack from
-[[[[[Ghttp://www.moppy.co.uk/angband.htm]. As well as including all the
-scripts covered in these help files, they also include the addition of my
-"hina" race which has a Lua scripted racial power which you might like to look
-at. There's also a quest which I will be including documentation for as a
-tutorial soon. Plus there's all the other lua scripts in the lib\scpt
-directory to look at. Most of what you see in these files has been learned from
-those files anyway!
-
-The source code is invaluable as well. There's a searchable and browsable
-version of the latest ToME source code available online at
-[[[[[Ghttp://www.t-o-m-e.net/cvs.php]. Use it!
-
-If you don't want to download and install the example scripts, then just
-follow the tutorials with a text editor open! But I'll say it again, it's a lot
-easier if you download and install the example scripts.
-
-This file goes on to explain the concepts of scripting, programming,
-variables and functions. If you're familiar with these concepts, you might
-as well take a look at how to add a power to the U menu in the
-*****lua_pow.txt*0[Scripting a racial power] file.
-
-
-#####R=== Defining some basic stuff ===
-
-Computers don't do anything that they're not told to do. When we script, or
-program, we must assume they know nothing. We have to tell them each little
-bit of information from the ground up.
-
-A program, or a script (we'll talk about exact differences later) is like a
-set of instructions. Let's imagine that people responded to programs, and
-that we had a program called "Housework". Its series of instructions might
-look something like this:
-
-#####BDo the Washing up.
-#####BClean the kitchen.
-#####BDust the shelves.
-#####BHoover the lounge.
-
-Each step above could be called a function, as they are all actions that
-need to be carried out. Now to you and me, we'd understand that program just
-fine, but if someone didn't know HOW to wash, or what hoovering was, they'd
-soon run into problems. For those people we'd need to define each function
-clearly. Thus "do the washing up" might be -
-
-#####BRun hot water into bowl.
-#####BAdd washing up liquid.
-#####BPut dirty plates into bowl
-#####BScrub plates till clean
-#####BPlace clean plates on rack to dry,
-
-There's still plenty of problems here though. We've not said to turn the tap
-off, or what the bowl is, or to wash any dirty cutlery, mugs, saucepans, etc.,
-etc. Whilst this might seem fairly obvious to a person, this is how we need
-to think when writing programs for computers.
-
-Lets look now at some of the terms we're going to be using, in the rest of
-these help files, and what they mean...
-
-#####R=== Variables and Constants ===
-A variable is a way to store information in a computer. Just as you store
-things in your own memory, you can store things in the computer's memory. And
-just as things change in your memory, so things can change in the computer's
-memory. This factor of change is why they're called "variables" and not
-"statics".
-
-For instance, you may have a friend's email address committed to memory, but
-things change over time, they get a new ISP or domain, and so their email
-address changes. You commit this new address to memory, and eventually
-forget the old one. The thing you have stored in your memory is the same
-(your friend's address) but the value (property) of what you have stored has
-changed (from friend@old-address.com to friend@new-address.com).
-
-Variables are the building blocks out of which you will create your patch.
-
-A variable which will *never* change its value is called a constant.
-
-#####R===Functions===
-
-A function is a series of steps or statements, grouped together and given
-one name. When you want to carry out those steps, you simply ask the
-computer to carry out that function. To go back to our original example,
-rather than saying, "I'd like you to run some hot water into a bowl, add the
-washing up liquid, put the dirty plates into it, and then scrub them till
-they're clean", we just say "do the washing up".
-
-This is where we come to the difference between scripting and programming.
-With scripting we can use the functions and variables that exist in the
-ToME code. Maintainers like DarkGod have already made sure that the
-computer knows how to "do the washing up", including turning the tap off and
-what the bowl is. All we need to do in our script is say "do the washing
-up". Or to look at it in a more relevant way, the game has been coded so
-that when a magic missile is fired, a bolt or beam spell with a black line
-of asterisks will be drawn in the direction indicated by the player, the
-mana of that spell will be used up, the monster will take the appropriate
-amount of damage, and so on. All we need to do in our script is say "fire a
-magic missile".
-
-As you script, you will still be designing your own functions, and
-variables, but the hardest parts have been done for you!
-
-Not every function and global variable in the source-code has been exported to
-use in your scripting. But the ones that have are easily identifiable by
-looking in any source files with the extension .pkg . Chris Hadgis has written
-some excellent documentation which outline the use of the most important
-functions in some of these files. They outline the functions from the
-
-OK, the first tutorial proper is on *****lua_pow.txt*0[adding a racial power] .
-
- [[[[[gThis file by fearoffours (fearoffours@moppy.co.uk)]
diff --git a/lib/help/lua_mon.txt b/lib/help/lua_mon.txt
deleted file mode 100644
index 9bb363c0..00000000
--- a/lib/help/lua_mon.txt
+++ /dev/null
@@ -1,535 +0,0 @@
-|||||oy
-
-#####R /----------------------------------------\
-#####R < monster.pkg functions helper file >
-#####R \----------------------------------------/
-
-
-----------------------------------------------------------------------
-
-#####R=== race_info_idx ===
-
-#####GDeclaration
- extern monster_race* race_info_idx(int r_idx, int ego);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Return a (monster_race*) with the combinations of the monster
- * properties and the ego type
- */
-
-#####GDescription
-Get monster info and ego info for monster with monster index "r_idx"
-and monster ego "ego". The ego information is applied to the monster
-information and the new monster information is returned.
-
-For example, race_info_idx(141,7) will create a brown yeek (monster)
-shaman (ego).
-
-#####GParameters
-> "r_idx" is an entry from the "r_info.txt" file. Beware: there is no
- range checking.
-> "ego" is an entry from the "re_info.txt". Beware: there is no range
- checking.
-
-----------------------------------------------------------------------
-
-#####R=== delete_monster_idx ===
-
-#####GDeclaration
- extern void delete_monster_idx(int i);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Delete a monster by index.
- *
- * When a monster is deleted, all of its objects are deleted.
- */
-
-#####GDescription
-Delete monster "i" from the monster array.
-
-#####GParameters
-> "i" is the index for the monster list (m_list[]). Beware: there is
- no range checking.
-
-----------------------------------------------------------------------
-
-#####R=== m_pop ===
-
-#####GDeclaration
- extern s16b m_pop(void);
-
-#####GFile
- monsters2.c
-
-#####GComment
-/*
- * Acquires and returns the index of a "free" monster.
- *
- * This routine should almost never fail, but it *can* happen.
- */
-
-#####GDescription
-Get an empty slot in the monster list (m_list[]). If there are no
-empty slots, a slot will be reclaimed from a "dead" monster. If all
-slots are full, 0 is returned, which means the function has failed
-("Too many monsters!").
-
-----------------------------------------------------------------------
-
-#####R=== get_mon_num_prep ===
-
-#####GDeclaration
- extern errr get_mon_num_prep(void);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Apply a "monster restriction function" to the "monster allocation table"
- */
-
-#####GDescription
-There are no parameters, but there are some other variables which will
-need to be set. They are get_mon_num_hook and get_mon_num2_hook. They
-are pointers to functions.
-
-For example, get_mon_num_hook = monster_volcano means when
-get_mon_num_hook is called (*get_mon_num_hook)(index), the actual
-function called is monster_volcano(index). This particular function
-returns TRUE if the monster indicated by "index" has the
-RF8_WILD_VOLCANO flag set.
-
-It is a good idea to store the old value of get_mon_num_hook before
-setting a new one, and restoring it when your function is finished.
-
-Following is a list of functions which can be assigned to
-get_mon_num_hook:
-
-create_molds_hook
-create_townpeople_hook
-mon_hook_bounty
-monster_dungeon
-monster_grass
-monster_mountain
-monster_ocean
-monster_quest
-monster_shore
-monster_town
-monster_volcano
-monster_waste
-monster_wood
-mutate_monster_okay
-place_monster_okay
-summon_specific_okay
-vault_aux_animal
-vault_aux_chapel
-vault_aux_clone
-vault_aux_demon
-vault_aux_dragon
-vault_aux_giant
-vault_aux_jelly
-vault_aux_kennel
-vault_aux_orc
-vault_aux_symbol
-vault_aux_treasure
-vault_aux_troll
-vault_aux_undead
-
-Or you can write your own. The function must take an integer (index)
-as a parameter and return boolean (TRUE if the monster is selected,
-or FALSE if it is not).
-
-----------------------------------------------------------------------
-
-#####R=== get_mon_num ===
-
-#####GDeclaration
- extern s16b get_mon_num(int level);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Choose a monster race that seems "appropriate" to the given level
- *
- * This function uses the "prob2" field of the "monster allocation table",
- * and various local information, to calculate the "prob3" field of the
- * same table, which is then used to choose an "appropriate" monster, in
- * a relatively efficient manner.
- *
- * Note that "town" monsters will *only* be created in the town, and
- * "normal" monsters will *never* be created in the town, unless the
- * "level" is "modified", for example, by polymorph or summoning.
- *
- * There is a small chance (1/50) of "boosting" the given depth by
- * a small amount (up to four levels), except in the town.
- *
- * It is (slightly) more likely to acquire a monster of the given level
- * than one of a lower level. This is done by choosing several monsters
- * appropriate to the given level and keeping the "hardest" one.
- *
- * Note that if no monsters are "appropriate", then this function will
- * fail, and return zero, but this should *almost* never happen.
- */
-
-Description:
-For the given level "level", return the index of an appropriate
-monster race.
-
-#####GParameters
-> "level" is a dungeon level
-
-----------------------------------------------------------------------
-
-#####R=== monster_desc ===
-
-#####GDeclaration
- extern void monster_desc(char *desc, monster_type *m_ptr,
- int mode);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Build a string describing a monster in some way.
- *
- * We can correctly describe monsters based on their visibility.
- * We can force all monsters to be treated as visible or invisible.
- * We can build nominatives, objectives, possessives, or reflexives.
- * We can selectively pronominalize hidden, visible, or all monsters.
- * We can use definite or indefinite descriptions for hidden monsters.
- * We can use definite or indefinite descriptions for visible monsters.
- *
- * Pronominalization involves the gender whenever possible and allowed,
- * so that by cleverly requesting pronominalization / visibility, you
- * can get messages like "You hit someone. She screams in agony!".
- *
- * Reflexives are acquired by requesting Objective plus Possessive.
- *
- * If no m_ptr arg is given (?), the monster is assumed to be hidden,
- * unless the "Assume Visible" mode is requested.
- *
- * If no r_ptr arg is given, it is extracted from m_ptr and r_info
- * If neither m_ptr nor r_ptr is given, the monster is assumed to
- * be neuter, singular, and hidden (unless "Assume Visible" is set),
- * in which case you may be in trouble... :-)
- *
- * I am assuming that no monster name is more than 70 characters long,
- * so that "char desc[80];" is sufficiently large for any result.
- *
- * Mode Flags:
- * 0x01 --> Objective (or Reflexive)
- * 0x02 --> Possessive (or Reflexive)
- * 0x04 --> Use indefinites for hidden monsters ("something")
- * 0x08 --> Use indefinites for visible monsters ("a kobold")
- * 0x10 --> Pronominalize hidden monsters
- * 0x20 --> Pronominalize visible monsters
- * 0x40 --> Assume the monster is hidden
- * 0x80 --> Assume the monster is visible
- *
- * Useful Modes:
- * 0x00 --> Full nominative name ("the kobold") or "it"
- * 0x04 --> Full nominative name ("the kobold") or "something"
- * 0x80 --> Genocide resistance name ("the kobold")
- * 0x88 --> Killing name ("a kobold")
- * 0x22 --> Possessive, genderized if visible ("his") or "its"
- * 0x23 --> Reflexive, genderized if visible ("himself") or "itself"
- */
-
-#####GDescription
-Return a monster description "desc" for monster "monster_type" using
-flag "mode". The modes are described above.
-
-#####GParameters
-> "desc" is the returned description.
-> "monster type" is the monster (monster pointer).
-> "mode" is one of the modes described in the comments.
-
-----------------------------------------------------------------------
-
-#####R=== monster_race_desc ===
-
-#####GDeclaration
- extern void monster_race_desc(char *desc, int r_idx,
- int ego);
-
-#####GFile
- monster2.c
-
-#####GComment
-(none)
-
-#####GDescription
-Return the monster description "desc" for monster with monster index
-"r_idx" and monster ego "ego". The monster description is made up of
-the ego name (if any) and monster name, or the unique name.
-
-#####GParameters
-> "desc" is the returned description.
-> "r_idx" is an entry from the "r_info.txt" file. Beware: there is no
- range checking.
-> "ego" is an entry from the "re_info.txt". Beware: there is no range
- checking.
-
-----------------------------------------------------------------------
-
-#####R=== place_monster_aux ===
-
-#####GDeclaration
- extern bool place_monster_aux(int y, int x, int r_idx,
- bool slp, bool grp, int status);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Attempt to place a monster of the given race at the given location
- *
- * Note that certain monsters are now marked as requiring "friends".
- * These monsters, if successfully placed, and if the "grp" parameter
- * is TRUE, will be surrounded by a "group" of identical monsters.
- *
- * Note that certain monsters are now marked as requiring an "escort",
- * which is a collection of monsters with similar "race" but lower
- * level.
- *
- * Some monsters induce a fake "group" flag on their escorts.
- *
- * Note the "bizarre" use of non-recursion to prevent annoying output
- * when running a code profiler.
- *
- * Note the use of the new "monster allocation table" code to restrict
- * the "get_mon_num()" function to "legal" escort types.
- */
-
-#####GDescription
-Attempt to place a monster at grid "y", "x". The monster has monster
-index "m_idx". The monster may be asleep ("slp"). The monster may be
-surrounded by a group of identical monsters ("grp"). The monster has
-a status of "status" (see below). The function returns TRUE if the
-monster is placed successfully, otherwise FALSE.
-
-#####GParameters
-> "y" is the y co-ordinate of the target grid.
-> "x" is the x co-ordinate of the target grid.
-> "r_idx" is an entry from the "r_info.txt" file. Beware: there is no
- range checking.
-> "slp" is TRUE if the monster is asleep, otherwise FALSE.
-> "grp" is TRUE if the monster is surrounded by a group, otherwise
- FALSE.
-> "status" is the status of the monster
- *****fields.txt*0[status]
-
-----------------------------------------------------------------------
-
-#####R=== place_monster ===
-
-#####GDeclaration
- extern bool place_monster(int y, int x, bool slp,
- bool grp);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Hack -- attempt to place a monster at the given location
- *
- * Attempt to find a monster appropriate to the "monster_level"
- */
-
-#####GDescription
-Attempt to place a monster at grid "y", "x". The monster may be asleep
-("slp"). The monster may be surrounded by a group of identical
-monsters ("grp"). The monster is of the appropriate monster level. The
-function returns TRUE if the monster is placed successfully, otherwise
-FALSE.
-
-#####GParameters
-> "y" is the y co-ordinate of the target grid.
-> "x" is the x co-ordinate of the target grid.
-> "slp" is TRUE if the monster is asleep, otherwise FALSE.
-> "grp" is TRUE if the monster is surrounded by a group, otherwise
- FALSE.
-
-----------------------------------------------------------------------
-
-#####R=== place_monster_one ===
-
-#####GDeclaration
- extern s16b place_monster_one(int y, int x, int r_idx,
- int ego, bool slp, int status);
-
-#####GFile
- monster2.c
-
-#####GComment
-/*
- * Attempt to place a monster of the given race at the given location.
- *
- * To give the player a sporting chance, any monster that appears in
- * line-of-sight and is extremely dangerous can be marked as
- * "FORCE_SLEEP", which will cause them to be placed with low energy,
- * which often (but not always) lets the player move before they do.
- *
- * This routine refuses to place out-of-depth "FORCE_DEPTH" monsters.
- *
- * XXX XXX XXX Use special "here" and "dead" flags for unique monsters,
- * remove old "cur_num" and "max_num" fields.
- *
- * XXX XXX XXX Actually, do something similar for artifacts, to simplify
- * the "preserve" mode, and to make the "what artifacts" flag more useful.
- *
- * This is the only function which may place a monster in the dungeon,
- * except for the savefile loading code.
- */
-
-#####GDescription
-Attempt to place a monster at grid "y", "x". The monster has monster
-index "m_idx". The monster may be asleep ("slp"). The monster may have
-an ego type ("ego"). The monster has a status of "status" (see below).
-The function returns TRUE if the monster is placed successfully,
-otherwise FALSE.
-
-#####GParameters
-> "y" is the y co-ordinate of the target grid.
-> "x" is the x co-ordinate of the target grid.
-> "r_idx" is an entry from the "r_info.txt" file. Beware: there is no
- range checking.
-> "slp" is TRUE if the monster is asleep, otherwise FALSE.
-> "ego" is an entry from the "re_info.txt". Beware: there is no range
- checking.
-> "status" is the status of the monster
- *****fields.txt*0[status]
-
-----------------------------------------------------------------------
-
-#####R=== is_friend ===
-
-#####GDeclaration
- extern int is_friend(monster_type *m_ptr);
-
-#####GFile
- monster3.c
-
-#####GComment
-/*
- * Is the monster in friendly state(pet, friend, ..)
- * -1 = enemy, 0 = neutral, 1 = friend
- */
-
-#####GDescription
-Return a value to indicate the status of monster "m_ptr".
- *****fields.txt*0[status]
-
-#####GParameters
-> "m_ptr" is a pointer to a monster.
-
-----------------------------------------------------------------------
-
-#####R=== is_enemy ===
-
-#####GDeclaration
- extern bool is_enemy(monster_type *m_ptr,
- monster_type *t_ptr);
-
-#####GFile
- monster3.c
-
-#####GComment
-/* Should they attack each others */
-
-#####GDescription
-Return TRUE if monster "m_ptr" should attack monster "t_ptr". If
-"m_ptr" is stupid and "r_ptr" is a different type of monster then the
-function will return TRUE. If "m_ptr" is not neutral and "r_ptr" is a
-breeder, and "r_ptr" is a different type of monster then the function
-will return TRUE (and vice versa). If both monsters are not neutral
-and one is friendly and the other isn't then the function will return
-TRUE. Otherwise the function returns FALSE.
-
-#####GParameters
-> "m_ptr" is a pointer to a monster.
-> "t_ptr" is a pointer to a monster (target).
-
-----------------------------------------------------------------------
-
-#####R=== change_side ===
-
-#####GDeclaration
- extern bool change_side(monster_type *m_ptr);
-
-#####GFile
- monster3.c
-
-#####GComment
-(none)
-
-#####GDescription
-Change the status of monster "m_ptr" from friendly to unfriendly and
-vice versa. Friends and pets become enemies. Neutral Ms become
-neutral Ps and vice versa. Companions are unaffected. The
-function returns TRUE if the status changed, otherwise FALSE.
-
-#####GParameters
-> "m_ptr" is a pointer to a monster.
-
-----------------------------------------------------------------------
-
-#####R=== find_position ===
-
-#####GDeclaration
- extern void find_position(int y, int x, int *yy = 0,
- int *xx = 0);
-
-#####GFile
- lua_bind.c
-
-#####GComment
-(none)
-
-#####GDescription
-Find a new grid "yy", "xx" within 6 grids of target grid "y", "x".
-The new grid must be within line-of-sight of the target grid. A
-maximum of 5000 attempts is made.
-
-#####GParameters
-> "y" is the y co-ordinate of the target grid.
-> "x" is the x co-ordinate of the target grid.
-> "yy" is the y co-ordinate of the new grid.
-> "xx" is the x co-ordinate of the new grid.
-
-----------------------------------------------------------------------
-
-#####R=== can_create_companion ===
-
-#####GDeclaration
- extern bool can_create_companion();
-
-#####GFile
- monster3.c
-
-#####GComment
-/* Returns if a new companion is allowed */
-
-#####GDescription
-Return TRUE if a companion can be created, otherwise FALSE.
-
-----------------------------------------------------------------------
-
-Back to the *****lua.hlp*0[lua help index] .
-
-
- [[[[[gThis file by Chris Hadgis]
diff --git a/lib/help/lua_play.txt b/lib/help/lua_play.txt
deleted file mode 100644
index 6ab64ddb..00000000
--- a/lib/help/lua_play.txt
+++ /dev/null
@@ -1,1225 +0,0 @@
-|||||oy
-
-#####R /----------------------------------------\
-#####R < player.pkg functions helper file >
-#####R \----------------------------------------/
-
-----------------------------------------------------------------------
-
-#####RFunction: set_parasite
-
-#####GDeclaration: bool set_parasite(int v, int r);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->parasite" and "p_ptr->parasite_r_idx"
-* notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until parasite with monster index "r" is created. The
-player gets the message "You feel something growing in you" if "v"
-is > 0. Otherwise the player gets the message "Your body convulse
-and spawn <monster name>" if the monster is created (80% chance) or
-"The hideous thing growing in you seems to die" if the monster dies.
-
-#####GParameters:
->v is the time until the parasite gestates (must be between 0 and
- 10000).
->r is the monster index of parasite to be created.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_disrupt_shield
-
-#####GDeclaration: bool set_disrupt_shield(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->disrupt_shield"
-* notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until shield of invulnerability expires. The player gets
-the message "You feel invulnerable" if "v" is > 0. Otherwise the
-player gets the message "You are more vulnerable".
-
-#####GParameters:
->v is the time until the shield expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_prob_travel
-
-#####GDeclaration: bool set_prob_travel(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->prob_travel"
-* notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until random teleportation expires. The player gets
-the message "You feel instable" if "v" is > 0. Otherwise the
-player gets the message "You are more stable".
-
-#####GParameters:
->v is the time until random teleportation expires (must be between 0
- and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_deadly
-
-#####GDeclaration: bool set_tim_deadly(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_deadly"
-*/
-
-#####GDescription:
-Set time "v" until deadly accuracy expires. The player gets the
-message "You feel extremely accurate" if "v" is > 0. Otherwise the
-player gets the message "You are suddenly much less accurate".
-
-#####GParameters:
->v is the time until deadly accuracy expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_res_time
-
-#####GDeclaration: bool set_tim_res_time(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_res_time"
-*/
-
-#####GDescription:
-Set time "v" until space-time distortions expire. The player gets the
-message "You are now protected against the space-time distortions" if
-"v" is > 0. Otherwise the player gets the message "You are no longer
-protected against the space-time distortions".
-
-#####GParameters:
->v is the time until space-time distortions expire (must be between
- 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_reflect
-
-#####GDeclaration: bool set_tim_reflect(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_reflect"
-*/
-
-#####GDescription:
-Set time "v" until reflection expire. The player gets the message
-"You start reflecting the world around you" if "v" is > 0. Otherwise
-the player gets the message "You stop reflecting".
-
-#####GParameters:
->v is the time until reflection expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_meditation
-
-#####GDeclaration: bool set_meditation(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->meditation"
-*/
-
-#####GDescription:
-Set time "v" until meditation expire. The player gets the message
-"You start meditating on yourself" if "v" is > 0. Otherwise the
-player gets the message "You stop your self meditation".
-
-#####GParameters:
->v is the time until meditation expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_strike
-
-#####GDeclaration: bool set_strike(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->strike"
-*/
-
-#####GDescription:
-Set time "v" until accurate strikes expire. The player gets the
-message "You feel very accurate" if "v" is > 0. Otherwise the player
-gets the message "You are no longer very accurate".
-
-#####GParameters:
->v is the time until accurate strikes expire (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_walk_water
-
-#####GDeclaration: bool set_walk_water(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->walk_water", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until walking on water expires. The player gets the
-message "You feel strangely insubmersible" if "v" is > 0. Otherwise
-the player gets the message "You are no longer insubmersible".
-
-#####GParameters:
->v is the time until walking on water expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_ffall
-
-#####GDeclaration: bool set_tim_ffall(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_ffall"
-*/
-
-#####GDescription:
-Set time "v" until feather-fall expires. The player gets the message
-"You feel very light" if "v" is > 0. Otherwise the player gets the
-message "You are suddenly heavier".
-
-#####GParameters:
->v is the time until feather-fall expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_fire_aura
-
-#####GDeclaration: bool set_tim_fire_aura(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_fire_aura"
-*/
-
-#####GDescription:
-Set time "v" until fiery aura expires. The player gets the message
-"You are enveloped in flames" if "v" is > 0. Otherwise the player
-gets the message "You are no longer enveloped in flames".
-
-#####GParameters:
->v is the time until fiery aura expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_holy
-
-#####GDeclaration: bool set_holy(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->holy", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until holiness expires. The player gets the message
-"You feel a holy aura around you" if "v" is > 0. Otherwise the
-player gets the message "The holy aura vanishes".
-
-#####GParameters:
->v is the time until holiness expires (must be between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_grace
-
-#####GDeclaration: void set_grace(s32b v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->grace", notice observable changes
-*/
-
-#####GDescription:
-Set grace to value "v". Don't allow grace to fall below -30000 or
-rise above 30000.
-
-#####GParameters:
->v is the value of grace.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_mimic
-
-#####GDeclaration: bool set_mimic(int v, int p);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_mimic", and "p_ptr->mimic_form",
-* notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until morph into monster with monster index "p" expires.
-The player gets the message "You feel your body change" if "v" is > 0.
-Otherwise the player gets the message "You are no longer transformed".
-
-#####GParameters:
->v is the time until transformation expires (must be between 0 and
- 10000).
->p is the monster index of the monster the player wants to mimic.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_no_breeders
-
-#####GDeclaration: bool set_no_breeders(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "no_breeds"
-*/
-
-#####GDescription:
-Set time "v" until breeders can breed again. The player gets the
-message "You feel an anti-sexual aura" if "v" is > 0. Otherwise the
-player gets the message "You no longer feel an anti-sexual aura".
-Okay...
-
-#####GParameters:
->v is the time until breeders can breed again (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_invis
-
-#####GDeclaration: bool set_invis(int v,int p);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_invis", and "p_ptr->tim_inv_pow",
-* notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until invisibility expires. The player gets the message
-"You feel your body fade away" if "v" is > 0. Otherwise the player
-gets the message "You are no longer invisible".
-
-#####GParameters:
->v is the time until invisibility expires (must be between 0 and
- 10000).
->p is the power of timed invisibility.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_lite
-
-#####GDeclaration: bool set_lite(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_lite", notice observable changes
-*
-* Note the use of "PU_VIEW", which is needed to
-* memorise any terrain features which suddenly become "visible".
-* Note that blindness is currently the only thing which can affect
-* "player_can_see_bold()".
-*/
-
-#####GDescription:
-Set time "v" until brightness expires. The player gets the message
-"You suddenly seem brighter" if "v" is > 0. Otherwise the player
-gets the message "You are no longer bright".
-
-#####GParameters:
->v is the time until brightness expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_blind
-
-#####GDeclaration: bool set_blind(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->blind", notice observable changes
-*
-* Note the use of "PU_UN_VIEW", which is needed to memorise any terrain
-* features which suddenly become "visible".
-* Note that blindness is currently the only thing which can affect
-* "player_can_see_bold()".
-*/
-
-#####GDescription:
-Set time "v" until blindness expires. The player gets the message "You
-are blind" if "v" is > 0. Otherwise the player gets the message "You
-can see again".
-
-#####GParameters:
->v is the time until blindness expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_confused
-
-#####GDeclaration: bool set_confused(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->confused", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until confusion expires. The player gets the message "You
-are confused" if "v" is > 0. Otherwise the player gets the message
-"You feel less confused now".
-
-#####GParameters:
->v is the time until confusion expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_poisoned
-
-#####GDeclaration: bool set_poisoned(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->poisoned", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until poison expires. The player gets the message "You
-are poisoned" if "v" is > 0. Otherwise the player gets the message
-"You are no longer poisoned".
-
-#####GParameters:
->v is the time until poison expires (must be between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_afraid
-
-#####GDeclaration: bool set_afraid(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->afraid", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until fear expires. The player gets the message "You are
-terrified" if "v" is > 0. Otherwise the player gets the message "You
-feel bolder now".
-
-#####GParameters:
->v is the time until fear expires (must be between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_paralyzed
-
-#####GDeclaration: bool set_paralyzed(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->paralyzed", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until paralysis expires. The player gets the message "You
-are paralyzed" if "v" is > 0. Otherwise the player gets the message
-"You can move again".
-
-#####GParameters:
->v is the time until paralysis expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_image
-
-#####GDeclaration: bool set_image(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->image", notice observable changes
-*
-* Note that we must redraw the map when hallucination changes.
-*/
-
-#####GDescription:
-Set time "v" until hallucination expires. The player gets the message
-"Oh, wow! Everything looks so cosmic now" if "v" is > 0. Otherwise
-the player gets the message "You can see clearly again".
-
-#####GParameters:
->v is the time until hallucination expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_fast
-
-#####GDeclaration: bool set_fast(int v, int p);
-
-#####GFile: xtra2.c
-
-#####GComment:
-(none)
-
-#####GDescription:
-Set time "v" until speed of speed factor "p" expires. The player gets
-the message "You feel yourself moving faster" if "v" is > 0. Otherwise
-the player gets the message "You feel yourself slow down".
-
-#####GParameters:
->v is the time until speed expires (must be between 0 and 10000).
->p is the speed factor.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_light_speed
-
-#####GDeclaration: bool set_light_speed(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->lightspeed", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until light-speed expires. The player gets the message
-"You feel as if time has stopped" if "v" is > 0. Otherwise the player
-gets the message "You feel time returning to its normal rate".
-
-#####GParameters:
->v is the time until light-speed expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_slow
-
-#####GDeclaration: bool set_slow(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->slow", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until slowness expires. The player gets the message "You
-feel yourself moving slower" if "v" is > 0. Otherwise the player gets
-the message "You feel yourself speed up".
-
-#####GParameters:
->v is the time until slowness expires (must be between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_shield
-
-#####GDeclaration: bool set_shield(int v, int p, s16b o, s16b d1, s16b d2);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->shield", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until stone-shield expires. The player gets the message
-"Your skin turns to stone" if "v" is > 0. Otherwise the player gets
-the message "Your skin returns to normal". Stone-shield has spell
-power "p", spell option "o", and power options "d1" and "d2".
-
-#####GParameters:
->v is the time until stone-shield expires (must be between 0 and
- 10000).
->p is the power of the stone-shield spell.
->o is the option of the stone-shield spell.
->d1 is the power for option 1 of the stone-shield spell.
->d2 is the power for option 2 of the stone-shield spell.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_blessed
-
-#####GDeclaration: bool set_blessed(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->blessed", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until blessing expires. The player gets the message "You
-feel righteous" if "v" is > 0. Otherwise the player gets the message
-"The prayer has expired".
-
-#####GParameters:
->v is the time until blessing expires (must be between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_hero
-
-#####GDeclaration: bool set_hero(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->hero", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until heroism expires. The player gets the message "You
-feel like a hero" if "v" is > 0. Otherwise the player gets the
-message "The heroism wears off".
-
-#####GParameters:
->v is the time until heroism expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_shero
-
-#####GDeclaration: bool set_shero(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->shero", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until berserk expires. The player gets the message "You
-feel like a killing machine" if "v" is > 0. Otherwise the player gets
-the message "You feel less Berserk".
-
-#####GParameters:
->v is the time until berserk expires (must be between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_protevil
-
-#####GDeclaration: bool set_protevil(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->protevil", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until protection from evil expires. The player gets the
-message "You feel safe from evil" if "v" is > 0. Otherwise the player
-gets the message "You no longer feel safe from evil".
-
-#####GParameters:
->v is the time until protection from evil expires (must be between 0
- and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_protgood
-
-#####GDeclaration: bool set_protgood(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->protgood", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until protection from good expires. The player gets the
-message "You feel safe from good" if "v" is > 0. Otherwise the player
-gets the message "You no longer feel safe from good".
-
-#####GParameters:
->v is the time until protection from evil expires (must be between 0
- and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_protundead
-
-#####GDeclaration: bool set_protundead(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->protundead", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until protection from undead expires. The player gets the
-message "You feel safe from undead" if "v" is > 0. Otherwise the
-player gets the message "You no longer feel safe from undead".
-
-#####GParameters:
->v is the time until protection from undead expires (must be between
- 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_invuln
-
-#####GDeclaration: bool set_invuln(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->invuln", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until invulnerability expires. The player gets the
-message "Invulnerability" if "v" is > 0. Otherwise the player gets
-the message "The invulnerability wears off".
-
-#####GParameters:
->v is the time until invulnerability expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_invis
-
-#####GDeclaration: bool set_tim_invis(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_invis", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until see invisible expires. The player gets the message
-"Your eyes feel very sensitive" if "v" is > 0. Otherwise the player
-gets the message "Your eyes feel less sensitive".
-
-#####GParameters:
->v is the time until see invisible expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_tim_infra
-
-#####GDeclaration: bool set_tim_infra(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_infra", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until infravision expires. The player gets the message
-"Your eyes begin to tingle" if "v" is > 0. Otherwise the player gets
-the message "Your eyes stop tingling".
-
-#####GParameters:
->v is the time until infravision expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_mental_barrier
-
-#####GDeclaration: bool set_mental_barrier(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->tim_mental_barrier", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until mental barrier expires. The player gets the message
-"Your mind grows stronger" if "v" is > 0. Otherwise the player gets
-the message "Your mind is no longer especially strong".
-
-#####GParameters:
->v is the time until mental barrier expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_acid
-
-#####GDeclaration: bool set_oppose_acid(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-
-#####GDescription:
-Set time "v" until feather-fall expires. The player gets the message
-"You feel very light" if "v" is > 0. Otherwise the player gets the
-message "You are suddenly heavier".
-
-#####GParameters:
->v is the time until feather-fall expires (must be between 0 and
- 10000).
->v is the time until feather-fall expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_elec
-
-#####GDeclaration: bool set_oppose_elec(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_elec", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until electricity resistance expires. The player gets
-the message "You feel resistant to electricity" if "v" is > 0.
-Otherwise the player gets the message "You feel less resistant to
-electricity".
-
-#####GParameters:
->v is the time until electricity resistance expires (must be between
- 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_fire
-
-#####GDeclaration: bool set_oppose_fire(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_fire", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until fire resistance expires. The player gets the
-message "You feel resistant to fire" if "v" is > 0. Otherwise the
-player gets the message "You feel less resistant to fire".
-
-#####GParameters:
->v is the time until fire resistance expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_cold
-
-#####GDeclaration: bool set_oppose_cold(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_cold", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until cold resistance expires. The player gets the
-message "You feel resistant to cold" if "v" is > 0. Otherwise the
-player gets the message "You feel less resistant to cold".
-
-#####GParameters:
->v is the time until cold resistance expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_pois
-
-#####GDeclaration: bool set_oppose_pois(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_pois", notice observable changes
-*/
-
-#####GDescription:
-Set time "v" until poison resistance expires. The player gets the
-message "You feel resistant to poison" if "v" is > 0. Otherwise the
-player gets the message "You feel less resistant to poison".
-
-#####GParameters:
->v is the time until poison resistance expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_ld
-
-#####GDeclaration: bool set_oppose_ld(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_ld"
-*/
-
-#####GDescription:
-Set time "v" until light and dark resistance expires. The player gets
-the message "You feel protected against the light's fluctuation" if
-"v" is > 0. Otherwise the player gets the message "You are no longer
-protected against the light's fluctuation".
-
-#####GParameters:
->v is the time until light and dark resistance expires (must be
- between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_cc
-
-#####GDeclaration: bool set_oppose_cc(int v);
-
-#####GFile: xtra2.c
-/*
-* Set "p_ptr->oppose_cc"
-*/
-
-#####GComment:
-
-#####GDescription:
-Set time "v" until chaos resistance expires. The player gets the
-message "You feel protected against raw chaos" if "v" is > 0.
-Otherwise the player gets the message "You are no longer protected
-against chaos".
-
-#####GParameters:
->v is the time until chaos resistance expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_ss
-
-#####GDeclaration: bool set_oppose_ss(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_ss"
-*/
-
-#####GDescription:
-Set time "v" until sound and shard resistance expires. The player gets
-the message "You feel protected against the ravages of sound and
-shards" if "v" is > 0. Otherwise the player gets the message "You are
-no longer protected against the ravages of sound and shards".
-
-#####GParameters:
->v is the time until sound and shard resistance expires (must be
- between 0 and 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_oppose_nex
-
-#####GDeclaration: bool set_oppose_nex(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->oppose_nex"
-*/
-
-#####GDescription:
-Set time "v" until nexus resistance expires. The player gets the
-message "You feel protected against the strange forces of nexus" if
-"v" is > 0. Otherwise the player gets the message "You are no longer
-protected against the strange forces of nexus".
-
-#####GParameters:
->v is the time until nexus resistance expires (must be between 0 and
- 10000).
-
-----------------------------------------------------------------------
-
-#####RFunction: set_stun
-
-#####GDeclaration: bool set_stun(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->stun", notice observable changes
-*
-* Note the special code to only notice "range" changes.
-*/
-
-#####GDescription:
-Set stun level "v". If the player race can't be stunned then the level
-is forced to 0. A value > 100 means the player is knocked out. A value
->50 is a heavy stun. A value > 0 is a stun. If the stun level has
-increased, a message is printed. There is a small chance of stun level
-in 1000, or a 1 in 16 chance of a vicious blow which decreases
-intelligence and/or wisdom for a while.
-
-#####GParameters:
->v is the stun level.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_cut
-
-#####GDeclaration: bool set_cut(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->cut", notice observable changes
-*
-* Note the special code to only notice "range" changes.
-*/
-
-#####GDescription:
-Set cut level "v". If the player race can't be cut then the time is
-forced to 0. A value > 1000 is a mortal wound. A value > 200 is a deep
-gash. A value > 100 is a severe cut. A value > 50 is a nasty cut. A
-value > 25 is a bad cut. A value > 10 is a light cut. A value > 0 is a
-graze. If the cut level has increased, a message is printed. There is
-a small chance of stun level in 1000, or a 1 in 16 chance of scarring
-which decreases charisma for a while.
-
-#####GParameters:
->v is the cut level.
-
-----------------------------------------------------------------------
-
-#####RFunction: set_food
-
-#####GDeclaration: bool set_food(int v);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Set "p_ptr->food", notice observable changes
-*
-* The "p_ptr->food" variable can get as large as 20000, allowing the
-* addition of the most "filling" item, Elvish Waybread, which adds
-* 7500 food units, without overflowing the 32767 maximum limit.
-*
-* Perhaps we should disturb the player with various messages,
-* especially messages about hunger status changes. XXX XXX XXX
-*
-* Digestion of food is handled in "dungeon.c", in which, normally,
-* the player digests about 20 food units per 100 game turns, more
-* when "fast", more when "regenerating", less with "slow digestion",
-* but when the player is "gorged", he digests 100 food units per 10
-* game turns, or a full 1000 food units per 100 game turns.
-*
-* Note that the player's speed is reduced by 10 units while gorged,
-* so if the player eats a single food ration (5000 food units) when
-* full (15000 food units), he will be gorged for (5000/100)*10 = 500
-* game turns, or 500/(100/5) = 25 player turns (if nothing else is
-* affecting the player speed).
-*/
-
-#####GDescription:
-Set hunger level "v". A value < 500 is fainting. A value < 1000 is
-weak. A value < 2000 is weak. A value < 10000 is full. A value
-< 15000 is bloated. A value < 20000 is gorged. If one of these
-levels is crossed a message is printed.
-
-#####GParameters:
->v is the hunger level (must be between 0 and 20000).
-
-----------------------------------------------------------------------
-
-#####RFunction: check_experience
-
-#####GDeclaration: void check_experience(void);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Advance experience levels and print experience
-*/
-
-#####GDescription:
-Check if player experience level has changed. If a player has achieved
-a level for the first time, give reward or corruption (1 chance in 3)
-if they apply, and increase skill points.
-
-----------------------------------------------------------------------
-
-#####RFunction: check_experience_obj
-
-#####GDeclaration: void check_experience_obj(object_type *o_ptr);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Advance experience levels and print experience
-*/
-
-#####GDescription:
-Check if object "o_ptr" experience level has changed. If an object has
-achieved a level for the first time, apply gains.
-
-#####GParameters:
->o_ptr is the pointer to the object gaining experience.
-
-----------------------------------------------------------------------
-
-#####RFunction: gain_exp
-
-#####GDeclaration: void gain_exp(s32b amount);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Gain experience (share it to objects if needed)
-*/
-
-#####GDescription:
-Gain "amount" of experience. Count the number of objects which will
-gain experience. The objects share equally 2/3 of "amount". Give
-corruption if it applies. Gain experience. If experience is less
-than maximum, then increase maximum experience by 20% of "amount".
-Check for level change and print experience (check_experience).
-
-#####GParameters:
->amount is the amount of experience to share.
-
-----------------------------------------------------------------------
-
-#####RFunction: lose_exp
-
-#####GDeclaration: void lose_exp(s32b amount);
-
-#####GFile: xtra2.c
-
-#####GComment:
-/*
-* Lose experience
-*/
-
-#####GDescription:
-Decrease experience by "amount". Experience can not fall below zero.
-Check for level change and print experience (check_experience).
-
-#####GParameters:
->amount is the amount of experience to lose.
-
-----------------------------------------------------------------------
-
-
-Back to the *****lua.hlp*0[lua help index] .
-
-
- [[[[[gThis file by Chris Hadgis]
-
-
diff --git a/lib/help/lua_pow.txt b/lib/help/lua_pow.txt
deleted file mode 100644
index c221a664..00000000
--- a/lib/help/lua_pow.txt
+++ /dev/null
@@ -1,266 +0,0 @@
-|||||oy
-#####R /----------------------------------------\
-#####R < Adding new racial powers >
-#####R \----------------------------------------/
-
-#####R=== Introduction ===
-
-You *must* download and install my lua example files from
-[[[[[Ghttp://www.moppy.co.uk/angband.htm]. And also you should read the
-*****lua_intr.txt*0[scripting introduction] file if you haven't already done
-so.
-
-The (commented) accompanying script file for this tutorial is
-lib\scpt\pheonix.lua. Open it in your text editor!
-
-#####R=== The Racial Power ===
-
-Let's start with something simple. Let's say you wanted your new race (let's
-call it "Pheonix") to be able to cast fire balls as their racial power.
-
-#####R=== Starting off ===
-
-If you have a look at pheonix.lua you'll note the first lines are comments.
-I'll talk a bit more about comments later, but it's worth pointing out that any
-lines of text preceded by a double hyphen ([[[[[B--]) will be ignored by the
-scripting engine, and are therefore comments.
-After the comments, the first 10 lines of code are as follows:
-
-#####BPHEONIX_POWER = add_power
-#####B{
-#####B ["name"] = "Fire Breath",
-#####B ["desc"] = "You are able to cast fireballs",
-#####B ["desc_get"] = "Your beak glows red",
-#####B ["desc_lose"] = "Your beak goes cold again",
-#####B ["level"] = 10,
-#####B ["cost"] = 11,
-#####B ["stat"] = A_INT,
-#####B ["fail"] = 14,
-
-So, [[[[[BPHEONIX_POWER = add_power] is registering our power. We're giving it
-a name (PHEONIX_POWER) and saying that it is defined by calling the special
-function [[[[[Badd_power]. This special function is only used to define lua-
-scripted
-powers, and has attributes which are identified by their inclusion in square
-brackets.
-Note the following:
-- Lua is case sensitive. The name of our power is a constant, will never change
-so that's been named with capitals. variables and functions are named all in
-lower case. Technically speaking, Lua does not support constants, but we can
-emulate them by variables in this way. They don't have to be capitalised, but
-if you capitalise all your constants, it makes things easier to read, and
-you'll be following normal programming protocol.
-- There are no spaces in the name of the power. Use an underscore for spaces
-if you need to improve legibility.
-
-[[[[[B"name" = "Fire Breath",] This is the name of the power as it is
-displayed in the
-U menu, and as you will define it in p_info.txt (more about that later).
-
-[[[[[B"desc" = "You are able to cast fireballs",] This is what would
-appear in the
-information display list if you drank a potion of self knowledge or
-similar.
-
-[[[[[B"desc_get" = "Your beak glows red",] This is the information displayed
-when you
-gain this power.
-
-[[[[[B"desc_lose" = "Your beak goes cold again",] This is the information
-displayed when
-you lose this power. Eg After a mutation/corruption.
-
-[[[[[B"level" = 10,] Character level which must be gained in order to use
-power,
-
-[[[[[B"cost" = 11,] Amount of mana to cast this power.
-
-[[[[[B"stat" = A_INT,] stat which will define whether it works or not,
-
-[[[[[B"fail" = 14,] how high that stat must be.
-
-So our Pheonix will be able to cast PHEONIX_POWER from clvl 10, at a cost of
-11 mana, providing that the player's intelligence is 14 and upwards.
-
-#####R=== The function ===
-
-The next section is a lot longer, so we'll look at it line by line. I'll
-strip the comments for the purpose of this helpfile.
-
-#####B["power"] = function()
-#####B local ret, dir, damage
-#####B ret, dir = get_aim_dir();
-#####B if (ret == FALSE) then
-#####B return
-#####B end
-#####B damage = player.lev*3
-#####B msg_print("You breathe fire.")
-#####B fire_ball(GF_FIRE, dir, damage, 3)
-#####Bend,
-
-The [[[[[B"power"] bit is what actually happens when the player accesses this
-power
-from their 'U' menu. Every function must start with the word [[[[[Bfunction].
-Normally, we'd also declare its name at this point, but as this is contained
-within the [[[[[Badd_power] function, we just use the word [[[[[Bfunction] The
-empty
-brackets after this denote that no arguments are passed to the function.
-Lets look at the next line.
-
-#####B local ret, dir, damage
-
-The [[[[[Blocal] bit is saying that we're going to declare some local
-variables. That
-is, that there will be three variables used in this function , that apply
-exclusively to this function, and to no others. Global variables are
-variables that apply to the whole script, in multiple functions. The three
-variables will be called [[[[[Bret] (return), [[[[[Bdir] (direction), and
-[[[[[Bdamage]. They will be used to determine the direction the ball
-will fire in, and how much damage it will do. We'll see them in use when we add
-the third line:
-
-#####B ret, dir = get_aim_dir();
-
-here we're saying that the variables will take their value from the result
-of a function. The program performs the function [[[[[Bget_aim_dir] which
-essentially asks the player to choose a direction or pick a target.
-[[[[[Bget_aim_dir]
-assigns the value [[[[[Bret] to either TRUE (if the player correctly selected a
-direction) or FALSE (if the player failed to do so (maybe they changed their
-mind, or hit the wrong key!)). The value [[[[[Bdir] is the direction which was
-selected (or the path to the target if a target was selected). OK so let's add
-the next line:
-
-#####B if (ret == FALSE) then return end
-
-This introduces another fundamental scripting concept - [[[[[Bif] statements.
-They work just as you would expect them too. You say "if a certain condition is
-met, then do the following things."
-So in this function we're saying, "if the value of [[[[[Bret] is FALSE then
-[[[[[Breturn]."
-As I mentioned above, [[[[[Bret] is false if the player aborted (either
-deliberately or accidentally) the spell casting whilst choosing a direction
-for the spell. The double equals sign are used to mean "is equal to" as a
-single equals sign is used for defining variables remember? A single equals
-sign is more of a "let x be equal to y" thing.
-[[[[[Breturn] means stop the current function. And [[[[[Bend] signifies the
-close of the [[[[[Bif]
-statement. Every [[[[[Bif] statement must begin with an [[[[[Bif] and finish
-with an [[[[[Bend].
-So, what our [[[[[Bif] statement is saying is; "if the player failed to specify
-a direction or target for the spell, stop the function here."
-If the player has correctly specified a direction/target, the function
-continues to the next line:
-
-#####B damage = player.lev*3
-
-Here we're saying that the variable [[[[[Bdamage] has a value equal to the
-players current character level, multiplied by 3.
-
-#####B msg_print("You breathe fire.")
-
-Fairly easy to see what this does - displays the message "You breathe fire."
-I could have put anything there obviously, like [[[[[Bmsg_print("You open]
-[[[[[Byour mouth and everyone falls over with the smell of hot curry")] or
-some other such rubbish. But note that the message is enclosed within double
-quotes. The quotes aren't displayed in the message on screen, but signify the
-start and end of the message.
-
-#####B fire_ball(GF_FIRE, dir, damage, 3)
-
-This is the line that casts the spell. it says execute the function
-[[[[[Bfire_ball]. Now, this doesn't mean a fireball, it means fire a ball.
-There's an important distinction there! All it knows it is doing is firing a
-ball, it doesn't know what kind of ball, or where, or how big, or how much
-damage.
-The [[[[[BGF_FIRE,] bit is what tell us it is a fire ball. If it was
-[[[[[BGF_COLD,]
- we'd have a cold ball, or [[[[[BGF_CHAOS,] it would be a chaos ball and
-so on and so on. A full list of those types can be found in *****lua_gf.txt*0[lua_gf.txt].
-[[[[[B dir,] is the direction, from the [[[[[Bget_aim_dir()] bit.
-[[[[[B damage,] is the damage. As we've already said, this will be clvl*3.
-[[[[[B 3)] is the radius.
-and finally...
-
-#####B end,
-#####B}
-
-[[[[[Bend,] tells it the function has ended. Every function must finish with
-[[[[[Bend].
-You should have spotted that after the end of each attribute is a comma. Make
-sure you include this, and don't forget the braces at the very very end to
-close the [[[[[Badd_power] function.
-
-#####R=== Finishing the LUA file ===
-
-Save this as a text file 'pheonix.lua' Put it into the lib\scrpt directory
-of ToME, and open the init.lua file which you'll find in the same
-directory.
-
-Add the following line and resave the init.lua file.
-
-#####Btome_dofile("pheonix.lua")
-
-This ensures that ToME loads your file on start-up. Because you've installed
-the example scripts, this has all been done for you.
-
-#####R=== A quick word about comments ===
-
-One of the reasons Angband has so many variants is because the source code is
-clearly commented. Almost every line of code has an accompanying comment,
-explaining what that line does. It's good practice to add comments to any code
-or script you write. It's helpful to others who are learning, anyone who takes
-over your project, and also to yourself when you come back in a month's time
-and can't remember what you did! So comment your code clearly, and well!
-
-You can also add multi line comments which should be enclosed by [[[[[B--[[]
-and
-#####B]]
-
-#####R=== Tying it all together ===
-
-You'll now need to link this 'U' power to the pheonix race via the
-p_info.txt file. Simply add a line within the class definition file that has
-the format [[[[[BR:Z:<name>]the name of the power as it appears in the
-[[[[[B"name"]
-section we did right at the beginning, remember? Seeing as there is no pheonix
-race, I've gone ahead and made one up as a demonstration. If you've downloaded
-and installed the example files from [[[[[Ghttp://www.moppy.co.uk/angband.htm/]
-then
-you'll notice you already have the pheonix race available. Printed below is
-the p_info.txt entry for it.
-
-
-#####BR:N:23:Pheonix
-#####BR:D:Born from flame, these powerful bird like creatures gain fire related
-#####BR:D:abilities as they grow.
-#####BR:S:1:0:2:1:-3:2:-5
-#####BR:K:-8:15:20:-10:5:-1:-5:-5
-#####BR:P:8:130:5:210
-#####BR:M:255:70:2:1:20:5:2:1:18:3
-#####BR:E:1:1:1:2:1:1
-#####BR:C:Warrior | Mage | Priest | Rogue | Ranger | Paladin | Blade |
-#####BR:C:Warlock | Chaos-Warrior | Monk | Mindcrafter | High-Mage |
-#####BR:C:BeastMaster | Alchemist | Power-Mage | Runecrafter |
-#####BR:C:Sorceror | Archer | Illusionist | Druid | Necromancer | Black-Knight
-|
-#####BR:C:Daemonologist | Weaponmaster | Summoner |
-#####BR:Z:Fire Ball
-#####BR:R:1:0
-#####BR:F:RES_FIRE | FEATHER |
-
-Note the [[[[[BR:Z:] line.
-
-If all is well, you should be able to start ToME now and breathe fire! Once
-you get to lvl 10 anyhow. Don't forget, this is the kind of thing wizard mode
-was invented for! Ctrl-A and confirm at the prompt, and then 'e' will allow
-you to alter stats, including experience. Approx 1000 exp should do to get you
-to clvl 10.
-
-Ready for more? How about adding a new *****lua_skil.txt*0[skill] ?
-
- [[[[[gThis file by fearoffours (fearoffours@moppy.co.uk)]
-
-
-
-
diff --git a/lib/help/lua_ques.txt b/lib/help/lua_ques.txt
deleted file mode 100644
index 1d4b9c65..00000000
--- a/lib/help/lua_ques.txt
+++ /dev/null
@@ -1,299 +0,0 @@
-|||||oy
-#####R /----------------------------------------\
-#####R < Adding a new quest >
-#####R \----------------------------------------/
-
-#####R=== Introduction ===
-
-Adding a quest involves a bit more work, and there is, in some ways, rather
-more potential for things to go wrong! But it's a great way of showing just
-WHAT can be done with lua scripting. It proves just how much a lua patch can
-change the overall feel of the game. And it will give you a much better idea of
-how lua interfaces with the game source. You should have read the
-*****lua_intr.txt*0[scripting introduction], *****lua_pow.txt*0[racial power tutorial]
-and *****lua_skil.txt*0[adding new skills tutorial] before going much
-further. All of the above files contain some fairly fundamental information
-which you will find necessary for full understanding of this file.
-
-The script we're looking at is going to create a quest entrance in the middle
-of Bree. Entering the quest you see a little girl who has had her necklace
-stolen. Your job is to travel down a corridor, killing some monsters on the
-way, pick up the amulet and return it to the girl. Once done, she'll reveal the
-stairs back to Bree, and give you a (randomly generated) ring. If you feel the
-monsters are too hard, the only thing to do is talk to the little girl who will
-reveal the stairs again, failing the quest for you, and also block off the
-entrance to the amulet so that you can't cheat and make off with the amulet!
-
-#####R=== Getting started ===
-
-Open amulet.lua (you have downloaded the example scripts from
-[[[[[Ghttp://www.moppy.co.uk/angband.htm], haven't you?). The first thing you
-should see is that yet again we're calling a function that takes its arguments
-from a table, making it easy to read what's going on in the script.
-
-This time our function is add_quest and we have the following keys and values:
-
-#####B["global"] = "AMULET_QUEST",
-#####B["name"] = "Hannahs lost amulet",
-#####B["desc"] = {
-#####B "Retrieve an amulet for Hannah Cooke. It's guarded!"
-#####B },
-#####B["level"] = 5,
-#####B["hooks"] = {
-
-[[[[[B"global" = ] is a constant that we set when we refer to this quest in
-various places...
-[[[[[B"name" = ] Obviously a long name for the quest. This will appear in the
-quest screen (Ctrl-Q) and we may use in some map files too.
-[[[[[B"desc" = ] This is a long description for the quest. Again this is what
-will appear in the quest screen, and each line should be not more than 80
-characters.
-[[[[[B"level" = ] This is a rough indicator of how hard the quest is, and again,
-appears in the quest screen
-[[[[[B"hooks" = ] This is the real 'meat' of the quest. Like the [[[[[B"spell_list"] key
-in the [[[[[Badd_magic] function, this is another sub-table.
-
-To understand fully the structure of the "hooks" key it's worth taking a bit of
-a detour at this point and discussing how the scripting interface works in
-general.
-
-#####R=== How the scripts work (ish) ===
-
-Essentially there's a list of events that happen in the game. As each of these
-events happen they run a check to see if there's any functions that they need
-to run at that event. When we ran the add_mkey part of adding a new skill
-power, we essentially said "when the 'm' key is pressed in the game, perform
-the [[[[[Bexecute_magic(constructor_powers)] function". Likewise we did a similar
-thing with adding the racial power, only we hooked onto the pressing of the
-'U' key.
-
-All of this was partly hidden because of the way that the [[[[[Badd_magic] and
-[[[[[Badd_power] functions work. But here in the [[[[[Badd_quest] function it's a bit more
-specific. We are going to specify what events we're going to hook onto, and
-what functions we want to trigger at that event.
-
-A full list of hooks can be found in the source-file util.pkg.
-
-#####R=== The hooks ===
-
-#####B[HOOK_BIRTH_OBJECTS] = function()
-#####B quest(AMULET_QUEST).status = QUEST_STATUS_TAKEN
-#####Bend,
-
-So here we are with our first hook. We've declared that we're adding it to the
-birth of your character. That is, the function will be called when you create
-your character. And what we're doing here is automatically declaring the quest
-as being taken, like the Dol Guldur quest is. Each quest has 7 different
-statuses:
-
-[[[[[BQUEST_STATUS_IGNORED -1 ] This is unused, but the quest is
-ignored (will not be taken and has not been taken).
-[[[[[BQUEST_STATUS_UNTAKEN 0 ] The quest has not been accepted yet
-[[[[[BQUEST_STATUS_TAKEN 1 ] You have accepted the quest
-[[[[[BQUEST_STATUS_COMPLETED 2 ] You have completed the quest
-successfully but not been rewarded for it
-[[[[[BQUEST_STATUS_REWARDED 3 ] You've completed and rewarded the quest
-[[[[[BQUEST_STATUS_FAILED 4 ] You've failed the quest
-[[[[[BQUEST_STATUS_FINISHED 5 ] The quest is completely finished
-successfully.
-[[[[[BQUEST_STATUS_FAILED_DONE 6 ] The quest is completely finished
-unsuccessfully.
-
-You see that we've used the constant we defined in the "global" section is
-passed as an argument to [[[[[Bquest.status].
-
-Next hook then:
-
-#####B[HOOK_GEN_QUEST] = function()
-#####B if (player.inside_quest ~= AMULET_QUEST) then
-#####B return FALSE
-#####B else
-#####B load_map("amulet.map", 2, 2)
-#####B return TRUE
-#####B end
-#####Bend,
-
-Ok, we're hooking onto the generation of the quest here. This is specifically
-triggered in this instance by going down the quest entrance stairs in Bree.
-Once you've gone down the stairs, you are technically inside the quest, which
-means we can say if the person is not inside the amulet quest, then ignore this
-function, otherwise load the file 'amulet.map' at co-ordinates x=2 y=2. You'll
-find the amulet.map file in the edit directory, make sure you check it out. The
-syntax for map files is fairly simple, though I might get round to writing a
-tutorial on them some day! In the mean time holler for me at the usual email
-address if you're unsure.
-
-#####B[HOOK_FEELING] = function()
-#####B if (player.inside_quest ~= AMULET_QUEST) then
-#####B return FALSE
-#####B else
-#####B cmsg_print(TERM_L_BLUE, "Hannah speaks to you:")
-#####B cmsg_print(TERM_YELLOW, "'Some nasty monsters stole my
-#####B favourite necklace.'")
-#####B cmsg_print(TERM_YELLOW, "'It's hidden at the back of that
-#####B corridor! Please fetch it for me'")
-#####B return TRUE
-#####B end
-#####Bend,
-
-We're moving into some rather more obvious territory here, and getting into the
-meat of the quest. The [[[[[BHOOK_FEELING] is triggered at the point when the level
-feeling appears. It's important that this is run only if the player is inside
-the amulet quest, as otherwise it will trigger EVERY time a level feeling
-occurs, when you go down a level in the barrow-downs, whenever! Returning TRUE
-will replace the level feeling with what's above, returning FALSE will still
-perform the function but will amend the normal level feeling - so here if we'd
-returned false we'd still get our custom messages, but they'd follow with
-'looks like a typical quest level'. Of course returning false may cause you
-other problems (see end of this file!) depending on what else you have in your
-function.
-
-#####B[HOOK_GIVE] = function(m_idx, item)
-
-#####B m_ptr = monster(m_idx)
-#####B o_ptr = get_object(item)
-
-#####B if (m_ptr.r_idx == test_monster_name("Hannah Cooke, a little girl"))
-#####B and (o_ptr.tval == TV_AMULET) and (o_ptr.sval == 2) then
-
-#####B cmsg_print(TERM_YELLOW, "'Thank-you!'")
-
-#####B inven_item_increase(item, -1)
-#####B inven_item_optimize(item)
-
-#####B quest(AMULET_QUEST).status = QUEST_STATUS_COMPLETED
-
-#####B cave_set_feat(7, 6, 6)
-
-#####B cmsg_print(TERM_YELLOW, "'Here, take this pretty ring I found
-#####B as a token of gratitude!'")
-#####B random_type = randint(57)
-#####B reward = create_object(TV_RING, random_type)
-#####B drop_near(reward, -1, py, px)
-#####B quest(AMULET_QUEST).status = QUEST_STATUS_REWARDED
-#####B return TRUE
-#####B else
-#####B return FALSE
-#####B end
-#####Bend,
-
-This is a fairly long function, but don't be intimidated. It's not really
-difficult to understand. As you can see we're hooking into the giving of an
-object to a monster (the 'y' key). Because of this, the function takes two
-arguments - [[[[[Bm_idx] (the monster that you're giving to) and [[[[[Bitem] (the item that
-you're giving).
-
-We then make it possible to work with the monster and item variables by
-referencing them to two functions which identify them from the edit files:
-[[[[[Bmonster()] and [[[[[Bget_object()]. This enables us to now say, 'if the name of the
-monster is "Hannah Cooke, a little girl" and the type of item is an amulet and
-that amulet is an amulet of adornment, then carry out the following commands'.
-
-We then say call the function [[[[[Binven_item_increase()] which places an object in
-the inventory. It takes two arguments, the first being what object to put in
-the inventory and the second being how many of that type of objects to put in
-the inventory. You can see that by placing -1 as the second argument it fairly
-obviously subtracts that item from the inventory. The [[[[[Binven_item_optimize()]
-function checks that there are no empty inventory slots, and if there are,
-erases them.
-
-The quest is then completed, and the stairs are revealed using the
-[[[[[Bcave_set_feat()] function. This function takes three arguments, the first is the
-x co-ordinate of the cave square you wish to change (counted from top left) the
-second is the y co-ordinate, and the third is the index number of the feature
-you wish the square to become as defined in f_info.txt.
-
-We then set about rewarding the player. As you can see we call [[[[[Bcreate_object()]
-which takes two variables: the first is the type of object (these are all
-listed in object.pkg) and the second is the sub-type of that object. I searched
-k_info.txt to see how many different types of ring there were (57) and used a
-randomly selected number with a maximum value of 57 as that specific sub-type.
-
-We then drop the object (although it's been created, it has only been created
-in the game's memory, it's nowhere that the player can interact with it until
-we drop it). The [[[[[Bdrop_near()] function takes 3 variables, the first being the
-object that you wish to drop, the second being the chance that it disappears
-(like an arrow, or mimicked creature) on drop. If you set it to -1, it won't
-ever disappear. The last two are the co-ordinates at which the object will be
-dropped. py and px are the global variables defined by where the player is
-standing, so in this case it will drop under the player. You could do
-[[[[[Binven_item_increase(reward, 1)] if you wanted, but I wanted to show a variety of
-ways of handling objects.
-
-OK, let's take a look at the next hook:
-
-#####B[HOOK_CHAT] = function(m_idx)
-#####B m_ptr = monster(m_idx)
-#####B if (m_ptr.r_idx == test_monster_name("Hannah Cooke, a little girl")) then
-#####B if (quest(AMULET_QUEST).status == QUEST_STATUS_REWARDED) then
-#####B cmsg_print(TERM_YELLOW, "'Bye!'")
-#####B else
-#####B cmsg_print(TERM_YELLOW, "'Are the monsters too tough?
-#####B Do you want to leave?'")
-#####B if (get_check("Really leave and fail the quest?") ==
-#####B FALSE)
-#####B then
-#####B cmsg_print(TERM_YELLOW, "'Go and get my
-#####B amulet then!'")
-#####B else
-#####B cmsg_print(TERM_YELLOW, "'Awww. Never
-#####B mind. It was only a bit of rabbits foot'")
-#####B quest(AMULET_QUEST).status =
-#####B QUEST_STATUS_FAILED
-#####B cave_set_feat(7, 6, 6)
-#####B cave_set_feat(12, 5, 60)
-#####B end
-#####B end
-#####B return TRUE
-#####B end
-#####B return FALSE
-#####Bend,
-
-This only looks complicated because of the nested 'if' statements. It's easy to
-lose your way when doing this kind of thing, always make sure you close all the
-statements and put the returns in the right place. [[[[[BHOOK_CHAT] functions have one
-argument - the monster you are chatting to. As you can see, we perform a check
-to make sure it's the right monster and then away we go.... If the player wants
-to leave the quest without completion they talk to Hannah, who gives them a
-chance to change their mind! If the player asks to leave the entrance to the
-corridor is blocked off (the second cave_set_feat()) so that the user can't
-then go and get the amulet. Gumband or Zangband players may at this point think
-they've lost out on the rabbits foot of burglary! (they haven't though as it
-doesn't exist in ToME).
-
-#####B[HOOK_CHAR_DUMP] = function()
-#####B if (quest(AMULET_QUEST).status == QUEST_STATUS_FAILED) then
-#####B print_hook("\n You chickened out of rescuing a necklace and
-#####B made a little girl sad. ")
-#####B elseif (quest(AMULET_QUEST).status == QUEST_STATUS_COMPLETED) or
-#####B (quest(AMULET_QUEST).status == QUEST_STATUS_REWARDED) or
-#####B (quest(AMULET_QUEST).status == QUEST_STATUS_FINISHED) then
-#####B print_hook("\n You rescued little Hannah Cooke's necklace from
-#####B the nasty monsters ")
-#####B end
-#####B return FALSE
-#####Bend,
-
-This quite simply and obviously prints an appropriate line in the character
-dump based on the status of the quest. The [[[[[B\n] bit ensures the text goes on a
-new line, so make sure you include it! Also you should return FALSE as
-returning TRUE will stop executing all the other character dump lines (and you
-may get other quests not having their lines printed).
-
-=== A word about returning TRUE and FALSE ===
-
-As I mentioned above, you need to be careful what you return when dealing with
-HOOKS as you can mess up the game a bit. Bear in mind that if you add a
-function to [[[[[BHOOK_GEN_QUEST], every time a quest is generated, that function will
-run. If you return TRUE, then no further functions attached to that hook will
-run. If you return FALSE, it continues processing functions on that hook.
-
-That is pretty much it. Do take a look at the other included scripts that I
-haven't gone into any detail about in the files, as you'll pick up some useful
-techniques there too. Especially worthy of note is the hina.lua file which uses
-hooks outside of the quest structure and also global variables and variables in
-a table. If you have any questions, let me know at the email addy below.
-
-Back to the *****lua.hlp*0[lua help index] .
-
- [[[[[gThis file by fearoffours (fearoffours@moppy.co.uk)]
diff --git a/lib/help/lua_skil.txt b/lib/help/lua_skil.txt
deleted file mode 100644
index 87385e5d..00000000
--- a/lib/help/lua_skil.txt
+++ /dev/null
@@ -1,342 +0,0 @@
-|||||oy
-#####R /----------------------------------------\
-#####R < Adding new skill-based powers >
-#####R \----------------------------------------/
-
-#####R=== Introduction ===
-
-This is very much in the same vein as adding a racial/extra power, but has to
-be tied into skills, and we're defining more than one spell at once. You should
-have read the *****lua_intr.txt*0[scripting introduction] and
-*****lua_pow.txt*0[racial power tutorial] before going much further. Both of the above files
-contain some fairly fundamental information which you will find necessary for
-full understanding of this file.
-
-#####R=== Getting started ===
-
-Open construc.lua (you have downloaded the example scripts from
-[[[[[Ghttp://www.moppy.co.uk/angband.htm], haven't you?). The idea behind this
-script is that it adds a skill which affects you ability to build/knock down
-stuff. It treats the equivalent of stone-to-mud and trap-door destruction
-spells as if they were "building skills". It also adds quite a few high-level
-'spells' which do funky things like carving out corridors and chambers in a
-single turn, and building doors and stuff. Just think of it as if the person
-who has plenty of skills in this area would be a builder-type with lots of
-strength and constitution...
-
-In order to add these powers we're going to edit the s_info.txt file which
-lives in the edit folder, and add a new skill, underneath the 'misc' tree,
-called construction. The powers will then be accessed through the 'm' menu, in
-a similar way to mindcraft or alchemy skills or such. (That is, no books are
-needed to cast them, as we're treating them as a craft that has been learnt,
-rather than spells.) Our fist line of the script file reads:
-
-#####BSKILL_CONSTRUCT = 57
-
-This merely links the skill index that we'll be defining in s_info.txt to this
-file. We'll come back to this at the end of the tutorial.
-
-#####Bconstructor_powers = add_magic
-
-In a similar way to the [[[[[Badd_power] function we called when we added the
-Phoenix racial ability, this line calls a special function which we use to
-define new skills. It follows a very specific, but easy to understand form. It
-starts with a brace, which indicates the add_magic function will be storing
-these values in a table. Don't worry about this too much, but understand that a
-table starts and ends with braces [[[[[B{] and [[[[[B}] respectively. Each key
-(or field name) takes the format [[[[[B"key" = value,] (the comma is
-important!).
-
-#####B ["fail"] = function()
-#####B msg_print("You decide now is a good time for a cuppa")
-#####B end,
-#####B ["stat"] = A_STR,
-#####B ["get_level"] = function()
-#####B return get_skill_scale(SKILL_CONSTRUCT, 50)
-#####B end,
-#####B ["spell_list"] =
-
-[[[[[B"fail"] is a function that is called whenever you ##fail to cast the
-spells##. Here it does nothing spectacular.
-[[[[[B"stat"] defines the stat used to cast the spells. Here it is strength.
-Any other stat can be used, prefix it with [[[[[BA_].
-[[[[[B"get_level"] is used to determine the level of the spell. It's associated
-with spells that increase in power the more points that are invested in the
-associated skill. I know that's not terribly clear, I'll come back to it in a
-moment.
-[[[[[B"spell_list"] is just that, a list of all the spells.
-Each of these four properties within the table must end with a comma. If a
-function is defined in the property itself then we add the comma after the
-closing [[[[[Bend]. Again compare with construct.lua to see it. Any line NOT
-ending with a comma will cause a lua error on startup, probably of the type
-[[[[[V'}' expected to close '{' at line <whatever>.]
-
-#####R=== The spell list ===
-
-Each spell, within the [[[[[B"spell_list"] key has its own set of properties
-that we need to define from a sub-table so we open another set of braces to
-start the spell list, and then a third set of braces to start the first spell.
-So with all this, our first spell looks like:
-
-#####B ["spell_list"] =
-#####B {
-#####B {
-#####B ["name"] =
-#####B ["desc"] =
-#####B ["mana"] =
-#####B ["level"] =
-#####B ["fail"] =
-#####B ["spell"] =
-#####B ["info"] =
-#####B },
-
-[[[[[B"name"] is, as you would expect, the name of the spell, as you want it to
-appear in the spell list when choosing a spell. The maximum number of
-characters for this is 29.
-[[[[[B"desc"] is the description received when you hit the capital letter of
-that spell in the menu. (i.e., press 'a' to cast the first spell, but press 'A'
-to receive info about the first spell.
-[[[[[B"mana"] is the amount of mana required to cast the spell.
-[[[[[B"level"] is the level required to use that spell (that's level of the (in
-this case construction) skill, not character level!).
-[[[[[B"fail"] is base fail rate.
-[[[[[B"spell"] is the function that is executed when the spell is cast. Note
-that it MUST take the form [[[[[Bfunction() blah end] even if you're calling
-a C function directly. If you have a look at the end of the file, you'll see
-the "rebuild dungeon" spell which is identical to the "alter_reality" spell.
-However, rather than reading [[[[[B"spell" = alter_reality()], it reads:
-
-#####B["spell"] = function()
-#####B alter_reality()
-#####Bend,
-
-which appears to be a long way round to do the same thing, but this is how it
-must be done.
-
-In a similar way, the [[[[[B"info"] key must begin with a [[[[[Bfunction()]
-and return the value of what is to be displayed alongside the spell name,
-level and mana in the spell list. The maximum number of characters that can be
-displayed here is dependent on the width of the user's screen, but try to keep
-it under 12 if you can, as this will fit in a standard 80x24 terminal screen.
-The first character will need to be a space otherwise you'll have the info line
-squashed right up against the fail rate and it will look odd. If you wish to
-have this part blank in the spell list, you still need to return a value, so
-just a single space will do : [[[[[Breturn " "]
-
-All of these keys are repeated for each spell, with each spell in its own
-table (therefore, it's own set of braces). Again, check the lua file for
-clarification.
-
-When entering the spells in the "spell_list", you must take care to specify
-them in the order which they are gained, otherwise they display incorrectly in
-the spell list.
-
-You should by now be experienced enough to understand most of what's going on
-in the actual spell functions (especially if you dig around in the source a
-bit, and check out Chris Hadgis' excellent *****lua_spel.txt*0[spell.pkg] helper
-files. I'm not going to go through the whole file line by line, as this is
-something you should do yourself, figuring out what's going on. I'm going to
-examine a few of the things we haven't covered before though, so pay attention.
-
-#####R=== The get_level() function ===
-
-Probably one of the most important functions that you see reappearing in the
-file is the [[[[[Bget_level()] function. All this does is return the numerical
-value of the power that is given as the first argument. So [[[[[Bget_level]
-[[[[[B(constructor_power)] will return the current level of the constructor power.
-Given that the level of this is taken directly from the construction skill, (we
-defined that in the [[[[[B"get_level"] key, by saying [[[[[Bget_skill_scale]
-[[[[[B(SKILL_CONSTRUCT, 50)] ) it will return the value of your construction skill.
-[[[[[Bconstructor_power] is the name of the whole power, we named it thus on
-the second line of the script!
-
-[[[[[Bget_level] takes the following arguments: [[[[[Bget_level(power, max, ]
-[[[[[Bmin)]. The power is obviously which power we're taking the value from, and the
-max and min allow you to define boundaries for the spell. For instance the
-current maximum value that [[[[[Bget_level(constructor_power)] can return is
-50, as that is the maximum number of skill points you can have in that skill.
-If you were using this as the basis for the damage of a low-level bolt spell,
-you might decide that having a damage of 50 would be too much (unlikely, but
-still possible). You could therefore define a maximum value of 20 so that when
-the value of the construction skill was over 50, the maximum value for
-damage of that spell would be 20. To achieve this you'd have:
-[[[[[Bget_level(constructor_power, 20)]. In a similar way, you can force the
-minimum value of the spell to be higher than the actual construction skill
-level, with a [[[[[Bget_level(constructor_power, 50, 15)]. This would be useful
-say for spells that you wanted to be available when the construction skill
-level reaches 10, but for whom you wanted a (for example) base damage of 15
-right from the word go. These re-scale values rather than capping them!
-
-You can leave out the minimum value as I have done above. You can also leave
-the maximum value out (it will default to 50). If you want to specify a minimum
-value though, you MUST specify a maximum value as well.
-
-As you have hopefully been able to tell, the [[[[[Bget_level()] function
-enables us to have spells that increase in usefulness as you gain levels. Let's
-take the "Dismantle" spell. The function in the [[[[[B"spell"] key is as
-follows:
-
-#####Bfunction()
-#####B local ret, dir, dam
-
-#####B if (get_level(constructor_powers, 50) >= 11) then
-#####B ret, dir = get_aim_dir();
-#####B if (ret == FALSE) then return end
-#####B fire_beam(GF_KILL_TRAP, dir, 1)
-#####B else
-#####B fire_ball(GF_KILL_TRAP, 0, 1, 1)
-#####B end
-#####Bend,
-
-The [[[[[Bif] statement is obviously what really interests us here. You'll
-notice that this has the amendment of an [[[[[Belse] clause, which the [[[[[Bif]
-statement we used in the previous tutorial did not. As you would expect, if the
-condition on the first line of this statement is met, then the instructions
-immediately below it are carried out. If the condition is not met, then the
-statements that follow the [[[[[Belse] are executed.
-
-Coming back to the [[[[[Bget_level] function, we learnt from above, that the
-[[[[[Bget_level] part of this function translates as, "if the value of the
-construction_power level (which happens to be identical to the construction
-skill level) is greater than or equal to 11, cast a beam of trap disarming in
-the specified direction. (The first part of this is all straightforward,
-getting a direction, and cancelling correctly if the player presses 'ESC'.)
-Otherwise, cast a ball of trap disarming with a radius of one, centred on the
-player."
-
-In the same way, as you look at the construc.lua file, you will see that
-[[[[[Bget_level()] is used many times in this way, to increase the power of
-detection spells, to change bolt spells to ball spells, to keep a constantly
-increasing damage going, and so on.
-
-#####R=== Elseif's and things ===
-
-If you want to provide more than one alternative condition, in an
-[[[[[Bif-then-else] statement, you can use [[[[[Belseif]s which do what you
-might expect. Take a look at the first spell, "Survey area", for an example of
-this:
-
-#####Bif (get_level(constructor_powers, 50) >= 28) then
-#####B wiz_lite()
-#####Belseif (get_level(constructor_powers, 50) >= 15) then
-#####B map_area()
-#####B detect_traps(DEFAULT_RADIUS)
-#####Belseif (get_level(constructor_powers, 50) >= 5) then
-#####B detect_traps(DEFAULT_RADIUS)
-#####B detect_stairs(DEFAULT_RADIUS)
-#####B detect_doors(DEFAULT_RADIUS)
-#####Belse
-#####B detect_stairs(DEFAULT_RADIUS)
-#####B detect_doors(DEFAULT_RADIUS)
-#####Bend
-
-If the level of constructor powers is greater or equal to 28, then the function
-[[[[[Bwiz_lite()] is performed, and no other part of the if statement is
-executed. [[[[[Bwiz_lite()] is just the enlightenment spell. If it is less than
-28, the next condition is examined: that if the level of constructor powers is
-greater than or equal to 15, then [[[[[Bmap_area()](Magic mapping) and detect
-traps are called. If the level of constructor power is less than 15, it moves
-onto the next condition, which says that if the level of constructor power is
-greater than 5, then detect stairs, traps and doors. If none of these
-conditions are met,(that is, if the level of construction skill is less than 5)
-then we just detect doors and stairs.
-
-You'll note that each of the detection spells includes a DEFAULT_RADIUS
-constant. You could change this to a numerical value, or a variable defined
-somewhere else in your script. eg [[[[[Bdetect_traps(2)] would detect traps
-with a radius of 2 centred on the player.
-
-#####R=== Registering the skill type ===
-
-This is what we do at the end of the file, and is what ties the powers we've
-defined to the action of pressing the 'm' key in game. Once more we're calling
-a special function [[[[[Badd_mkey()] which takes its arguments for a table.
-There are only two keys in this table though which keeps things simple.
-
-#####Badd_mkey
-#####B{
-#####B ["mkey"] = MKEY_CONSTRUCT_POWERS,
-#####B ["fct"] = function()
-#####B execute_magic(constructor_powers)
-#####B energy_use = energy_use + 100;
-#####B end
-#####B}
-
-[[[[[B"mkey"] must be a UNIQUE value > 1000 . Here I've defined it as a
-constant, [[[[[BMKEY_CONSTRUCT_POWERS], which has the value 1004. This value
-we'll call again in the s_info.txt file.
-[[[[[B"fct"] is the function that's called when the user presses the key in the
-'m' menu. So here, it calls the [[[[[Bexecute_magic] function which actually
-displays a list of powers for the user to choose from. The argument it takes is
-the powers it will use (alchemy, mindcraft, etc., or in this case constructor),
-and then the [[[[[Benergy_use] line tells the game to take one game turn to do
-the action.
-
-#####R=== Adding the skill in s_info.txt ===
-
-Take a look in the s_info.txt file, under the Misc section. You'll see,
-
-#####BN:57:Construction
-#####BD:Ability to use constructor powers
-#####BD:Construction powers use strength
-#####BA:1004:Build or knock down stuff
-#####BI:1000
-
-The first line is the index of the skill; again this must be unique. The second
-property is the name of the skill. The [[[[[BD] lines are the lines displayed
-when the skill is highlighted in the skill screen.
-The first entry on the [[[[[BA] line is the value of the [[[[[B"mkey"] we
-defined in the [[[[[Badd_mkey] function in our script. The second entry is the
-display for selecting the construction power in the 'm' menu.
-The [[[[[BI] line is currently unused, but add a 1000 there anyway. That's what
-all the others have so when it's introduced, at least it will affect your
-powers identically to how it affects all the other powers.
-
-If you scroll to the very bottom of the file now, you'll see I've placed the
-skill at the bottom of the Misc branch of the skills tree. I then made a new
-class, constructor, which you can see in p_info.txt.
-
-That is all that is NEEDED when writing a script to add a skill - defining an
-mkey using add_mkey, and defining any powers that are called in the
-[[[[[B"fct"] (generally using [[[[[Badd_magic] ).
-
-And I've added the line
-
-#####Btome_dofile("construc.lua")
-
-in init.lua so the script is loaded on start-up!
-
-Below I'm going to talk in depth about a few other functions that you may find
-useful in your scripting.
-
-#####R=== fire_bolt() and fire_beam() ===
-
-In the last help file we looked at the routine for firing a ball -
-[[[[[Bfire_ball()]. Here's a quick note about beams and bolts...
-[[[[[Bfire_beam()] and [[[[[Bfire_bolt()] take 2 arguments:
-[[[[[B(type, direction, damage)]. So in the dismantle spell we have the
-direction passed from [[[[[Bget_aim_dir()] (the function that asks the player
-for a direction), the type of damage is [[[[[BGF_KILL_TRAP], which as you might
-expect disarms traps. And the damage is only 1 because it's not going to hurt
-monsters, just dismantle traps.
-
-#####R=== set_oppose_elec() ===
-
-OK here's another thing. Wander on down to the sparky_skills spell. After the
-appropriate bolt/ball is fired, we have the line:
-
-#####Bif player.oppose_elec == 0 then
-#####B set_oppose_elec(randint(10) + 20 + get_level(constructor_powers, 20)*3)
-#####Bend
-
-This is the bit that grants temporary resist electricity. We've called the
-function [[[[[Bset_oppose_elec(turns)], which sets the player's resist
-electricity to "on" for the time specified in the argument "turns". We're only
-calling this if the player is not already granted temporary resist electricity,
-and we've linked the number of turns it is active to the level of the
-construction skill. I've limited the maximum value of get_level to 20 in this
-instance. A similar idea can be used for temporarily granting levitation,
-extended infravision, protection against evil, resist fire, stuns, cuts and so
-on and so on. Have a look in player.pkg in the source for a full list....
-
- [[[[[gThis file by fearoffours (fearoffours@moppy.co.uk)]
diff --git a/lib/help/lua_spel.txt b/lib/help/lua_spel.txt
deleted file mode 100644
index aa4a532b..00000000
--- a/lib/help/lua_spel.txt
+++ /dev/null
@@ -1,2150 +0,0 @@
-|||||oy
-
-#####R /----------------------------------------\
-#####R < spell.pkg functions helper file >
-#####R \----------------------------------------/
-
-----------------------------------------------------------------------
-
-#####R=== teleport_player_directed ===
-
-#####GDeclaration
- extern void teleport_player_directed(int rad, int dir);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Teleport player, using a distance and a direction as a rough guide.
- *
- * This function is not at all obsessive about correctness.
- * This function allows teleporting into vaults (!)
- */
-
-#####GDescription
-Teleport a player up to "rad" grids away roughly in "dir" direction.
-
-#####GParameters
-> "rad" must not exceed 200. The distance teleported is a minimum of a
- quarter of "rad".
-> "dir" must be from 0 to 9.
- *****fields.txt*0[direction]
-
-----------------------------------------------------------------------
-
-#####R=== teleport_away ===
-
-#####GDeclaration
- extern void teleport_away(int m_idx, int dis);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Teleport a monster, normally up to "dis" grids away.
- *
- * Attempt to move the monster at least "dis/2" grids away.
- *
- * But allow variation to prevent infinite loops.
- */
-
-#####GDescription
-Teleport monster indicated by "m_idx" up to "dis" grids away.
-
-#####GParameters
-> "m_idx" is the index of the monster in m_list[].
-> "dis" must not exceed 200. The distance teleported is a minimum of a
- quarter of "dis".
-
-----------------------------------------------------------------------
-
-#####R=== teleport_player ===
-
-#####GDeclaration
- extern void teleport_player(int dis);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Teleport the player to a location up to "dis" grids away.
- *
- * If no such spaces are readily available, the distance may increase.
- * Try very hard to move the player at least a quarter that distance.
- */
-
-#####GDescription
-Teleport player up to "dis" grids away.
-
-#####GParameters
-> "dis" must not exceed 200. The distance teleported is a minimum of a
- quarter of "dis".
-
-----------------------------------------------------------------------
-
-#####R=== teleport_player_to ===
-
-#####GDeclaration
- extern void teleport_player_to(int ny, int nx);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Teleport player to a grid near the given location
- *
- * This function is slightly obsessive about correctness.
- * This function allows teleporting into vaults (!)
- */
-
-#####GDescription
-Teleport player to a grid near the given location ("ny", "nx"). If
-the location is empty, the player goes there, otherwise they go to
-a grid as close as possible to the location.
-
-#####GParameters
-> "ny" is the y co-ordinate of the location.
-> "nx" is the x co-ordinate of the location.
-
-----------------------------------------------------------------------
-
-#####R=== teleport_monster_to ===
-
-#####GDeclaration
- extern void teleport_monster_to(int m_idx, int ny,
- int nx);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Teleport a monster to a grid near the given location
- *
- * This function is slightly obsessive about correctness.
- */
-
-#####GDescription
-Teleport monster indicated by "m_idx" to a grid near the given
-location ("ny", "nx"). If the location is empty, the monster goes
-there, otherwise they go to a grid as close as possible to the
-location.
-
-#####GParameters
-> "m_idx" is the index of the monster in m_list[].
-> "ny" is the y co-ordinate of the location.
-> "nx" is the x co-ordinate of the location.
-
-----------------------------------------------------------------------
-
-#####R=== teleport_player_level ===
-
-#####GDeclaration
- extern void teleport_player_level(void);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Teleport the player one level up or down (random when legal)
- */
-
-#####GDescription
-Teleport the player one level up or down at random.
-
-----------------------------------------------------------------------
-
-#####R=== recall_player ===
-
-#####GDeclaration
- extern void recall_player(void);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Recall the player to town or dungeon
- */
-
-#####GDescription
-Recall the player to town (if in dungeon) or dungeon (if in town).
-
-----------------------------------------------------------------------
-
-#####R=== take_hit ===
-
-#####GDeclaration
- extern void take_hit(int damage, cptr kb_str);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Decreases players hit points and sets death flag if necessary
- *
- * XXX XXX XXX Invulnerability needs to be changed into a "shield"
- *
- * XXX XXX XXX Hack -- this function allows the user to save (or quit)
- * the game when he dies, since the "You die." message is shown before
- * setting the player to "dead".
- */
-
-#####GDescription
-Reduce the player's current hit points by "damage" points. If the
-player dies, "kb_str" is used to record what the player was killed by
-(see high-score table).
-
-#####GParameters
-> "damage" is the amount of damage.
-> "kb_str" is a string describing what killed the player.
-
-----------------------------------------------------------------------
-
-#####R=== take_sanity_hit ===
-
-#####GDeclaration
- extern void take_sanity_hit(int damage, cptr hit_from);
-
-#####GFile
- spells1.c
-
-#####GComment
-/* Decrease player's sanity. This is a copy of the function above. */
-
-#####GDescription
-Reduce the player's current sanity points by "damage" points. If the
-player dies, "hit_from" is used to record what the player was killed
-by (see high-score table).
-
-#####GParameters
-> "damage" is the amount of damage.
-> "hit_from" is a string describing what killed the player.
-
-----------------------------------------------------------------------
-
-#####R=== project ===
-
-#####GDeclaration
- extern bool project(int who, int rad, int y, int x,
- int dam, int typ, int flg);
-
-#####GFile
- spells1.c
-
-#####GComment
-/*
- * Generic "beam"/"bolt"/"ball" projection routine.
- *
- * Input:
- * who: Index of "source" monster (negative for "player")
- * jk -- -2 for traps, only used with project_jump
- * rad: Radius of explosion (0 = beam/bolt, 1 to 9 = ball)
- * y,x: Target location (or location to travel "towards")
- * dam: Base damage roll to apply to affected monsters (or player)
- * typ: Type of damage to apply to monsters (and objects)
- * flg: Extra bit flags (see PROJECT_xxxx in "defines.h")
- *
- * Return:
- * TRUE if any "effects" of the projection were observed, else FALSE
- *
- * Allows a monster (or player) to project a beam/bolt/ball of a given kind
- * towards a given location (optionally passing over the heads of interposing
- * monsters), and have it do a given amount of damage to the monsters (and
- * optionally objects) within the given radius of the final location.
- *
- * A "bolt" travels from source to target and affects only the target grid.
- * A "beam" travels from source to target, affecting all grids passed through.
- * A "ball" travels from source to the target, exploding at the target, and
- * affecting everything within the given radius of the target location.
- *
- * Traditionally, a "bolt" does not affect anything on the ground, and does
- * not pass over the heads of interposing monsters, much like a traditional
- * missile, and will "stop" abruptly at the "target" even if no monster is
- * positioned there, while a "ball", on the other hand, passes over the heads
- * of monsters between the source and target, and affects everything except
- * the source monster which lies within the final radius, while a "beam"
- * affects every monster between the source and target, except for the casting
- * monster (or player), and rarely affects things on the ground.
- *
- * Two special flags allow us to use this function in special ways, the
- * "PROJECT_HIDE" flag allows us to perform "invisible" projections, while
- * the "PROJECT_JUMP" flag allows us to affect a specific grid, without
- * actually projecting from the source monster (or player).
- *
- * The player will only get "experience" for monsters killed by himself
- * Unique monsters can only be destroyed by attacks from the player
- *
- * Only 256 grids can be affected per projection, limiting the effective
- * "radius" of standard ball attacks to nine units (diameter nineteen).
- *
- * One can project in a given "direction" by combining PROJECT_THRU with small
- * offsets to the initial location (see "line_spell()"), or by calculating
- * "virtual targets" far away from the player.
- *
- * One can also use PROJECT_THRU to send a beam/bolt along an angled path,
- * continuing until it actually hits something (useful for "stone to mud").
- *
- * Bolts and Beams explode INSIDE walls, so that they can destroy doors.
- *
- * Balls must explode BEFORE hitting walls, or they would affect monsters
- * on both sides of a wall. Some bug reports indicate that this is still
- * happening in 2.7.8 for Windows, though it appears to be impossible.
- *
- * We "pre-calculate" the blast area only in part for efficiency.
- * More importantly, this lets us do "explosions" from the "inside" out.
- * This results in a more logical distribution of "blast" treasure.
- * It also produces a better (in my opinion) animation of the explosion.
- * It could be (but is not) used to have the treasure dropped by monsters
- * in the middle of the explosion fall "outwards", and then be damaged by
- * the blast as it spreads outwards towards the treasure drop location.
- *
- * Walls and doors are included in the blast area, so that they can be
- * "burned" or "melted" in later versions.
- *
- * This algorithm is intended to maximise simplicity, not necessarily
- * efficiency, since this function is not a bottleneck in the code.
- *
- * We apply the blast effect from ground zero outwards, in several passes,
- * first affecting features, then objects, then monsters, then the player.
- * This allows walls to be removed before checking the object or monster
- * in the wall, and protects objects which are dropped by monsters killed
- * in the blast, and allows the player to see all affects before he is
- * killed or teleported away. The semantics of this method are open to
- * various interpretations, but they seem to work well in practice.
- *
- * We process the blast area from ground-zero outwards to allow for better
- * distribution of treasure dropped by monsters, and because it provides a
- * pleasing visual effect at low cost.
- *
- * Note that the damage done by "ball" explosions decreases with distance.
- * This decrease is rapid, grids at radius "dist" take "1/dist" damage.
- *
- * Notice the "napalm" effect of "beam" weapons. First they "project" to
- * the target, and then the damage "flows" along this beam of destruction.
- * The damage at every grid is the same as at the "centre" of a "ball"
- * explosion, since the "beam" grids are treated as if they ARE at the
- * centre of a "ball" explosion.
- *
- * Currently, specifying "beam" plus "ball" means that locations which are
- * covered by the initial "beam", and also covered by the final "ball", except
- * for the final grid (the epicentre of the ball), will be "hit twice", once
- * by the initial beam, and once by the exploding ball. For the grid right
- * next to the epicentre, this results in 150% damage being done. The centre
- * does not have this problem, for the same reason the final grid in a "beam"
- * plus "bolt" does not -- it is explicitly removed. Simply removing "beam"
- * grids which are covered by the "ball" will NOT work, as then they will
- * receive LESS damage than they should. Do not combine "beam" with "ball".
- *
- * The array "gy[],gx[]" with current size "grids" is used to hold the
- * collected locations of all grids in the "blast area" plus "beam path".
- *
- * Note the rather complex usage of the "gm[]" array. First, gm[0] is always
- * zero. Second, for N>1, gm[N] is always the index (in gy[],gx[]) of the
- * first blast grid (see above) with radius "N" from the blast centre. Note
- * that only the first gm[1] grids in the blast area thus take full damage.
- * Also, note that gm[rad+1] is always equal to "grids", which is the total
- * number of blast grids.
- *
- * Note that once the projection is complete, (y2,x2) holds the final location
- * of bolts/beams, and the "epicentre" of balls.
- *
- * Note also that "rad" specifies the "inclusive" radius of projection blast,
- * so that a "rad" of "one" actually covers 5 or 9 grids, depending on the
- * implementation of the "distance" function. Also, a bolt can be properly
- * viewed as a "ball" with a "rad" of "zero".
- *
- * Note that if no "target" is reached before the beam/bolt/ball travels the
- * maximum distance allowed (MAX_RANGE), no "blast" will be induced. This
- * may be relevant even for bolts, since they have a "1x1" mini-blast.
- *
- * Note that for consistency, we "pretend" that the bolt actually takes "time"
- * to move from point A to point B, even if the player cannot see part of the
- * projection path. Note that in general, the player will *always* see part
- * of the path, since it either starts at the player or ends on the player.
- *
- * Hack -- we assume that every "projection" is "self-illuminating".
- *
- * Hack -- when only a single monster is affected, we automatically track
- * (and recall) that monster, unless "PROJECT_JUMP" is used.
- *
- * Note that all projections now "explode" at their final destination, even
- * if they were being projected at a more distant destination. This means
- * that "ball" spells will *always* explode.
- *
- * Note that we must call "handle_stuff()" after affecting terrain features
- * in the blast radius, in case the "illumination" of the grid was changed,
- * and "update_view()" and "update_monsters()" need to be called.
- */
-
-#####GDescription
-Generate a beam/bolt/ball starting from "who" with a radius of "rad"
-at target grid "y,x" for "damage" points of "typ" damage. The beam/
-bolt/ball can have various properties as denoted by "flg".
-
-#####GParameters
-> "who" is > 0 (index of monster in m_list[]), < 0 and
- not -100 or -101 (player), -100 or -101 (trap).
-> "rad" is 0 for a beam/bolt and 1-9 for a ball.
-> "y" is the y co-ordinate of the target grid.
-> "x" is the x co-ordinate of the target grid.
-> "dam" is the number of points of damage.
-> "typ" is the type of damage
- *****fields.txt*0[GF_fields]
-> "flg" is the projection effect
- *****fields.txt*0[PROJECT_fields]
-
-----------------------------------------------------------------------
-
-#####R=== corrupt_player ===
-
-#####GDeclaration
- extern void corrupt_player(void);
-
-#####GFile
- spells1.c
-
-#####GComment
-(none)
-
-#####GDescription
-Swap two of the players stats at random.
-
-----------------------------------------------------------------------
-
-#####R=== grow_trees ===
-
-#####GDeclaration
- extern void grow_trees(int rad);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Grow trees
- */
-
-#####GDescription
-Grow up to (("rad" x "rad") + 11) trees around the player.
-
-#####GParameters
-> "rad" is the radius of the area where trees may grow.
-
-----------------------------------------------------------------------
-
-#####R=== hp_player ===
-
-#####GDeclaration
- extern bool hp_player(int num);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Increase players hit points, notice effects
- */
-
-#####GDescription
-Add "num" points to the player's current hit points. The total can
-not exceed the maximum.
-
-#####GParameters
-> "num" is the number of points to add.
-
-----------------------------------------------------------------------
-
-#####R=== heal_insanity ===
-
-#####GDeclaration
- extern bool heal_insanity(int val);
-
-#####GFile
- spells2.c
-
-#####GComment
-/* Heal insanity. */
-
-#####GDescription
-Add "val" points to the player's current sanity points. The total can
-not exceed the maximum.
-
-#####GParameters
-> "val" is the number of points to add.
-
-----------------------------------------------------------------------
-
-#####R=== warding_glyph ===
-
-#####GDeclaration
- extern void warding_glyph(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Leave a "glyph of warding" which prevents monster movement
- */
-
-#####GDescription
-Place a glyph at the player's location. The location must be bare.
-
-----------------------------------------------------------------------
-
-#####R=== explosive_rune ===
-
-#####GDeclaration
- extern void explosive_rune(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-(none)
-
-#####GDescription
-Place a minor glyph (explosive rune) at the player's location. The
-location must be bare.
-
-----------------------------------------------------------------------
-
-#####R=== do_dec_stat ===
-
-#####GDeclaration
- extern bool do_dec_stat(int stat, int mode);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Lose a "point"
- */
-
-#####GDescription
-Attempt to reduce the player's "stat" statistic by a point.
-
-#####GParameters
-> "stat" is the statistic
- *****fields.txt*0[A_fields]
-> "mode" is the type of decrease: temporary, normal, or permanent
- *****fields.txt*0[STAT_DEC_fields]
-
-----------------------------------------------------------------------
-
-#####R=== do_res_stat ===
-
-#####GDeclaration
- extern bool do_res_stat(int stat);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Restore lost "points" in a stat
- */
-
-#####GDescription
-Restore the player's "stat" statistic.
-
-#####GParameters
-> "stat" is the statistic
- *****fields.txt*0[A_fields]
-
-----------------------------------------------------------------------
-
-#####R=== do_inc_stat ===
-
-#####GDeclaration
- extern bool do_inc_stat(int stat);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Gain a "point" in a stat
- */
-
-#####GDescription
-Increase the player's "stat" statistic by a point.
-
-#####GParameters
-> "stat" is the statistic
- *****fields.txt*0[A_fields]
-
-----------------------------------------------------------------------
-
-#####R=== identify_pack ===
-
-#####GDeclaration
- extern void identify_pack(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Identify everything being carried.
- * Done by a potion of "self knowledge".
- */
-
-#####GDescription
-Identify all items in the inventory.
-
-----------------------------------------------------------------------
-
-#####R=== remove_curse ===
-
-#####GDeclaration
- extern bool remove_curse(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Remove most curses
- */
-
-#####GDescription
-Remove all curses except for heavy curses.
-
-----------------------------------------------------------------------
-
-#####R=== remove_all_curse ===
-
-#####GDeclaration
- extern bool remove_all_curse(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Remove all curses
- */
-
-#####GDescription
-Remove all curses including heavy curses.
-
-----------------------------------------------------------------------
-
-#####R=== restore_level ===
-
-#####GDeclaration
- extern bool restore_level(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Restores any drained experience
- */
-
-#####GDescription
-Restore all drained experience points (if any).
-
-----------------------------------------------------------------------
-
-#####R=== self_knowledge ===
-
-#####GDeclaration
- extern void self_knowledge(FILE *fff);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * self-knowledge... idea from nethack. Useful for determining powers and
- * resistances of items. It saves the screen, clears it, then starts listing
- * attributes, a screenful at a time. (There are a LOT of attributes to
- * list. It will probably take 2 or 3 screens for a powerful character whose
- * using several artifacts...) -CFT
- *
- * It is now a lot more efficient. -BEN-
- *
- * See also "identify_fully()".
- *
- * XXX XXX XXX Use the "show_file()" method, perhaps.
- */
-
-#####GDescription
-Show all attributes including racial powers, mutations, and equipment
-effects.
-
-#####GParameters
-> "*ffff" points to a file (write info to file) or is NULL (write info
- to screen).
-
-----------------------------------------------------------------------
-
-#####R=== lose_all_info ===
-
-#####GDeclaration
- extern bool lose_all_info(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Forget everything
- */
-
-#####GDescription
-Forget about objects and the map.
-
-----------------------------------------------------------------------
-
-#####R=== detect_traps ===
-
-#####GDeclaration
- extern bool detect_traps(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all traps on current panel
- */
-
-#####GDescription
-Detect all traps on current panel.
-
-----------------------------------------------------------------------
-
-#####R=== detect_doors ===
-
-#####GDeclaration
- extern bool detect_doors(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all doors on current panel
- */
-
-#####GDescription
-Detect all doors on current panel.
-
-----------------------------------------------------------------------
-
-#####R=== detect_stairs ===
-
-#####GDeclaration
- extern bool detect_stairs(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all stairs on current panel
- */
-
-#####GDescription
-Detect all stairs on current panel.
-
-----------------------------------------------------------------------
-
-#####R=== detect_treasure ===
-
-#####GDeclaration
- extern bool detect_treasure(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect any treasure on the current panel
- */
-
-#####GDescription
-Detect any treasure on the current panel.
-
-----------------------------------------------------------------------
-
-Field: hack_no_detect_message
-Value: FALSE
-
-----------------------------------------------------------------------
-
-#####R=== detect_objects_gold ===
-
-#####GDeclaration
- extern bool detect_objects_gold(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "gold" objects on the current panel
- */
-
-#####GDescription
-Detect all objects with the TV_GOLD flag.
-
-----------------------------------------------------------------------
-
-#####R=== detect_objects_normal ===
-
-#####GDeclaration
- extern bool detect_objects_normal(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "normal" objects on the current panel
- */
-
-#####GDescription
-Detect all objects without the TV_GOLD flag.
-
-----------------------------------------------------------------------
-
-#####R=== detect_objects_magic ===
-
-#####GDeclaration
- extern bool detect_objects_magic(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "magic" objects on the current panel.
- *
- * This will light up all spaces with "magic" items, including artifacts,
- * ego-items, potions, scrolls, books, rods, wands, staves, amulets, rings,
- * and "enchanted" items of the "good" variety.
- *
- * It can probably be argued that this function is now too powerful.
- */
-
-#####GDescription
-Detect all "magic" objects which are artefacts, ego items, or have one
-of the following flags - TV_AMULET, TV_RING, TV_BATERIE, TV_STAFF,
-TV_WAND, TV_ROD, TV_ROD_MAIN, TV_SCROLL, TV_POTION, TV_POTION2,
-TV_VALARIN_BOOK, TV_MAGERY_BOOK, TV_SHADOW_BOOK, TV_CHAOS_BOOK,
-TV_SPIRIT_BOOK, TV_NETHER_BOOK, TV_DAEMON_BOOK, TV_CRUSADE_BOOK,
-TV_SIGALDRY_BOOK, TV_SYMBIOTIC_BOOK, TV_MUSIC_BOOK.
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_normal ===
-
-#####GDeclaration
- extern bool detect_monsters_normal(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "normal" monsters on the current panel
- */
-
-#####GDescription
-Detect all non-invisible monsters (without RF2_INVISIBLE).
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_invis ===
-
-#####GDeclaration
- extern bool detect_monsters_invis(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "invisible" monsters on current panel
- */
-
-#####GDescription
-Detect all invisible monsters (with RF2_INVISIBLE).
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_evil ===
-
-#####GDeclaration
- extern bool detect_monsters_evil(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "evil" monsters on current panel
- */
-
-#####GDescription
-Detect all evil monsters (with RF3_EVIL).
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_good ===
-
-#####GDeclaration
- extern bool detect_monsters_good(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/* Detect good monsters */
-
-#####GDescription
-Detect all good monsters (with RF3_GOOD).
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_xxx ===
-
-#####GDeclaration
- extern bool detect_monsters_xxx(u32b match_flag);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * A "generic" detect monsters routine, tagged to flags3
- */
-
-#####GDescription
-Detect all monsters with "match_flag" flag.
-
-#####GParameters
-> "match_flag" can be any RF3_ flag (see defines.h) but only
- RF3_DEMON, RF3_UNDEAD, RF3_GOOD work.
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_string ===
-
-#####GDeclaration
- extern bool detect_monsters_string(cptr);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all (string) monsters on current panel
- */
-
-#####GDescription
-Detect all monsters whose default monster character matches a
-character pointed to by "cptr".
-
-#####GParameters
-> "cptr" is a pointer to a single character, eg 'Z' for hounds. For
- available characters, see the "symbol" field of the graphics (G)
- line of r_info.txt.
-
-----------------------------------------------------------------------
-
-#####R=== detect_monsters_nonliving ===
-
-#####GDeclaration
- extern bool detect_monsters_nonliving(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect all "nonliving", "undead" or "demonic" monsters on current panel
- */
-
-#####GDescription
-Detect all non-living monsters (with RF3_NONLIVING, RF3_UNDEAD, or
-RF3_DEMON).
-
-----------------------------------------------------------------------
-
-#####R=== detect_all ===
-
-#####GDeclaration
- extern bool detect_all(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Detect everything
- */
-
-#####GDescription
-Detects traps, doors, stairs, treasure, gold objects, normal objects,
-invisible monsters, normal (visible) monsters.
-
-----------------------------------------------------------------------
-
-#####R=== stair_creation ===
-
-#####GDeclaration
- extern void stair_creation(void);
-
-#####GFile
- spells2.c
-
-#####GComment
-/*
- * Create stairs at the player location
- */
-
-#####GDescription
-Create stairs at the player location. This is not allowed if the grid
-is not empty, the player is not in a dungeon, the player is on a
-special level, the player is in an arena or quest. If the player is