Skip to content

Instantly share code, notes, and snippets.

@HanClinto
Last active July 1, 2021 21:41
Show Gist options
  • Save HanClinto/310bc189dcb34b9628d5151b168a34b0 to your computer and use it in GitHub Desktop.
Save HanClinto/310bc189dcb34b9628d5151b168a34b0 to your computer and use it in GitHub Desktop.
import aicrowd_gym
import gym
import nle
import numpy as np
import collections
from nle import nethack as nh
def getPrintableChar(a):
non_printable_chars = ['NULL', 'START_OF_HEADING', 'START_OF_TEXT', 'END_OF_TEXT', 'END_OF_TRANSMISSION', 'ENQUIRY', 'ACKNOWLEDGE', 'BELL', 'BACKSPACE', 'HORIZONTAL_TAB', 'LINE_FEED', 'VERTICAL_TAB', 'FORM_FEED', 'CARRIAGE_RETURN', 'SHIFT_OUT', 'SHIFT_IN', 'DATA_LINK_ESCAPE', 'DEVICE_CONTROL_1', 'DEVICE_CONTROL_2', 'DEVICE_CONTROL_3', 'DEVICE_CONTROL_4', 'NEGATIVE_ACKNOWLEDGE', 'SYNCHRONOUS_IDLE', 'END_OF_TRANSMISSION_BLOCK', 'CANCEL', 'END_OF_MEDIUM', 'SUBSTITUTE', 'ESCAPE', 'FILE_SEPARATOR', 'GROUP_SEPARATOR', 'RECORD_SEPARATOR', 'UNIT_SEPARATOR']
if a < 32:
return f'`{non_printable_chars[a]}`'
if a == 96: # Markdown escape sequence for backtick
return "'`` ` ``'"
return f'\'`{chr(a)}`\''
def myprint(d):
for k, v in d.items():
print (k, type(v))
if isinstance(v, dict):
myprint(v)
else:
print(k, ":", v)
def printObservationSpace(d):
for k, v in d.items():
# print (k, type(v))
if isinstance(v, collections.OrderedDict):
printObservationSpace(v)
elif isinstance(v, gym.spaces.box.Box):
print(f"| `['{k}']` | {v.shape} | {v.low.min()} | {v.high.max()} | {v.dtype} |")
# print(k, f'[v.shape]', ":", v)
env = aicrowd_gym.make("NetHackChallenge-v0")
print("*_NOTE: Auto-generated by `gen_nle_docs.py`_*")
print("")
print("## Actions: `env._actions`")
print("### Actions sorted by action index:")
print("")
print ("| Index | Action | ASCII | Character |")
print ("| ----- | ------ | ----- | --------- |")
sorted = []
for i, a in enumerate(env._actions):
print("|", i, "|", a, "|", getPrintableChar(a), "|", int(a), "|")
# print(f' * [{i}]:', a, f'{getPrintableChar(a)} ({a}):')
# print(f' * [{i}]: `', a, '`')
# print(f' * ASCII: {getPrintableChar(a)} ({a}):')
sorted.append(a)
sorted.sort()
print("")
print("### Actions sorted by ASCII character:")
print ("#### Actions With Non-Printable Characters:")
print ("")
print ("| ASCII | Character | Action |")
print ("| ----- | --------- | ------ |")
for a in sorted:
if a < 32:
print("|", getPrintableChar(a), "|", int(a), "|", a, "|")
print ("")
print ("#### Actions With Printable Characters:")
print ("")
print ("| ASCII | Character | Action |")
print ("| ----- | --------- | ------ |")
for a in sorted:
if a >= 32:
print("|", getPrintableChar(a), "|", int(a), "|", a, "|")
# print(f' * {getPrintableChar(a)} ({a}): `', a, '`')
observation_space = env.observation_space
print("")
print("## Observation space: `env.observation_space`")
print("NOTE: For more details, please see [nle_docs_ObservationSpace.md](nle_docs_ObservationSpace.md)")
print("")
print ("| Key | Shape | Min | Max | DType |")
print ("| --- | ----- | --- | --- | ----- |")
printObservationSpace(observation_space.__dict__)
print("")
print("## Environment object: `env`")
print("### Everything:")
print("")
print("```")
myprint(env.__dict__)
print("```")
from nle import nethack as nh
obj_classes = {getattr(nh, x): x for x in dir(nh) if x.endswith('_CLASS')}
glyph_classes = sorted((getattr(nh, x), x)
for x in dir(nh) if x.endswith('_OFF'))
print("*_NOTE: Auto-generated by `gen_nle_docs_glyphs.py`_*")
print("")
print("## Glyph classes")
print("")
print(glyph_classes)
print("")
print("## Object classes")
print("")
print(obj_classes)
print("")
print("## Detailed Glyph Table")
print("")
print ('| Glyph | Class | Description | (Optional) Subclass')
print ('| ----- | ----- | -------- | ----------- |')
last_cls = ""
for i in range(nh.MAX_GLYPH):
desc = ''
if glyph_classes and i == glyph_classes[0][0]:
cls = glyph_classes.pop(0)[1].replace("_OFF","")
if (cls != "GLYPH_MON" and cls != "GLYPH_OBJ" and cls == last_cls):
pass
else:
if nh.glyph_is_monster(i):
desc = f'"{nh.permonst(nh.glyph_to_mon(i)).mname}" | '
if nh.glyph_is_normal_object(i):
obj = nh.objclass(nh.glyph_to_obj(i))
appearance = nh.OBJ_DESCR(obj) or nh.OBJ_NAME(obj)
oclass = ord(obj.oc_class)
desc = f'"{appearance}" | {obj_classes[oclass]}'
print(f'| {i} | {cls} | {desc} |' )
if (cls != "GLYPH_MON" and cls != "GLYPH_OBJ"):
print (f'| ... | ... | --More-- | |')
last_cls = cls

Observation space: env.observation_space

Key Shape Min Max DType Description
'blstats' [25] -2147483648 2147483647 int64 Array of player stats, generally found on the bottom line of the screen.
'chars' [21, 79] 0 255 uint8 Characters used in the map view of the screen (see also glyphs and tty_chars)
'colors' [21, 79] 0 15 uint8 Colors of the characters on the screen.
'glyphs' [21, 79] 0 5976 int16 Glyphs of each space on the map. Much more detailed than the simple chars array. This is what you want to be using.
'inv_glyphs' [55] 0 5976 int16 Glyphs of each item in your inventory.
'inv_letters' [55] 0 127 uint8 Letters assigned to each item in your inventory, used for accessing those items (such as what you want to throw / drop / equip / quaff / eat / etc)
'inv_oclasses' [55] 0 18 uint8 The category that each inventory item belongs to.
'inv_strs' [55, 80] 0 255 uint8 String description of each item in your inventory.
'message' [256] 0 255 uint8 Text of the top-line message.
'misc' [3] -2147483648 2147483647 int32 Special array that indicates the state of the user interface, corresponding to three boolean values: Am I in a yes/no question? Am I writing the input to a line? Am I waiting for a space? See below for more info.
'specials' [21, 79] 0 255 uint8 Array that holds special information for each glyph on the map, indicating some extended information. See below for more info.
'tty_chars' [24, 80] 0 255 uint8 Similar to chars, these are the characters used in the TTY map view of the screen (see also glyphs and chars). Again, there is overlap here with glyphs and this array provides less information. Better to use glyphs.
'tty_colors' [24, 80] 0 31 int8 Similar to colors, these are the colors used by the tty_chars display.
'tty_cursor' [2] 0 255 uint8 X/Y coordinates of the cursor in the terminal interface.

"BLStats" Detail:

Found in: env.observation_space['blstats']

Note: Extracted from NLE at win/rl/winrl.cc Note: Please see the wiki page on Attributes for more information.

Index Name Description
0 x coordinate Current player X coordinate on the grid. 1 <= ux <= cols
1 y coordinate Current player Y coordinate on the grid. 0 <= uy < rows
2 strength_percentage ??
3 strength Character Str attribute, relates to damage dealt, carrying capacity, etc.
4 dexterity Character Dex attribute, relates to to-hit percentage, throwing accuracy, etc.
5 constitution Character Con attribute, relates to max HP, healing rate, etc.
6 intelligence Character Int attribute, relates to some classes casting spells, learning spells, etc.
7 wisdom Character Wis attribute, relates to some classes casting spells, recharging mana, etc.
8 charisma Character Cha attribute, primarily relates to the cost of items in shops, but affects some other encounters as well.
9 score The player's current score as judged by Nethack (not necessarily the reward function of NLE).
10 hitpoints Current hitpoints
11 max_hitpoints Maximum hitpoints
12 depth ?Max depth achieved? Or current dungeon level?
13 gold How much gold is in your main inventory (not counting anything held in bags)
14 energy Amount of energy / mana available for casting spells
15 max_energy Maximum amount of energy / mana available for casting spells
16 armor_class The player's resistance to damage. Lower is better. Generally improved by wearing equipment, though intrinsic AC can be gained via divine Protection.
17 monster_level ?The level of your current monster shape (if polymorphed different from your starting race)?
18 experience_level Your current experience level (from 1-30)
19 experience_points The amount of experience you have. Generally increased by fighting monsters, though some non-fighting conducts will need to use other means.
20 time The current turn counter.
21 hunger state Player's current state of hunger.
22 carrying_capacity ?Current state of encumbrance?
23 dungeon number ?Which dungeon branch you are currently in (main, gnomish mines, Sokoban, etc)?
24 level number ?Either current dungeon level, or current depth within the current dungeon branch (such as Sokoban: 2?

"Misc" Detail:

Found in: env.observation_space['misc']

"misc" is a miscellaneous integer array of potentially useful internals use by the game:

Index Name Description
0 yn_question Am I in a yes or no question? (Like after "pray")
1 getline Am I writing the input to a line? (Like making a wish)
2 xwaitforspace Am I waiting for a space? (Like when -More- is shown, or after "inventory")

"Specials" Detail:

Found in: env.observation_space['specials']

Note: Extracted from NLE from include/hack.h

Bitmasked field of flags for various special cases on map tiles:

Flag Bit Description
MG_CORPSE 0x01 Corpse
MG_INVIS 0x02 Do we know an invisible monster is here? (generally represented by a '?' character)
MG_DETECT 0x04 Do we detect a monster here? (such as from a Ring of Warning)
MG_PET 0x08 Is this a pet of ours?
MG_RIDDEN 0x10 Is this a ridden creature?
MG_STATUE 0x20 Is this a statue?
MG_OBJPILE 0x40 Is there a stack of more than one object here?
MG_BW_LAVA 0x80 Is this lava? Helps us distinguish water from lava.

Actions: env._actions

Actions sorted by action index:

Index Action ASCII Character
0 CompassDirection.N 'k' 107
1 CompassDirection.E 'l' 108
2 CompassDirection.S 'j' 106
3 CompassDirection.W 'h' 104
4 CompassDirection.NE 'u' 117
5 CompassDirection.SE 'n' 110
6 CompassDirection.SW 'b' 98
7 CompassDirection.NW 'y' 121
8 CompassDirectionLonger.N 'K' 75
9 CompassDirectionLonger.E 'L' 76
10 CompassDirectionLonger.S 'J' 74
11 CompassDirectionLonger.W 'H' 72
12 CompassDirectionLonger.NE 'U' 85
13 CompassDirectionLonger.SE 'N' 78
14 CompassDirectionLonger.SW 'B' 66
15 CompassDirectionLonger.NW 'Y' 89
16 MiscDirection.UP '<' 60
17 MiscDirection.DOWN '>' 62
18 MiscDirection.WAIT '.' 46
19 MiscAction.MORE CARRIAGE_RETURN 13
20 Command.EXTCMD '#' 35
21 Command.EXTLIST '¿' 191
22 Command.ADJUST 'á' 225
23 Command.ANNOTATE 'Á' 193
24 Command.APPLY 'a' 97
25 Command.ATTRIBUTES CANCEL 24
26 Command.AUTOPICKUP '@' 64
27 Command.CALL 'C' 67
28 Command.CAST 'Z' 90
29 Command.CHAT 'ã' 227
30 Command.CLOSE 'c' 99
31 Command.CONDUCT 'Ã' 195
32 Command.DIP 'ä' 228
33 Command.DROP 'd' 100
34 Command.DROPTYPE 'D' 68
35 Command.EAT 'e' 101
36 Command.ESC ESCAPE 27
37 Command.ENGRAVE 'E' 69
38 Command.ENHANCE 'å' 229
39 Command.FIRE 'f' 102
40 Command.FIGHT 'F' 70
41 Command.FORCE 'æ' 230
42 Command.GLANCE ';' 59
43 Command.HISTORY 'V' 86
44 Command.INVENTORY 'i' 105
45 Command.INVENTTYPE 'I' 73
46 Command.INVOKE 'é' 233
47 Command.JUMP 'ê' 234
48 Command.KICK END_OF_TRANSMISSION 4
49 Command.KNOWN '\' 92
50 Command.KNOWNCLASS '`' 96
51 Command.LOOK ':' 58
52 Command.LOOT 'ì' 236
53 Command.MONSTER 'í' 237
54 Command.MOVE 'm' 109
55 Command.MOVEFAR 'M' 77
56 Command.OFFER 'ï' 239
57 Command.OPEN 'o' 111
58 Command.OPTIONS 'O' 79
59 Command.OVERVIEW SHIFT_IN 15
60 Command.PAY 'p' 112
61 Command.PICKUP ',' 44
62 Command.PRAY 'ð' 240
63 Command.PUTON 'P' 80
64 Command.QUAFF 'q' 113
65 Command.QUIT 'ñ' 241
66 Command.QUIVER 'Q' 81
67 Command.READ 'r' 114
68 Command.REDRAW DEVICE_CONTROL_2 18
69 Command.REMOVE 'R' 82
70 Command.RIDE 'Ò' 210
71 Command.RUB 'ò' 242
72 Command.RUSH 'g' 103
73 Command.RUSH2 'G' 71
74 Command.SAVE 'S' 83
75 Command.SEARCH 's' 115
76 Command.SEEALL '*' 42
77 Command.SEETRAP '^' 94
78 Command.SIT 'ó' 243
79 Command.SWAP 'x' 120
80 Command.TAKEOFF 'T' 84
81 Command.TAKEOFFALL 'A' 65
82 Command.TELEPORT DEVICE_CONTROL_4 20
83 Command.THROW 't' 116
84 Command.TIP 'Ô' 212
85 Command.TRAVEL '_' 95
86 Command.TURN 'ô' 244
87 Command.TWOWEAPON 'X' 88
88 Command.UNTRAP 'õ' 245
89 Command.VERSION 'ö' 246
90 Command.VERSIONSHORT 'v' 118
91 Command.WEAR 'W' 87
92 Command.WHATDOES '&' 38
93 Command.WHATIS '/' 47
94 Command.WIELD 'w' 119
95 Command.WIPE '÷' 247
96 Command.ZAP 'z' 122
97 TextCharacters.PLUS '+' 43
98 TextCharacters.MINUS '-' 45
99 TextCharacters.SPACE ' ' 32
100 TextCharacters.APOS ''' 39
101 TextCharacters.QUOTE '"' 34
102 TextCharacters.NUM_0 '0' 48
103 TextCharacters.NUM_1 '1' 49
104 TextCharacters.NUM_2 '2' 50
105 TextCharacters.NUM_3 '3' 51
106 TextCharacters.NUM_4 '4' 52
107 TextCharacters.NUM_5 '5' 53
108 TextCharacters.NUM_6 '6' 54
109 TextCharacters.NUM_7 '7' 55
110 TextCharacters.NUM_8 '8' 56
111 TextCharacters.NUM_9 '9' 57
112 TextCharacters.DOLLAR '$' 36

Actions sorted by ASCII character:

Actions With Non-Printable Characters:

ASCII Character Action
END_OF_TRANSMISSION 4 Command.KICK
CARRIAGE_RETURN 13 MiscAction.MORE
SHIFT_IN 15 Command.OVERVIEW
DEVICE_CONTROL_2 18 Command.REDRAW
DEVICE_CONTROL_4 20 Command.TELEPORT
CANCEL 24 Command.ATTRIBUTES
ESCAPE 27 Command.ESC

Actions With Printable Characters:

ASCII Character Action
' ' 32 TextCharacters.SPACE
'"' 34 TextCharacters.QUOTE
'#' 35 Command.EXTCMD
'$' 36 TextCharacters.DOLLAR
'&' 38 Command.WHATDOES
''' 39 TextCharacters.APOS
'*' 42 Command.SEEALL
'+' 43 TextCharacters.PLUS
',' 44 Command.PICKUP
'-' 45 TextCharacters.MINUS
'.' 46 MiscDirection.WAIT
'/' 47 Command.WHATIS
'0' 48 TextCharacters.NUM_0
'1' 49 TextCharacters.NUM_1
'2' 50 TextCharacters.NUM_2
'3' 51 TextCharacters.NUM_3
'4' 52 TextCharacters.NUM_4
'5' 53 TextCharacters.NUM_5
'6' 54 TextCharacters.NUM_6
'7' 55 TextCharacters.NUM_7
'8' 56 TextCharacters.NUM_8
'9' 57 TextCharacters.NUM_9
':' 58 Command.LOOK
';' 59 Command.GLANCE
'<' 60 MiscDirection.UP
'>' 62 MiscDirection.DOWN
'@' 64 Command.AUTOPICKUP
'A' 65 Command.TAKEOFFALL
'B' 66 CompassDirectionLonger.SW
'C' 67 Command.CALL
'D' 68 Command.DROPTYPE
'E' 69 Command.ENGRAVE
'F' 70 Command.FIGHT
'G' 71 Command.RUSH2
'H' 72 CompassDirectionLonger.W
'I' 73 Command.INVENTTYPE
'J' 74 CompassDirectionLonger.S
'K' 75 CompassDirectionLonger.N
'L' 76 CompassDirectionLonger.E
'M' 77 Command.MOVEFAR
'N' 78 CompassDirectionLonger.SE
'O' 79 Command.OPTIONS
'P' 80 Command.PUTON
'Q' 81 Command.QUIVER
'R' 82 Command.REMOVE
'S' 83 Command.SAVE
'T' 84 Command.TAKEOFF
'U' 85 CompassDirectionLonger.NE
'V' 86 Command.HISTORY
'W' 87 Command.WEAR
'X' 88 Command.TWOWEAPON
'Y' 89 CompassDirectionLonger.NW
'Z' 90 Command.CAST
'\' 92 Command.KNOWN
'^' 94 Command.SEETRAP
'_' 95 Command.TRAVEL
'`' 96 Command.KNOWNCLASS
'a' 97 Command.APPLY
'b' 98 CompassDirection.SW
'c' 99 Command.CLOSE
'd' 100 Command.DROP
'e' 101 Command.EAT
'f' 102 Command.FIRE
'g' 103 Command.RUSH
'h' 104 CompassDirection.W
'i' 105 Command.INVENTORY
'j' 106 CompassDirection.S
'k' 107 CompassDirection.N
'l' 108 CompassDirection.E
'm' 109 Command.MOVE
'n' 110 CompassDirection.SE
'o' 111 Command.OPEN
'p' 112 Command.PAY
'q' 113 Command.QUAFF
'r' 114 Command.READ
's' 115 Command.SEARCH
't' 116 Command.THROW
'u' 117 CompassDirection.NE
'v' 118 Command.VERSIONSHORT
'w' 119 Command.WIELD
'x' 120 Command.SWAP
'y' 121 CompassDirection.NW
'z' 122 Command.ZAP
'¿' 191 Command.EXTLIST
'Á' 193 Command.ANNOTATE
'Ã' 195 Command.CONDUCT
'Ò' 210 Command.RIDE
'Ô' 212 Command.TIP
'á' 225 Command.ADJUST
'ã' 227 Command.CHAT
'ä' 228 Command.DIP
'å' 229 Command.ENHANCE
'æ' 230 Command.FORCE
'é' 233 Command.INVOKE
'ê' 234 Command.JUMP
'ì' 236 Command.LOOT
'í' 237 Command.MONSTER
'ï' 239 Command.OFFER
'ð' 240 Command.PRAY
'ñ' 241 Command.QUIT
'ò' 242 Command.RUB
'ó' 243 Command.SIT
'ô' 244 Command.TURN
'õ' 245 Command.UNTRAP
'ö' 246 Command.VERSION
'÷' 247 Command.WIPE

Environment object: env

Everything:

penalty_mode <class 'str'>
penalty_mode : constant
penalty_step <class 'float'>
penalty_step : -0.0
penalty_time <class 'float'>
penalty_time : -0.0
_frozen_steps <class 'int'>
_frozen_steps : 0
character <class 'str'>
character : @
_max_episode_steps <class 'float'>
_max_episode_steps : 1000000.0
_allow_all_yn_questions <class 'bool'>
_allow_all_yn_questions : True
_allow_all_modes <class 'bool'>
_allow_all_modes : True
_actions <class 'tuple'>
_actions : (<CompassDirection.N: 107>, <CompassDirection.E: 108>, <CompassDirection.S: 106>, <CompassDirection.W: 104>, <CompassDirection.NE: 117>, <CompassDirection.SE: 110>, <CompassDirection.SW: 98>, <CompassDirection.NW: 121>, <CompassDirectionLonger.N: 75>, <CompassDirectionLonger.E: 76>, <CompassDirectionLonger.S: 74>, <CompassDirectionLonger.W: 72>, <CompassDirectionLonger.NE: 85>, <CompassDirectionLonger.SE: 78>, <CompassDirectionLonger.SW: 66>, <CompassDirectionLonger.NW: 89>, <MiscDirection.UP: 60>, <MiscDirection.DOWN: 62>, <MiscDirection.WAIT: 46>, <MiscAction.MORE: 13>, <Command.EXTCMD: 35>, <Command.EXTLIST: 191>, <Command.ADJUST: 225>, <Command.ANNOTATE: 193>, <Command.APPLY: 97>, <Command.ATTRIBUTES: 24>, <Command.AUTOPICKUP: 64>, <Command.CALL: 67>, <Command.CAST: 90>, <Command.CHAT: 227>, <Command.CLOSE: 99>, <Command.CONDUCT: 195>, <Command.DIP: 228>, <Command.DROP: 100>, <Command.DROPTYPE: 68>, <Command.EAT: 101>, <Command.ESC: 27>, <Command.ENGRAVE: 69>, <Command.ENHANCE: 229>, <Command.FIRE: 102>, <Command.FIGHT: 70>, <Command.FORCE: 230>, <Command.GLANCE: 59>, <Command.HISTORY: 86>, <Command.INVENTORY: 105>, <Command.INVENTTYPE: 73>, <Command.INVOKE: 233>, <Command.JUMP: 234>, <Command.KICK: 4>, <Command.KNOWN: 92>, <Command.KNOWNCLASS: 96>, <Command.LOOK: 58>, <Command.LOOT: 236>, <Command.MONSTER: 237>, <Command.MOVE: 109>, <Command.MOVEFAR: 77>, <Command.OFFER: 239>, <Command.OPEN: 111>, <Command.OPTIONS: 79>, <Command.OVERVIEW: 15>, <Command.PAY: 112>, <Command.PICKUP: 44>, <Command.PRAY: 240>, <Command.PUTON: 80>, <Command.QUAFF: 113>, <Command.QUIT: 241>, <Command.QUIVER: 81>, <Command.READ: 114>, <Command.REDRAW: 18>, <Command.REMOVE: 82>, <Command.RIDE: 210>, <Command.RUB: 242>, <Command.RUSH: 103>, <Command.RUSH2: 71>, <Command.SAVE: 83>, <Command.SEARCH: 115>, <Command.SEEALL: 42>, <Command.SEETRAP: 94>, <Command.SIT: 243>, <Command.SWAP: 120>, <Command.TAKEOFF: 84>, <Command.TAKEOFFALL: 65>, <Command.TELEPORT: 20>, <Command.THROW: 116>, <Command.TIP: 212>, <Command.TRAVEL: 95>, <Command.TURN: 244>, <Command.TWOWEAPON: 88>, <Command.UNTRAP: 245>, <Command.VERSION: 246>, <Command.VERSIONSHORT: 118>, <Command.WEAR: 87>, <Command.WHATDOES: 38>, <Command.WHATIS: 47>, <Command.WIELD: 119>, <Command.WIPE: 247>, <Command.ZAP: 122>, <TextCharacters.PLUS: 43>, <TextCharacters.MINUS: 45>, <TextCharacters.SPACE: 32>, <TextCharacters.APOS: 39>, <TextCharacters.QUOTE: 34>, <TextCharacters.NUM_0: 48>, <TextCharacters.NUM_1: 49>, <TextCharacters.NUM_2: 50>, <TextCharacters.NUM_3: 51>, <TextCharacters.NUM_4: 52>, <TextCharacters.NUM_5: 53>, <TextCharacters.NUM_6: 54>, <TextCharacters.NUM_7: 55>, <TextCharacters.NUM_8: 56>, <TextCharacters.NUM_9: 57>, <TextCharacters.DOLLAR: 36>)
last_observation <class 'NoneType'>
last_observation : None
savedir <class 'NoneType'>
savedir : None
_stats_file <class 'NoneType'>
_stats_file : None
_stats_logger <class 'NoneType'>
_stats_logger : None
_setup_statsfile <class 'bool'>
_setup_statsfile : False
_observation_keys <class 'list'>
_observation_keys : ['glyphs', 'chars', 'colors', 'specials', 'blstats', 'message', 'inv_glyphs', 'inv_strs', 'inv_letters', 'inv_oclasses', 'tty_chars', 'tty_colors', 'tty_cursor', 'misc', 'program_state', 'internal']
_glyph_index <class 'int'>
_glyph_index : 0
_blstats_index <class 'int'>
_blstats_index : 4
_message_index <class 'int'>
_message_index : 5
_program_state_index <class 'int'>
_program_state_index : 14
_internal_index <class 'int'>
_internal_index : 15
_original_observation_keys <class 'tuple'>
_original_observation_keys : ('glyphs', 'chars', 'colors', 'specials', 'blstats', 'message', 'inv_glyphs', 'inv_strs', 'inv_letters', 'inv_oclasses', 'tty_chars', 'tty_colors', 'tty_cursor', 'misc')
_original_indices <class 'tuple'>
_original_indices : (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
env <class 'nle.nethack.nethack.Nethack'>
env : <nle.nethack.nethack.Nethack object at 0x7fe95c695df0>
_close_env <class 'weakref.finalize'>
_close_env : <finalize object at 0x7fe96268dec0; for 'NetHackChallenge' at 0x7fe95c695dc0>
_random <class 'random.SystemRandom'>
_random : <random.SystemRandom object at 0x7fe95c8a6c10>
_episode <class 'int'>
_episode : -1
observation_space <class 'gym.spaces.dict.Dict'>
observation_space : Dict(blstats:Box(-2147483648, 2147483647, (25,), int64), chars:Box(0, 255, (21, 79), uint8), colors:Box(0, 15, (21, 79), uint8), glyphs:Box(0, 5976, (21, 79), int16), inv_glyphs:Box(0, 5976, (55,), int16), inv_letters:Box(0, 127, (55,), uint8), inv_oclasses:Box(0, 18, (55,), uint8), inv_strs:Box(0, 255, (55, 80), uint8), message:Box(0, 255, (256,), uint8), misc:Box(-2147483648, 2147483647, (3,), int32), specials:Box(0, 255, (21, 79), uint8), tty_chars:Box(0, 255, (24, 80), uint8), tty_colors:Box(0, 31, (24, 80), int8), tty_cursor:Box(0, 255, (2,), uint8))
action_space <class 'gym.spaces.discrete.Discrete'>
action_space : Discrete(113)
no_progress_timeout <class 'int'>
no_progress_timeout : 10000
spec <class 'gym.envs.registration.EnvSpec'>
spec : EnvSpec(NetHackChallenge-v0)

Glyph classes

[(0, 'GLYPH_MON_OFF'), (381, 'GLYPH_PET_OFF'), (762, 'GLYPH_INVIS_OFF'), (763, 'GLYPH_DETECT_OFF'), (1144, 'GLYPH_BODY_OFF'), (1525, 'GLYPH_RIDDEN_OFF'), (1906, 'GLYPH_OBJ_OFF'), (2359, 'GLYPH_CMAP_OFF'), (2446, 'GLYPH_EXPLODE_OFF'), (2509, 'GLYPH_ZAP_OFF'), (2541, 'GLYPH_SWALLOW_OFF'), (5589, 'GLYPH_WARNING_OFF'), (5595, 'GLYPH_STATUE_OFF')]

Object classes

{5: 'AMULET_CLASS', 3: 'ARMOR_CLASS', 15: 'BALL_CLASS', 16: 'CHAIN_CLASS', 12: 'COIN_CLASS', 7: 'FOOD_CLASS', 13: 'GEM_CLASS', 1: 'ILLOBJ_CLASS', 8: 'POTION_CLASS', 0: 'RANDOM_CLASS', 4: 'RING_CLASS', 14: 'ROCK_CLASS', 9: 'SCROLL_CLASS', 10: 'SPBOOK_CLASS', 6: 'TOOL_CLASS', 17: 'VENOM_CLASS', 11: 'WAND_CLASS', 2: 'WEAPON_CLASS'}

Detailed Glyph Table

Glyph Class Description (Optional) Subclass
0 GLYPH_MON "giant ant"
1 GLYPH_MON "killer bee"
2 GLYPH_MON "soldier ant"
3 GLYPH_MON "fire ant"
4 GLYPH_MON "giant beetle"
5 GLYPH_MON "queen bee"
6 GLYPH_MON "acid blob"
7 GLYPH_MON "quivering blob"
8 GLYPH_MON "gelatinous cube"
9 GLYPH_MON "chickatrice"
10 GLYPH_MON "cockatrice"
11 GLYPH_MON "pyrolisk"
12 GLYPH_MON "jackal"
13 GLYPH_MON "fox"
14 GLYPH_MON "coyote"
15 GLYPH_MON "werejackal"
16 GLYPH_MON "little dog"
17 GLYPH_MON "dingo"
18 GLYPH_MON "dog"
19 GLYPH_MON "large dog"
20 GLYPH_MON "wolf"
21 GLYPH_MON "werewolf"
22 GLYPH_MON "winter wolf cub"
23 GLYPH_MON "warg"
24 GLYPH_MON "winter wolf"
25 GLYPH_MON "hell hound pup"
26 GLYPH_MON "hell hound"
27 GLYPH_MON "gas spore"
28 GLYPH_MON "floating eye"
29 GLYPH_MON "freezing sphere"
30 GLYPH_MON "flaming sphere"
31 GLYPH_MON "shocking sphere"
32 GLYPH_MON "kitten"
33 GLYPH_MON "housecat"
34 GLYPH_MON "jaguar"
35 GLYPH_MON "lynx"
36 GLYPH_MON "panther"
37 GLYPH_MON "large cat"
38 GLYPH_MON "tiger"
39 GLYPH_MON "gremlin"
40 GLYPH_MON "gargoyle"
41 GLYPH_MON "winged gargoyle"
42 GLYPH_MON "hobbit"
43 GLYPH_MON "dwarf"
44 GLYPH_MON "bugbear"
45 GLYPH_MON "dwarf lord"
46 GLYPH_MON "dwarf king"
47 GLYPH_MON "mind flayer"
48 GLYPH_MON "master mind flayer"
49 GLYPH_MON "manes"
50 GLYPH_MON "homunculus"
51 GLYPH_MON "imp"
52 GLYPH_MON "lemure"
53 GLYPH_MON "quasit"
54 GLYPH_MON "tengu"
55 GLYPH_MON "blue jelly"
56 GLYPH_MON "spotted jelly"
57 GLYPH_MON "ochre jelly"
58 GLYPH_MON "kobold"
59 GLYPH_MON "large kobold"
60 GLYPH_MON "kobold lord"
61 GLYPH_MON "kobold shaman"
62 GLYPH_MON "leprechaun"
63 GLYPH_MON "small mimic"
64 GLYPH_MON "large mimic"
65 GLYPH_MON "giant mimic"
66 GLYPH_MON "wood nymph"
67 GLYPH_MON "water nymph"
68 GLYPH_MON "mountain nymph"
69 GLYPH_MON "goblin"
70 GLYPH_MON "hobgoblin"
71 GLYPH_MON "orc"
72 GLYPH_MON "hill orc"
73 GLYPH_MON "Mordor orc"
74 GLYPH_MON "Uruk-hai"
75 GLYPH_MON "orc shaman"
76 GLYPH_MON "orc-captain"
77 GLYPH_MON "rock piercer"
78 GLYPH_MON "iron piercer"
79 GLYPH_MON "glass piercer"
80 GLYPH_MON "rothe"
81 GLYPH_MON "mumak"
82 GLYPH_MON "leocrotta"
83 GLYPH_MON "wumpus"
84 GLYPH_MON "titanothere"
85 GLYPH_MON "baluchitherium"
86 GLYPH_MON "mastodon"
87 GLYPH_MON "sewer rat"
88 GLYPH_MON "giant rat"
89 GLYPH_MON "rabid rat"
90 GLYPH_MON "wererat"
91 GLYPH_MON "rock mole"
92 GLYPH_MON "woodchuck"
93 GLYPH_MON "cave spider"
94 GLYPH_MON "centipede"
95 GLYPH_MON "giant spider"
96 GLYPH_MON "scorpion"
97 GLYPH_MON "lurker above"
98 GLYPH_MON "trapper"
99 GLYPH_MON "pony"
100 GLYPH_MON "white unicorn"
101 GLYPH_MON "gray unicorn"
102 GLYPH_MON "black unicorn"
103 GLYPH_MON "horse"
104 GLYPH_MON "warhorse"
105 GLYPH_MON "fog cloud"
106 GLYPH_MON "dust vortex"
107 GLYPH_MON "ice vortex"
108 GLYPH_MON "energy vortex"
109 GLYPH_MON "steam vortex"
110 GLYPH_MON "fire vortex"
111 GLYPH_MON "baby long worm"
112 GLYPH_MON "baby purple worm"
113 GLYPH_MON "long worm"
114 GLYPH_MON "purple worm"
115 GLYPH_MON "grid bug"
116 GLYPH_MON "xan"
117 GLYPH_MON "yellow light"
118 GLYPH_MON "black light"
119 GLYPH_MON "zruty"
120 GLYPH_MON "couatl"
121 GLYPH_MON "Aleax"
122 GLYPH_MON "Angel"
123 GLYPH_MON "ki-rin"
124 GLYPH_MON "Archon"
125 GLYPH_MON "bat"
126 GLYPH_MON "giant bat"
127 GLYPH_MON "raven"
128 GLYPH_MON "vampire bat"
129 GLYPH_MON "plains centaur"
130 GLYPH_MON "forest centaur"
131 GLYPH_MON "mountain centaur"
132 GLYPH_MON "baby gray dragon"
133 GLYPH_MON "baby silver dragon"
134 GLYPH_MON "baby red dragon"
135 GLYPH_MON "baby white dragon"
136 GLYPH_MON "baby orange dragon"
137 GLYPH_MON "baby black dragon"
138 GLYPH_MON "baby blue dragon"
139 GLYPH_MON "baby green dragon"
140 GLYPH_MON "baby yellow dragon"
141 GLYPH_MON "gray dragon"
142 GLYPH_MON "silver dragon"
143 GLYPH_MON "red dragon"
144 GLYPH_MON "white dragon"
145 GLYPH_MON "orange dragon"
146 GLYPH_MON "black dragon"
147 GLYPH_MON "blue dragon"
148 GLYPH_MON "green dragon"
149 GLYPH_MON "yellow dragon"
150 GLYPH_MON "stalker"
151 GLYPH_MON "air elemental"
152 GLYPH_MON "fire elemental"
153 GLYPH_MON "earth elemental"
154 GLYPH_MON "water elemental"
155 GLYPH_MON "lichen"
156 GLYPH_MON "brown mold"
157 GLYPH_MON "yellow mold"
158 GLYPH_MON "green mold"
159 GLYPH_MON "red mold"
160 GLYPH_MON "shrieker"
161 GLYPH_MON "violet fungus"
162 GLYPH_MON "gnome"
163 GLYPH_MON "gnome lord"
164 GLYPH_MON "gnomish wizard"
165 GLYPH_MON "gnome king"
166 GLYPH_MON "giant"
167 GLYPH_MON "stone giant"
168 GLYPH_MON "hill giant"
169 GLYPH_MON "fire giant"
170 GLYPH_MON "frost giant"
171 GLYPH_MON "ettin"
172 GLYPH_MON "storm giant"
173 GLYPH_MON "titan"
174 GLYPH_MON "minotaur"
175 GLYPH_MON "jabberwock"
176 GLYPH_MON "Keystone Kop"
177 GLYPH_MON "Kop Sergeant"
178 GLYPH_MON "Kop Lieutenant"
179 GLYPH_MON "Kop Kaptain"
180 GLYPH_MON "lich"
181 GLYPH_MON "demilich"
182 GLYPH_MON "master lich"
183 GLYPH_MON "arch-lich"
184 GLYPH_MON "kobold mummy"
185 GLYPH_MON "gnome mummy"
186 GLYPH_MON "orc mummy"
187 GLYPH_MON "dwarf mummy"
188 GLYPH_MON "elf mummy"
189 GLYPH_MON "human mummy"
190 GLYPH_MON "ettin mummy"
191 GLYPH_MON "giant mummy"
192 GLYPH_MON "red naga hatchling"
193 GLYPH_MON "black naga hatchling"
194 GLYPH_MON "golden naga hatchling"
195 GLYPH_MON "guardian naga hatchling"
196 GLYPH_MON "red naga"
197 GLYPH_MON "black naga"
198 GLYPH_MON "golden naga"
199 GLYPH_MON "guardian naga"
200 GLYPH_MON "ogre"
201 GLYPH_MON "ogre lord"
202 GLYPH_MON "ogre king"
203 GLYPH_MON "gray ooze"
204 GLYPH_MON "brown pudding"
205 GLYPH_MON "green slime"
206 GLYPH_MON "black pudding"
207 GLYPH_MON "quantum mechanic"
208 GLYPH_MON "rust monster"
209 GLYPH_MON "disenchanter"
210 GLYPH_MON "garter snake"
211 GLYPH_MON "snake"
212 GLYPH_MON "water moccasin"
213 GLYPH_MON "python"
214 GLYPH_MON "pit viper"
215 GLYPH_MON "cobra"
216 GLYPH_MON "troll"
217 GLYPH_MON "ice troll"
218 GLYPH_MON "rock troll"
219 GLYPH_MON "water troll"
220 GLYPH_MON "Olog-hai"
221 GLYPH_MON "umber hulk"
222 GLYPH_MON "vampire"
223 GLYPH_MON "vampire lord"
224 GLYPH_MON "Vlad the Impaler"
225 GLYPH_MON "barrow wight"
226 GLYPH_MON "wraith"
227 GLYPH_MON "Nazgul"
228 GLYPH_MON "xorn"
229 GLYPH_MON "monkey"
230 GLYPH_MON "ape"
231 GLYPH_MON "owlbear"
232 GLYPH_MON "yeti"
233 GLYPH_MON "carnivorous ape"
234 GLYPH_MON "sasquatch"
235 GLYPH_MON "kobold zombie"
236 GLYPH_MON "gnome zombie"
237 GLYPH_MON "orc zombie"
238 GLYPH_MON "dwarf zombie"
239 GLYPH_MON "elf zombie"
240 GLYPH_MON "human zombie"
241 GLYPH_MON "ettin zombie"
242 GLYPH_MON "ghoul"
243 GLYPH_MON "giant zombie"
244 GLYPH_MON "skeleton"
245 GLYPH_MON "straw golem"
246 GLYPH_MON "paper golem"
247 GLYPH_MON "rope golem"
248 GLYPH_MON "gold golem"
249 GLYPH_MON "leather golem"
250 GLYPH_MON "wood golem"
251 GLYPH_MON "flesh golem"
252 GLYPH_MON "clay golem"
253 GLYPH_MON "stone golem"
254 GLYPH_MON "glass golem"
255 GLYPH_MON "iron golem"
256 GLYPH_MON "human"
257 GLYPH_MON "wererat"
258 GLYPH_MON "werejackal"
259 GLYPH_MON "werewolf"
260 GLYPH_MON "elf"
261 GLYPH_MON "Woodland-elf"
262 GLYPH_MON "Green-elf"
263 GLYPH_MON "Grey-elf"
264 GLYPH_MON "elf-lord"
265 GLYPH_MON "Elvenking"
266 GLYPH_MON "doppelganger"
267 GLYPH_MON "shopkeeper"
268 GLYPH_MON "guard"
269 GLYPH_MON "prisoner"
270 GLYPH_MON "Oracle"
271 GLYPH_MON "aligned priest"
272 GLYPH_MON "high priest"
273 GLYPH_MON "soldier"
274 GLYPH_MON "sergeant"
275 GLYPH_MON "nurse"
276 GLYPH_MON "lieutenant"
277 GLYPH_MON "captain"
278 GLYPH_MON "watchman"
279 GLYPH_MON "watch captain"
280 GLYPH_MON "Medusa"
281 GLYPH_MON "Wizard of Yendor"
282 GLYPH_MON "Croesus"
283 GLYPH_MON "ghost"
284 GLYPH_MON "shade"
285 GLYPH_MON "water demon"
286 GLYPH_MON "succubus"
287 GLYPH_MON "horned devil"
288 GLYPH_MON "incubus"
289 GLYPH_MON "erinys"
290 GLYPH_MON "barbed devil"
291 GLYPH_MON "marilith"
292 GLYPH_MON "vrock"
293 GLYPH_MON "hezrou"
294 GLYPH_MON "bone devil"
295 GLYPH_MON "ice devil"
296 GLYPH_MON "nalfeshnee"
297 GLYPH_MON "pit fiend"
298 GLYPH_MON "sandestin"
299 GLYPH_MON "balrog"
300 GLYPH_MON "Juiblex"
301 GLYPH_MON "Yeenoghu"
302 GLYPH_MON "Orcus"
303 GLYPH_MON "Geryon"
304 GLYPH_MON "Dispater"
305 GLYPH_MON "Baalzebub"
306 GLYPH_MON "Asmodeus"
307 GLYPH_MON "Demogorgon"
308 GLYPH_MON "Death"
309 GLYPH_MON "Pestilence"
310 GLYPH_MON "Famine"
311 GLYPH_MON "djinni"
312 GLYPH_MON "jellyfish"
313 GLYPH_MON "piranha"
314 GLYPH_MON "shark"
315 GLYPH_MON "giant eel"
316 GLYPH_MON "electric eel"
317 GLYPH_MON "kraken"
318 GLYPH_MON "newt"
319 GLYPH_MON "gecko"
320 GLYPH_MON "iguana"
321 GLYPH_MON "baby crocodile"
322 GLYPH_MON "lizard"
323 GLYPH_MON "chameleon"
324 GLYPH_MON "crocodile"
325 GLYPH_MON "salamander"
326 GLYPH_MON "long worm tail"
327 GLYPH_MON "archeologist"
328 GLYPH_MON "barbarian"
329 GLYPH_MON "caveman"
330 GLYPH_MON "cavewoman"
331 GLYPH_MON "healer"
332 GLYPH_MON "knight"
333 GLYPH_MON "monk"
334 GLYPH_MON "priest"
335 GLYPH_MON "priestess"
336 GLYPH_MON "ranger"
337 GLYPH_MON "rogue"
338 GLYPH_MON "samurai"
339 GLYPH_MON "tourist"
340 GLYPH_MON "valkyrie"
341 GLYPH_MON "wizard"
342 GLYPH_MON "Lord Carnarvon"
343 GLYPH_MON "Pelias"
344 GLYPH_MON "Shaman Karnov"
345 GLYPH_MON "Hippocrates"
346 GLYPH_MON "King Arthur"
347 GLYPH_MON "Grand Master"
348 GLYPH_MON "Arch Priest"
349 GLYPH_MON "Orion"
350 GLYPH_MON "Master of Thieves"
351 GLYPH_MON "Lord Sato"
352 GLYPH_MON "Twoflower"
353 GLYPH_MON "Norn"
354 GLYPH_MON "Neferet the Green"
355 GLYPH_MON "Minion of Huhetotl"
356 GLYPH_MON "Thoth Amon"
357 GLYPH_MON "Chromatic Dragon"
358 GLYPH_MON "Cyclops"
359 GLYPH_MON "Ixoth"
360 GLYPH_MON "Master Kaen"
361 GLYPH_MON "Nalzok"
362 GLYPH_MON "Scorpius"
363 GLYPH_MON "Master Assassin"
364 GLYPH_MON "Ashikaga Takauji"
365 GLYPH_MON "Lord Surtur"
366 GLYPH_MON "Dark One"
367 GLYPH_MON "student"
368 GLYPH_MON "chieftain"
369 GLYPH_MON "neanderthal"
370 GLYPH_MON "attendant"
371 GLYPH_MON "page"
372 GLYPH_MON "abbot"
373 GLYPH_MON "acolyte"
374 GLYPH_MON "hunter"
375 GLYPH_MON "thug"
376 GLYPH_MON "ninja"
377 GLYPH_MON "roshi"
378 GLYPH_MON "guide"
379 GLYPH_MON "warrior"
380 GLYPH_MON "apprentice"
381 GLYPH_PET "giant ant"
... ... --More--
762 GLYPH_INVIS
... ... --More--
763 GLYPH_DETECT "giant ant"
... ... --More--
1144 GLYPH_BODY
... ... --More--
1525 GLYPH_RIDDEN "giant ant"
... ... --More--
1906 GLYPH_OBJ "strange object" ILLOBJ_CLASS
1907 GLYPH_OBJ "arrow" WEAPON_CLASS
1908 GLYPH_OBJ "runed arrow" WEAPON_CLASS
1909 GLYPH_OBJ "crude arrow" WEAPON_CLASS
1910 GLYPH_OBJ "silver arrow" WEAPON_CLASS
1911 GLYPH_OBJ "bamboo arrow" WEAPON_CLASS
1912 GLYPH_OBJ "crossbow bolt" WEAPON_CLASS
1913 GLYPH_OBJ "dart" WEAPON_CLASS
1914 GLYPH_OBJ "throwing star" WEAPON_CLASS
1915 GLYPH_OBJ "boomerang" WEAPON_CLASS
1916 GLYPH_OBJ "spear" WEAPON_CLASS
1917 GLYPH_OBJ "runed spear" WEAPON_CLASS
1918 GLYPH_OBJ "crude spear" WEAPON_CLASS
1919 GLYPH_OBJ "stout spear" WEAPON_CLASS
1920 GLYPH_OBJ "silver spear" WEAPON_CLASS
1921 GLYPH_OBJ "throwing spear" WEAPON_CLASS
1922 GLYPH_OBJ "trident" WEAPON_CLASS
1923 GLYPH_OBJ "dagger" WEAPON_CLASS
1924 GLYPH_OBJ "runed dagger" WEAPON_CLASS
1925 GLYPH_OBJ "crude dagger" WEAPON_CLASS
1926 GLYPH_OBJ "silver dagger" WEAPON_CLASS
1927 GLYPH_OBJ "athame" WEAPON_CLASS
1928 GLYPH_OBJ "scalpel" WEAPON_CLASS
1929 GLYPH_OBJ "knife" WEAPON_CLASS
1930 GLYPH_OBJ "stiletto" WEAPON_CLASS
1931 GLYPH_OBJ "worm tooth" WEAPON_CLASS
1932 GLYPH_OBJ "crysknife" WEAPON_CLASS
1933 GLYPH_OBJ "axe" WEAPON_CLASS
1934 GLYPH_OBJ "double-headed axe" WEAPON_CLASS
1935 GLYPH_OBJ "short sword" WEAPON_CLASS
1936 GLYPH_OBJ "runed short sword" WEAPON_CLASS
1937 GLYPH_OBJ "crude short sword" WEAPON_CLASS
1938 GLYPH_OBJ "broad short sword" WEAPON_CLASS
1939 GLYPH_OBJ "curved sword" WEAPON_CLASS
1940 GLYPH_OBJ "silver saber" WEAPON_CLASS
1941 GLYPH_OBJ "broadsword" WEAPON_CLASS
1942 GLYPH_OBJ "runed broadsword" WEAPON_CLASS
1943 GLYPH_OBJ "long sword" WEAPON_CLASS
1944 GLYPH_OBJ "two-handed sword" WEAPON_CLASS
1945 GLYPH_OBJ "samurai sword" WEAPON_CLASS
1946 GLYPH_OBJ "long samurai sword" WEAPON_CLASS
1947 GLYPH_OBJ "runed broadsword" WEAPON_CLASS
1948 GLYPH_OBJ "vulgar polearm" WEAPON_CLASS
1949 GLYPH_OBJ "hilted polearm" WEAPON_CLASS
1950 GLYPH_OBJ "forked polearm" WEAPON_CLASS
1951 GLYPH_OBJ "single-edged polearm" WEAPON_CLASS
1952 GLYPH_OBJ "lance" WEAPON_CLASS
1953 GLYPH_OBJ "angled poleaxe" WEAPON_CLASS
1954 GLYPH_OBJ "long poleaxe" WEAPON_CLASS
1955 GLYPH_OBJ "pole cleaver" WEAPON_CLASS
1956 GLYPH_OBJ "broad pick" WEAPON_CLASS
1957 GLYPH_OBJ "pole sickle" WEAPON_CLASS
1958 GLYPH_OBJ "pruning hook" WEAPON_CLASS
1959 GLYPH_OBJ "hooked polearm" WEAPON_CLASS
1960 GLYPH_OBJ "pronged polearm" WEAPON_CLASS
1961 GLYPH_OBJ "beaked polearm" WEAPON_CLASS
1962 GLYPH_OBJ "mace" WEAPON_CLASS
1963 GLYPH_OBJ "morning star" WEAPON_CLASS
1964 GLYPH_OBJ "war hammer" WEAPON_CLASS
1965 GLYPH_OBJ "club" WEAPON_CLASS
1966 GLYPH_OBJ "rubber hose" WEAPON_CLASS
1967 GLYPH_OBJ "staff" WEAPON_CLASS
1968 GLYPH_OBJ "thonged club" WEAPON_CLASS
1969 GLYPH_OBJ "flail" WEAPON_CLASS
1970 GLYPH_OBJ "bullwhip" WEAPON_CLASS
1971 GLYPH_OBJ "bow" WEAPON_CLASS
1972 GLYPH_OBJ "runed bow" WEAPON_CLASS
1973 GLYPH_OBJ "crude bow" WEAPON_CLASS
1974 GLYPH_OBJ "long bow" WEAPON_CLASS
1975 GLYPH_OBJ "sling" WEAPON_CLASS
1976 GLYPH_OBJ "crossbow" WEAPON_CLASS
1977 GLYPH_OBJ "leather hat" ARMOR_CLASS
1978 GLYPH_OBJ "iron skull cap" ARMOR_CLASS
1979 GLYPH_OBJ "hard hat" ARMOR_CLASS
1980 GLYPH_OBJ "fedora" ARMOR_CLASS
1981 GLYPH_OBJ "conical hat" ARMOR_CLASS
1982 GLYPH_OBJ "conical hat" ARMOR_CLASS
1983 GLYPH_OBJ "dented pot" ARMOR_CLASS
1984 GLYPH_OBJ "plumed helmet" ARMOR_CLASS
1985 GLYPH_OBJ "etched helmet" ARMOR_CLASS
1986 GLYPH_OBJ "crested helmet" ARMOR_CLASS
1987 GLYPH_OBJ "visored helmet" ARMOR_CLASS
1988 GLYPH_OBJ "gray dragon scale mail" ARMOR_CLASS
1989 GLYPH_OBJ "silver dragon scale mail" ARMOR_CLASS
1990 GLYPH_OBJ "red dragon scale mail" ARMOR_CLASS
1991 GLYPH_OBJ "white dragon scale mail" ARMOR_CLASS
1992 GLYPH_OBJ "orange dragon scale mail" ARMOR_CLASS
1993 GLYPH_OBJ "black dragon scale mail" ARMOR_CLASS
1994 GLYPH_OBJ "blue dragon scale mail" ARMOR_CLASS
1995 GLYPH_OBJ "green dragon scale mail" ARMOR_CLASS
1996 GLYPH_OBJ "yellow dragon scale mail" ARMOR_CLASS
1997 GLYPH_OBJ "gray dragon scales" ARMOR_CLASS
1998 GLYPH_OBJ "silver dragon scales" ARMOR_CLASS
1999 GLYPH_OBJ "red dragon scales" ARMOR_CLASS
2000 GLYPH_OBJ "white dragon scales" ARMOR_CLASS
2001 GLYPH_OBJ "orange dragon scales" ARMOR_CLASS
2002 GLYPH_OBJ "black dragon scales" ARMOR_CLASS
2003 GLYPH_OBJ "blue dragon scales" ARMOR_CLASS
2004 GLYPH_OBJ "green dragon scales" ARMOR_CLASS
2005 GLYPH_OBJ "yellow dragon scales" ARMOR_CLASS
2006 GLYPH_OBJ "plate mail" ARMOR_CLASS
2007 GLYPH_OBJ "crystal plate mail" ARMOR_CLASS
2008 GLYPH_OBJ "bronze plate mail" ARMOR_CLASS
2009 GLYPH_OBJ "splint mail" ARMOR_CLASS
2010 GLYPH_OBJ "banded mail" ARMOR_CLASS
2011 GLYPH_OBJ "dwarvish mithril-coat" ARMOR_CLASS
2012 GLYPH_OBJ "elven mithril-coat" ARMOR_CLASS
2013 GLYPH_OBJ "chain mail" ARMOR_CLASS
2014 GLYPH_OBJ "crude chain mail" ARMOR_CLASS
2015 GLYPH_OBJ "scale mail" ARMOR_CLASS
2016 GLYPH_OBJ "studded leather armor" ARMOR_CLASS
2017 GLYPH_OBJ "ring mail" ARMOR_CLASS
2018 GLYPH_OBJ "crude ring mail" ARMOR_CLASS
2019 GLYPH_OBJ "leather armor" ARMOR_CLASS
2020 GLYPH_OBJ "leather jacket" ARMOR_CLASS
2021 GLYPH_OBJ "Hawaiian shirt" ARMOR_CLASS
2022 GLYPH_OBJ "T-shirt" ARMOR_CLASS
2023 GLYPH_OBJ "mummy wrapping" ARMOR_CLASS
2024 GLYPH_OBJ "faded pall" ARMOR_CLASS
2025 GLYPH_OBJ "coarse mantelet" ARMOR_CLASS
2026 GLYPH_OBJ "hooded cloak" ARMOR_CLASS
2027 GLYPH_OBJ "slippery cloak" ARMOR_CLASS
2028 GLYPH_OBJ "robe" ARMOR_CLASS
2029 GLYPH_OBJ "apron" ARMOR_CLASS
2030 GLYPH_OBJ "leather cloak" ARMOR_CLASS
2031 GLYPH_OBJ "tattered cape" ARMOR_CLASS
2032 GLYPH_OBJ "opera cloak" ARMOR_CLASS
2033 GLYPH_OBJ "ornamental cope" ARMOR_CLASS
2034 GLYPH_OBJ "piece of cloth" ARMOR_CLASS
2035 GLYPH_OBJ "small shield" ARMOR_CLASS
2036 GLYPH_OBJ "blue and green shield" ARMOR_CLASS
2037 GLYPH_OBJ "white-handed shield" ARMOR_CLASS
2038 GLYPH_OBJ "red-eyed shield" ARMOR_CLASS
2039 GLYPH_OBJ "large shield" ARMOR_CLASS
2040 GLYPH_OBJ "large round shield" ARMOR_CLASS
2041 GLYPH_OBJ "polished silver shield" ARMOR_CLASS
2042 GLYPH_OBJ "old gloves" ARMOR_CLASS
2043 GLYPH_OBJ "padded gloves" ARMOR_CLASS
2044 GLYPH_OBJ "riding gloves" ARMOR_CLASS
2045 GLYPH_OBJ "fencing gloves" ARMOR_CLASS
2046 GLYPH_OBJ "walking shoes" ARMOR_CLASS
2047 GLYPH_OBJ "hard shoes" ARMOR_CLASS
2048 GLYPH_OBJ "jackboots" ARMOR_CLASS
2049 GLYPH_OBJ "combat boots" ARMOR_CLASS
2050 GLYPH_OBJ "jungle boots" ARMOR_CLASS
2051 GLYPH_OBJ "hiking boots" ARMOR_CLASS
2052 GLYPH_OBJ "mud boots" ARMOR_CLASS
2053 GLYPH_OBJ "buckled boots" ARMOR_CLASS
2054 GLYPH_OBJ "riding boots" ARMOR_CLASS
2055 GLYPH_OBJ "snow boots" ARMOR_CLASS
2056 GLYPH_OBJ "wooden" RING_CLASS
2057 GLYPH_OBJ "granite" RING_CLASS
2058 GLYPH_OBJ "opal" RING_CLASS
2059 GLYPH_OBJ "clay" RING_CLASS
2060 GLYPH_OBJ "coral" RING_CLASS
2061 GLYPH_OBJ "black onyx" RING_CLASS
2062 GLYPH_OBJ "moonstone" RING_CLASS
2063 GLYPH_OBJ "tiger eye" RING_CLASS
2064 GLYPH_OBJ "jade" RING_CLASS
2065 GLYPH_OBJ "bronze" RING_CLASS
2066 GLYPH_OBJ "agate" RING_CLASS
2067 GLYPH_OBJ "topaz" RING_CLASS
2068 GLYPH_OBJ "sapphire" RING_CLASS
2069 GLYPH_OBJ "ruby" RING_CLASS
2070 GLYPH_OBJ "diamond" RING_CLASS
2071 GLYPH_OBJ "pearl" RING_CLASS
2072 GLYPH_OBJ "iron" RING_CLASS
2073 GLYPH_OBJ "brass" RING_CLASS
2074 GLYPH_OBJ "copper" RING_CLASS
2075 GLYPH_OBJ "twisted" RING_CLASS
2076 GLYPH_OBJ "steel" RING_CLASS
2077 GLYPH_OBJ "silver" RING_CLASS
2078 GLYPH_OBJ "gold" RING_CLASS
2079 GLYPH_OBJ "ivory" RING_CLASS
2080 GLYPH_OBJ "emerald" RING_CLASS
2081 GLYPH_OBJ "wire" RING_CLASS
2082 GLYPH_OBJ "engagement" RING_CLASS
2083 GLYPH_OBJ "shiny" RING_CLASS
2084 GLYPH_OBJ "circular" AMULET_CLASS
2085 GLYPH_OBJ "spherical" AMULET_CLASS
2086 GLYPH_OBJ "oval" AMULET_CLASS
2087 GLYPH_OBJ "triangular" AMULET_CLASS
2088 GLYPH_OBJ "pyramidal" AMULET_CLASS
2089 GLYPH_OBJ "square" AMULET_CLASS
2090 GLYPH_OBJ "concave" AMULET_CLASS
2091 GLYPH_OBJ "hexagonal" AMULET_CLASS
2092 GLYPH_OBJ "octagonal" AMULET_CLASS
2093 GLYPH_OBJ "Amulet of Yendor" AMULET_CLASS
2094 GLYPH_OBJ "Amulet of Yendor" AMULET_CLASS
2095 GLYPH_OBJ "large box" TOOL_CLASS
2096 GLYPH_OBJ "chest" TOOL_CLASS
2097 GLYPH_OBJ "ice box" TOOL_CLASS
2098 GLYPH_OBJ "bag" TOOL_CLASS
2099 GLYPH_OBJ "bag" TOOL_CLASS
2100 GLYPH_OBJ "bag" TOOL_CLASS
2101 GLYPH_OBJ "bag" TOOL_CLASS
2102 GLYPH_OBJ "key" TOOL_CLASS
2103 GLYPH_OBJ "lock pick" TOOL_CLASS
2104 GLYPH_OBJ "credit card" TOOL_CLASS
2105 GLYPH_OBJ "candle" TOOL_CLASS
2106 GLYPH_OBJ "candle" TOOL_CLASS
2107 GLYPH_OBJ "brass lantern" TOOL_CLASS
2108 GLYPH_OBJ "lamp" TOOL_CLASS
2109 GLYPH_OBJ "lamp" TOOL_CLASS
2110 GLYPH_OBJ "expensive camera" TOOL_CLASS
2111 GLYPH_OBJ "looking glass" TOOL_CLASS
2112 GLYPH_OBJ "glass orb" TOOL_CLASS
2113 GLYPH_OBJ "lenses" TOOL_CLASS
2114 GLYPH_OBJ "blindfold" TOOL_CLASS
2115 GLYPH_OBJ "towel" TOOL_CLASS
2116 GLYPH_OBJ "saddle" TOOL_CLASS
2117 GLYPH_OBJ "leash" TOOL_CLASS
2118 GLYPH_OBJ "stethoscope" TOOL_CLASS
2119 GLYPH_OBJ "tinning kit" TOOL_CLASS
2120 GLYPH_OBJ "tin opener" TOOL_CLASS
2121 GLYPH_OBJ "can of grease" TOOL_CLASS
2122 GLYPH_OBJ "figurine" TOOL_CLASS
2123 GLYPH_OBJ "magic marker" TOOL_CLASS
2124 GLYPH_OBJ "land mine" TOOL_CLASS
2125 GLYPH_OBJ "beartrap" TOOL_CLASS
2126 GLYPH_OBJ "whistle" TOOL_CLASS
2127 GLYPH_OBJ "whistle" TOOL_CLASS
2128 GLYPH_OBJ "flute" TOOL_CLASS
2129 GLYPH_OBJ "flute" TOOL_CLASS
2130 GLYPH_OBJ "horn" TOOL_CLASS
2131 GLYPH_OBJ "horn" TOOL_CLASS
2132 GLYPH_OBJ "horn" TOOL_CLASS
2133 GLYPH_OBJ "horn" TOOL_CLASS
2134 GLYPH_OBJ "harp" TOOL_CLASS
2135 GLYPH_OBJ "harp" TOOL_CLASS
2136 GLYPH_OBJ "bell" TOOL_CLASS
2137 GLYPH_OBJ "bugle" TOOL_CLASS
2138 GLYPH_OBJ "drum" TOOL_CLASS
2139 GLYPH_OBJ "drum" TOOL_CLASS
2140 GLYPH_OBJ "pick-axe" TOOL_CLASS
2141 GLYPH_OBJ "iron hook" TOOL_CLASS
2142 GLYPH_OBJ "unicorn horn" TOOL_CLASS
2143 GLYPH_OBJ "candelabrum" TOOL_CLASS
2144 GLYPH_OBJ "silver bell" TOOL_CLASS
2145 GLYPH_OBJ "tripe ration" FOOD_CLASS
2146 GLYPH_OBJ "corpse" FOOD_CLASS
2147 GLYPH_OBJ "egg" FOOD_CLASS
2148 GLYPH_OBJ "meatball" FOOD_CLASS
2149 GLYPH_OBJ "meat stick" FOOD_CLASS
2150 GLYPH_OBJ "huge chunk of meat" FOOD_CLASS
2151 GLYPH_OBJ "meat ring" FOOD_CLASS
2152 GLYPH_OBJ "glob of gray ooze" FOOD_CLASS
2153 GLYPH_OBJ "glob of brown pudding" FOOD_CLASS
2154 GLYPH_OBJ "glob of green slime" FOOD_CLASS
2155 GLYPH_OBJ "glob of black pudding" FOOD_CLASS
2156 GLYPH_OBJ "kelp frond" FOOD_CLASS
2157 GLYPH_OBJ "eucalyptus leaf" FOOD_CLASS
2158 GLYPH_OBJ "apple" FOOD_CLASS
2159 GLYPH_OBJ "orange" FOOD_CLASS
2160 GLYPH_OBJ "pear" FOOD_CLASS
2161 GLYPH_OBJ "melon" FOOD_CLASS
2162 GLYPH_OBJ "banana" FOOD_CLASS
2163 GLYPH_OBJ "carrot" FOOD_CLASS
2164 GLYPH_OBJ "sprig of wolfsbane" FOOD_CLASS
2165 GLYPH_OBJ "clove of garlic" FOOD_CLASS
2166 GLYPH_OBJ "slime mold" FOOD_CLASS
2167 GLYPH_OBJ "lump of royal jelly" FOOD_CLASS
2168 GLYPH_OBJ "cream pie" FOOD_CLASS
2169 GLYPH_OBJ "candy bar" FOOD_CLASS
2170 GLYPH_OBJ "fortune cookie" FOOD_CLASS
2171 GLYPH_OBJ "pancake" FOOD_CLASS
2172 GLYPH_OBJ "lembas wafer" FOOD_CLASS
2173 GLYPH_OBJ "cram ration" FOOD_CLASS
2174 GLYPH_OBJ "food ration" FOOD_CLASS
2175 GLYPH_OBJ "K-ration" FOOD_CLASS
2176 GLYPH_OBJ "C-ration" FOOD_CLASS
2177 GLYPH_OBJ "tin" FOOD_CLASS
2178 GLYPH_OBJ "ruby" POTION_CLASS
2179 GLYPH_OBJ "pink" POTION_CLASS
2180 GLYPH_OBJ "orange" POTION_CLASS
2181 GLYPH_OBJ "yellow" POTION_CLASS
2182 GLYPH_OBJ "emerald" POTION_CLASS
2183 GLYPH_OBJ "dark green" POTION_CLASS
2184 GLYPH_OBJ "cyan" POTION_CLASS
2185 GLYPH_OBJ "sky blue" POTION_CLASS
2186 GLYPH_OBJ "brilliant blue" POTION_CLASS
2187 GLYPH_OBJ "magenta" POTION_CLASS
2188 GLYPH_OBJ "purple-red" POTION_CLASS
2189 GLYPH_OBJ "puce" POTION_CLASS
2190 GLYPH_OBJ "milky" POTION_CLASS
2191 GLYPH_OBJ "swirly" POTION_CLASS
2192 GLYPH_OBJ "bubbly" POTION_CLASS
2193 GLYPH_OBJ "smoky" POTION_CLASS
2194 GLYPH_OBJ "cloudy" POTION_CLASS
2195 GLYPH_OBJ "effervescent" POTION_CLASS
2196 GLYPH_OBJ "black" POTION_CLASS
2197 GLYPH_OBJ "golden" POTION_CLASS
2198 GLYPH_OBJ "brown" POTION_CLASS
2199 GLYPH_OBJ "fizzy" POTION_CLASS
2200 GLYPH_OBJ "dark" POTION_CLASS
2201 GLYPH_OBJ "white" POTION_CLASS
2202 GLYPH_OBJ "murky" POTION_CLASS
2203 GLYPH_OBJ "clear" POTION_CLASS
2204 GLYPH_OBJ "ZELGO MER" SCROLL_CLASS
2205 GLYPH_OBJ "JUYED AWK YACC" SCROLL_CLASS
2206 GLYPH_OBJ "NR 9" SCROLL_CLASS
2207 GLYPH_OBJ "XIXAXA XOXAXA XUXAXA" SCROLL_CLASS
2208 GLYPH_OBJ "PRATYAVAYAH" SCROLL_CLASS
2209 GLYPH_OBJ "DAIYEN FOOELS" SCROLL_CLASS
2210 GLYPH_OBJ "LEP GEX VEN ZEA" SCROLL_CLASS
2211 GLYPH_OBJ "PRIRUTSENIE" SCROLL_CLASS
2212 GLYPH_OBJ "ELBIB YLOH" SCROLL_CLASS
2213 GLYPH_OBJ "VERR YED HORRE" SCROLL_CLASS
2214 GLYPH_OBJ "VENZAR BORGAVVE" SCROLL_CLASS
2215 GLYPH_OBJ "THARR" SCROLL_CLASS
2216 GLYPH_OBJ "YUM YUM" SCROLL_CLASS
2217 GLYPH_OBJ "KERNOD WEL" SCROLL_CLASS
2218 GLYPH_OBJ "ELAM EBOW" SCROLL_CLASS
2219 GLYPH_OBJ "DUAM XNAHT" SCROLL_CLASS
2220 GLYPH_OBJ "ANDOVA BEGARIN" SCROLL_CLASS
2221 GLYPH_OBJ "KIRJE" SCROLL_CLASS
2222 GLYPH_OBJ "VE FORBRYDERNE" SCROLL_CLASS
2223 GLYPH_OBJ "HACKEM MUCHE" SCROLL_CLASS
2224 GLYPH_OBJ "VELOX NEB" SCROLL_CLASS
2225 GLYPH_OBJ "FOOBIE BLETCH" SCROLL_CLASS
2226 GLYPH_OBJ "TEMOV" SCROLL_CLASS
2227 GLYPH_OBJ "GARVEN DEH" SCROLL_CLASS
2228 GLYPH_OBJ "READ ME" SCROLL_CLASS
2229 GLYPH_OBJ "ETAOIN SHRDLU" SCROLL_CLASS
2230 GLYPH_OBJ "LOREM IPSUM" SCROLL_CLASS
2231 GLYPH_OBJ "FNORD" SCROLL_CLASS
2232 GLYPH_OBJ "KO BATE" SCROLL_CLASS
2233 GLYPH_OBJ "ABRA KA DABRA" SCROLL_CLASS
2234 GLYPH_OBJ "ASHPD SODALG" SCROLL_CLASS
2235 GLYPH_OBJ "ZLORFIK" SCROLL_CLASS
2236 GLYPH_OBJ "GNIK SISI VLE" SCROLL_CLASS
2237 GLYPH_OBJ "HAPAX LEGOMENON" SCROLL_CLASS
2238 GLYPH_OBJ "EIRIS SAZUN IDISI" SCROLL_CLASS
2239 GLYPH_OBJ "PHOL ENDE WODAN" SCROLL_CLASS
2240 GLYPH_OBJ "GHOTI" SCROLL_CLASS
2241 GLYPH_OBJ "MAPIRO MAHAMA DIROMAT" SCROLL_CLASS
2242 GLYPH_OBJ "VAS CORP BET MANI" SCROLL_CLASS
2243 GLYPH_OBJ "XOR OTA" SCROLL_CLASS
2244 GLYPH_OBJ "STRC PRST SKRZ KRK" SCROLL_CLASS
2245 GLYPH_OBJ "unlabeled" SCROLL_CLASS
2246 GLYPH_OBJ "parchment" SPBOOK_CLASS
2247 GLYPH_OBJ "vellum" SPBOOK_CLASS
2248 GLYPH_OBJ "ragged" SPBOOK_CLASS
2249 GLYPH_OBJ "dog eared" SPBOOK_CLASS
2250 GLYPH_OBJ "mottled" SPBOOK_CLASS
2251 GLYPH_OBJ "stained" SPBOOK_CLASS
2252 GLYPH_OBJ "cloth" SPBOOK_CLASS
2253 GLYPH_OBJ "leathery" SPBOOK_CLASS
2254 GLYPH_OBJ "white" SPBOOK_CLASS
2255 GLYPH_OBJ "pink" SPBOOK_CLASS
2256 GLYPH_OBJ "red" SPBOOK_CLASS
2257 GLYPH_OBJ "orange" SPBOOK_CLASS
2258 GLYPH_OBJ "yellow" SPBOOK_CLASS
2259 GLYPH_OBJ "velvet" SPBOOK_CLASS
2260 GLYPH_OBJ "light green" SPBOOK_CLASS
2261 GLYPH_OBJ "dark green" SPBOOK_CLASS
2262 GLYPH_OBJ "turquoise" SPBOOK_CLASS
2263 GLYPH_OBJ "cyan" SPBOOK_CLASS
2264 GLYPH_OBJ "light blue" SPBOOK_CLASS
2265 GLYPH_OBJ "dark blue" SPBOOK_CLASS
2266 GLYPH_OBJ "indigo" SPBOOK_CLASS
2267 GLYPH_OBJ "magenta" SPBOOK_CLASS
2268 GLYPH_OBJ "purple" SPBOOK_CLASS
2269 GLYPH_OBJ "violet" SPBOOK_CLASS
2270 GLYPH_OBJ "tan" SPBOOK_CLASS
2271 GLYPH_OBJ "plaid" SPBOOK_CLASS
2272 GLYPH_OBJ "light brown" SPBOOK_CLASS
2273 GLYPH_OBJ "dark brown" SPBOOK_CLASS
2274 GLYPH_OBJ "gray" SPBOOK_CLASS
2275 GLYPH_OBJ "wrinkled" SPBOOK_CLASS
2276 GLYPH_OBJ "dusty" SPBOOK_CLASS
2277 GLYPH_OBJ "bronze" SPBOOK_CLASS
2278 GLYPH_OBJ "copper" SPBOOK_CLASS
2279 GLYPH_OBJ "silver" SPBOOK_CLASS
2280 GLYPH_OBJ "gold" SPBOOK_CLASS
2281 GLYPH_OBJ "glittering" SPBOOK_CLASS
2282 GLYPH_OBJ "shining" SPBOOK_CLASS
2283 GLYPH_OBJ "dull" SPBOOK_CLASS
2284 GLYPH_OBJ "thin" SPBOOK_CLASS
2285 GLYPH_OBJ "thick" SPBOOK_CLASS
2286 GLYPH_OBJ "plain" SPBOOK_CLASS
2287 GLYPH_OBJ "paperback" SPBOOK_CLASS
2288 GLYPH_OBJ "papyrus" SPBOOK_CLASS
2289 GLYPH_OBJ "glass" WAND_CLASS
2290 GLYPH_OBJ "balsa" WAND_CLASS
2291 GLYPH_OBJ "crystal" WAND_CLASS
2292 GLYPH_OBJ "maple" WAND_CLASS
2293 GLYPH_OBJ "pine" WAND_CLASS
2294 GLYPH_OBJ "oak" WAND_CLASS
2295 GLYPH_OBJ "ebony" WAND_CLASS
2296 GLYPH_OBJ "marble" WAND_CLASS
2297 GLYPH_OBJ "tin" WAND_CLASS
2298 GLYPH_OBJ "brass" WAND_CLASS
2299 GLYPH_OBJ "copper" WAND_CLASS
2300 GLYPH_OBJ "silver" WAND_CLASS
2301 GLYPH_OBJ "platinum" WAND_CLASS
2302 GLYPH_OBJ "iridium" WAND_CLASS
2303 GLYPH_OBJ "zinc" WAND_CLASS
2304 GLYPH_OBJ "aluminum" WAND_CLASS
2305 GLYPH_OBJ "uranium" WAND_CLASS
2306 GLYPH_OBJ "iron" WAND_CLASS
2307 GLYPH_OBJ "steel" WAND_CLASS
2308 GLYPH_OBJ "hexagonal" WAND_CLASS
2309 GLYPH_OBJ "short" WAND_CLASS
2310 GLYPH_OBJ "runed" WAND_CLASS
2311 GLYPH_OBJ "long" WAND_CLASS
2312 GLYPH_OBJ "curved" WAND_CLASS
2313 GLYPH_OBJ "forked" WAND_CLASS
2314 GLYPH_OBJ "spiked" WAND_CLASS
2315 GLYPH_OBJ "jeweled" WAND_CLASS
2316 GLYPH_OBJ "gold piece" COIN_CLASS
2317 GLYPH_OBJ "white" GEM_CLASS
2318 GLYPH_OBJ "white" GEM_CLASS
2319 GLYPH_OBJ "red" GEM_CLASS
2320 GLYPH_OBJ "orange" GEM_CLASS
2321 GLYPH_OBJ "blue" GEM_CLASS
2322 GLYPH_OBJ "black" GEM_CLASS
2323 GLYPH_OBJ "green" GEM_CLASS
2324 GLYPH_OBJ "green" GEM_CLASS
2325 GLYPH_OBJ "yellow" GEM_CLASS
2326 GLYPH_OBJ "green" GEM_CLASS
2327 GLYPH_OBJ "yellowish brown" GEM_CLASS
2328 GLYPH_OBJ "yellowish brown" GEM_CLASS
2329 GLYPH_OBJ "black" GEM_CLASS
2330 GLYPH_OBJ "white" GEM_CLASS
2331 GLYPH_OBJ "yellow" GEM_CLASS
2332 GLYPH_OBJ "red" GEM_CLASS
2333 GLYPH_OBJ "violet" GEM_CLASS
2334 GLYPH_OBJ "red" GEM_CLASS
2335 GLYPH_OBJ "violet" GEM_CLASS
2336 GLYPH_OBJ "black" GEM_CLASS
2337 GLYPH_OBJ "orange" GEM_CLASS
2338 GLYPH_OBJ "green" GEM_CLASS
2339 GLYPH_OBJ "white" GEM_CLASS
2340 GLYPH_OBJ "blue" GEM_CLASS
2341 GLYPH_OBJ "red" GEM_CLASS
2342 GLYPH_OBJ "yellowish brown" GEM_CLASS
2343 GLYPH_OBJ "orange" GEM_CLASS
2344 GLYPH_OBJ "yellow" GEM_CLASS
2345 GLYPH_OBJ "black" GEM_CLASS
2346 GLYPH_OBJ "green" GEM_CLASS
2347 GLYPH_OBJ "violet" GEM_CLASS
2348 GLYPH_OBJ "gray" GEM_CLASS
2349 GLYPH_OBJ "gray" GEM_CLASS
2350 GLYPH_OBJ "gray" GEM_CLASS
2351 GLYPH_OBJ "gray" GEM_CLASS
2352 GLYPH_OBJ "rock" GEM_CLASS
2353 GLYPH_OBJ "boulder" ROCK_CLASS
2354 GLYPH_OBJ "statue" ROCK_CLASS
2355 GLYPH_OBJ "heavy iron ball" BALL_CLASS
2356 GLYPH_OBJ "iron chain" CHAIN_CLASS
2357 GLYPH_OBJ "splash of venom" VENOM_CLASS
2358 GLYPH_OBJ "splash of venom" VENOM_CLASS
2359 GLYPH_CMAP
... ... --More--
2446 GLYPH_EXPLODE
... ... --More--
2509 GLYPH_ZAP
... ... --More--
2541 GLYPH_SWALLOW
... ... --More--
5589 GLYPH_WARNING
... ... --More--
5595 GLYPH_STATUE
... ... --More--
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment